Методические указания по выполнению лабораторных работ по курсу "Эксплуатация и обслуживание ГКМ", страница 12

Задание 5.

Задание 5 имеет учебной целью закрепление пройденного материала по темам  «Линейные алгоритмы», «Ввод-вывод данных», «Стандартные типы переменных и математические операции над ними», «Организация ветвей. Условный оператор»,  «Организация повторения. Операторы повторения»

Условие задания 5. Составить программу упорядочения трех чисел  таким образом, чтобы .

Ход выполнения задания. Необходимо составить алгоритм решения поставленной задачи и затем реализовать его с помощью языка Pascal.

Это задание может быть выполнено двумя способами. Первый способ – используя последовательно условные операторы аналогично заданиям 3 и 4. Пример листинга такой программы приведен ниже.

1   

program Lab5;

2   

usescrt; {использовать модуль crt}

3   

var s1,s2,s3: integer;

4   

Begin

5   

clrscr; {очистка экрана}

6   

writeln('Введите три числа->');

7   

readln(s1,s2,s3);

8   

 if (s1<s2) and (s1<s3) and (s2<s3) then

9   

  write(s1,' ');write(s2,' ');writeln(s3);

10   

 if (s1<s2) and (s1<s3) and (s3<s2) then

11   

  write(s1,' ');write(s3,' ');writeln(s2);

12   

 if (s2<s3) and (s2<s1) and (s1<s3) then

13   

  write(s2,' ');write(s1,' ');writeln(s3);

14   

 if (s2<s3) and (s2<s1) and (s3<s1) then

15   

  write(s2,' ');write(s3,' ');writeln(s1);

16   

 if (s3<s2) and (s3<s1) and (s2<s1) then

17   

  write(s3,' ');write(s2,' ');writeln(s1);

18   

 if (s3<s2) and (s3<s1) and (s1<s2) then

19   

  write(s3,' ');write(s1,' ');writeln(s2);

20   

  readln;

21   

end.

Второй вариант решения поставленной задачи предусматривает использование оператора повторения For и массивов. Фактически ниже приведен пример работы с массивами и использование метода перестановки, называемого «методом пузырька». Подробное описание этого метода дано на лекциях.

1   

program Zadanie5;

2   

Uses crt;

3   

const n=3;

4   

var i,j: integer;

5   

s: array[1..n] ofinteger; {описание массива целочисленных переменных}

6   

p: integer;

7   

begin

8   

clrscr;{очистка экрана}

9   

writeln('Введите три числа->');

10   

fori:=1 tondobegin{использование оператора цикла для ввода переменных}

11   

readln(s[i]);

12   

end;

13   

for i:=1 to n-1 do

14   

for j:=i+1 to n do

15   

if s[i]>s[j] then begin

16   

p:=s[i];

17   

s[i]:=s[j];

18   

s[j]:=p;

19   

end;

20   

writeln('a b c');

21   

for i:=1 to n do

22   

write (s[i],' ');

23   

readln;

24   

end.