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

 
 
 

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

Дано:
фрагмент программы, записанного на разных языках программирования.

 

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

 

Решение

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

Во-первых, сразу отбросим "Алгоритмический язык", так как нет ничего более неуместного, чем пытаться разбирать код программы, записанный на некоем неформализованном языке.

Во-вторых, избавимся от языка программирования "Чистый С", так как данный язык обладает внутренней сложность и, как правило, любой код на данном языке является запутанным и плохо поддающимся анализу.

В-третьих, исключим язык программирования "Basic", так как в отличие от языка программирования Turbo Pascal, он имеет слабую типизацию, а также неудобные подпрограммы для обработки строковых величин. В дополнении, Basic не имеет встроенный тип данных, описывающий Множества.

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

 

II этап: анализ представленного фрагмента программы

Для эффективного решения потребуется ввести процессинговую таблицу переменных, в которой отображать все изменения значений переменных, используемых в данном фрагменте кода. Данная таблица будет состоять из трех колонок:

  1. отвечает за значения переменной а;

  2. отвечает за значения переменной b;

  3. отвечает за значения переменной c.

В первых двух строках происходит предварительная инициализация переменных a и b:

a := 6;
b := 15;

в итоге процессинговая таблица примет вид:

Значение переменной aЗначение переменной bЗначение переменной c
615неизвестно

 

Затем происходит реинициализация переменной a:

a := b - a * 2;

в итоге процессинговая таблица принимает вид (переменная b не меняет своего текущего значения):

Значение переменной aЗначение переменной bЗначение переменной c
615неизвестно
= 15 - 6 · 2 = 15 - 12 = 315неизвестно

 

Затем происходит проверка условного выражения:

if a > b then

Произведем подстановку значений переменных (а = 3, b = 15): 3 > 15 - FALSE, следовательно, управление передается в блок else, в котором присутствует следующий код:

c := b - a;

в итоге процессинговая таблица принимает вид (переменные a и b не поменяли своего значения):

Значение переменной aЗначение переменной bЗначение переменной c
615неизвестно
= 15 - 6 · 2 = 15 - 12 = 315неизвестно
315= 15 - 3 = 12

Как видно из заполненной процессинговой таблицы, значение переменной с имеет значение равное 12.

 

Вывод:

значение переменной с после выполнения предложенного фрагмента кода примет значение равное 12

Резюме

  1. выбрали в качестве фундамента язык программирования Pascal;

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

 

Ответ:

12

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

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

 

Комментарии

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

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

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