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

 
 
 

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

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

 

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

 

Решение

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

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

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

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

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

 

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

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

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

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

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

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

a := 5;
b := 13;

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

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

 

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

b := b - a * 2;

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

Значение переменной aЗначение переменной bЗначение переменной с
513неизвестно
5= 13 - 5 · 2 = 13 - 10 = 3неизвестно

 

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

if a > b then

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

c := a - b;

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

Значение переменной aЗначение переменной bЗначение переменной с
513неизвестно
5= 13 - 5 · 2 = 13 - 10 = 3неизвестно
53= 5 - 3 = 2

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

 

Вывод:

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

Резюме

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

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

 

Ответ:

2

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

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

 

Комментарии

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

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

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