- •Лекция №12-13
- •Алгоритм, алгоритмизация, алгоритмический язык
- •Свойства алгоритмов
- •Управляющие структуры и основные конструкции алгоритмов
- •Неформальные описания алгоритмов
- •Сортировка методом простого выбора
- •Сортировка в интегрированных пакетах
- •Сортировка в приложении Word
- •Сортировка в приложении Excel
- •Алгоритмы генерации случайных чисел
- •Сложность алгоритмов
- •Технологии (парадигмы) программирования
- •Процедурное программирование
- •Функциональное программирование
- •Логическое программирование
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •Языки программирования баз данных
- •Языки программирования для компьютерных сетей
- •Инженерия программного обеспечения
- •Принцип программного управления
Неформальные описания алгоритмов
В качестве примеров даётся ряд неформальных описаний алгоритмов.
Пример. Методы сортировки.
Рассмотрим задачу сортировки на частном примере. Пусть имеет N чисел. Требуется отсортировать, т.е. упорядочить эти числа таким образом, чтобы они образовывали монотонную (возрастающую или убывающую) последовательность.
Рассмотрим следующие алгоритмы сортировки:
сортировка пузырьком;
сортировка методом простого выбора;
сортировка слиянием.
Сортировка методом простого выбора
Заданная последовательность чисел сортируется по возрастанию следующим образом: из последовательности выбирают наибольшее число, которое помещают в конец новой монотонной последовательности, а из исходной – оно вычеркивается.
Алгоритм S.
Обозначим исходную последовательность чисел K1, K2, …, Kn, а результирующую последовательность R1, R2, …, Rn.
S1. [Цикл по j]. Выполнить шаги S2 и S3 при j=N, N-1, …, 2.
S2. [Найти max[K1, …, Kj]. Найти наибольшее из Kj, Kj-1, … ,K1. Пусть это будет Ki.
S
3.
[Присвоить Rj]. Значение Ki присвоить Rj.
N>=j>=2
S1. Цикл по j
S2:Найти max[K1,
…, Kj]
S3: Присвоить Rj
j=1
K |
|
|
|
|
|
|
R |
|
|
|
|
j=N=5 |
503 |
7 |
0 |
908 |
45 |
|
1 |
2 |
3 |
4 |
N=5 |
j=4 |
503 |
7 |
0 |
45 |
|
|
|
|
|
|
908 |
j=3 |
7 |
0 |
45 |
|
|
|
|
|
|
503 |
908 |
j=2 |
7 |
0 |
|
|
|
|
|
|
45 |
503 |
908 |
j=1 |
|
|
|
|
|
|
|
7 |
45 |
503 |
908 |
|
|
|
|
|
|
|
0 |
7 |
45 |
503 |
908 |
Блок-схема алгоритма сортировки методом простого выбора
Запишем алгоритм S на псевдокоде
procedure (K1, K2, …, Kn : integer, R1, R2, …, Rn : integer)
begin
for j=N to 2
R[j]:=max(K1, K2, …, Kj) ; max – является наибольшим числом
R[1]:=K[1]
end;
Сортировка в интегрированных пакетах
Поскольку нас интересуют практические аспекты информатики, то необходимо знать, как решить задачу сортировки в пределах имеющейся компетенции. Решение задачи сортировки предлагают в пакете Microsoft Office приложения Word и Excel.
Сортировка в приложении Word
Выделить фрагмент документа.
Меню Таблица, пункт Сортировка.
Задать параметры сортировки в окне, появляющегося по действию в предыдущем пункте, указав, в частности элемент сортировки (например, абзац)
Сортировку надо выполнять, когда необходимо, например, расположить по алфавиту список слов.
