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