Предмет: Информатика, автор: niuzsidorov201813

Вот алгоритм, описанный на псевдокоде.
Объясните пожалуйста как это делается, я хочу именно понять а не ответ узнать
1) Что будет выведено при M=6, N=10?

2) Найдите наименьшее значение M, при вводе которого при N=50 будет выведено число



200. Ответ обоснуйте

Приложения:

2shark2: А где сам алгоритм?
2shark2: Все, увидел

Ответы

Автор ответа: 2shark2
1

Ответ:

1) 30

2) 8

Объяснение:

1)

Идём по коду и прописываем все операции, которые он совершает (вместо переменных подставляем их значения).

M = 6; N = 10

S = 6; T = 10

нц пока S ≠ T: (6 ≠ 10. Соответствует условию? Да)

   если S > T:  (6 > 10. Соответствует условию? Нет)

   иначе:

      S = 6 + 6 = 12

нц пока S ≠ T: (12 ≠ 10. Соответствует условию? Да)

   если S > T:  (12 > 10. Соответствует условию? Да)

       T = 10 + 10 = 20

нц пока S ≠ T: (12 ≠ 20. Соответствует условию? Да)

   если S > T:  (12 > 20. Соответствует условию? Нет)

   иначе:

       S = 12 + 6 = 18

нц пока S ≠ T: (18 ≠ 20. Соответствует условию? Да)

   если S > T:  (18 > 20. Соответствует условию? Нет)

   иначе:

       S = 18 + 6 = 24

нц пока S ≠ T: (24 ≠ 20. Соответствует условию? Да)

    если S > T:  (24 > 20. Соответствует условию? Да)

      T = 20 + 10 = 30

нц пока S ≠ T: (24 ≠ 30. Соответствует условию? Да)

   если S > T:  (24 > 30. Соответствует условию? Нет)

   иначе:

      S = 24 + 6 = 30

нц пока S ≠ T: (30 ≠ 30. Соответствует условию? Нет)

кц

вывод 30

2)

Для решения этой задачи я написал программу на языке кумир:

алг

нач

цел S, T, M, N

нц для M от 1 до 50

S := M

T := 50

N := 50

нц пока S <> T и T <= 200

если S > T то

T := T + N

иначе

S := S + M

все

кц

если T = 200 то

вывод M, ' '

все

кц

кон

Этот алгоритм выводит то значение M(или S), при котором T в результате алгоритма будет равен 200. Алгоритм выводит 8 и 40. Т.к. нам нужно наименьшее значение, то ответ на задачу является 8.


niuzsidorov201813: Спасибо большое
Похожие вопросы
Предмет: Русский язык, автор: ученик283