
- •Задача 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.