Вопрос:

Дан текст программы: s=0 a=int(input()) while a!=0: if (a % 6 == 0) and (a % 10 == 4): st=a a=int(input()) print(s) Какое значение будет присвоено переменной s в результате выполнения этой программы при следующем входном потоке данных: 12, 24, 36, 48, 54, 0?

Смотреть решения всех заданий с листа

Ответ:

Программа:

  • s=0
  • a=int(input())
  • while a!=0:
  • if (a % 6 == 0) and (a % 10 == 4):
  • s+=a
  • a=int(input())
  • print(s)

Поток данных: 12, 24, 36, 48, 54, 0

Пошаговое выполнение:

  • 1. Инициализация: s = 0
  • 2. Первое значение: a = 12
  • 3. Цикл while a!=0: 12 != 0, условие истинно.
    • Проверка if (a % 6 == 0) and (a % 10 == 4):
    • 12 % 6 == 0 (истина)
    • 12 % 10 == 2 (ложь)
    • истина and ложь = ложь. Условие не выполняется.
  • 4. Следующее значение: a = 24
  • 5. Цикл while a!=0: 24 != 0, условие истинно.
    • Проверка if (a % 6 == 0) and (a % 10 == 4):
    • 24 % 6 == 0 (истина)
    • 24 % 10 == 4 (истина)
    • истина and истина = истина. Условие выполняется.
    • s += a: s = 0 + 24 = 24
  • 6. Следующее значение: a = 36
  • 7. Цикл while a!=0: 36 != 0, условие истинно.
    • Проверка if (a % 6 == 0) and (a % 10 == 4):
    • 36 % 6 == 0 (истина)
    • 36 % 10 == 6 (ложь)
    • истина and ложь = ложь. Условие не выполняется.
  • 8. Следующее значение: a = 48
  • 9. Цикл while a!=0: 48 != 0, условие истинно.
    • Проверка if (a % 6 == 0) and (a % 10 == 4):
    • 48 % 6 == 0 (истина)
    • 48 % 10 == 8 (ложь)
    • истина and ложь = ложь. Условие не выполняется.
  • 10. Следующее значение: a = 54
  • 11. Цикл while a!=0: 54 != 0, условие истинно.
    • Проверка if (a % 6 == 0) and (a % 10 == 4):
    • 54 % 6 == 0 (истина)
    • 54 % 10 == 4 (истина)
    • истина and истина = истина. Условие выполняется.
    • s += a: s = 24 + 54 = 78
  • 12. Следующее значение: a = 0
  • 13. Цикл while a!=0: 0 != 0, условие ложно. Цикл завершается.
  • 14. Вывод: print(s) выводит значение 78.

Ответ: 78

ГДЗ по фото 📸
Подать жалобу Правообладателю