Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика, номера задач

.DOC
Скачиваний:
8
Добавлен:
03.05.2015
Размер:
75.78 Кб
Скачать

ИНФОРМАТИКА. ЛАБОРАТОРНЫЕ РАБОТЫ

СЕМЕСТР 2

Гр. РТ1101-03 Лектор Мацкевич А.Г.

Номера задач из задачника: Абрамов.«Задачи по программированию»

Таб. 1

Модули, сортировка(1)

Строки Pascal

Текст.

файлы

Типиз.

файлы

Строки PChar

Графика,

окна, диалоги(2)

1

628а,628б

251,814в

501а

506а,б

814в

1

2

628а,628в

252,820-3

502а

506в,г

820-3

2

3

628а,633

253а,б,820-2

502б

506д,е

820-2

3

4

628а,636

254,820-1

503

507а,б

820-1

4

5

628а,642

255,819

504а

507в,г

819

5

6

628б,628в

256,817

504б

507ж

817

6

7

628б,633

257а,б,816

504в

508а

816

7

8

628б,636

257г,д,815

504г

508б

815

8

9

628б,642

258,818

518

509а

818

9

10

642,628а

259,814а,б

519а

510

814

10

11

636,628а

260а,б,813

519б

511а

813

11

12

633,628а

261,812д,е

520

512

812

12

13

628в,628а

262,812в,г

521

513а

812

13

14

628б,628а

263,811

522

514а

811

14

15

628б,628в

264,810

523а

515

810

15

16

628б,633

265,809

523б

516

809

16

17

628б,636

266,808в,г

524

517а,б

808

17

18

628б,642

267,808а,б

525

517д,е

808

18

19

628а,628б

268,807

526

517ж

807

19

20

628а,628в

269а,б,806

527

517в,г

806

20

21

628а,633

269в,г,805

528

514б

805

21

22

628а,636

269д,е,804

529а

513б

804

22

23

628а,642

270а,б,803

530а

511б

803

23

24

628б,628в

270в,г,802

530б

509б

802

24

25

628б,633

270д,812а,б

530в

507д,е

812

25

(1) Модули, сортировка

Написать подпрограммы, реализующие методы сортировки из таб.1 . Организовать модуль ( unit ) с этими подпрограммами. Написать программу для сортировки массива из 50-100 элементов этими методами. Сравнить методы сортировки по количеству перестановок и количеству сравнений. Сделать выводы.

Алгоритмы сортировки массива.

( Номера соответствуют задачам из «Задачи по программированию ». С.А. Абрамов. 1988 г.)

№628а. (Сортировка выбором)

Найти элемент массива, имеющий наименьшее значение, переставить его с первым элементом, затем проделать то же самое, начав со второго элемента и т.д.

№628б. (Сортировка обменами, метод пузырька)

Последовательным просмотром чисел а1, …, аn найти наименьшее i такое, что аi > ai+1 . Поменять ai и аi+1 местами, возобновить просмотр с элемента ai+1 и т.д. Тем самым наибольшее число передвигается на последнее место. Следующие просмотры начинать опять с начала, уменьшая на единицу количество просматриваемых элементов. Массив будет упорядочен после просмотра, в котором участвовали только первый и второй элементы.

№628в (Сортировка простыми вставками)

Просматривать последовательность а1, …, аn и каждый новый элемент ai вставлять на подходящее место в уже упорядоченную совокупность а1, …, аi-1. Это место определяется последовательны сравнением аi с упорядоченными элементами а1, …, аi-1.

№633 (Сортировка бинарными вставками)

Алгоритм упорядочения простыми вставками (№628в) можно изменить следующим образом. Место, на которое надо вставить аi в уже упорядоченную совокупность а1, …, аi-1 определяется алгоритмом деления пополам. Для этого надо взять первоначально 1 и i в качестве границ поиска места элемента. Далее, до тех пор, пока границы не совпадут, шаг за шагом сдвигать эти границы следующим образом: сравнить ai с as , где s –целая часть среднего арифметического границ. Если as < ai , то заменить прежнюю нижнюю границу на s+1, а верхнюю оставить без изменения, иначе оставить без изменения нижнюю границу, а верхнюю заменить на s. Когда границы совпадут, став равными некоторому числу t, выполнение алгоритма закончиться с результатом t.

№636 (Алгоритм фон Неймана, сортировка слияниями)

Алгоритм фон Неймана упорядочивания массива a1, a2, …,an по не убыванию основан на многократных слияниях уже упорядоченных групп элементов массива. Вначале весь массив рассматривается как совокупность упорядоченных групп по одному элементу в каждом. Слияниям соседних групп получаем упорядоченные группы, каждая из которых содержит два элемента ( кроме, может быть, последней группы, которой не нашлось парной). Далее упорядоченные группы укрупняются тем же способом и т.д. Здесь приходится оперировать не только с массивом a1, a2,…,an, но и с вспомогательным массивом b1,b2,…,bn.

№642 ( Сортировка обменами 2)

Последовательным просмотром чисел a1,a2,…,an найти наименьшее i такое, что ai>ai+1. Поменять ai и ai+1 местами возобновить просмотр с начала массива. Когда не удается найти такое i, массив будет упорядочен.

(2) Задание будет уточнено позже.