Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

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

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

Ветвления в Pascal.

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

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

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Сортировка простым включением и простым выбором.

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

Сортировка простым включением.
Пример 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
Покомпилируем, посмотрим. Я люблю ошибки в программах исправлять, не плохая это тренировка.
 
   ГлавнаяПаскальЛекции по ПаскальСортировка простым включением и простым выбором.