В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число n, не превосходящее 10^9, и выводится сумма цифр этого числа. программист торопился и написал программу неправильно: var n: longint; sum, d: integer; begin readln(n); sum : =0; while n > 0 do begin d : = n mod 10; n : = n div 10; sum : = sum + 1; end; writeln(sum); end. последовательно выполните следующее. 1. напишите, что выведет эта программа при вводе числа 256. 2. пример такого трехзначного числа, при вводе которого программа выдаёт правильный результат. 3. найдите все ошибки в этой программе ( их может быть одна или несколько).

Показать ответ
Ответ:
Никуля111111111
Никуля111111111
02.10.2020 15:02
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;

заканчивается цикл и проверяется условие n>0? n:=0 >0 - нет. цикл заканчивается и выводится значение sum.
ответ: 3.
2) 120, 210, 111 и т.д.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота