3.5–3.6. Практикалық тапсырмалар — Информатика 6 сынып, Қадырқұлов: талдау және жауаптар
Ookul.kz · сабақ талдау
Орысша

Кез келген есепті бірге талдайық!

3.5–3.6. Практикалық тапсырмалар

Информатика, 6 сынып. Оқулық: Қадырқұлов Р. А., Нұрмұханбетова Г. К. (Алматыкітап баспасы, 2023). 3 бөлім: Python тілінде программалау. 90–92-беттер.

Нені үйренесің

  • Бөлімде үйренгеннің бәрін қолдануды: айнымалылар, input(), арифметика, деректер типтері.
  • Екі айнымалының мәнін ауыстыруды.
  • // және % көмегімен көп таңбалы саннан қажетті цифрларды алуды.
  • Өлшем бірліктерін (келі, тонна, центнер) аудару және орташаны есептеуді.
  • Экранға таңбалардан қарапайым фигуралар салуды.

Ой қозғау

  • Күнделікті өмірдегі қандай іс-әрекеттерді сызықтық алгоритм ретінде сипаттауға болады? Мысалы: жуыну, киіну, рюкзак жинау. Қадамдар ретімен жүреді, ештеңе қайталанбайды.
  • Программалаудағы деректер типтері мен математикадағы сандар осі қалай байланысты? Осьте натурал, бүтін, бөлшек сандар бар. Python-да оларға int және float типтері сәйкес келеді.
  • Бізде қандай құралдар бар? Айнымалылар, input() және int(input()), print(), + - * / амалдары, сондай-ақ // және %, abs(), int(), round() функциялары.

Тақырыпты талдаймыз

Құралдар жиыны: саннан цифрларды қалай алады

Сандарға қатысты барлық дерлік есептерде бір идея керек: // құйрықты кесіп тастайды, ал % құйрықты қалдырады.

💡 Санды сол және оң бөлікке бөлу үшін, мысалы, 12145-ті 12 және 145-ке, // 1000 (сол бөлік) және % 1000 (оң бөлік) керек. 1000 санындағы нөлдер саны оң бөліктегі цифрлар санындай болады.

Екі айнымалының орнын қалай ауыстырады

Екі стақанды елестет: біреуінде шырын, екіншісінде су. Оларды ауыстыру үшін үшінші бос стақан керек. Программада үшінші стақан — уақытша айнымалы.

⚠️ Жиі кететін қате. Қатар a = b және b = a деп жазсаң, екеуі де 50 болады, өйткені a-ның ескі мәні өшіп кетті. Сондықтан «үшінші стақан» керек.

Өлшем бірліктері және бүтін бөлу

Өлшем бірліктері туралы есептер секундты сағат пен минутқа айналдыру сияқты шығарылады. 1 тонна = 1000 кг, 1 центнер = 100 кг. Ірі бірлік үшін бүтін бөлуді аламыз, ал қалдықты ұсақ бірлікке береміз.

Таңбалармен сурет саламыз

print() командасы жолды басып шығарады. Бірнеше жолды қатар шығарсаң, таңбалардан сурет шығады. Жолдың басындағы бос орындар суретті оңға жылжытады. Алдымен әр жолға бір print жазайық.

Өзіңді тексер

  • Қай амал санның соңғы цифрын береді? 10-ға бөлгендегі қалдық: N % 10.
  • Екі айнымалының мәнін қалай ауыстыруға болады? Уақытша айнымалы арқылы: tmp = a; a = b; b = tmp.
  • // не істейді? Бүтін бөлу, ол қалдықты алып тастайды.
  • «Сызықтық программа» дегеніміз не? Командалар тармақталусыз және қайталаусыз қатаң ретімен орындалады.

Жаттығуларды шығарамыз

№ 1

(Практикада қолдану, 1*.) Шаршы қабырғасының сандық өлшемі берілген (суретте 40). Шаршының ауданы мен периметрін табатын программа кодын құрастыр.

Қалай ойлаймыз. Шаршының ауданы: қабырға · қабырға. Периметрі: 4 · қабырға.

Шешуі.

a = int(input())      # шаршының қабырғасы
S = a * a             # ауданы
P = 4 * a             # периметрі
print('Ауданы =', S)
print('Периметрі =', P)

Қабырғасы 40 үшін: $S = 1600$, $P = 160$.

Жауабы: $a = 40$ үшін ауданы 1600, периметрі 160.

№ 2

(Практикада қолдану, 2**.) $a$ және $b$ сандары берілген. Осы сандардың мәндерін бір-біріне ауыстыр. Мысалы: $a = 40$, $b = 50$ болса, онда ауысқан соң нәтижеде $a = 50$, $b = 40$ болады.

Қалай ойлаймыз. «Үшінші стақан» керек: $a$-ны сақтауға арналған уақытша айнымалы.

Шешуі.

a = int(input())
b = int(input())
tmp = a           # a-ны жасырамыз
a = b             # a-ға b-ны саламыз
b = tmp           # b-ға жасырылғанды саламыз
print(a, b)       # 40 және 50 үшін шығарады: 50 40

🌟 Python-да ауыстырудың қысқа жазуы да бар: a, b = b, a. Оқулықта ол жоқ, бірақ ол да жұмыс істейді.

Жауабы: программа 50 40 шығарады.

№ 3

(Практикада қолдану, 3*.) «Nur» және «Sultan» сөздері берілген. Осы сөздерден еліміздің астанасының атауын құрастырып, 3 рет экранға шығар.

Қалай ойлаймыз. Python-да жолдарды плюспен жапсыруға болады. Сөздердің арасында сызықша керек, демек, үш бөлікті жапсырамыз: бірінші сөз, '-' және екінші сөз. Нәтижені сақтап, үш рет шығарамыз.

📕 Оқулықтағы мысалда (90-бет) астана «Nur-Sultan» деп жазылған. Бірақ 2022 жылдың қыркүйегінен бастап Қазақстанның астанасы қайтадан Астана деп аталады. Жолдармен жұмыс жаттығуы ретінде тапсырма дұрыс күйінде қалады: программа жай ғана екі сөзді жапсырады.

Шешуі.

a = input()          # бірінші сөз, мысалы Nur
b = input()          # екінші сөз, мысалы Sultan
name = a + '-' + b   # сызықшамен жапсырдық
print(name)
print(name)
print(name)

Жауабы: Nur-Sultan деген үш жол.

№ 4

(Практикада қолдану, 4***.) Python-да төмендегі фигураларды экранға шығаратын программа құрастыр: «Сандар» (1, 22, 333, 4444, 55555), «Терезе» және «Шырша».

Қалай ойлаймыз. Фигураның әр жолы — жеке print командасы. «Шырша» үшін бос орындарды санаймыз: ең төменгі жолда 9 жұлдызша, әр жоғарғы жолда 2 жұлдызшаға аз, ал сол жақта 1 бос орын артық.

Шешуі.

Сандар:

print('1')
print('22')
print('333')
print('4444')
print('55555')

Терезе (жұлдызшалар мен бос орындардан, ені 11 таңба):

print('***********')
print('*    *    *')
print('***********')
print('*    *    *')
print('***********')

Шырша:

print('    *')
print('   ***')
print('  *****')
print(' *******')
print('*********')

💡 Циклдерді үйренген соң, фигураларды қысқа шығаруға болады. Мысалы, шырша: for i in range(5): print(' ' * (4 - i) + '*' * (2 * i + 1)).

Жауабы: жоғардағыдай үш print жиынтығы.

№ 5

(Практикада қолдану, 5*.) Шеңбердің радиусы берілген. Радиусты пайдаланып, шеңбердің ұзындығы ($L$) мен дөңгелектің ауданын ($S$) табатын программа кодын құрастыр. Бұл жерде $\pi = 3{,}14$. Мысалы: радиус 5 болғанда $L = 31.4$, $S = 78.5$.

Қалай ойлаймыз. Формулалар: $L = 2\pi r$ және $S = \pi r^2$. Python-да пи санын 3.14 деп аламыз, квадратты r * r немесе r ** 2 деп жазамыз.

Шешуі.

r = int(input())           # радиус
pi = 3.14
L = 2 * pi * r             # шеңбердің ұзындығы
S = pi * r * r             # дөңгелектің ауданы
print('L =', L)
print('S =', S)

$r = 5$ үшін: $L = 2 \cdot 3.14 \cdot 5 = 31.4$, $S = 3.14 \cdot 25 = 78.5$.

⚠️ Жиі кететін қате. Компьютер бөлшектерді шамамен есептейді, сондықтан $L$ үшін 31.400000000000002 көрсетуі мүмкін. Бұл — сол 31.4, тек дәл емес жазудан қалған «құйрығы» бар.

Жауабы: $L = 31.4$, $S = 78.5$.

№ 6

(Практикада қолдану, 6***.) Төрт таңбалы санның екінші (жүздігі) және төртінші орнында (бірлігі) тұрған цифрларының қосындысын табатын программа құрастыр. Мысалы: 8596 → 11 (5 + 6).

Қалай ойлаймыз. Жүздіктер: N // 100 % 10. Бірліктер: N % 10.

Шешуі.

N = int(input())
a = N // 100 % 10     # солдан екінші цифр (жүздіктер)
b = N % 10            # соңғы цифр (бірліктер)
print(a + b)

8596 үшін: 8596 // 100 = 85, 85 % 10 = 5. Және 8596 % 10 = 6. Қосындысы 11.

Жауабы: 8596 үшін программа 11 шығарады.

№ 7

(Практикада қолдану, 7***.) Бес таңбалы санның алғашқы екі цифрынан құралған сан мен соңғы үш цифрынан құралған санның қосындысын табатын программа құрастыр. Мысалы: 12145 → 12 + 145 = 157.

Қалай ойлаймыз. Екі цифрдан тұратын сол бөлік — N // 1000, үш цифрдан тұратын оң бөлік — N % 1000.

Шешуі.

N = int(input())
left = N // 1000     # алғашқы екі цифр
right = N % 1000     # соңғы үш цифр
print(left + right)

12145 үшін: 12145 // 1000 = 12, 12145 % 1000 = 145. Қосындысы 157.

Жауабы: 12145 үшін программа 157 шығарады.

№ 8

(Практикада қолдану, 8*.) $x$, $y$ және $z$ айнымалылары бар өрнек берілген: $a = \dfrac{2x^2 - yz}{|x - 9z|} + \dfrac{6x - z}{8xz - 2y}$. Айнымалылардың кез келген мәндерінде осы өрнектің мәнін есептейтін программа құрастыр. Мысалы: $x = 1$, $y = 2$, $z = 1$ болғанда 1.25.

Қалай ойлаймыз. Екі бөлшекті қосамыз. Әр бөлшек өз жақшасында. Модуль — abs().

Шешуі.

x = float(input())
y = float(input())
z = float(input())
a = (2 * x**2 - y * z) / abs(x - 9 * z) + (6 * x - z) / (8 * x * z - 2 * y)
print(a)

1, 2, 1 үшін тексеру: бірінші бөлшек (2 − 2) / |1 − 9| = 0. Екіншісінде алымы 6 − 1 = 5, бөлімі 8 · 1 · 1 − 2 · 2 = 4, демек, 5 / 4 = 1.25. Барлығы 0 + 1.25 = 1.25.

Жауабы: 1, 2, 1 үшін программа 1.25 шығарады.

№ 9

(Практикада қолдану, 9**.) Қазақстан бидай экспорттаудан (сыртқа сатудан) әлемдегі үздік ондыққа кіреді. а) Бидайға кезекте тұрған мемлекетке $m$ килограмм бидай экспортқа дайындалды. Осы бидайды тонна, центнер, килограммен өрнектейтін программа құрастыр. Мысалы: 120481 → 120 tonna 4 centner 81 kilogram. ә) Егер жүк тасымалдайтын 1 темір жол вагонына 60 тонна бидай сыятыны белгілі болса, бидай экспорты үшін неше вагон қажет екенін табатын программа құрастыр. Мысалы: 120481 → 3 vagon.

Қалай ойлаймыз. а) 1 т = 1000 кг, 1 ц = 100 кг. Алдымен тоннаны 1000-ға бүтін бөлумен табамыз, қалдықты 100-ге бөліп центнерді аламыз, соңғы қалдық — килограмм. ә) 60 т = 60000 кг. Вагондар бүтін болуы керек, ал артық килограмдарды да бір жерге тиеу керек, сондықтан жоғары қарай дөңгелектеп бөлеміз.

Шешуі.

а)

m = int(input())
t = m // 1000            # тонналар
c = m % 1000 // 100      # центнерлер
kg = m % 100             # килограмдар
print(t, 'tonna', c, 'centner', kg, 'kilogram')

ә) Артық функциясыз жоғары қарай дөңгелектеп бөлу үшін $m$-ге 59999 санын (бұл 60000 − 1) қосамыз да, бүтін бөлеміз:

m = int(input())
print((m + 59999) // 60000, 'vagon')   # 120481 үшін 3 шығады

Тексеру: 120481 + 59999 = 180480, ал 180480 // 60000 = 3. Дәл 120000 кг үшін: (120000 + 59999) // 60000 = 2, бәрі дұрыс.

Жауабы: а) 120 tonna 4 centner 81 kilogram; ә) 3 vagon.

№ 10

(Практикада қолдану, 10**.) Қазақстанның солтүстік, шығыс, оңтүстік, батыс және орталық бөлігінің қыс мезгіліндегі бір күндік күн райы жайлы деректер берілген (3-сурет). Осы деректерді пайдаланып еліміздегі бір күндік күн райының орташа температурасын анықтайтын программа құрастыр. Мысалы: −16, −12, 11, 5, −8 болғанда −4.

Қалай ойлаймыз. Орта арифметикалық — қосындыны санға бөлу. Мұнда бес мән бар, демек, 5-ке бөлеміз.

Шешуі.

a = int(input())     # солтүстік
b = int(input())     # шығыс
c = int(input())     # оңтүстік
d = int(input())     # батыс
e = int(input())     # орталық
print((a + b + c + d + e) / 5)

−16, −12, 11, 5, −8 үшін: қосындысы −20, 5-ке бөлеміз, −4 шығады. Python / бөлуінде -4.0 шығарады.

⚠️ Жиі кететін қате. Қосындының айналасындағы жақша міндетті: a + b + c + d + e / 5 тек соңғы санды 5-ке бөлер еді.

Жауабы: −4 (программа −4.0 шығарады).

№ 11

(Практикада қолдану, 11*.) Кестедегі сандар үшін abs(), int(), round() функцияларының мәндерін есепте.

Қалай ойлаймыз. abs() минусты алып тастайды, int() бөлшек бөлігін алып тастайды (теріс сандарда да жай алып тастайды), round() ең жақын бүтін санға дейін дөңгелектейді.

Шешуі.

Функция Сандар Нәтиже
abs(x) −3; 69; −1002; −45; |−98|; |58| 3; 69; 1002; 45; 98; 58
int(x) −77.8; 14; −23.68; −7; 6.5; 2.99 −77; 14; −23; −7; 6; 2
round(x) 2.1; 5.5; 19.9; −3.63; 78.49; 3 2; 6; 20; −4; 78; 3

🌟 5.5 саны дәл 5 пен 6-ның ортасында жатыр. Python-да round мұндай жағдайда жұп бүтін санды таңдайды: round(5.5) 6-ға тең, ал round(2.5) 2-ге тең. Сондықтан «дәл жартыларда» нәтиже таңғалдыруы мүмкін.

Жауабы: abs: 3, 69, 1002, 45, 98, 58. int: −77, 14, −23, −7, 6, 2. round: 2, 6, 20, −4, 78, 3.

№ 12

(Практикада қолдану, 12**.) // және % көмегімен үш бағандағы мысалдардың бүтін бөлігін, қалдығын есепте.

Қалай ойлаймыз. // бүтін бөлікті береді, % қалдықты береді. Үшінші бағанда алдымен жақшадағыны есептейміз.

Шешуі.

Бірінші баған (//): 28 // 5 = 5; 15 // 25 = 0; 65 // 4 = 16; 22 // 22 = 1; 100 // 20 = 5.

Екінші баған (%): 26 % 26 = 0; 15 % 14 = 1; 36 % 14 = 8; 22 % 3 = 1; 89 % 20 = 9.

Үшінші баған:

  1. (12 % 10) // 14 = 2 // 14 = 0;
  2. (15 // 14) % 1 = 1 % 1 = 0;
  3. (36 // 10) % 3 = 3 % 3 = 0;
  4. (27 % 7) // 6 = 6 // 6 = 1;
  5. (77 % 15) % 15 = 2 % 15 = 2.

Жауабы: бірінші: 5, 0, 16, 1, 5. Екінші: 0, 1, 8, 1, 9. Үшінші: 0, 0, 0, 1, 2.

Жадынама

Терминдер: уақытша айнымалы, бүтін бөлу, қалдық, орта арифметикалық, жол, жолдарды жапсыру.

Шағын тест

← 3.4. Арифметикалық өрнектердің жазылу ережелері · 3.7. Санды енгізу және шығару →