В натуральном числе N (0 N 9) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа N. Например, для N = 123 должен получиться ответ 2 (последняя цифра числа нечётная, а всего в записи числа две нечётные цифры: 1 и 3).
Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
Бейсик | Python
DIM N, K, D AS INTEGER
INPUT N
K = 0
D = N MOD 2
WHILE N > 1
IF N MOD 10 = D THEN
K = K + 1
END IF
N = N \ 10
WEND
PRINT K
END
|
N = int(input())
k = 0
d = N % 2
while N > 1:
if N % 10 == d:
k += 1
N = N // 10
print(k)
Паскаль | Алгоритмический язык
var N, k, d: integer;
begin
read(N);
k := 0;
d := N mod 2;
while N > 1 do begin
if N mod 10 = d
then k := k + 1;
N := N div 10
end;
writeln(k)
end.
|
алг
нач
цел N, k, d
ввод N
k := 0
d := mod(N,2)
нц пока N > 1
если mod(N,10) = d
то k := k + 1
все
N := div(N,10)
кц
вывод k
кон
С++
#include <iostream>
using namespace std;
int main(){
nt N, k, d;
cin >> N;
k = 0;
d = N % 2;
while (N > 1) {
if (N % 10 == d)
++k;
N = N / 10;
}
cout
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 1961.
2. Назовите минимальное N, большее 100, при котором программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
Бейсик | Python
DIM N, K, D AS INTEGER
INPUT N
K = 0
D = N MOD 2
WHILE N > 1
IF N MOD 10 = D THEN
K = K + 1
END IF
N = N \ 10
WEND
PRINT K
END
|
N = int(input())
k = 0
d = N % 2
while N > 1:
if N % 10 == d:
k += 1
N = N // 10
print(k)
Паскаль | Алгоритмический язык
var N, k, d: integer;
begin
read(N);
k := 0;
d := N mod 2;
while N > 1 do begin
if N mod 10 = d
then k := k + 1;
N := N div 10
end;
writeln(k)
end.
|
алг
нач
цел N, k, d
ввод N
k := 0
d := mod(N,2)
нц пока N > 1
если mod(N,10) = d
то k := k + 1
все
N := div(N,10)
кц
вывод k
кон
С++
#include <iostream>
using namespace std;
int main(){
nt N, k, d;
cin >> N;
k = 0;
d = N % 2;
while (N > 1) {
if (N % 10 == d)
++k;
N = N / 10;
}
cout
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 1961.
2. Назовите минимальное N, большее 100, при котором программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
💡 Пошаговый разбор и решение:
1. При вводе N = 1961 программа выведет число 1.
2. Минимальное N > 100, при котором программа выдаёт верный ответ, = 110. Программа выдаёт верный ответ 1. При вводе числа 101 программа выдаёт ответ 1. При вводе чисел от 102 до 109 программа вместо верного ответа 2 выдаёт ответ 1 для чётных чисел и ответ 0 для нечётных.
Программа содержит две ошибки.
1) Неверное условие цикла. Если старшая цифра числа равна 1, то эта цифра не будет проверяться и подсчитываться.
2) Неверная проверка. С чётностью последней цифры числа сравнивается не чётность очередной цифры, а сама эта цифра.
Пример исправления для языка Паскаль:
Первая ошибка, способ 1:
while N > 1 do begin
Исправленная строка:
while N > 0 do begin
Первая ошибка, способ 2:
while N > 1 do begin
Исправленная строка:
while N >= 1 do begin
Вторая ошибка:
if N mod 10 = d
Исправленная строка:
if N mod 2 = d
В программах на других языках ошибочные строки и их исправления аналогичны.
Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления.
2. Минимальное N > 100, при котором программа выдаёт верный ответ, = 110. Программа выдаёт верный ответ 1. При вводе числа 101 программа выдаёт ответ 1. При вводе чисел от 102 до 109 программа вместо верного ответа 2 выдаёт ответ 1 для чётных чисел и ответ 0 для нечётных.
Программа содержит две ошибки.
1) Неверное условие цикла. Если старшая цифра числа равна 1, то эта цифра не будет проверяться и подсчитываться.
2) Неверная проверка. С чётностью последней цифры числа сравнивается не чётность очередной цифры, а сама эта цифра.
Пример исправления для языка Паскаль:
Первая ошибка, способ 1:
while N > 1 do begin
Исправленная строка:
while N > 0 do begin
Первая ошибка, способ 2:
while N > 1 do begin
Исправленная строка:
while N >= 1 do begin
Вторая ошибка:
if N mod 10 = d
Исправленная строка:
if N mod 2 = d
В программах на других языках ошибочные строки и их исправления аналогичны.
Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления.
📚 Похожие разобранные задания по предмету:
ID 33233 • Задание №19
Ниже приведён фрагмент программы, записанный на пяти языках программирования.
Массив A двумерный; в программе ...
ID 31739 • Задание №12
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя...
Официальные критерии проверки ФИПИ:
Критерии проверки:
Критерии оценивания выполнения задания | Баллы
Выполнены все четыре необходимых действия, и ни одна верная строка не указана в качестве ошибочной | 3
Не выполнены условия, позволяющие поставить 3 балла. Имеет
место одна из следующих ситуаций.
1. Выполнены два первых действия, найдена и исправлена одна ошибка в программе, ни одна верная строка не названа ошибочной.
2. Выполнены два первых действия, найдены и исправлены две ошибки в программе, одна верная строка названа ошибочной.
3. Выполнено одно из первых двух действий, найдены и исправлены две ошибки в программе, ни одна верная строка не названа ошибочной | 2
Не выполнены условия, позволяющие поставить 2 или 3 балла. При этом имеет место один из следующих случаев.
1. Выполнены два первых действия. При этом несущественно, насколько правильно выполнено третье действие.
2. Найдены и исправлены две ошибки в программе, не более чем одна верная строка названа ошибочной. При этом несущественно, насколько правильно выполнены действия 1 и 2.
3. Выполнено одно из двух первых действий. Исправлена одна из двух ошибок. Не более чем одна верная строка названа ошибочной | 1
Не выполнены условия, позволяющие поставить 1, 2 или 3 балла. | 0
Максимальный балл | 3
Критерии оценивания выполнения задания | Баллы
Выполнены все четыре необходимых действия, и ни одна верная строка не указана в качестве ошибочной | 3
Не выполнены условия, позволяющие поставить 3 балла. Имеет
место одна из следующих ситуаций.
1. Выполнены два первых действия, найдена и исправлена одна ошибка в программе, ни одна верная строка не названа ошибочной.
2. Выполнены два первых действия, найдены и исправлены две ошибки в программе, одна верная строка названа ошибочной.
3. Выполнено одно из первых двух действий, найдены и исправлены две ошибки в программе, ни одна верная строка не названа ошибочной | 2
Не выполнены условия, позволяющие поставить 2 или 3 балла. При этом имеет место один из следующих случаев.
1. Выполнены два первых действия. При этом несущественно, насколько правильно выполнено третье действие.
2. Найдены и исправлены две ошибки в программе, не более чем одна верная строка названа ошибочной. При этом несущественно, насколько правильно выполнены действия 1 и 2.
3. Выполнено одно из двух первых действий. Исправлена одна из двух ошибок. Не более чем одна верная строка названа ошибочной | 1
Не выполнены условия, позволяющие поставить 1, 2 или 3 балла. | 0
Максимальный балл | 3
🔗 Другие задания линии №24 по предмету Информатика:
ID 33959
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количеств...
ID 33960
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите длину самой длинной по...
ID 33961
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цеп...
ID 33962
Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств...
ID 33963
Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств...