TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

[ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Пример 3.4. Элементы заданного числового массива a1, a2, ..., aN  упорядочить по возрастанию.
 
Тест
 
Данные Результат
N=4 A=(5, 2, 7, 1) A=(1, 2, 5, 7)
 
Демонстрация
Школьный АЯ 
алг Возрастание(арг цел N, арг рез 
                вещ таб A[1:N])
нач цел i, j, вещ Tmp
  нц для i от 1 до N-1
    нц для j от i+1 до N
      ecли A[i] > A[j]
        то Tmp:=A[i]; A[i]:=A[j]; A[j]:=Tmp
      все
    кц
  кц
кон
Исполнение алгоритма 
 
i
j
A[i]>A[j]
Массив A
1
2
3
4
+
-
+
2, 5, 7, 1
 
1, 5, 7, 2
2
3
4
-
+
 
1, 2, 7, 5
3
4
+
1, 2, 5, 7
 
Блок-схема (фрагмент) 
Turbo Pascal
Program Regulation;
  Uses Crt;
  Type Mas = Array [1..10] of Real;
  Var A       : Mas;
      i, j, N : Integer;
      Tmp     : Real;
   {--------------------------------------------}
  Procedure Input; {описание процедуры ввода массива }
    Begin
      ClrScr;
      Write('Введите N = '); ReadLn(N);
      WriteLn('Введите элементы массива: ');
      For i := 1 to N do
        begin Write('A [ ' , i , ' ] = ');
              ReadLn(A[i])
        end;
    End; {of Input}
   {--------------------------------------------}
  Procedure Regulate; {описание процедуры упорядочения по возрастанию}
    Begin
      For i := 1 to N-1 do
        For j := i+1 to N do
          If A[i] > A[j] then
            begin Tmp:=A[i]; A[i]:=A[j]; A[j]:=Tmp
            end;
    End; {of Regulate}
   {--------------------------------------------}
  Procedure Output; {описание процедуры вывода результата}
    Begin
      WriteLn('Упорядоченный массив :');
      For i:=1 to N do Write( A[i] : 6 : 1);
      WriteLn; ReadLn
    End; {of Output}
   {--------------------------------------------}
BEGIN
  Input;    {вызов процедуры ввода массива }
  Regulate; {вызов процедуры упорядочения по возрастанию}
  Output    {вызов процедуры вывода результата}
END.
 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz