1. Поставлена задача:
Написать рекурсивную функцию сложения двух чисел, используя только прибавление единицы.(TurboPascal)
Верно ли мое решение:
var a : integer;
b : integer;
function Summ(x, y:integer):integer;
begin
if y = 0 then Summ := x
else Summ := Summ(x,y-1)+1;
end;
begin
Write('Введите A: ');
Readln(a);
Write('Введите B: ');
Readln(b);
Write(a, '+', b, '=', Summ(a,b));
end.
В принципе оно работает, но вот соответствует ли оно условию задачи "используя
только прибавление единицы".
2. Об вторую задачу моск себе сломал....немогу понять входные данные, если можно разъясните:
Руководство фирмы анализирует работу за последние К лет. Одна из задач, кото-рая решается,
заключается в определении самого длительного
промежутка времени, в тече-ние которого некий обобщенный показатель М
работы фирмы был постоянный. Написать программу определения и вывода на экран
данного временного интервала (указать год нача-ла и год конца данного участка).
Мое решение:
пользователь вводит:
K — количество лет (например: 10)
затем вводит К раз:
ArrayYear[K] — год и ArrayM[K] обобщенный показатель. можно конечно использовать запись:
Data = record
Year : Integer; { Год }
M : LongInt; { Показатель }
end;
затем программа запрашивает, какой показатель M следует искать.
ищет в массиве ArrayM максимальную последовательность M и выводит на экран.
Есть ли какие другие варианты? Может я неправильно понял задачу

.