100 баллов!
Помогите пожалуйста заполнить таблицу.
И что означает I = s1, s1 ? Как одной переменной передать два значения в коде?
Ответы
Объяснение:
То, что вам задали называется трассировочная таблица.
Трассировка (от слова "trace" - след) это пошаговое выполнение программы, с отслеживанием её состояния после каждого шага.
Соответственно, трассировочная таблица, это таблица, в которую нужно записывать КАЖДЫЙ ШАГ в хода программы.
В вашем случае, не предлагается кода программы. Вместо него, вам предлагается блок-схема. Блок-схема - это графическое представление программы. Проходите каждый из шагов схемы и вносите результаты в таблицу.
Теперь, рассмотрим саму схему:
1) Самый верхний блок - блок инструкций. В этом блоке происходит
декларация и инициализация (объявление и присвоение значений)
переменных. В вашем случае, это переменные S1 = -1; S2 = 1; S = 0;
2) Блок ниже, это цикл с параметром, и судя из вашего вопроса, вы
неверно поняли его назначение. Запись i = S1, S2 в данном случае,
НЕ означает присваивания значения. Читайте эту запись как
for i := S1 to S2 do или for(i = S1; i < S2; i++) или for i in range(S1, S2),
в зависимости от вашего ЯП. Т.е. это просто цикл с параметром.
3) Блок ниже, это блок условия. Проще говоря, внутри цикла, на
каждой его итерации, вы проверяете, верно ли условие. В вашем
случае, это условие i > 0 (на изображении очень плохо видно)
Если условие истинно вы выполняете блок инструкции S = S + 5,
если условие ложно, ты вы переходите к следующей итерации цикла.
4) Когда цикл завершён, вы переходите к последнему блоку ввода\вывода, в вашем случае это вывод S.
Теперь заполним таблицу
Шаг i условие S вывод
1 -1 - 1 > 0 ? 0
2 0 0 > 0 ? 0
3 1 1 > 0 ? 5
4 5
Учтите, что в этой таблице, верхняя граница цикла включена
в итерации. Т.е. проходимые значение i это {-1, 0, 1}
Таким образом, например действует Паскаль: for i := -1 to 1 do
Но возможен и вариант аля Питон for i in range(-1, 1), который
даст вам проходимые значения от {-1, 0}
Тогда таблица будет выглядеть так:
Шаг i условие S вывод
1 -1 - 1 > 0 ? 0
2 0 0 > 0 ? 0
3 0
Нет не выходит. В решении написано, что вывод либо 5 либо 0, в зависимости от верхней границы кол-ва проходов.