Хелпикс

Главная

Контакты

Случайная статья





Задание 3. Program Task3;



Задание 3

Program Task3;

uses crt;

 

const

NMax = 20;

 

Type

FStadt = record

Staate: string;

Stadt: string;

   Platz: real;

End;

 

FStadtArray = array [1..NMax] of FStadt;

 

Var

PCs : FStadtArray;

i:byte;

N: byte;

S: String;

Res: byte;

Ch: char;

 

procedure InputFS(Var ST:FStadt);

begin

with ST do begin

  write('Страна-> ');

  readln(Staate);

  write('Столица-> ');

  readln(Stadt);

  write('Площадь: ');

  readln(Platz);

end;

end;

 

procedure PrintPC(ST:FStadt);

begin

with ST do begin

  write('Страна: ');

  readln(Staate);

  write('Столица: ');

  writeln(Stadt);

  write('Площадь: ');

  writeln(Platz:7:2);

end;

end;

 

procedure PrintArray(Stadters:FStadtArray;dim:byte);

var fi:byte;

begin

for fi:=1 to dim do

begin

     write('Страна ');

     writeln(fi);

     PrintPC(Stadters[fi]);

end;

end;

 

{максимум}

function AvgPlatz(Stadters: FStadtArray; dim:byte): real;

var fi:byte; Max: real;

begin

if dim = 0 then

AvgPlatz := 0

else

 begin

       Max:=0;

       for fi := 1 to dim do

Max := Stadters[1].Platz;

For fi := 2 To dim Do

     If Max < Stadters[fi].Platz Then

        Max := Stadters[fi].Platz;

   AvgPlatz:= Max;

end;

end;

 

procedure SortDesc(var Stadters:FStadtArray; dim:byte);

var fi,fj:byte; temp:FStadt;

begin

for fi:=1 to dim-1 do

for fj:=1 to dim -fi do

   if Stadters[fj].Platz < Stadters[fj+1].Platz then

       begin

         temp:=Stadters[fj];

         Stadters[fj]:=Stadters[fj+1];

         Stadters[fj+1]:=temp;

       end;

end;

 

function SearchByStaate(SearchString: String; Stadters:FStadtArray; dim:byte): byte;

var fi:byte;

begin

for fi:=1 to dim do

if Stadters[fi].Staate = SearchString then

      begin

     SearchByStaate:=fi;

     exit;

   end;

SearchByStaate:=0;

end;

 

Begin

write('Введите количество стран -> ');

readln(N);

for i:= 1 to N do

    InputFS(PCs[i]);

 

   

write('Самая большая площадь: ');

writeln( AvgPlatz(PCs, N):7:3 );

writeln('Нажмите любую клавишу...');

readkey;

 

SortDesc(PCs, N);

writeln('Упорядоченный список стран:');

PrintArray(PCs, N);

writeln('Нажмите любую клавишу...');

readkey;

{Џ®ЁбЄ Ї® бва®ЄҐ}

repeat

     write('Введите искомое наименование -> ');

     readln(S);

     Res := SearchByStaate(S, PCs, N);

     if Res = 0 then

        writeln('Искомый объект не найден!')

     else

        PrintPC(PCs[Res]);

     writeln;

     write('Повторить поиск с новыми условиями? (y/n) ');

     readln(Ch);

until upcase(Ch) <> 'Y';

End.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.