Категория B5 • задача №2

 
 
 

Условие задачи

Дано:
фрагмент некой программы в виде блок-схемы

 

Найти:
определите значение переменной s после выполнения фрагмента алгоритма

Примечание: знаком ":=" обозначена операция присваивания

 

Решение

I этап: проанализируем заданную блок-схему и постараемся выявить и понять все операции, задействованный в ней.

Перечень операций, встречающихся в заданной блок-схеме:

  • := - операция присваивания;

  • a = 2, изображенное в ромбе - означает условное выражение, то есть, идет проверка if(a = 2) then...;

  • - - операция вычитания двух значений;

  • + - операция сложения двух значений.

Также очевидно, что в блок-схеме представлена циклическая конструкция, по структуре схожая с циклом
< while(условие) do >, как в языке программирования Turbo Pascal.

Вообще, если записать предложенный алгоритм на языке программирования Turbo Pascal, то получим следующее:

a := 6;
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Проверка условия
06Проверки не было

 

Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 6 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:

Значение переменной sЗначение переменной aПроверка условия
06Проверки не было
= 0 + 6 = 6= 6 - 1 = 5ЛОЖЬ

 

Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 5 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:

Значение переменной sЗначение переменной aПроверка условия
06Проверки не было
= 0 + 6 = 6= 6 - 1 = 5ЛОЖЬ
= 6 + 5 = 11= 5 - 1 = 4ЛОЖЬ

 

Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 4 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:

Значение переменной sЗначение переменной aПроверка условия
06Проверки не было
= 0 + 6 = 6= 6 - 1 = 5ЛОЖЬ
= 6 + 5 = 11= 5 - 1 = 4ЛОЖЬ
= 11 + 4 = 15= 4 - 1 = 3ЛОЖЬ

 

Затем управление передается в условие цикла и проверяется выражение: a = 2.
Очевидно, что это ЛОЖЬ (так как 3 <> 2), следовательно, выполняются два оператора, представленных в теле цикла:

Значение переменной sЗначение переменной aПроверка условия
06Проверки не было
= 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.

Резюме

  1. разобрали структуру алгоритма, представленного в виде блок-схемы;

  2. построили процессинговую дифференцированную таблицу с разрезом по значениям переменных.

 

Ответ:

18

 
Рейтинг:
 
Проголосовало: 0
Количество просмотров: 1419
 
 
 

Категория B5 • задача №2

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №2 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?