Информатика пәнінен № 2658 тапсырма: 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 жұп цифрларды санайтындай етіп өзгертуді ойлады.

s тақ цифрлардың қосындысын жинауы, ал k жұп цифрларды санауы үшін «if d % 2 == 0:» жолын қандай жолға ауыстыру керек?

  1. Aif d % 2 == 1:
  2. Bif d % 10 == 1:
  3. Cif d > 5:
  4. Dif d // 2 == 1:
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру

Дұрыс жауап

  • Aif d % 2 == 1:

Талдау

Қосынды тармағы тақ цифрларға, яғни 2-ге бөлгендегі қалдық 1-ге тең болғанда орындалуы керек. «d % 2 == 1» шарты осыны тексереді, ал жұп цифрлар else тармағына түсіп, k 1-ге артады. Қалған шарттар жұп-тақтықты тексермейді: «d // 2 == 1» тек 2 және 3 цифрларына, «d % 10 == 1» тек 1 цифрына, «d > 5» тек 6–9 цифрларына орындалады.

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

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

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

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

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

Тренажер

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

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

Өз сынағыңыз

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

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

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