Написать функцию сложения двух чисел - Turbo Pascal
Формулировка задачи:
Составьте текст программы, содержащий две функции:
1. функцию сложения двух чисел, используя только прибавление единицы, реализованную с помощью циклов;
2. функцию сложения двух чисел, используя только прибавление единицы, реализованную с помощью рекурсии;
Решение задачи: «Написать функцию сложения двух чисел»
textual
Листинг программы
//в цикле function sloz_1(a,b:integer):integer; var i,k,s:integer; begin if b>0 then k:=1 else k:=-1; s:=a; for i:=1 to abs(b) do s:=s+k; sloz_1:=s; end; //рекурсия function Sloz_2(a,b:integer):integer; begin if a=0 then Sloz_2:=b else if a>0 then Sloz_2:=Sloz_2(a-1,b+1) else Sloz_2:=Sloz_2(a+1,b-1) end; var a,b:integer; begin write('a='); readln(a); write('b='); readln(b); writeln('Циклом a+b=',sloz_1(a,b)); writeln('Рекурсивно a+b=',sloz_2(a,b)); end.
Объяснение кода листинга программы
- В первой функции
sloz_1
объявлены три переменные:a
,b
иs
. Переменнаяs
инициализируется значениемa
. - Если значение
b
больше нуля, то переменнойk
присваивается значение 1. В противном случае, переменнойk
присваивается значение -1. - В цикле
for
переменнаяs
инициализируется значениемa
. Затем, для каждого значенияi
от 1 до абсолютного значенияb
, к переменнойs
прибавляется значениеk
. - По завершении цикла, значение переменной
s
присваивается переменнойsloz_1
. - Во второй функции
sloz_2
объявлены две переменные:a
иb
. - Если значение
a
равно 0, то переменнойSloz_2
присваивается значениеb
. - Если значение
a
больше нуля, то функция вызывается рекурсивно, передавая в качестве аргументовa-1
иb+1
. - Если значение
a
меньше нуля, то функция вызывается рекурсивно, передавая в качестве аргументовa+1
иb-1
. - По завершении функции, значение переменной
Sloz_2
присваивается переменнойsloz_2
. - В основной части программы, с помощью функции
readln
считываются значенияa
иb
с консоли. - Затем, выводятся результаты вычисления суммы с помощью функций
sloz_1
иsloz_2
. - Завершается программа выводом сообщения о том, что цикл и рекурсия завершились.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д