В чем разница между алгоритмом и программой ясно уже из терминологии. Казалось бы, в обоих случаях мы видим упорядоченные действия, приводящие к конечному результату. Как понятно из определений, программа может состоять из нескольких алгоритмов, однако иерархия “общее — частное” здесь не прослеживается. Алгоритм — это вообще любая инструкция, в которой четко перечислены действия. Например, для сборки шкафа. Программой она, конечно, являться не будет. Алгоритм может существовать в любой форме: его можно запомнить, записать в блокнот, зарисовать в виде схемы, продиктовать, так как в основе его — логическая составляющая, а не формальная. Программа же — понятие формальное. Она представляет собой именно запись набора алгоритмов, причем запись на одном из языков программирования, понятных вычислительной машине. Это может быть не только наш привычный компьютер, но и блок управления любого прибора. Таким образом, алгоритм можно определить как метод или схему воплощения идеи, программу — как ее реализацию конкретными средствами. Еще одно отличие программы от алгоритма — оперирование конкретными данными в процессе выполнения. Если алгоритм представляет собой только описание действий, требующихся для достижения цели, то программа содержит и описание данных в том числе. Алгоритм может быть массовым, то есть предназначаться для решения не одной задачи, а класса задач. Вместе с тем к его свойствам относят еще дискретность и определенность. Алгоритм подразумевает совершение элементарных действий над элементарными объектами, однако для разных исполнителей элементарность будет разной.
Понятие алгоритма гораздо шире, нежели программы: базовое понятие математики. Компьютерная программа является объектом права интеллектуальной собственности, алгоритм же к таковым не относится.
function arrSumRec(d : array of integer; n : integer) : integer;
begin
if n > d.Length-1 then exit;
result := d[n]+arrSumrec(d, n+1);
n += 1;
end;
begin
write('введите количество элементов для массива ');
readln(n);
d := new integer[n];
d := arrRandom(n, 1, 100);
writeln('сгенерирован массив из ', n, ' элементов со значениями в диапозоне 1..100');
writeln(d);
writeln('Сумма = ', arrSumRec(d, 0));
end.
функция function arrSumRec(d : array of integer; n : integer) : integer; в качестве первого параметра получает массив сумму которого считаем в качестве второго номер члена начиная с которого считаем сумму. Не забываем что нумерация начинается с нуля. поэтому чтобы посчитать сумму всех членов массива в качестве второго параметра указываем 0.
Понятие алгоритма гораздо шире, нежели программы: базовое понятие математики. Компьютерная программа является объектом права интеллектуальной собственности, алгоритм же к таковым не относится.
var
d : array of integer;
n : integer;
function arrSumRec(d : array of integer; n : integer) : integer;
begin
if n > d.Length-1 then exit;
result := d[n]+arrSumrec(d, n+1);
n += 1;
end;
begin
write('введите количество элементов для массива ');
readln(n);
d := new integer[n];
d := arrRandom(n, 1, 100);
writeln('сгенерирован массив из ', n, ' элементов со значениями в диапозоне 1..100');
writeln(d);
writeln('Сумма = ', arrSumRec(d, 0));
end.
функция function arrSumRec(d : array of integer; n : integer) : integer; в качестве первого параметра получает массив сумму которого считаем в качестве второго номер члена начиная с которого считаем сумму. Не забываем что нумерация начинается с нуля. поэтому чтобы посчитать сумму всех членов массива в качестве второго параметра указываем 0.