Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
InterfaceСтр 1 из 5Следующая ⇒
Динамический список.
Условие задачи Создать С1 -направленный список, упорядоченный по С2, из N С3С4 и найти элемент, удовлетворяющий условию С5. Вывести созданный список или сообщение: «Список пуст». Для двунаправленных списков – созданный список выводить дважды: в прямом и обратном порядке. Предусмотреть 1) возможность ввода данных в список из текстового файла; 2) генерации элементов в заданном количестве N; 3) добавления заданного элемента в список в указанном порядке C2. Для решения задачи создать процедуры: добавления первого элемента в пустой список, добавления очередного элемента в требуемом порядке (в начало/конец/середину), генерация списка (генерация/ввод и вызов процедуры добавления для каждого элемента списка), вывода списка в Memo, поиска в списке, освобождения списка. Варианты заданий Вычисляются по правилу: сумма двух последних цифр зачетки. Если сумма больше 15, вариант = сумма минус 15
*Для задания псевдослучайных чисел используйте Randomize и Random (прошлый семестр). Например, Randomize; //используйте один раз для изменения базы для генерируемой последовательности псевдослучайных величин. Иначе при каждом запуске программы будет выдаваться одна и та же последовательность чисел. Пример. Создать однонаправленный список, упорядоченный по убыванию абсолютной величины, из N вещественных чисел, лежащих в интервале [-9, 9; 19, 9]. Найти в нем максимальный элемент. Вывести созданный список или сообщение, что список пуст. Предусмотреть 1) возможность ввода данных в список из текстового файла; 2) генерации элементов в заданном количестве N; 3) добавления заданного элемента в список в указанном порядке.
Для работы со списком создадим отдельный модуль с процедурами: unit Unit2;
interface
type PElem = ^TElem; TElem = record info: real; next: PElem; end;
// создать список из одного элемента procedure CreateList(var ListN, ListK: PElem; r: real); // добавить новый элемент перед первым procedure AddFirst(var ListN: PElem; ListK: PElem; r: real); // добавить новый элемент в конец procedure AddLast(ListN: PElem; var ListK: PElem; r: real); // добавить новый элемент в середину после ListC (не в конец) procedure AddMedium(ListN, ListC, ListK: PElem; r: real); // очистить список procedure FreeList(var ListN, ListK: PElem);
|