Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации 2часть / Вопросы и задачи.ppt
Скачиваний:
18
Добавлен:
11.05.2015
Размер:
93.18 Кб
Скачать

3.Ввести массив записей {a[i].f, a[i].k} (f - фамилия; к - учетный номер) из TstringGrid1, отсортировать по ключу к и выдать в TStringGrid2. Алгоритм

сортировки по методу слияния в виде рекурсивной процедуры оформить в отдельный модуль Unit2 как метод класса. (3,19)

4.Ввести массив записей {a[i].f, a[i].k} (f - фамилия; к - учетный номер) из TstringGrid1, отсортировать по ключу к и выдать в TStringGrid2. Алгоритм сортировки по методу разделения Хоара в виде

рекурсивной процедуры оформить в отдельный модуль Unit2 как метод класса. (8,20)

07/02/19

11

5.Решить задачу оптимального выбора из элеметов

{a[i].w,a[i].c,i=1..N}, ∑wi<wmax, ∑ci max методом

полного перебора. Алгоритм решения в виде процедуры оформить в отдельный модуль Unit2 как метод класса, исходный массив ввести из TStringGrid, результат вывести в TMemo.(5,21)

6.Решить задачу оптимального выбора из элеметов

{a[i].w,a[i].c,i=1..N}, ∑wi<wmax, ∑ci max методом ветвей и границ. Алгоритм решения оформить в

виде процедуры, оформленной в отдельный модуль Unit2 как метод класса. Исходный массив ввести из TstringGrid, результат вывести в TMemo. (6,22)

07/02/19

12

7.Решить задачу оптимадьного выбора из элеметов

{a[i].w,a[i].c,i=1..N}, ∑wi<wmax, ∑ci max методом минимального веса. Алгоритм решения в виде процедуры оформить в отдельный модуль Unit2, исходный массив ввести из TstringGrid, результат вывести в TMemo.(7,23)

8.Составить программу работы со списком в виде очереди на основе одномерного динамического массива. Фамилию a.f и учетный номер a.k добавляемой и читаемой записи отображать в первой строке StringGrid1 и StringGrid2 соответственно. Состояние текущего списка из n записей отражать в n строках StringGrid3. В отдельном модуле написать класс, содержащий следующие методы: создание начального динамического массива Create, добавление новой записи в конец списка Аddk; чтение с удалением записи из начала списка Read1,

StringGrid3. (4,30)

07/02/19

13

9.Ввести массив записей {a[i]:TInf } (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1 в стек с меткой, отсортировать стек методом пузырька с обменом

ключами, вывести отсортированный стек в StringGrid2. Алгоритмы записи Add, чтения Read элементов стека и его сортировки Sort оформить в отдельном модуле в виде методов класса. (9,25)

10.Ввести массив записей {a[i]:TInf } (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1, в односвязный

список в виде очереди, отсортировать очередь

методом слияния, вывести отсортированный список в StringGrid2. Алгоритмы записи Addk, чтения

Read1 элементов списка и его сортировки Sort оформить в отдельном модуле в виде методов класса. (10,24)

07/02/19

14

11.Составить программу вычисления арифметического выражения, записанного в

постфиксной форме. Выражение ввести из окна TEdit1, значения однобуквенных операндов ввести из StringGrid1, результат поместить в Edit2. Алгоритм вычисления оформить в отдельном модуле в виде методов класса. (11,27)

12.Составить программу преобразования арифметического выражения, записанного в инфиксной форме в выражение, записанное в

постфиксной форме. Исходное выражение ввести из окна Edit1, преобразованное выражение поместить в Edit2. Алгоритм преобразования оформить в отдельном модуле в виде методов класса. (12,28)

07/02/19

15

13.Ввести массив записей с заданными произвольно ключами {a[i]:TInf} (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1 в двоичное дерево поиска методом AddB, после чего прочитать его в

StringGrid2 методом Wrt1B. Методы класса AddB и Wrt1В оформить в отдельном модуле. (13,29)

14.Ввести массив записей с заданными произвольно ключами {a[i].Inf} (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1 в двоичное дерево поиска процедурой AddB, после чего найти в дереве поиска и распечатать в Memo1 запись с ключом k, введенным из Edit1. Методы класса AddB и PoiskВ оформить в отдельном модуле. (1,14)

07/02/19

16

15.Ввести массив записей с упорядоченным распределением ключей {a[i]:TInf } (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1 в двоичное сбалансированное дерево с помощью метода Blns. После чего найти в дереве поиска с помощью функии MinkB и распечатать в Memo1 запись с минимальным ключом. Методы класса Blns , MinkB оформить в отдельном модуле. (17)

16.Составить программу, в которой организовать ввод массива n записей с произвольным распределением ключей {a[i].Inf} (Inf.F - фамилия; Inf.к - учетный номер) из StringGrid1 в хеш-таблицу размера M>=n методом Add и организовать поиск записи в хеш-таблице по заданному ключу x методом Read. Значения М, х ввести из окон Edit, найденную фамилию вывести в окно Edit. В отдельном модуле написать класс для работы с хеш-таблицей на основе массива из стеков, который включает конструктор Create(M0), а также два метода07/02/19Add(Inf:Tinf) и Read(Key:Word):Tinf. (16,26)17