Категория B5 • задача №2
Условие задачи
Дано:
фрагмент некой программы в виде блок-схемы
Найти:
определите значение переменной s после выполнения фрагмента алгоритма
Примечание: знаком ":=" обозначена операция присваивания
Решение
I этап: проанализируем заданную блок-схему и постараемся выявить и понять все операции, задействованный в ней.
Перечень операций, встречающихся в заданной блок-схеме:
:= - операция присваивания;
a = 2, изображенное в ромбе - означает условное выражение, то есть, идет проверка if(a = 2) then...;
- - операция вычитания двух значений;
+ - операция сложения двух значений.
Также очевидно, что в блок-схеме представлена циклическая конструкция, по структуре схожая с циклом
< while(условие) do >, как в языке программирования Turbo Pascal.
Вообще, если записать предложенный алгоритм на языке программирования Turbo Pascal, то получим следующее:
s := 0;
while(a = 2) do
begin
s := s + a;
a := a - 1;
end;
writeln(s);
II этап: сформируем и заполним процессинговую таблицу переменных
До начала цикла следуют два оператора:
a := 6;
s := 0;
данные операторы отвечают за предварительную инициализацию переменных a и s, до того, как управление программой оказалось внутри цикла while.
Значение переменной s | Значение переменной a | Проверка условия |
0 | 6 | Проверки не было |
Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 6 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:
Значение переменной s | Значение переменной a | Проверка условия |
0 | 6 | Проверки не было |
= 0 + 6 = 6 | = 6 - 1 = 5 | ЛОЖЬ |
Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 5 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:
Значение переменной s | Значение переменной a | Проверка условия |
0 | 6 | Проверки не было |
= 0 + 6 = 6 | = 6 - 1 = 5 | ЛОЖЬ |
= 6 + 5 = 11 | = 5 - 1 = 4 | ЛОЖЬ |
Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 4 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:
Значение переменной s | Значение переменной a | Проверка условия |
0 | 6 | Проверки не было |
= 0 + 6 = 6 | = 6 - 1 = 5 | ЛОЖЬ |
= 6 + 5 = 11 | = 5 - 1 = 4 | ЛОЖЬ |
= 11 + 4 = 15 | = 4 - 1 = 3 | ЛОЖЬ |
Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 3 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:
Значение переменной s | Значение переменной a | Проверка условия |
0 | 6 | Проверки не было |
= 0 + 6 = 6 | = 6 - 1 = 5 | ЛОЖЬ |
= 6 + 5 = 11 | = 5 - 1 = 4 | ЛОЖЬ |
= 11 + 4 = 15 | = 4 - 1 = 3 | ЛОЖЬ |
= 15 + 3 = 18 | = 3 - 1 = 2 | ИСТИНА |
Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ИСТИНА (так как 2 = 2), следовательно, производится выход из цикла и построение процессинговой таблицы закончено. Осталось лишь посмотреть на значение переменной s в самой нижней строке таблицы.
Очевидно, что s = 18.
Вывод: |
после выполнения представленного алгоритма, изображенного на блок-схеме, значение переменной s будет равно 18. |
Резюме
разобрали структуру алгоритма, представленного в виде блок-схемы;
построили процессинговую дифференцированную таблицу с разрезом по значениям переменных.
Ответ: |
18 |
Категория B5 • задача №2
Остальные решения из билета №2 для подготовки к ЕГЭ по информатике 2013
Условие задачи (наведите курсор мыши на ссылку) |
Аудиовизуальное решение |
Мультимедийная видеопрезентация |
Решение в формате слайд-шоу |
Текстовое решение |
---|
Комментарии