Интервальные типы данных. Оператор TYPE. Массивы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: решебник по английскому языку, реферат экономическое развитие
| Добавил(а) на сайт: Сукачёв.
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата
Запишем пример программы, использующей (пока одномерные) массивы:
{ программа вводит массив из N целых чисел, где N не превосходит 20, и выводит его в порядке неубывания }
CONST Nmax=20;
TYPE IndexType=1..Nmax;
Massiv=ARRAY[IndexType] OF Integer;
VAR a : Massiv; i,j,N : IndexType; t : Integer;
BEGIN WRITELN;
REPEAT WRITE('Введите длину массива от 1 до ',Nmax,' ');
READ(N); WRITELN;
UNTIL (N>=1)AND(N<=Nmax);
{ Вводим массив поэлементно }
WRITELN('Введите элементы массива');
FOR i:=1 TO N DO READ(a[i]);
{ Сортируем элементы массива по неубыванию. Используем очень простой, но
неэффективный алгоритм сортировки - сравниваем каждый элемент с каждым
и, если первый больше второго, меняем их местами }
FOR i:=1 TO N-1 DO FOR j:=i+1 TO N DO
IF a[i]>a[j] THEN BEGIN t:=a[i]; a[i]:=a[j]; a[j]:=t; END;
{ Выводим отсортированный массив поэлементно }
WRITELN('Результат сортировки :');
FOR i:=1 TO N DO WRITE(a[i]:8);
END.
Обратите внимание на алгоритм перестановки двух элементов! Запись a[i]:=a[j]; a[j]:=a[i]; , очевидно, привела бы к неверному результату. Использованный нами алгоритм сортировки вполне надежен, но не очень хорош, так как выполняет много лишних операций. Не составляет труда усовершенствовать его - для каждого i от 1 до N-1 найдем наименьший из элементов ai, ai+1, ... , aN и поместим его на i-е место; такой алгоритм выполняет столько же сравнений, сколько и первоначальный, но требует существенно меньшего количества перестановок.
FOR i:=1 TO N-1 DO BEGIN
a_max:=a[i]; n_max:=i;
Рекомендуем скачать другие рефераты по теме: реферат катастрофы, реферат электрические.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата