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

 
 
 

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

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

 

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

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

 

Решение

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

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

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

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

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

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

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

  1. a := 7;
  2. s := 0;
  3. while(a <> 3) do
  4. begin
  5.     s := s + a;
  6.     a := a - 1;
  7. end;

 

II этап: сформируем и заполним процессинговую таблицу переменных

До начала цикла следуют два оператора:

a := 7;
s := 0;

данные операторы отвечают за предварительную инициализацию переменных a и s, до того, как управление программой оказалось внутри цикла while.

Проверка условия (a = 3)Значение sЗначение a
проверки не было07

 

Затем начинается проверка (a = 3). Очевидно, что данное выражение возвращает ЛОЖЬ, так как текущее значение переменной a (как видно из выше построенной таблицы) составляет 7, следовательно, попадаем в тело цикла, в котором выполняется два оператора:

s := s + a;
a := a - 1;

Проверка условия (a = 3)Значение sЗначение a
проверки не было07
ЛОЖЬ, так как 7 не равно 3= 0 + 7 = 7= 7 - 1 = 6

 

Затем начинается проверка (a = 3). Очевидно, что данное выражение возвращает ЛОЖЬ, так как текущее значение переменной a (как видно из выше построенной таблицы) составляет 6, следовательно, попадаем в тело цикла, в котором выполняется два оператора:

s := s + a;
a := a - 1;

Проверка условия (a = 3)Значение sЗначение a
проверки не было07
ЛОЖЬ, так как 7 не равно 3= 0 + 7 = 7= 7 - 1 = 6
ЛОЖЬ, так как 6 не равно 3= 7 + 6 = 13= 6 - 1 = 5

 

Затем начинается проверка (a = 3). Очевидно, что данное выражение возвращает ЛОЖЬ, так как текущее значение переменной a (как видно из выше построенной таблицы) составляет 5, следовательно, попадаем в тело цикла, в котором выполняется два оператора:

s := s + a;
a := a - 1;

Проверка условия (a = 3)Значение sЗначение a
проверки не было07
ЛОЖЬ, так как 7 не равно 3= 0 + 7 = 7= 7 - 1 = 6
ЛОЖЬ, так как 6 не равно 3= 7 + 6 = 13= 6 - 1 = 5
ЛОЖЬ, так как 5 не равно 3= 13 + 5 = 18= 5 - 1 = 4

 

Затем начинается проверка (a = 3). Очевидно, что данное выражение возвращает ЛОЖЬ, так как текущее значение переменной a (как видно из выше построенной таблицы) составляет 4, следовательно, попадаем в тело цикла, в котором выполняется два оператора:

s := s + a;
a := a - 1;

Проверка условия (a = 3)Значение sЗначение a
проверки не было07
ЛОЖЬ, так как 7 не равно 3= 0 + 7 = 7= 7 - 1 = 6
ЛОЖЬ, так как 6 не равно 3= 7 + 6 = 13= 6 - 1 = 5
ЛОЖЬ, так как 5 не равно 3= 13 + 5 = 18= 5 - 1 = 4
ЛОЖЬ, так как 4 не равно 3= 18 + 4 = 22= 4 - 1 = 3

 

Затем начинается проверка (a = 3). Очевидно, что данное выражение возвращает ИСТИНУ, так как текущее значение переменной a (как видно из выше построенной таблицы) составляет 3, следовательно, управление не попадает в тело цикла, а производится выход из цикла, то есть производится завершение работы представленного алгоритма.

Чтобы определить значение переменной s достаточно обратиться к последней строке процессинговой таблицы. Как видно из последней версии таблицы, значение переменной s по завершению приведенного алгоритма составляет 22.

 

Вывод:

после выполнения представленного алгоритма, изображенного на блок-схеме, значение переменной s будет равно 22

Резюме

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

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

  3. заполнение таблицы прекратилось, когда значение переменной а достигло трех.

 

Ответ:

22

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

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

 

Комментарии

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

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

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