Вверх

Линия заданий 24, ЕГЭ по информатике

12494. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. Ниже для вашего удобства программа представлена на четырёх языках программирования.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 862.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, - приведите правильный вариант строки.


Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Решение использует запись программы на Паскале. Допускается использование программы на трёх других языках.

1. Программа выведет число 8.

2. Первая ошибка. Неверная инициализация ответа (переменная min_digit).
Строка с ошибкой:
min_digit: = 0;
Возможные варианты исправления:
min_digit: = 9;
Возможны и другие исправления инициализации на любое число, большее 9.

3. Вторая ошибка. Программа выводит значение переменной digit, а не min_digit. В результате программа всегда выводит самую старшую цифру числа.
Строка с ошибкой:
writeln(digit);
Необходимо в строке с выводом результата заменить digit на min_digit

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12494.

12521. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. Ниже для вашего удобства программа представлена на четырёх языках программирования.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 547.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, - приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Решение использует запись программы на Паскале. Допускается использование программы на трёх других языках.

1. Программа выведет число 4.

2. Первая ошибка. Неверное условие окончания цикла. Программа не будет рассматривать старшую цифру числа.
Строка с ошибкой:
while N > = 10 do Возможные варианты исправления:
while (N > = 1)
или while (N > 0)
При этом замены на while (N > 1) или while (N >= 0)
корректными не являются

3. Вторая ошибка. Программа выводит значение переменной digit, а не min_digit. В результате программа всегда выводит вторую слева цифру числа.
Строка с ошибкой:
writeln(digit);
Необходимо в строке с выводом результата заменить digit на min_digit

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12521.

12548. На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру этого числа, меньшую 5. Если в числе нет цифр, меньших 5, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для вашего удобства приведена на пяти языках программирования.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 507.
2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

Решение использует запись программы на Паскале.

1. Программа выведет «NO».

2. Программа выдаёт правильный ответ, например, для числа 123.
Комментарий к решению. Программа работает неправильно из-за неверной начальной инициализации и неверной проверки отсутствия цифр, меньших 5. Соответственно, программа будет выдавать верный ответ, если вводимое число содержит хотя бы одну цифру, меньшую 5, большую 0, или совсем не содержит цифр, меньших 5.

3. В программе есть две ошибки.
Первая ошибка: неверная инициализация ответа (переменная maxDigit).
Строка с ошибкой:
maxDigit := 0;
Верное исправление:
maxDigit := -1;
Вместо –1 может быть использовано любое число, меньшее 0.
Вторая ошибка: неверная проверка отсутствия цифр, меньших 5.
Строка с ошибкой:
if maxDigit > 0 then
Верное исправление:
if maxDigit > -1 then
Вместо –1 может быть другое число, меньшее 0, которое было положено в maxDigit при исправлении первой ошибки. Возможна также проверка maxDigit >= 0

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12548.

12575. На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для вашего удобства приведена на пяти языках программирования.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 231.
2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

Решение использует запись программы на Паскале.

1. Программа выведет число 1.

2. Программа выдаёт правильный ответ, например, для числа 132.
Комментарий к решению. Программа работает неправильно из-за неверной начальной инициализации и неверной проверки отсутствия чётных цифр. Соответственно, программа будет выдавать верный ответ, если вводимое число не содержит 0, содержит хотя бы одну чётную цифру и наименьшая чётная цифра числа не больше младшей (крайней правой) цифры числа (или просто стоит последней).

3. В программе есть две ошибки.
Первая ошибка: неверная инициализация ответа (переменная minDigit).
Строка с ошибкой:
minDigit := N mod 10;
Верное исправление:
minDigit := 10;
Вместо 10 может быть использовано любое целое число, большее 8.
Вторая ошибка: неверная проверка отсутствия чётных цифр.
Строка с ошибкой:
if minDigit = 0 then
Верное исправление:
if minDigit = 10 then
Вместо 10 может быть другое число, большее 8, которое было положено в minDigit при исправлении первой ошибки, или проверка, что minDigit > 8

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12575.

12602. На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную цифру числа, большую 3. Если в числе нет цифр, больших 3, требуется вывести на экран «NO». Программист написал программу неправильно. Ниже эта программа для вашего удобства приведена на пяти языках программирования.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 128.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

Решение использует запись программы на Паскале. Допускается использование программы на любом из других четырёх языков.
1. Программа выведет число 9.
2. Программа выдаёт правильный ответ, например, для числа 129.
3. В программе есть две ошибки.
Первая ошибка: неверная инициализация ответа (переменная minDigit).
Строка с ошибкой:
minDigit := 9;
Верное исправление:
minDigit:= 10;
Вместо 10 может быть использовано любое число, большее 9.
Вторая ошибка: неверное присваивание.
Строка с ошибкой:
digit := minDigit;
Верное исправление:
minDigit := digit;

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12602.

12629. На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную цифру числа, делящуюся на 3. Если в числе нет цифр, делящихся на 3, на экран требуется вывести «NO». Программист написал программу неправильно. Ниже эта программа для вашего удобства приведена на пяти языках программирования.
Напоминание: 0 делится на любое натуральное число.
Задание ЕГЭ по информатикеЗадание ЕГЭ по информатикеЗадание ЕГЭ по информатике
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 143.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

Решение использует запись программы на Паскале. Допускается использование программы на любом из других четырёх языков программирования.
1. Программа выведет число 9.
2. Программа выдаёт правильный ответ, например, для числа 129.
3. В программе есть две ошибки.
Первая ошибка: неверная инициализация ответа (переменная minDigit).
Строка с ошибкой:
minDigit := 9;
Верное исправление:
minDigit := 10;
Вместо 10 может быть использовано любое число, большее 9.
Вторая ошибка: неверное присваивание.
Строка с ошибкой:
digit := minDigit;
Верное исправление:
minDigit := digit;

P.S. Нашли ошибку в задании? Пожалуйста, сообщите о вашей находке ;)
При обращении указывайте id этого вопроса - 12629.

Для вас приятно генерировать тесты, создавайте их почаще