Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
02.05.2014
Размер:
104.96 Кб
Скачать

1

Var

s1: String;

i, j, k: Integer;

A: array[1..10] of String;

Begin

WriteLN('Введите предложение

не более чем из 10 слов(Слова разделяются пробелами)');

ReadLN(s1);

i:=0; k:=0;

repeat

k:=k+1;

A[k]:='';

while not((s1[i+1]=' ') or (i=length(s1))) do

Begin

i:=i+1;

A[k]:=A[k]+s1[i];

End;

i:=i+1;

until (i>=length(s1)) or (k>=10);

for j:=1 to k do

for i:=1 to k-1 do

if A[i]>A[i+1] then

begin

s1:=A[i];

A[i]:=A[i+1];

A[i+1]:=s1;

end;

WriteLN('результат:');

for i:=1 to k do

WriteLN(A[i]);

End.

2

Var

i, t, fr, fv: Integer;

A: array[1..20] of Integer;

Begin

for i:=1 to 20 do

Begin

Write('‚введите оценку ', i, ' студента (от 2 до 5): ');

ReadLN(A[i]);

End;

t:=0; fr:=0; fv:=0;

for i:=1 to 20 do

case A[i] of

2: t:=t+1;

4: fr:=fr+1;

5: fv:=fv+1;

end;

WriteLN('не сдало экзамен: ', t,' студента.');

WriteLN('сдало экзамен на 4: ', fr,' студентов.');

WriteLN('сдало экзамен на 5: ', fr,' студентов.');

WriteLN('сдало экзамен на 4 и 5: ', fr,' студентов.');

End.

3

Var

i: Real;

Begin

WriteLN('‚введите количество компьютеров собираемых фирмой в течении недели:');

ReadLN(i);

i:=i/7;

WriteLN('фирма собирала в среднем за день ', i:10:5, ' компьютеров.');

End.

6

Var

M, N, i, j: Integer;

Sm: Real;

A: array[1..50,1..50] of Real;

Begin

Write('Введите количество строк: ');

ReadLN(N);

Write('Введите количество столбцов: ');

ReadLN(M);

Randomize;

for i:=1 to N do

for j:=1 to M do

A[i,j]:=(i-j)/2;

Sm:=0;

for i:=1 to N do

Sm:=Sm+A[i,i];

WriteLN('Сумма элементов главной диагонали: ', Sm:10:10)

End.

4

Var

i, j: Integer;

Sr: Real;

A: array[1..5,1..3] of Integer;

B: array[1..5] of Real;

Begin

for i:=1 to 5 do

for j:=1 to 3 do

Begin

Write('‚введите оценку ', i, ' студента за ', j, ' экзамен (от 2 до 5): ');

ReadLN(A[i,j]);

End;

Sr:=0;

for i:=1 to 5 do

Begin

B[i]:=0;

for j:=1 to 3 do

B[i]:=B[i]+A[i,j];

B[i]:=B[i]/3;

Sr:=Sr+B[i];

End;

Sr:=Sr/5;

for i:=1 to 5 do

WriteLN('средний бал ', i, ' студента: ', B[i]:10:5);

WriteLN('общий средний бал');

End.

Зад 5

Var

All: Boolean;

M, N, i, j, St: Integer;

A: array[1..50,1..50] of Integer;

Begin

Write('Введите количество строк: ');

ReadLN(N);

Write('Введите количество столбцов: ');

ReadLN(M);

Randomize;

for i:=1 to N do

for j:=1 to M do

A[i,j]:=random(100)-50;

St:=0;

for j:=1 to M do

Begin

All:=False;

for i:=1 to N do

if A[i,j]<0 then All:=True;

if All=False then

Begin

St:=j;

j:=M

End;

End;

if St<>0 then

WriteLN('Номер столбца, содержащего только положительные элементы: ', St)

else

WriteLN('Столбец, содержащий только положительные элементы отсутствует!');

End.

7

Uses Graph;

Var

grDriver, grMode, ErrCode: Integer;

Begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

Begin

SetColor(Red);

SetLineStyle(SolidLn,0,NormWidth);

Line(0, 100, GetMaxX, 100);

SetLineStyle(DottedLn,0,NormWidth);

Line(0, 110, GetMaxX, 110);

SetLineStyle(CenterLn,0,NormWidth);

Line(0, 120, GetMaxX, 120);

SetLineStyle(DashedLn,0,NormWidth);

Line(0, 130, GetMaxX, 130);

Readln;

CloseGraph;

End

Else

Writeln('Ошибка графики: ', GraphErrorMsg(ErrCode));

End.

8

Uses Graph;

Var

grDriver, grMode, ErrCode, i, j: Integer;

Begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

Begin

for i:=1 to 8 do

for j:=1 to 16 do

Begin

SetFillStyle(i, j);

Bar(10+j*40, 10+i*40, 20+j*40, 30+i*40);

End;

ReadLn;

CloseGraph;

End

Else

WriteLn('Ошибка графики: ', GraphErrorMsg(ErrCode));

End.

9

Uses Graph;

Var

grDriver, grMode, ErrCode, i, j: Integer;

Begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

Begin

Randomize;

for i:=1 to 200 do

Begin

SetFillStyle(random(9), random(17));

FillEllipse(random(GetMaxX), random(GetMaxX), random(100), random(100));

End;

ReadLn;

CloseGraph;

End

Else

WriteLn('Ошибка графики: ', GraphErrorMsg(ErrCode));

End.

10

Uses Graph;

Var

grDriver, grMode, ErrCode, i, j: Integer;

Begin

grDriver := Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

Begin

SetColor(Red);

Line(Trunc(GetMaxX/2), Trunc(GetMaxY/2-50), Trunc(GetMaxX/2), Trunc(GetMaxY/2+50));

Circle(Trunc(GetMaxX/2), Trunc(GetMaxY/2-50-30), 30);

Line(Trunc(GetMaxX/2), Trunc(GetMaxY/2-30), Trunc(GetMaxX/2)+40, Trunc(GetMaxY/2)-30-40);

Line(Trunc(GetMaxX/2), Trunc(GetMaxY/2-30), Trunc(GetMaxX/2)-40, Trunc(GetMaxY/2)-30-40);

Line(Trunc(GetMaxX/2), Trunc(GetMaxY/2+50), Trunc(GetMaxX/2)+40, Trunc(GetMaxY/2)+50+40);

Line(Trunc(GetMaxX/2), Trunc(GetMaxY/2+50), Trunc(GetMaxX/2)-40, Trunc(GetMaxY/2)+50+40);

ReadLn;

CloseGraph;

End

Else

WriteLn('Ошибка графики: ', GraphErrorMsg(ErrCode));

End.

13

Var x,c,rez:real; Begin

Write('введите X: '); ReadLn(x); if x>0

then begin c:=ln(x)/3; rez:=exp(c);

writeln('корень 3 степени из ',x:6:2,' =',rez:6:2);

end; if x=0 then writeln('корень 3 степени

из 0 = 0'); if x<0 then begin c:=x*(-1);

c:=ln(c)/3; rez:=exp(c)*(-1);

writeln('корень 3 степени из ',x:6:2,' =',rez:6:2);

11

Uses Graph;

Var

A: array[1..7] of Integer;

grDriver, grMode, ErrCode, i, j: Integer;

Begin

for i:=1 to 7 do

Begin

Write('Введите ', i, ' число: ');

ReadLN(A[i]);

End;

grDriver := Detect;

InitGraph(grDriver, grMode,'');

ErrCode := GraphResult;

if ErrCode = grOk then

Begin

for i:=1 to 7 do

Begin

SetFillStyle(1, 8+i);

Bar(10+i*40, GetMaxY-10, 30+i*40, GetMaxY-10-A[i]*10);

End;

ReadLn;

CloseGraph;

End

Else

WriteLn('Ошибка графики: ', GraphErrorMsg(ErrCode));

End.

12

Var

a, b, c: Integer;

D, d1, d2: Real;

Begin

Write('Введите коэффициент a: ');

ReadLN(a);

Write('Введите коэффициент b: ');

ReadLN(b);

Write('Введите коэффициент c: ');

ReadLN(c);

D:=b*b-4*a*c;

if D<0 then

Begin

WriteLN('Уравнение не имеет корней!');

Halt;

End;

if D=0 then

Begin

D:=-b/2/a;

WriteLN('Уравнение имеет один корень: ', D:10:5);

Halt;

End;

if D>0 then

Begin

d2:=-(b-sqrt(D))/(2*a);

d1:=-(b+sqrt(D))/(2*a);

WriteLN('Уравнение имеет два корня: ', d1:10:5, ' и ', d2:10:5);

Halt;

End;

End

. 14

Var

y, m, c, yt, mt, ct: Integer;

Begin

Write('Введите год рождения: ');

ReadLN(y);

Write('Введите порядковй номер месяца рождения: ');

ReadLN(m);

Write('Введите число рождения: ');

ReadLN(c);

Write('Введите текущий год: ');

ReadLN(yt);

Write('Введите текущий порядковй номер месяца: ');

ReadLN(mt);

Write('Введите текущее число: ');

ReadLN(ct);

y:=yt-y;

if (mt<m) or ((mt=m) and (ct<c)) then y:=y-1;

WriteLN('Вам ', y, ' лет.');

End.

15

program zad;

uses wincrt;

var a,b,c:integer;x1,x2:real;

begin

writeln('vvedite a,b,c:');

readln(a,b,c);

if (a<=0) or (c>0) then

writeln('dannie nekor') else begin

X1:=((-c/a)-b);

x2:=((c/a)-b);

writeln('1-i kor raven ',x1:2:2,' 2-i kor rav ',x2:2:2,'');end;

{if (a<0) then writeln('')}

end.

16

Var

as: array[1..3] of Real;

i: Integer;

max: Real;

Begin

Write('Введите сторону a: ');

ReadLN(as[1]);

Write('Введите сторону b: ');

ReadLN(as[2]);

Write('Введите сторону c: ');

ReadLN(as[3]);

max:=as[1];

for i:=2 to 3 do

if as[i]>max then max:=as[i];

if (2*max)<(as[1]+as[2]+as[3]) then

Begin

WriteLN('Данные отрезки могут образовать треугольник!');

if (2*max*max)<(as[1]*as[1]+as[2]*as[2]+as[3]*as[3]) then

WriteLN('Это остроугольный треугольник!')

else

if (2*max*max)=(as[1]*as[1]+as[2]*as[2]+as[3]*as[3]) then

WriteLN('Это прямоугольный треугольник!')

else

if (2*max*max)>(as[1]*as[1]+as[2]*as[2]+as[3]*as[3]) then

WriteLN('Это тупоугольный треугольник!');

End

else

WriteLN('Данные отрезки не могут образовать треугольник!');

End.

21

Label

again;

Var

F: Text;

s1: String;

i, j: Integer;

k: Real;

Begin

Assign(F, 'z21.txt');

Reset(F);

Read(F, s1);

Close(F);

WriteLN('Файл содержит: ');

WriteLN(s1);

if ((s1[1]>='0') and (s1[1]<='9')) and (s1[2]=' ') and ((s1[3]='+') or (s1[3]='-') or (s1[3]='*') or (s1[3]='/')) and

(s1[4]=' ') and ((s1[5]>='0') and (s1[5]<='9')) then

Begin

i:=ord(s1[1])-$30;

j:=ord(s1[5])-$30;

case s1[3] of

'+': k:=i+j;

'*': k:=i*j;

'-': k:=i-j;

'/': k:=i/j;

end;

WriteLN('Результат операции: ', k:10:10);

End

else

WriteLN('Неправильный формат файла!');

End.

17

Label

again;

type

Z = record

f, i, o, nt: String;

end;

Var

a: array[1..50] of Z;

s1, s2, s3: String;

N, y, i: Integer;

Begin

N:=0;

again:

Write('Введите тип выполняемой операции (1-добавление записи, 2-вывод на экран, 3-поиск абонента, 4-выход): ');

ReadLN(y);

if y=1 then

Begin

N:=N+1;

Write('Введите фамилию: ');

ReadLN(s1);

a[N].f:=s1;

Write('Введите имя: ');

ReadLN(s1);

a[N].i:=s1;

Write('Введите отчество: ');

ReadLN(s1);

a[N].o:=s1;

Write('Введите номер телефона: ');

ReadLN(s1);

a[N].nt:=s1;

goto again;

End;

if y=2 then

Begin

for i:=1 to N do

WriteLN(i, '. ', a[i].f, ' ', a[i].i, ' ', a[i].o, ' - ', a[i].nt);

goto again;

End;

if y=3 then

Begin

Write('Введите фамилию: ');

ReadLN(s1);

Write('Введите имя: ');

ReadLN(s2);

Write('Введите отчество: ');

ReadLN(s3);

for i:=1 to N do

if (a[i].f=s1) and (a[i].i=s2) and (a[i].o=s3) then

Begin

WriteLN('Номер телефона: ', a[i].nt);

goto again;

End;

WriteLN('Данный абонент не найден!');

goto again;

End;

if y=4 then

End.

26

Var

s, t, max, C: Real;

function F(a,b: Real): Real;

Begin

F:=a/(1+b)+b/(1+a)-(a-b);

End;

Begin

Write('Введите s: ');

ReadLN(s);

Write('Введите t: ');

ReadLN(t);

if F(t-s,s*t)>F(s-t,s+t) then max:=F(t-s,s*t)

else max:=F(s-t,s+t);

C:=F(s,t)+max+F(1,1);

WriteLN('C = ', C:10:10);

End.

18

Label

again;

type

Z = record

f, p, d: String;

m: Char;

y: Word;

end;

Var

a: array[1..50] of Z;

s1: String;

ss: Char;

N, y, i, k: Integer;

Begin

N:=0;

again:

Write('Введите тип выполняемой операции (1-добавление записи, 2-вывод на экран, 3-вывод сотрудников по');

Write('подразделению, 4-самый старший мужчина, 5-выход): ');

ReadLN(y);

if y=1 then

Begin

N:=N+1;

Write('Введите фамилию: ');

ReadLN(s1);

a[N].f:=s1;

Write('Введите подразделение: ');

ReadLN(s1);

a[N].p:=s1;

Write('Введите должность: ');

ReadLN(s1);

a[N].d:=s1;

Write('Введите пол (м/ж): ');

ReadLN(ss);

a[N].m:=ss;

Write('Введите год рождения: ');

ReadLN(i);

a[N].y:=i;

goto again;

End;

if y=2 then

Begin

for i:=1 to N do

WriteLN(i, '. ', a[i].f, ' ', a[i].p, ' ', a[i].d, ' (', a[i].m, ') - ', a[i].y);

goto again;

End;

if y=3 then

Begin

Write('Введите подразделение: ');

ReadLN(s1);

for i:=1 to N do

if (a[i].p=s1) then

WriteLN(i, '. ', a[i].f, ' ', a[i].p, ' ', a[i].d, ' (', a[i].m, ') - ', a[i].y);

goto again;

End;

if y=4 then

Begin

for i:=1 to N do

if a[i].m='м' then

Begin

y:=a[i].y;

i:=N;

End;

for i:=1 to N do

if (a[i].y<y) and (a[i].m='м') then

Begin

y:=a[i].y;

k:=i;

End;

WriteLN('Самый старый: ', a[k].f, ' ', a[k].p, ' ', a[k].d, ' (', a[k].m, ') - ', a[k].y);

goto again;

End;

if y=5 then

End.

19

Label

again;

Var

F: Text;

s1, fname: String;

i, k: Integer;

A: array[1..5] of String;

Begin

WriteLN('Введите предложение не из 5 слов(слова разделяются пробелами) в конце - точка:');

ReadLN(s1);

k:=1;

for i:=1 to length(s1)-1 do

Begin

if s1[i]=' ' then k:=k+1

else A[k]:=A[k]+s1[i];

End;

again:

Write('Введите тип выполняемой операции (1-поменять первое и последнее слова местами, ');

Write('2-ввод имени файла, 3-вывод результата на экран и запись в файл, 4-выход): ');

ReadLN(k);

if k=1 then

Begin

s1:=A[1];

A[1]:=A[5];

A[5]:=s1;

goto again;

End;

if k=2 then

Begin

Write('Введите имя файла: ');

ReadLN(fname);

goto again;

End;

if k=3 then

Begin

s1:='';

for i:=1 to 4 do

s1:=s1+A[i]+' ';

s1:=s1+A[5]+'.';

WriteLN(s1);

Assign(F, fname);

ReWrite(F);

Write(F, s1);

Close(F);

goto again;

End;

if k=4 then

End.

20

Label

again;

Var

F: Text;

s1: String;

i, j, k, l: Integer;

A: array[1..8] of String;

Begin

Assign(F, 'z20.txt');

Reset(F);

Read(F, s1);

Close(F);

k:=1;

for i:=1 to length(s1) do

Begin

if s1[i]=' ' then k:=k+1

else A[k]:=A[k]+s1[i];

End;

WriteLN('Файл содержит:');

WriteLN(s1);

again:

for i:=1 to 8 do

Begin

k:=0;

l:=0;

for j:=1 to length(A[i]) do

begin

if (A[i][j]>='A') and (A[i][j]<='Z') then k:=k+1;

if (A[i][j]>='a') and (A[i][j]<='z') then l:=l+1;

end;

WriteLN(i, ' слово содержит заглавных букв: ', k, ' , прописных букв: ', l);

End;

End.

27

Var

k, l, m: Integer;

x, y, z: array[1..50] of Real;

C: Real;

procedure Proc(a, b, c: Integer);

Var

i: Integer;

Begin

Randomize;

for i:=1 to a do

x[i]:=Random(100)-50;

for i:=1 to b do

y[i]:=Random(100);

for i:=1 to c do

z[i]:=Random(100);

End;

function F(kp,lp,mp: Integer): Real;

Var

i: Integer;

max, maxy, maxz: Real;

Begin

Proc(kp,lp,mp);

max:=x[1];

for i:=1 to k do

if x[i]>max then max:=x[i];

if max>0 then

Begin

maxy:=y[1];

for i:=1 to l do

if y[i]>maxy then maxy:=y[i];

maxz:=z[1];

for i:=1 to m do

if z[i]>maxz then maxz:=z[i];

F:=(maxy+maxz)/2;

End

else

Begin

F:=1+max;

End;

End;

Begin

Write('Введите k: ');

ReadLN(k);

Write('Введите l: ');

ReadLN(l);

Write('Введите m: ');

ReadLN(m);

C:=F(k,l,m);

WriteLN('C = ', C:10:10);

End.

28

Var

n, m: Integer;

a, x, S, C: Real;

procedure Proc(a1, x1: Real; n1, m1: Integer);

Var

i: Integer;

Begin

C:=0;

S:=1;

for i:=1 to n1 do

Begin

S:=S*x1/i;

C:=C+S;

End;

S:=1;

for i:=1 to m1 do

Begin

S:=S*a1/i;

C:=C+S;

End;

End;

Begin

Write('Введите a: ');

ReadLN(a);

Write('Введите x: ');

ReadLN(x);

Write('Введите n: ');

ReadLN(n);

Write('Введите m: ');

ReadLN(m);

Proc(a,x,n,m);

WriteLN('C = ', C:10:10);

End.

29

type

SS21=array[1..20,1..10] of Real;

Var

N1, N2, M1, M2: Integer;

a, b: SS21;

SR1, SR2: Real;

function F(v1: SS21; bd1, bd2: Integer): Real;

Var

i, j: Integer;

SRs: Real;

Begin

SRs:=0;

for i:=1 to bd1 do

for j:=1 to bd2 do

SRs:=SRs+v1[i,j];

F:=SRs/bd1/bd2;

End;

procedure Proc(n1, m1, n2, m2: Integer);

Var

i, j: Integer;

Begin

for i:=1 to n1 do

for j:=1 to m1 do

Begin

Write('Введите элемент строки ', i, ', столбца ', j, ' первой матрицы: ');

ReadLN(a[i,j]);

End;

for i:=1 to n2 do

for j:=1 to m2 do

Begin

Write('Введите элемент строки ', i, ', столбца ', j, ' второй матрицы: ');

ReadLN(b[i,j]);

End;

SR1:=F(a,n1,m1);

SR2:=F(b,n2,m2);

WriteLN;

for i:=1 to n1 do

Begin

WriteLN;

for j:=1 to m1 do

Write(a[i,j]:10:5, ' ');

End;

WriteLN;

for i:=1 to n2 do

Begin

WriteLN;

for j:=1 to m2 do

Write(b[i,j]:10:5, ' ');

End;

End;

Begin

Write('Введите N1: ');

ReadLN(N1);

Write('Введите M1: ');

ReadLN(M1);

Write('Введите N2: ');

ReadLN(N2);

Write('Введите M2: ');

ReadLN(M2);

Proc(N1,M1,N2,M2);

WriteLN('Среднее арифмитическое первой матрицы = ', SR1:10:5);

WriteLN('Среднее арифмитическое второй матрицы = ', SR2:10:5);

End

30

type

SS21=array[1..50] of Real;

Var

N1, N2, N3: Integer;

a, b, c: SS21;

SR1, SR2, SR3: Real;

function F(v: SS21; it: Integer): Real;

Var

i: Integer;

SRs: Real;

Begin

SRs:=0;

for i:=1 to it do

if v[i]>0 then

SRs:=SRs+v[i];

F:=SRs;

End;

procedure Proc(n1, n2, n3: Integer);

Var

i: Integer;

Begin

for i:=1 to n1 do

if i<5 then

a[i]:=cos(i)

else

a[i]:=sin(i/2);

for i:=1 to n2 do

if i<5 then

b[i]:=cos(i)

else

b[i]:=sin(i/2);

for i:=1 to n3 do

if i<5 then

c[i]:=cos(i)

else

c[i]:=sin(i/2);

SR1:=F(a, n1);

SR2:=F(b, n2);

SR3:=F(c, n3);

WriteLN('Первый массив: ');

for i:=1 to n1 do

Write(a[i]:10:5, ' ');

WriteLN;

WriteLN('Второй массив: ');

for i:=1 to n2 do

Write(b[i]:10:5, ' ');

WriteLN;

WriteLN('Третий массив: ');

for i:=1 to n3 do

Write(c[i]:10:5, ' ');

WriteLN;

End;

Begin

Write('Введите N1: ');

ReadLN(N1);

Write('Введите N2: ');

ReadLN(N2);

Write('Введите N3: ');

ReadLN(N3);

Proc(N1,N2,N3);

WriteLN('Сумма положительных элементов первого массива = ', SR1:10:5);

WriteLN('Сумма положительных элементов второго массива = ', SR2:10:5);

WriteLN('Сумма положительных элементов третьего массива = ', SR3:10:5);

End.

31

type

SS21=array[1..50] of Integer;

Var

N1, N2, N3, SR, SR1, SR2, SR3: Integer;

a, b, c: SS21;

function F(v: SS21; it: Integer): Integer;

Var

i: Integer;

SRs: Integer;

Begin

SRs:=v[1];

for i:=1 to it do

if v[i]>SRs then

SRs:=v[i];

F:=SRs;

End;

procedure Proc(n1, n2, n3: Integer);

Var

i: Integer;

Begin

Randomize;

for i:=1 to n1 do

a[i]:=Random(101);

for i:=1 to n2 do

b[i]:=Random(101);

for i:=1 to n3 do

c[i]:=Random(101);

SR1:=F(a, n1);

SR2:=F(b, n2);

SR3:=F(c, n3);

WriteLN('Первый массив: ');

for i:=1 to n1 do

Write(a[i], ' ');

WriteLN;

WriteLN('Второй массив: ');

for i:=1 to n2 do

Write(b[i], ' ');

WriteLN;

WriteLN('Третий массив: ');

for i:=1 to n3 do

Write(c[i], ' ');

WriteLN;

End;

Begin

Write('Введите N1: ');

ReadLN(N1);

Write('Введите N2: ');

ReadLN(N2);

Write('Введите N3: ');

ReadLN(N3);

Proc(N1,N2,N3);

SR:=SR1+SR2+SR3;

WriteLN('Максимальный элемент первого массива = ', SR1);

WriteLN('Максимальный элемент второго массива = ', SR2);

WriteLN('Максимальный элемент третьего массива = ', SR3);

WriteLN('Их сумма = ', SR);

End.

32

Var

k, l, m: Integer;

x, y, z: array[1..50] of Real;

C: Real;

procedure Proc(a, b, c: Integer);

Var

i: Integer;

Begin

Randomize;

for i:=1 to a do

x[i]:=Random(100)-50;

for i:=1 to b do

y[i]:=Random(100);

for i:=1 to c do

z[i]:=Random(100);

End;

function F(kp,lp,mp: Integer): Real;

Var

i: Integer;

max, maxy, maxz: Real;

Begin

Proc(kp,lp,mp);

max:=x[1];

for i:=1 to k do

if x[i]>max then max:=x[i];

if max>0 then

Begin

maxy:=y[1];

for i:=1 to l do

if y[i]>maxy then maxy:=y[i];

maxz:=z[1];

for i:=1 to m do

if z[i]>maxz then maxz:=z[i];

F:=(maxy+maxz)/2;

End

else

Begin

F:=1+max;

End;

End;

Begin

Write('Введите k: ');

ReadLN(k);

Write('Введите l: ');

ReadLN(l);

Write('Введите m: ');

ReadLN(m);

C:=F(k,l,m);

WriteLN('C = ', C:10:10);

End.

33

Var

s, t, max, C: Real;

function F(a,b: Real): Real;

Begin

F:=a/(1+b)+b/(1+a)-(a-b);

End;

Begin

Write('Введите s: ');

ReadLN(s);

Write('Введите t: ');

ReadLN(t);

if F(t-s,s*t)>F(s-t,s+t) then max:=F(t-s,s*t)

else max:=F(s-t,s+t);

C:=F(s,t)+max+F(1,1);

WriteLN('C = ', C:10:10);

End.

Соседние файлы в папке 12128