Пример выполнения задания по теме "Массивы"

Задание. Проанализируйте заданный алгоритм согласно варианту. Проделайте в тетради следующую работу: исполните алгоритм при наборах данных, позволяющих отследить прохождение по каждой ветви алгоритма. Задайте массив не менее чем из 10 элементов. Набор данных должен быть необходимо достаточным. Запишите исходные данные, промежуточные данные и результат работы для каждого из выбранных наборов значений величин. Дополнительное задание: если сможете, сформулируйте условие задачи, которая решается с помощью представленного алгоритма.

Program S;
Var N, I, J, K, Pr : Integer; A : Array [1..30] Of Integer;
Begin
Write('Введите количество элементов: '); ReadLn(N);
   For I := 1 To N Do
    Begin
     Write('Введите A[', I, '] '); Readln(A[I]);
    End;
   WriteLn;
   For I := 1 To N - 1 Do
    Begin
     K := I;
     For J := I + 1 To N Do If A[J] <= A[K] Then K := J;
     Pr := A[I]; A[I] := A[K]; A[K] := Pr;
    End;
    For I := 1 To N Do Write(A[I], ' ');
  End.

В данном блоке программы

Write('Введите количество элементов: '); ReadLn(N);
   For I := 1 To N Do
    Begin
     Write('Введите A[', I, '] '); Readln(A[I]);
    End;
   WriteLn;
осуществляется ввод данных.

Пусть введено значение N=10 (согласно заданию); элементы массива равны соответственно в порядке возрастания номеров (с 1-го по 10-й)

-12 0 33 -33 100 22 77 -87 -1 6 

Исполним блок программы, где выполняется преобразование массива. Результаты занесем в таблицу.

   For I := 1 To N - 1 Do
    Begin
     K := I;
     For J := I + 1 To N Do If A[J] <= A[K] Then K := J;
     Pr := A[I]; A[I] := A[K]; A[K] := Pr;
    End;

Получаем

   I   i<=N-1        j     j<=N        k  A[J]<=A[K]   a[1]     a[2]     a[3]     a[4]     a[5]     a[6]     a[7]     a[8]     a[9]    a[10]       Pr
   1     True        2     True        1    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        3     True        1    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        4     True        4     True      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        5     True        4    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        6     True        4    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        7     True        4    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        8     True        8     True      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True        9     True        8    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True       10     True        8    False      -12        0       33      -33      100       22       77      -87       -1        6        0
   1     True       10     True        8    False      -12        0       33      -33      100       22       77      -87       -1        6      -12
   1     True       10     True        8    False      -87        0       33      -33      100       22       77      -87       -1        6      -12
   1     True       10     True        8    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        3     True        2    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        4     True        4     True      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        5     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        6     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        7     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        8     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True        9     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True       10     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6      -12
   2     True       10     True        4    False      -87        0       33      -33      100       22       77      -12       -1        6        0
   2     True       10     True        4    False      -87      -33       33      -33      100       22       77      -12       -1        6        0
   2     True       10     True        4    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        4     True        4     True      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        5     True        4    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        6     True        4    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        7     True        4    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        8     True        8     True      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True        9     True        8    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True       10     True        8    False      -87      -33       33        0      100       22       77      -12       -1        6        0
   3     True       10     True        8    False      -87      -33       33        0      100       22       77      -12       -1        6       33
   3     True       10     True        8    False      -87      -33      -12        0      100       22       77      -12       -1        6       33
   3     True       10     True        8     True      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True        5     True        4    False      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True        6     True        4    False      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True        7     True        4    False      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True        8     True        4    False      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True        9     True        9     True      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True       10     True        9    False      -87      -33      -12        0      100       22       77       33       -1        6       33
   4     True       10     True        9    False      -87      -33      -12        0      100       22       77       33       -1        6        0
   4     True       10     True        9    False      -87      -33      -12       -1      100       22       77       33       -1        6        0
   4     True       10     True        9    False      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True        6     True        6     True      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True        7     True        6    False      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True        8     True        6    False      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True        9     True        9     True      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True       10     True        9    False      -87      -33      -12       -1      100       22       77       33        0        6        0
   5     True       10     True        9    False      -87      -33      -12       -1      100       22       77       33        0        6      100
   5     True       10     True        9    False      -87      -33      -12       -1        0       22       77       33        0        6      100
   5     True       10     True        9     True      -87      -33      -12       -1        0       22       77       33      100        6      100
   6     True        7     True        6    False      -87      -33      -12       -1        0       22       77       33      100        6      100
   6     True        8     True        6    False      -87      -33      -12       -1        0       22       77       33      100        6      100
   6     True        9     True        6    False      -87      -33      -12       -1        0       22       77       33      100        6      100
   6     True       10     True       10     True      -87      -33      -12       -1        0       22       77       33      100        6      100
   6     True       10     True       10     True      -87      -33      -12       -1        0       22       77       33      100        6       22
   6     True       10     True       10     True      -87      -33      -12       -1        0        6       77       33      100        6       22
   6     True       10     True       10     True      -87      -33      -12       -1        0        6       77       33      100       22       22
   7     True        8     True        8     True      -87      -33      -12       -1        0        6       77       33      100       22       22
   7     True        9     True        8    False      -87      -33      -12       -1        0        6       77       33      100       22       22
   7     True       10     True       10     True      -87      -33      -12       -1        0        6       77       33      100       22       22
   7     True       10     True       10     True      -87      -33      -12       -1        0        6       77       33      100       22       77
   7     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33      100       22       77
   7     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33      100       77       77
   8     True        9     True        8    False      -87      -33      -12       -1        0        6       22       33      100       77       77
   8     True       10     True        8    False      -87      -33      -12       -1        0        6       22       33      100       77       77
   8     True       10     True        8    False      -87      -33      -12       -1        0        6       22       33      100       77       33
   8     True       10     True        8    False      -87      -33      -12       -1        0        6       22       33      100       77       33
   8     True       10     True        8    False      -87      -33      -12       -1        0        6       22       33      100       77       33
   9     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33      100       77       33
   9     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33      100       77      100
   9     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33       77       77      100
   9     True       10     True       10     True      -87      -33      -12       -1        0        6       22       33       77      100      100

При выводе в блоке

    For I := 1 To N Do Write(A[I], ' ');
получаем
-87 -33 -12 -1 0 6 22 33 77 100 

Таким образом, данная программа осуществляет сортировку массива в порядке неубывания.

 


Рейтинг ресурсов УралWeb

 

© А.П. Шестаков, 2009
Сайт создан в системе uCoz