В чем разница между алгоритмом и программой ясно уже из терминологии. Казалось бы, в обоих случаях мы видим упорядоченные действия, приводящие к конечному результату. Как понятно из определений, программа может состоять из нескольких алгоритмов, однако иерархия “общее — частное” здесь не прослеживается. Алгоритм — это вообще любая инструкция, в которой четко перечислены действия. Например, для сборки шкафа. Программой она, конечно, являться не будет. Алгоритм может существовать в любой форме: его можно запомнить, записать в блокнот, зарисовать в виде схемы, продиктовать, так как в основе его — логическая составляющая, а не формальная. Программа же — понятие формальное. Она представляет собой именно запись набора алгоритмов, причем запись на одном из языков программирования, понятных вычислительной машине. Это может быть не только наш привычный компьютер, но и блок управления любого прибора. Таким образом, алгоритм можно определить как метод или схему воплощения идеи, программу — как ее реализацию конкретными средствами. Еще одно отличие программы от алгоритма — оперирование конкретными данными в процессе выполнения. Если алгоритм представляет собой только описание действий, требующихся для достижения цели, то программа содержит и описание данных в том числе. Алгоритм может быть массовым, то есть предназначаться для решения не одной задачи, а класса задач. Вместе с тем к его свойствам относят еще дискретность и определенность. Алгоритм подразумевает совершение элементарных действий над элементарными объектами, однако для разных исполнителей элементарность будет разной.
Понятие алгоритма гораздо шире, нежели программы: базовое понятие математики. Компьютерная программа является объектом права интеллектуальной собственности, алгоритм же к таковым не относится.
<span>// PascalABC.NET 3.3, сборка 1562 от 02.11.2017
</span>
var
a:array[1..1000000] of integer;
i, n, x, y, cnt : integer;
begin
writeln('Введите кол-во элементов массива');
readln(n);
writeln('Введите ', n, ' чисел');
for i:= 1 to n do read(a[i]);
Writeln('Введите промежуток от X до Y');
readln(x, y);
for i:= x to y do
if (a[i] < 0) then cnt:= cnt + 1;
Write('Отрицательных элементов: ', cnt);
end.
Ответ:
программа Paint. Эта программа очень нужна была обществу, даже сейчас она остаётся незаменимой. На Paint можно рисовать, писать, составлять что либо и просто развлекаться.
Program arr;
Const n=3;
var i, j, tmp, k, z:integer;
c:boolean;
a:array [1..n,1..n] of integer;
begin
c:=false;
for i:=1 to n do
for j:=1 to n do
read(a[i][j]);
for i:=1 to n do
for j:=1 to n do
begin
tmp:=a[i][j];
for k:=i+1 to n do
for z:=j+1 to n do
if tmp = a[k][z] then
c:=true;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i][j], ' ');
writeln;
end;
if c = true then
writeln('В данном массиве есть равные друг другу элементы')
else writeln('Элементы, равные друг другу, отсутсвуют в данном массиве');
end.