Листинг программы

Листинг программы 


(* Программа просит ввести количество транспортных средств, а затем цену каждого

транспортного средства, после чего выводит список цен по возрастанию и убыванию *)


Program Zadanie;                                                                            {Заголовок программы}

Type

    Massiv = Array [1..100] Of Real;

Var                                                                                                     {Определение переменных}

   Mass: Massiv;

   Col, I, J: Integer;


{Процедура вывода на экран введенных цен}


Procedure OutputMass(OutCol:Integer;OutMass:Massiv);

Var

   I:Integer;

Begin

             WriteLn ('Введены цены: ');

             For I:=1 To OutCol Do

            Begin

                  Write (OutMass[I]:4:2,' ');

             End;

     WriteLn;

End;


{Процедура упорядочивания цен по возрастанию}


Procedure Up (ExCol:Integer; ExMass:Massiv);

Var

   MassAZ: Massiv;

   Buffer: Real;

   I, J: Integer;

Begin

     For I:=1 To ExCol Do 

            MassAZ[I]:=ExMass[I];


     For I:=1 To ExCol Do


         For J:=I To ExCol Do

             Begin

                  If MassAZ[I] > MassAZ[J] Then

                  Begin

                       Buffer:=MassAZ[J];

                       MassAZ[J]:=MassAZ[I];

                       MassAZ[I]:=Buffer;

                  End;

             End;

     WriteLn ('Транспортные средства в порядке возрастания цены:');

     For I:=1 To ExCol Do

     Begin

          Write (MassAZ[I]:4:2,' ');

     End;

     WriteLn;

End;


{Процедура упорядочивания цен по убыванию САМОСТОЯТЕЛЬНО}


Procedure Down (ExCol:Integer;ExMass:Massiv);

Var

   MassZA: Massiv;

   Buffer: Real;

   I, J: Integer;

Begin

     For I:=1 To ExCol Do 

            MassZA[I]:=ExMass[I];


     For I:=1 To ExCol Do


         For J:=I To ExCol Do

             Begin

                  If MassZA[I]<MassZA[J] Then

                  Begin

                       Buffer:=MassZA[J];

                       MassZA[J]:=MassZA[I];

                       MassZA[I]:=Buffer;

                  End;

             End;

     WriteLn ('Транспортные средства в порядке убывания цены:');

     For I:=1 To ExCol Do

     Begin

          Write (MassZA[I]:4:2,' ');

     End;

     WriteLn;

End;


{Основная программа}


Begin                                                                                            

     Write ('Введите число транспортных средств (не более 100) : ');

     ReadLn (Col);

     For I:=1 To Col  Do

     Begin

          Write ('Введите цену ',I,' транспортного средства : ');

          ReadLn (Mass[I]);

     End;


     OutputMass (Col,Mass);

     Up (Col,Mass);

     Down (Col,Mass);

     ReadLn;

End.                                                                                                                 {конец программы}