Статья «Способы решения и оформления задачи 24 (Информатика, ЕГЭ, Часть 2)»
Автор: Алексеева Наталья Александровна
Учитель информатики, Средняя школа №3, Каменск-Уральский
Описание: данная статья поможет учащимся 10-11 класса при подготовке к ЕГЭ по информатике, студентам вузов, а также учителям информатики при объяснении 24 задачи ЕГЭ.
Цель: рассмотреть способы решения 24 задачи, ознакомится с оформлением данной задачи.
Задача 24 (часть 2) выглядит следующим образом:
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно.
Рассмотрим программу, написанную на языке программирования Паскаль
var N: longint;
digit, min_digit: integer;
begin
readln(N);
min_digit := 9;
while N >= 10 do
begin
digit := N mod 10;
if digit < min_digit then
min_digit := digit;
N := N div 10;
end;
writeln(digit);
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 547.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Удобнее всего начинать решение с первого задания. Анализируя программу, скорее всего мы сразу найдем ошибки.
N=547 (вводится чило)
Min=9 (присваивается)
Digit=7 (N mod 10)
Min_digit=7 (если digit < min_digit заменяем)
N=54 (N div 10)
Digit=4 (N mod 10)
Min_digit=4(если digit < min_digit заменяем)
N=5 (N div 10) {далее условие цикла не выполняется}
Вывод: 4.
Ответ на первое задание: 4.
Для решения второго задания необходимо выписать строку с ошибкой, а затем написать правильный вариант строки.
Анализируя программу мы увидели, что ошибка допущена в условии цикла. Как только N становится меньше 10 сразу идет оператор вывода, т.е. последняя цифра не обрабатывается в цикле. И если ввести число вида 456 программа выдаст неверный результат. Нужно исправить условие. Возможны несколько вариантов изменения условия: N>0, N>=1.
Вторая ошибка, допущенная в данной программе – это вывод результата. На экран выводится не та переменная. По логике программы наименьшую цифру мы храним в переменной Min_digit, а на экран выводится переменная Digit. Для исправления, нужно просто заменить одну переменную на другую.
Оформление:
1. 4
2. Строка с ошибкой while N >= 10 do
Правильный вариант while N >= 1 do
Строка с ошибкой writeln(digit);
Правильный вариант writeln(min_digit);
Рекомендуем посмотреть:
Что такое технология потоковых данных
Использование облачного хранилища данных в образовательном пространстве
Восьмеричный переход
Конспект урока информатики по теме «Разветвляющие алгоритмы», 10 класс
Похожие статьи:
Оценка достижений учащихся на уроках информатики
Конспект открытого урока по информатике в 9 классе
Конспект урока информатики в 8 классе
Конспект урока информатики в 3 классе
Конспект урока информатики во 2 классе