1. Напишите, что выведет эта программа при вводе числа 256. 2. Приведите пример такого трехзначного числа, при вводе которого программа выдаёт правильный результат. 3. Найдите все ошибки в этой программе ( их может быть одна или несколько).
1) При вводе числа 256 программа выведет 3, т.к.
ввели n=256
n>0 ? — да, значит дальше идёт блок из цикла, и будет он повторятся до тех пор пока n будет >0.
d:=256 mod 10
d:=6, т.к. mod берёт остаток от деления.
n:=256 div 10
n:=25, т.к. div делит нацело и остаток не берёт.
sum:=sum+1;
sum:=1;
______________________
цикл первый раз закончился и опять проверяется условие n>0, если да, то опять запускает цикл. n:=25>0
d:=25 mod 10
d:=5
n:=25 div 10
n:=2
sum:=1+1
sum:=2;
______________________
опять закончился цикл и проверяется условие n>0, n:=2>0
d:=2 mod 10;
d:=2;
n:=2 div 10
n:=0
sum:=2+1;
sum:=3;
Задание 12 | ЕГЭ по информатике | ДЕМО-2023
____________________
заканчивается цикл и проверяется условие n>0? n:=0 >0 — нет. цикл заканчивается и выводится значение sum.
Ответ: 3.
2) 120, 210, 111 и т.д.
Источник: reshaika.com
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. PASCAL var N,k:integer; begin readln(N); k:=9; while N > 10 do begin if N mod 10 k:=N mod 10; N:N div 10; end; write(k) end. Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 537? 2. Приведите пример такого числа при котором программа работает верно 3.Укажите все ошибки в программе и исправьте их.Для этого для каждой ошибки выпишите строку ,которая написана неправильно и приведите правильный вариант строки.
После всех исправлений код программы стал таким:
var
N, k: integer;
begin
readln(N);
k := 9;
while N > 10 do
begin
if (N mod 10 N := N div 10;
end;
write(k)
end.
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.
Источник: botanim.com
Требовалось написать программу при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9 и выводится максимальная цифра этого числа. Последовательно выполните следующее. 1. Напишите что выведет это программа при вводе числа 321.2. Найдите все ошибки в этой программе (их может быть одна или неКак узнать сколько). Для каждой ошибки:1) выпишите строку, в которой сделана ошибка;2) укажите, как исправить ошибку, — приведите правильный вариант строки. var N: longint;digit, maxdigit: integer;beginreadln(N);maxdigit := 10;while N > 10 dobegindigit := N mod 10;if digit > maxdigit thenmaxdigit := digit;N := N div 10;end;writeln(digit);end.
Разбор 12 задания на Python | ЕГЭ-2023 по информатике
1) 2
2)
maxdigit:=10 должен быть заменен на maxdigit:=0, так как программа считает с самого начала, что максимальной цифрой будет 10.
while N > 10 do должен быть заменен на while N > 0 do, так как мы не учитываем последнюю цифру.
writeln(digit); должен быть заменен на writeln(maxdigit);, так как мы выводим не результат, а последнюю рассматриваемую цифру
Источник: sproshu.net