Решить нужно решение словесное описание алгоритма сложения двух обыкновенных дробей a/b и c/d
Ответы на вопрос:
1. Результаты выполнения каждой команды ниже.
2. Данную задачу решить линейный алгоритм (с ветвлениями if). Мы подставляли текущие значения переменных, тем самым определяли, выполнится командный блок if или нет. Если выполняется - также подставляли значения переменных, и находили новые значения. Мы выполняли код последовательно и были в роли программы, которая считывает написанный код и также выполняет эти же действия.
Объяснение:
Код с объяснениями:
a, b, c = map(int, input().split()) # вводятся значения a, b, c с клавиатуры, через пробел
t = k = h = p = s = 0 # регистрируются переменные, равные нулю
if (a + b + c) % 3 == 0: # если сумма a, b, c кратна трём, то...
k = (a + b + c) // 3 # ...присвоить переменной k значение: целая часть от деления (a + b + c) на 3
t = a - k; p = b - k; h = c - k # ...выполнить данные действия
if t > 0: # если t больше нуля...
s = s + t #...то переменную s увеличить на t
if p > 0: # если p больше нуля...
s = s + p # ...то переменную s увеличить на p
if h > 0: # если h больше нуля...
s = s + h # ...то переменную s увеличить на h
print(s) # вывести значение переменной s
else: # если сумма a, b, c НЕ кратна трём, то...
print(-1) # ...вывести -1
Код с промежуточными результатами при a = 7, b = 20, c = 9:
a, b, c = 7, 20, 9
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (7 + 20 + 9) % 3 = 36 % 3 = 0 (цел.часть 12)
k = (a + b + c) // 3 # k = 36 // 3 = 12
t = a - k; p = b - k; h = c - k # t = 7 - 12 = -5; p = 20 - 12 = 8; h = 9 - 12 = -3
if t > 0: # false
s = s + t
if p > 0: # true. s = 0 + 8 = 8
s = s + p
if h > 0: # false
s = s + h
print(s) # вывод: 8
else: # не выполнится
print(-1)
Код с промежуточными результатами при a = 13, b = 11, c = 0:
a, b, c = 13, 11, 0
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (13 + 11 + 0) % 3 = 24 % 3 = 0 (цел.часть 8)
k = (a + b + c) // 3 # k = 24 // 3 = 8
t = a - k; p = b - k; h = c - k # t = 13 - 8 = 5; p = 11 - 8 = 3; h = 0 - 8 = -8
if t > 0: # true. s = 0 + 5 = 5
s = s + t
if p > 0: # true. s = 5 + 3 = 8
s = s + p
if h > 0: # false
s = s + h
print(s) # вывод: 8
else: # не выполнится
print(-1)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Тимонди17.10.2021 16:08
-
Вадим9891316.11.2021 23:58
-
sstresseddoutt19.07.2022 19:30
-
gabbasovilas14.11.2020 15:53
-
bamnames10.02.2021 23:02
-
гном17122.03.2023 08:39
-
Sjsjssj27.07.2022 23:43
-
animals20002710.10.2022 19:45
-
333310007.07.2022 02:16
-
Alex20048800555353514.04.2022 18:49
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.