Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Логические операции с целыми числами.

Логические операции применимы не только к логическому типу данных, но и к целочисленному типу данных. Для целых чисел операции выполняются поразрядно, отдельно с каждым битом.

Циклы и массивы

ФАЙЛЫ ЗАПИСЕЙ

В практике программирования часто встречаются задачи, решение которых требует большого количества относительно мало изменяемых во времени данных. Ввод данных с экрана заново при каждом счете для этих ...

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

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


PROGRAM PR33;
CONST
X: ARRAY [1.. 8] OF INTEGER = (44, 55,12,42, 94,18,06, 67);
VAR    
L, I, J: INTEGER;
BEGIN { Вывод на экран исходного массива X }
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN;
FOR      I:=2 TO 8
DO       BEGIN
             J:= I-1; L:= X[I];
             WHILE (J > 0) AND (L < Х[I])
             DO    BEGIN        { Переставить Х[J] на место Х[J+1]}
                       X[J+1]:=X[J];
                       J:=J-1;
                      END;
                      X[J+1]:=L
                      END;
{ Вывод на экран отсортированного массива X}
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN
END.


Сортировка простым выбором.
Пример 34. Методом простого выбора упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94,18, 06, 67).
Этот метод более предпочтителен, чем сортировка простым включением. Концептуальная модель этого метода состоит в следующем. Начиная с первой позиции, просматриваются все N элементов и находится номер К наименьшего из элементов. Элемент К ставится на первое место. А элемент, стоявший на втором месте, перемещается на место К. На втором проходе I = 2 первый элемент уже не рассматривается. Рассматриваются оставшиеся N-1 элементы и среди них находится наименьший элемент, имеющий номер К. Этот элемент ставится на второе место, а элемент со второго места смещается на место К. Этот процесс продолжается до тех пор, пока не будет просмотрен весь массив X, содержащий N элементов.


PROGRAM PR34;
CONST
X: ARRAY [1.. 8] OF INTEGER = (44, 55,12,42,94, 18,06,67);
VAR    
K,L, I, J: INTEGER;
BEGIN   { Вывод на экран исходного массива X }
FOR      I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN;
FOR      I := 1 TO 7
DO       BEGIN
             K:= I;
             FOR J := I + 1 TO 8 { Поиск номера К наименьшего X[I]... Х[К]}
             DO IF Х[J] < X[K] THEN К := J;
             { Переставить Х[K] на место Х[I]}
             L:=X[I];
             X[I] := Х[К];
             Х[К] := L;
             END;
{ Вывод на экран отсортированного массива X }
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN
END.


Из всех примеров нетрудно заметить одно существенное неудобство, связанное с использованием регулярных типов. Оно состоит в том, что необходимо сразу фиксировать число элементов массива. В отдельных случаях заранее не известна размерность массива, подлежащего обработке. Например, может возникнуть необходимость в одном случае отсортировать массив в 20 вещественных чисел, а в другом 100. Поэтому в программу приходится вносить исправления. Профессиональная диагностика жесткого диска от опытных мастеров, также Вы можете заказать услугу восстановления данных. Здесь помогает понятие константы, описанной в разделе CONST. Достаточно заменить описание N = 20 на N = 30, или N = 100 и больше никаких исправлений в программе не потребуется. Либо использовать переменную N, значение которой вводится либо пользователем с клавиатуры, либо присваивается в программе.


Предыдущая статья: Сортировка одномерного массива. Метод пузырька.
Оглавление: Лекции по Pascal.
Следующая статья: Многомерные массивы.


Комментарии  

 
-2 # мтимт 24.11.2012 11:16
примеры не работают даже после исправления :lol: :lol: :lol:
Ответить
 
 
-1 # AkumaGlacier 26.12.2012 22:15
Код исправить - как два бита передать, но оформление просто убивает. Чесслово.
Ответить
 
 
+1 # AkumaGlacier 26.12.2012 22:18
Это не женская тяга к прекрасному. Это просто вопрос здравого смысла.
Ответить
 
 
+2 # не важно кто 10.03.2017 09:29
:lol: в принципе идея ведь понятна
Ответить
 
 
-2 # Лорд 08.09.2017 16:21
Покомпилируем, посмотрим. Я люблю ошибки в программах исправлять, не плохая это тренировка.
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по ПаскальСортировка простым включением и простым выбором.