Комбинированный тип данных. (В ВУЗе дали пример)
Цель работы
1. Использование записей при решении задач.
2. Использование оператора присоединения.
Пример первого задания.
Для заданного количества (MaxN) ЭВМ определяется отношение стоимости к производительности. Производительность задается в миллионах операций в секунду отдельно для скалярных и векторных операций; стоимость - в долларах. Программа выбирает ЭВМ с минимальным отношением стоимости к производительности отдельно для скалярных и векторных операций и печатает характеристики.
Const
MaxN=5;
Type
Computer=record
Firma, namecomp:string[20];
Year:2000..2006;
Proizv:record
Scal, vect:Integer
End;
Price: Integer;
PriceToProizv:array[1..2] of real;
End;
Var
a: array[1..MaxN] of Computer;
I,j1,j2:Integer;
R1,r2:real;
Procedure In_Data; { Процедура ввода данных }
Begin
Writeln(введите данные ЭВМ);
With A[I],proizv do
Begin
Write(введите название фирмы);
Readln(firma);
Write(введите название comp);
Readln(namecomp);
Writeln(введите характеристики);
Readln(Year, Scal, vect, Price);
PriceToProizv[1]:= price/scal;
PriceToProizv[2]:= price/vect;
End;
End;
BEGIN { основная программа}
Writeln;
For i:=1 to MaxN do
In_Data;
{ поиск ЭВМ с минимальным отношением стоимости к производительности отдельно для скалярных и векторных операций}
R1:=A[1].PriceToProizv[1]; j1:=1;{ для скалярных операций }
R2:=A[1].PriceToProizv[2]; j2:=2; { для векторных операций }
For i:=2 to MaxN do
With A[I] do
Begin
If PriceToProizv[1]