Имеются кувшин емкостью 8 л, заполненный квасом, и два пустых кувшина ёмкостью 3 л и 5 л. запишите алгоритм, выполняв который можно разделить квас поровну между двумя людьми (разрешается пользоваться только этими тремя кувшинами)
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
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)
ниже
Объяснение:
import random
while True:
sum_of_smaller = 0
formated_aray = []
source_array = []
for n in range(15):
random_number = random.randint(0,1000)
source_array.append(random_number)
for element in source_array:
formated_aray.append(element + source_array.index(element))
while True:
a = int(input('Введите число: '))
for el in formated_aray:
if el < a:
sum_of_smaller += el**2
else:
pass
break
print(source_array)
print(sum_of_smaller)