Вопрос задан 25.01.2019 в 12:41. Предмет Информатика. Спрашивает Игнатьева Снежана.

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится

при записи N справа налево и удалении всех девяток. Ведущие нули выводить не надо. Если в числе N нет цифр кроме девяток и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 481, а при вводе 2009 нужно вывести 2. Для решения этой задачи ученик написал такую программу: var n, m: longint; d: integer; begin read(n); m := 0; while n>1 do begin d := n mod 10; if d < 9 then begin m := m + d; end; n := n div 10; end; write(m); end. Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 1984. 2. Приведите пример числа, при вводе которого программа выдаст верный ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мамчич Дмитрий.
1 12
2 2,3,4,9
3
var
    n, m: longint;
    d: integer;

begin
    read(n);
    m := 0;
    while n > 0 do {1 на 0}
    begin
        d := n mod 10;
        if d < 9 then begin
            m := 10 * m + d; {домножили на 10}
        end;
        n := n div 10;
    end;
    write(m);
end.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

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