
5 Билет
Вычислить функцию
uses crt;
var a,b:integer; z:real;
begin
clrscr;
readln(a,b);
if a<=2 then begin z:=(1+a*a*a)/sqrt(1+b*b); write(z); end;
if (a>2) and (a<7) then begin z:=sqr(sqr(a))+sqr(sqr(b)); write(z); end;
if a>=7 then begin z:=2*a+sqr(sin(a)); write (z); end;
readln;
end.
Элемент двухмерного массива называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером NxN, найти максимум среди всех локальных минимумов.
var a:array [1..6,1..6]of Integer;i,j,max,k:Integer;
b:array[1..10]of Integer;
f:TextFile;
begin
AssignFile(f,'1.txt');
Rewrite(f); k:=0;
Randomize;
for j:=1 to 6 do
a[1,j]:=10;
for i:=2 to 6 do
a[i,1]:=10;
for i:=2 to 6 do
a[i,6]:=10;
for j:=2 to 5 do
a[6,j]:=10;
for i:=2 to 5 do
begin
for j:=2 to 5 do
begin
a[i,j]:=Random(15)-5;
write(f,a[i,j],' ');
end;
Writeln(f);
end;
Writeln(f);
for i:=2 to 5 do
for j:=2 to 5 do
if (a[i,j]<a[i-1,j])and (a[i,j]<a[i,j-1])and (a[i,j]<a[i+1,j])and (a[i,j]<a[i,j+1]) then
begin
k:=k+1;
b[k]:=a[i,j];
Writeln(f,b[k],' ');
end;
max:=b[1];
for k:=1 to k do
if b[k]>max then max:=b[k];
Writeln(f,max,' ',k);
Closefile(f);
end;
6 Билет
Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
uses crt;
var a,b,c,x,y:integer;
begin
clrscr;
readln(a,b,c,x,y);
if ((a<=x) and (b<=y)) or ((b<=x) and (a<=y)) or ((b<=y) and (c<=x)) or ((b<=x) and (c<=y))
then write('proidet') else write ('ne proidet');
readln;
end.
Вывести номер пятого отрицательного элемента.
Var a:array[1..10]of Integer; I,k:Integer;
f:TextFile;
begin
AssignFile(f,'1.txt');
Rewrite(f);
k:=0;
Randomize;
for i:=1 to 10 do
begin
a[i]:=Random(9)-5;
lbl1.Caption:=lbl1.Caption+inttostr(a[i])+' ';
if a[i]<0 then
k:=k+1;
if k=5 then write(f,i,' '); end;
CloseFile(f);
end;
7 Билет
Написать программу, которая печатает True или False в зависимости от того, выполняются или нет заданные условия:
квадрат заданного трехзначного числа равен кубу суммы цифр этого числа;
сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр;
среди цифр заданного трехзначного числа есть одинаковые;
среди первых трех цифр из дробной части заданного положительного вещественного числа есть цифра 0.
uses crt;
var a,b,c,d:boolean;x,y,z,n:integer;m:real;
begin
clrscr;
readln(x,y,z,m);
n:=round(1000*frac(m));{write(n);}
if sqr(x)=sqr(x div 100 + x div 10 mod 10 + x mod 10)*(x div 100 + x div 10 mod 10 + x mod 10) then a:=true else a:=false;
if y div 1000 + y div 100 mod 10=y div 10 mod 10 + y mod 10 then b:=true else b:=false;
if (z div 100=z div 10 mod 10) or (z div 100=z mod 10) or (z div 10 mod 10=z mod 10) then c:=true else c:=false;
if (n div 100=0)or(n div 10 mod 10=0)or(n mod 10=0) then d:=true else d:=false;
writeln(a,' ',b,' ',c,' ',d);
readln;
end.
Третий положительный элемент заменить максимальным.
program lolol;
var a,b,c,d,i:integer;s,m:array[1..15] of integer;
begin
randomize;
for i:=1 to 15 do
begin
m[i]:=random(51)-25;
write(m[i],' ');
end;
writeln(' ');
d:=1;
for i:=1 to 15 do
begin if m[i]>0 then begin s[d]:=i;d:=d+1; end; end;
c:=s[3]; b:=m[c]; a:=-25;
for i:=1 to 15 do
begin
if m[i]>a then begin a:=m[i]; d:=i; end;
end;
m[c]:=m[d];
m[d]:=b;
for i:=1 to 15 do
write(m[i],' ');
writeln(' ');
readln
end.