Логические и символьные константы.

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

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

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

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

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

Использование массивов и функций в качестве формального параметра.

Формальным параметром функции может быть не только переменная скалярного типа, но и идентификатор переменной структурированного типа данных.

Тип данных Char.

Тип CHAR (литерный, символьный). Этот тип задает конечное упорядоченное множество символов (литер), допускаемое в конкретной реализации языка.

Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки и их модификаций.

Пусть дана последовательность элементов – A1, А2, …, Аn. Сортировка означает перестановку этих элементов в новом порядке Аk1 , Аk2, …, Akn. Этот порядок соответствует значениям некоторой функции F, такой, что справедливо отношение F(Ak1) < F(Ak2)< ... <F(Akn).
Как у любого вычислительного процесса у сортировки есть свои критерии для сравнительной оценки качества программы и соответствующего ей алгоритма. Такими критериями являются: объем используемой памяти и время работы программы. Хорошей по критерию памяти считается такая сортировка, при которой данные сортируются в том же самом массиве, где находились исходные данные.
При оценке времени сортировки используют два показателя: число сравнений ключей (С), число пересылок данных (М). Хорошими по времени считаются сортировки, в которых число сравнений С=N*Ln(N). К простым, то есть не очень хорошим, относятся такие сортировки, в которых число сравнений пропорционально квадрату размерности N исходного массива С?N2. Следует отметить, что показатели С и М существенно зависят от первоначальной упорядоченности сортируемого массива. Наиболее тяжелым (Мах) считается случай, когда массив упорядочен в обратном порядке. Ниже мы рассмотрим три наиболее известных способа сортировки одномерного массива. Сравнительные временные характеристи ки этих способов приведены в следующей таблице:

sortirovka massiv

Сортировка простым обменом. Метод пузырька.

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

Концептуальную модель сортировки рассмотрим на примере восьми целых чисел, которые расположим в первом вертикальном столбце. Вертикальное расположение сортируемого массива наглядно иллюстрирует «всплывание легких элементов (чисел) вверх к поверхности» по мере сортировки массива.
Элементы массива рассматриваются попарно снизу-вверх. Если нижний элемент меньше, то они меняются местами. При первом просмотре (проходе) самый «легкий» элемент оказывается самым верхним. Поэтому при втором просмотре его можно уже не рассматривать. В таблице стрелками показаны перемещения элементов массива после каждого прохода.

sortirovka massiv.

Элементы всплывают вверх к поверхности в соответствии с их весами, пока не встретят элемент с более малым весом. С каждым проходом наиболее легкий элемент из оставшихся поднимается на свое место, показанное жирными цифрами. Таким образом, нет необходимости на каждом проходе проверять элементы, стоящие выше выделенных, поскольку они уже отсортированы ранее. Начиная с 6 прохода, состояние массива не изменяется, что объясняется начальной упорядоченностью элементов в исходном массиве.
Эта программа предназначена для изучения сортировки методом пузырька, поэтому взят массив из восьми целых чисел. Массив заранее известен, следовательно, инициализировать Х[1...8] проще всего в разделе констант. Ввод данных с клавиатуры в этой программе не требуется. Алгоритм программы представляет собой двойной вложенный цикл. Индекс I внешнего арифметического цикла соответствует номеру прохода сортировки. Индекс J это номер элемента в массиве. Для перестановки двух соседних элементов X[J-1] и X[J] местами используется промежуточная рабочая ячейка с идентификатором L. Для качественного обследования используется томография МРТ в Саратове адреса и отзывы указаны на сайте диагностического центра.


PROGRAM PR32;
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       FOR J:=8 DOWNTO I
             DO    IF X[J-1] > X[J]
                     THEN BEGIN {Переставить X[J-1] с Х[J] местами}
                       L:=X[J-1];
                       X[J-1]:=X[j];
                       X[J]:=L
                       END; {IF}
{ Вывод на экран отсортированного массива X }
FOR I := 1 ТО 8 DO WRITE(X[I]:5);
WRITELN
END.


sortirovka massiv..


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


Комментарии  

 
0 # Даша 15.12.2012 13:41
спасибо, хорошо объяснено!
Ответить
 
 
+3 # Пример 23.07.2014 05:58
begin
for j:=1 to Ni-1 do
for i:=1 to Ni-j do
if Mi > Mi[i+1] then
begin
ti:=Mi;
Mi:=Mi[i+1];
Mi[i+1]:=ti;
end;

end;
Ответить
 
 
-4 # Анатолий из Молодежк 30.10.2015 08:26
Деньги деньги деньги
Ответить
 
 
-2 # Даник 09.05.2016 16:48
Спасибо!
Ответить
 
 
-1 # динил 13.11.2016 18:45
;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) :-* :oops: спс
Ответить
 
 
0 # Иван 28.01.2017 21:46
Так. А подскажите как елементы уже отсортированого массива выставить так что бы самый большой был в середине, а в стороны елементы массивы шли по убыванию.
Ответить
 

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

Защитный код
Обновить

   ГлавнаяПаскальЛекции по Паскаль