Задать вопрос

Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 10^8, и выводится его первая цифра. Ученик написал такую программу: var n:longint; begin read (n); while n>10 do begin n:=n mod 10 end; write (n); end. 1) Напишите, что выведет эта программа при вводе числа 1984. 2) Приведите пример числа, при вводе которого программа выдаст верный ответ. 3) Найдите в программе все ошибки.

+4
Ответы (1)
  1. 16 марта, 16:28
    0
    Программа выводит не первую цифру, а последнюю - остаток при делении числа на десять. Если ввести число 1984, то будет выведена цифра 4. Если у числа первая и последняя цифра совпадают, то программа выдаст правильный ответ. Пример: 4984. Если заменить строку n:=n mod 10 на n:=n div 10, то программа будет выводить первую цифру.

    Если используется присваивание n:=n mod 10, то цикл не нужен, он все равно выполнится только один раз, так как остаток при делении на 10 меньше 10.

    В цикле можно обойтись без служебных слов begin и end (в теле цикла только один оператор).

    Точку с запятой после последней команды не ставят перед (end c точкой).
Знаешь ответ на этот вопрос?
Сомневаешься в правильности ответа?
Получи верный ответ на вопрос 🏆 «Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 10^8, и выводится его ...» по предмету 📕 Информатика, используя встроенную систему поиска. Наша обширная база готовых ответов поможет тебе получить необходимые сведения!
Найти готовые ответы
Похожие вопросы информатике
Определить значение выражения: 1) 10 div 15 2) 10 div 2 3) 10 mod 2 4) 10 mod 17 5) 123 mod 10 6) 123 div 10 7) 1 div 2 8) 123 mod 1000 9) 100 mod 27 div 3 10) 100 div 5 mod 3 11) 98725 div 1000 mod 10 12) 100 mod 5 div 3
Ответы (1)
Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 10.
Ответы (1)
Требовалось написать программу, которая получает на входе натуральное число n и выводит число, которое получается из n после удаления всех пятерок, порядок остальных цифр при этом не меняется.
Ответы (1)
6) Определите, что будет напечатано в результате работы следующего фрагмента программы: var n, s: integer; begin s : = 0; for n:=4 to 13 do begin s : = s + 15; end; write (s) end.
Ответы (1)
Что напечатает следующая программа? program p3; var x, y:integer; procedure p1 (var a, b:integer); begin a:=sqr (a); b:=sqr (a) + a; end; procedure p2 (a, b:integer); begin a:=sqr (a); b:=sqr (b) + b; end; begin x:=2; y:=2; p1 (x, y);
Ответы (1)