Составить программу «умножения столбиком» 2 чисел - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны два натуральных числа, каждое из которых не превосходит 30000. Составить программу их «умножения столбиком» .

Решение задачи: «Составить программу «умножения столбиком» 2 чисел»

textual
Листинг программы
function padl(n:integer; size:integer):string;
var r:string;
begin
  r:=IntToStr(n);
  while length(r)<size do r:=' '+r;
  padl:=r;
end;
 
 
var a,b,t,i : integer;
begin
  ReadLn(a,b);
  WriteLn;
  writeLn(padl(a,10));
  writeLn(padl(b,10));
  writeLn('----------');
  t:=b;
  i:=0;
  while t>0 do begin
    if (t mod 10)<>0 then
       writeLn(padl(a*(t mod 10),10-i));
    t:=t div 10;
    inc(i);
  end;
  writeLn('----------');
  writeLn(padl(a*b,10))
 
end.

Объяснение кода листинга программы

  1. Функция padl принимает два аргумента: n (число, которое нужно отформатировать) и size (желаемая длина строки с форматированным числом). Внутри функции создается переменная r, которая содержит отформатированное число.
  2. В основной части программы считываются два числа с помощью функции ReadLn. Затем выводятся отформатированные числа с помощью функции padl.
  3. Переменная t инициализируется значением второго числа, а переменная i инициализируется нулем.
  4. В цикле while происходит следующее:
    • t делит на 10, чтобы получить последнюю цифру числа.
    • Если последняя цифра не является единицей (т.е. она больше или равна 1), то выводится отформатированное число a*(t mod 10).
    • t делится на 10, чтобы уменьшить его значение на 10.
    • i увеличивается на 1.
  5. После завершения цикла выводится последнее отформатированное число a*b.
  6. Код использует функцию IntToStr для преобразования целых чисел в строки и функцию StrToInt для преобразования строк обратно в целые числа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы