X,y: real;
end;
PRec = ^Rec;//ссылочный тип указателей на записи
T = array[1..n] of PRec;//массив указателей на записи
PT = ^T;//ссылочный тип указателей на массивы типа T
procedure input(var x:pt);
var i:integer; p:real; u:prec;
begin
new(x);
for i:=low(T) to high(T) do
begin
new(u);
write('Vvedite 4iclo ',i,' po X ');
readln(p);
u^.x:=p;
write('Vvedite 4iclo ',i,' po Y ');
readln(p);
u^.y:=p;
x^[i]:=u;
end;
end;
function MinArr(x:pt;var u:integer):real;
var i:integer; z:prec;
begin
result:=x^[low(t)].x*x^[low(t)].y; u:=low(t);
for i:=low(T) to high(T) do begin
z:=x^[i];
if (result>z^.x*z^.y) and (i mod 2=0) then
begin result:=z^.x*z^.y; u:=i; end;
end;
end; procedure output(x:pt);
var i:integer;
begin
writeln;
writeln('Minimalmoe proizvedenie ravno ',MinArr(x,i):0:2,' v pozicii ',i );
end;
var
p:PT;
begin
input(p);
output(p);
dispose(p);
readln;
end.
Таблица 2.1. Тестовый набор.
|
Тестовый набор |
|||||
Номер теста |
Исходные данные |
Ожидаемый результат |
||||
1 |
X=1,Y=1 |
X=2,Y=2 |
X=3,Y=3 |
X=5,Y=5 |
X=7,Y=7 |
4.00 |
2 |
X=9,Y=3 |
X=8,Y=4 |
X=6,Y=3 |
X=2,Y=2 |
X=1,Y=1 |
4.00 |
Текст программы:
program Zada4a22;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
n = 5; //количество переменных в массиве
type
Rec = record //запись с двумя полями
X,y: real;
end;
PRec = ^Rec;//ссылочный тип указателей на записи
T = array[1..n] of PRec;//массив указателей на записи
PT = ^T;//ссылочный тип указателей на массивы типа T
procedure input(var x:pt);
var i:integer; p:real; u:prec;
begin
new(x);
for i:=low(T) to high(T) do
begin
new(u);
write('Vvedite 4iclo ',i,' po X ');
readln(p);
u^.x:=p;
write('Vvedite 4iclo ',i,' po Y ');
readln(p);
u^.y:=p;
x^[i]:=u;
end;
end;
function MinArr(x:pt;var u:integer):real;
var i:integer; z:prec;
begin
result:=x^[low(t)].x*x^[low(t)].y; u:=low(t);
for i:=low(T) to high(T) do begin
z:=x^[i];
if (result>z^.x*z^.y) and (i mod 2<>0) then
begin result:=z^.x*z^.y; u:=i; end;
end;
end; procedure output(x:pt);
var i:integer;
begin
writeln;
writeln('Minimalmoe proizvedenie ravno ',MinArr(x,i):0:2,' v pozicii ',i );
end;
var
p:PT;
begin
input(p);
output(p);
dispose(p);
readln;
end.
Таблица 2.2. Тестовый набор.
|
Тестовый набор |
|||||
Номер теста |
Исходные данные |
Ожидаемый результат |
||||
1 |
X=1,Y=3 |
X=2,Y=4 |
X=3,Y=5 |
X=4,Y=6 |
X=5,Y=7 |
3.00 |
2 |
X=1,Y=2 |
X=3,Y=4 |
X=5,Y=6 |
X=7,Y=8 |
X=9,Y=0 |
0.00 |
Текст программы:
program Zada4a23;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
n = 5; //количество переменных в массиве
type
Rec = record //запись с двумя полями