Составить программу «умножения столбиком» 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.
Объяснение кода листинга программы
- Функция
padl
принимает два аргумента:n
(число, которое нужно отформатировать) иsize
(желаемая длина строки с форматированным числом). Внутри функции создается переменнаяr
, которая содержит отформатированное число. - В основной части программы считываются два числа с помощью функции
ReadLn
. Затем выводятся отформатированные числа с помощью функцииpadl
. - Переменная
t
инициализируется значением второго числа, а переменнаяi
инициализируется нулем. - В цикле while происходит следующее:
t
делит на 10, чтобы получить последнюю цифру числа.- Если последняя цифра не является единицей (т.е. она больше или равна 1), то выводится отформатированное число
a*(t mod 10)
. t
делится на 10, чтобы уменьшить его значение на 10.i
увеличивается на 1.
- После завершения цикла выводится последнее отформатированное число
a*b
. - Код использует функцию
IntToStr
для преобразования целых чисел в строки и функциюStrToInt
для преобразования строк обратно в целые числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д