Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 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) Найдите в программе все ошибки.

+3
Ответы (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 точкой).
Знаешь ответ на этот вопрос?
Новые вопросы по информатике
Что такое бит с позиции алфавитного подхода к измерению информации?
Ответы (1)
Для создания и обработки электронных документов используется компьютерные программы (отметь). Графический планшет; Текстовый редактор; Графический редактор; Калькулятор; Музыкальный редактор; Сканер; Клавиатурный тренажёр.
Ответы (1)
Установите соответствие между типами файлов и расширениями файлов. Текстовый файл Графический файл Web-страница Звуковой файл Видеофайл Системный файл Исполняемый файл txt bmp htm doc jpg mp3 html gif midi mpeg sys exe avi com
Ответы (1)
Составьте программу для решения следующей задачи массив б задан случайным образом подсчитать сумму элементов массива состоящих из нечётных чисел
Ответы (1)
Маша набирает текст со скоростью 40 символов в минуту, а Катя - 20 символов в минуту. Через какое время девочки введут одинаковое количество символов, если Катя начала набирать текст на 5 минут раньше Маши?
Ответы (1)
Кодирование нотной записи занимает 14 байт. Каждая нота кодируется одним 2 битами. Сколько нот в записи?
Ответы (1)
какое значение будет иметь переменная S после выполнения следующего оператора S=0, i=2 Repeat i:=2*i; S: = S+i until i > 10
Ответы (1)
Дано N чисел. Найти самое большое число, на которое делятся все N чисел.
Ответы (1)
система охлаждения процессора, предстовляющея собой металлический радиатор с вентилятором
Ответы (1)
Найти индексы всех элементов массива, значение которого равно нулю, если таковой существует
Ответы (1)