- •Задача 1
 - •Задача 6
 - •Задача 17
 - •Задача 20
 - •Задача 26
 - •Задача 48
 - •Задача 51
 - •Задача 52
 - •Задача 70
 - •Задача 84
 - •Задача 85
 - •Задача 86
 - •Задача 87
 - •Задача 88
 - •Задача 89
 - •Задача 90
 - •Задача 91
 - •Задача 92
 - •Задача 93
 - •Задача 94
 - •Задача 95
 - •Задача 96
 - •Задача 97
 - •Задача 98
 - •Задача 99
 - •Задача 100
 - •Задача 101
 - •Задача 102
 - •Задача 103
 - •Задача 104
 - •Задача 105
 - •Задача 106
 - •Задача 107
 - •Задача 108
 - •Задача 109
 - •Задача 110
 - •Задача 111
 - •Задача 112
 - •Задача 113
 - •Задача 114
 - •Задача 115
 - •Задача 116
 - •Задача 117
 - •Задача 118
 - •Задача 119
 - •Задача 120
 
Задача 1
program Project1;
{Подсчитать количество строк заданной матрицы,
которые упорядочены по возрастанию.
(для матрицы nxn)}
{$APPTYPE CONSOLE}
uses
SysUtils;
var i,j,x,n:integer;
f:boolean;
a:array[1..100,1..100] of integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write('n=');
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
write('a[',i,',',j,']:=');
readln(a[i,j]);
end;
x:=0;
for i:=1 to n do
begin
f:=true;
for j:=2 to n do
if a[i,j-1]>a[i,j] then
begin
f:=false;
break;
end;
if f then inc(x);
end;
writeln('rezult:',x);
readln;
end.
ЗАДАЧА 2
program Project1;
{Написать рекурсивную программу вычисления n-го члена геометрической прогрессии.}
{$APPTYPE CONSOLE}
uses
SysUtils;
function rec(i,n,q,s:integer):integer;
begin
if i<>n then result:=rec(i+1,n,q,(s*q))
else result:=s;
end;
var n,q:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write('n=');
readln(n);
write('q=');
readln(q);
writeln('result:',rec(1,n,q,q));
readln;
end.
ЗАДАЧА 3
program Project1;
{Написать рекурсивную программу вычисления суммы n первых членов геометрической прогрессии.}
{$APPTYPE CONSOLE}
uses
SysUtils;
function rec(i,n,q,s,sum:integer):integer;
begin
if i<>n then
begin
sum:=sum+s*q;
result:=rec(i+1,n,q,(s*q),sum);
end
else result:=sum;
end;
var n,q:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write('n=');
readln(n);
write('q=');
readln(q);
writeln('result:',rec(1,n,q,q,q));
readln;
end.
ЗАДАЧА 4
program pr4;
{4. Написать рекурсивную программу вычисления
суммы членов геометрической прогрессии, начиная с i-го по k-й.}
function rec(i,k,n,q,s,sum:integer):integer;
begin
if i<k then
result:=rec(i+1,k,n,q,(s*q),sum)
else
if (i>=k) and (i<=n) then
begin
sum:=sum+s*q;
result:=rec(i+1,k,n,q,(s*q),sum);
end
else
result:=sum;
end;
var n,q,i:integer;
begin
write('i=');
readln(i);
write('k=');
readln(n);
write('q=');
readln(q);
writeln('result:',rec(1,i,n,q,1,0));
readln;
end.
ЗАДАЧА 5
program pr5;
{5. Описать рекурсивную функцию поиска индекса минимального элемента массива.}
type
tmas=array [1..100] of integer;
function rec(a:tmas;min,i,n:integer):integer;
begin
if i<=n then
if a[min]>a[i] then
result:=rec(a,i,i+1,n)
else
result:=rec(a,min,i+1,n)
else
result:=min;
end;
var
n,i:integer;
a: tmas;
begin
writeln('vvedite dlinny massiva:');
readln(n);
writeln('Vvedite massiv:');
for i:=1 to n do
begin
write(i,'-i element=');
readln(a[i]);
end;
writeln('ishodnnyi massiv: ');
for i:=1 to n do
writeln(i,'-i element: ',a[i]);
writeln('result:',rec(a,1,2,n));
readln;
end.
