Задание 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.  | 
 
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.