В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
SmartFox1
SmartFox1
21.12.2020 08:16 •  Информатика

Имеются кувшин емкостью 8 л, заполненный квасом, и два пустых кувшина ёмкостью 3 л и 5 л. запишите алгоритм, выполняв который можно разделить квас поровну между двумя людьми (разрешается пользоваться только этими тремя кувшинами)

Показать ответ
Ответ:
masha0301
masha0301
04.03.2022 21:40

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)

0,0(0 оценок)
Ответ:
amnat5247
amnat5247
15.03.2023 15:50

ниже

Объяснение:

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)


Сформируйте массив, содержащий 15 элементов, с датчика случайных чисел. Получите новый мас- сив, каж
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота