Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

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

Программирование данных.

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

Спецификация процедуры.

Процедура представляет собой программу в миниатюре, являясь в свою очередь частью основной программы или другой процедуры. Синтаксис процедуры полностью повторяет синтаксис программы.

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

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

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