Как ** Pascal ABC написать программу, которая будет считать сумму цифр в числе,...

0 голосов
25 просмотров

Как на Pascal ABC написать программу, которая будет считать сумму цифр в числе, введенного с клавиатуры?
Количество цифр в числе не известно! Число целочисленное! Желательно с объяснениями ( вне программы ). Заранее спасибо!!!


Информатика | 25 просмотров
0

Начнем с того, что компьютер стандартным образом не может обрабатывать числа, значение которых выходит за пределы отведенного тому или иному типу данных диапазона. Например, в стандартном Паскале самое "длинное" целое число не может превышать значения двух в тридцать первой степени минус один, т.е. 2147483647, а это всего лишь десятизначное число. Большие числа надо моделировать, использую для этого символьные строки, содержащие последовательность цифр, изображающую число.

0

В версии PascalABC.Net можно также использовать тип данных BigInteger, у которого количество цифр фактически не ограничено, но и такие числа нужно вводить, как символьные строки.

0

я ,боюсь, что ей эта информация не нужна.

0

Это уже не моё дело...

0

Когда я вижу в условии что-то про "количество неизвестно", то решать не берусь, если это "неизвестное" нельзя указать при вводе данных (как, к примеру, указать количество элементов в массиве)..

Дан 1 ответ
0 голосов
Правильный ответ

Var a,b,c,d:integer;
begin
writeln('введите число'); //запрос числа
readln(a);
d:=a;                 //это для красоты
while (a<>0) do begin //пока мы не дойдём до последней цифры в числе делать следующее
  b:=a mod 10;        //берём последнюю цифру числа 
  c:=c+b;             //находим сумму цифр
  a:=a div 10;        //убираем из данного числа последнюю цифру
  end;
 writeln('сумма цифр числа ',d,' = ',c); // вывод результата
end.

(8.6k баллов)
0

Вот это как раз случай, когда число не может превышать 2147483647