Информатика пәнінен № 2656 тапсырма: Python программалау тілінде алгоритмдерді программалау

Python программалау тілінде алгоритмдерді программалауМәтін бойынша · орташа

Айдар Python тілінде натурал санның цифрларын талдайтын программа жазды. % амалы бөлгендегі қалдықты, ал // амалы бөлудің бүтін бөлігін береді. Программа a санын оқиды да, циклде оны соңынан бастап талдайды: соңғы d цифрын алады, содан кейін оны алып тастайды. Егер цифр жұп болса, ол s қосындысына қосылады, ал тақ болса, k есептегіші 1-ге артады. Соңында программа бірінші жолға s, екінші жолға k шығарады. Программаның мәтіні:

a = int(input())
s = 0
k = 0
while a > 0:
d = a % 10
if d % 2 == 0:
s = s + d
else:
k = k + 1
a = a // 10
print(s)
print(k)

Тексеру үшін Айдар әртүрлі сандарды енгізді, мысалы 52714 және 90310. Кейін ол программаны s тақ цифрлардың қосындысын жинайтындай, ал k жұп цифрларды санайтындай етіп өзгертуді ойлады.

Оң сан енгізілгенде программадан «a = a // 10» жолын алып тастаса, не болады?

  1. Aa нөлге айналатындықтан, программа 0 және 0 шығарады
  2. BСинтаксистік қате шығады
  3. CПрограмма тек соңғы цифрды өңдеп, аяқталады
  4. Da мәні азаймайтындықтан, программа циклге түсіп қалады
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру

Дұрыс жауап

  • Da мәні азаймайтындықтан, программа циклге түсіп қалады

Талдау

a мәні тек осы жолда өзгереді. Ол болмаса, a оң күйінде қалады, a > 0 шарты үнемі ақиқат болады және цикл аяқталмайды. Программа дұрыс жазылған болып қала беретіндіктен, синтаксистік қате жоқ.

Тапсырмадағы қате

Шартындағы, нұсқаларындағы немесе талдауындағы қатені сипаттаңыз. 1000 таңбадан аспасын.

Осы тақырып бойынша ұқсас тапсырмалар

Тақырыптағы барлық 12 тапсырма

«Информатика» пәні бойынша репетиторлар

Тренажер

Осы тақырыпты жаттықтырыңыз

12 тапсырма бір-бірден, жауабы мен талдауы бірден көрсетіледі. Уақыт шектеуі жоқ.

Өз сынағыңыз

Таймері бар сынақ жинаңыз

ҰБТ сияқты: тапсырмаға 2 минут.

Қай тапсырмалардан
Неше тапсырма