Pages: | 1 | ... | 2 | 3 | | if St = Beg_Spis then begin { Вставка в начало списка} New(St); { Выделение новой ячейки динамической области памяти для добавляемой записи} St^.Ukaz := Beg_Spis; {Изменение ссылки в первом элементе списка} Beg_Spis := St; { Установка нового адреса начала линейного списка} St^.Info := Ins_Zap; { Заполнение информационного поле нового элемента списка} end else begin { Вставка в произвольное место} New( St ); St^.Ukaz := Sp^.Ukaz; Sp^.Ukaz := St; St^.Info := Ins_Zap; end; end; Sp := St; St := St^.Ukaz; {Переход к следующему элементу} end; { Цикл по элементам линейного списка} If Key_Insert = False then { Вставка в конец линейного списка} begin New( St ); Sp^.Ukaz := St; St^.Ukaz := Nil; St^.Info := Ins_Zap; end; End; { Цикл по добавляемым записям} End; { Конец процедуры добавления } { Главная программа } BEGIN INPUT_AND_FORM_SPIS; OUTPUT_SPIS; DELETE_ELEM_SPIS; OUTPUT_SPIS; SORT_ELEM_SPIS; OUTPUT_SPIS; ADD_ELEM_SPIS; OUTPUT_SPIS; END. Порядок выполнения работы 1. Получить вариант задания у преподавателя. 2. Определить состав и структуру входной и выходной информации. 3. Выделить глобальные переменные и описать их. 4. Разработать структуру программы. 5. Каждую функционально-законченную часть оформить в виде отдельной подпрограммы. 6. Отладить программу и продемонстрировать её работу преподавателю. 7. Оформить и сдать отчет. Типовое задание Создать текстовый файл, состоящий из записей, имеющих заданную структуру (см. ваш вариант). Написать программу, решающую следующие задачи: 1) Занесение записей из текстового файла в линейный список. 2) Вывод на экран сформированного линейного списка. 3) Поиск в линейном списке и вывод на экран записей по заданному полю. 4) Удаление из списка записей в соответствии с заданием. 5) Вывод на экран оставшегося линейного списка. 6) Упорядочение линейного списка по заданному полю. 7) Вывод упорядоченного списка на экран. 8) Вставка записей в линейный список. 9) Вывод окончательного списка на экран и запись его в новый файл. Все выводимые на экран и в файл результаты должны быть снабжены заголовками, поясняющими этот результат и оформлены в виде таблиц. Варианты заданий Вариант Номер Фамилия имя отчество Дата рождения целое строка - 20 символов число месяц год Поиск и вывод на экран записей о всех людях, родившихся в мае 1975 года. Удаление из списка записей о родившихся в январе 1973 года. Упорядочение линейного списка по возрастанию года рождения. Вставка записей в список без нарушения упорядочения по году рождения. Вариант Номер Личный шифр Фамилия Дата рождения п/п студента имя, отчество число месяц год число 5 символов 25 символов Поиск в линейном списке и вывод на экран записей о всех студентах, имеющих шифр “А001”. Удаление из списка записей о студентах, имеющих шифр “С001”. Упорядочение линейного списка по убыванию года рождения. Вставка записей в список без нарушения упорядочения по году рождения. Вариант Номер Фамилия Табельный Размер п/п имя отчество номер пособия число строка символов строка символов вещественное число Поиск в линейном списке и вывод на экран записей о всех клиентах, имеющих табельный номер, начинающийся с символа “С”. Удаление из списка записей о клиентах с табельным номером, начинающимся с символа “Р”. Упорядочение линейного списка по возрастанию размера пособия. Вставка записей в список без нарушения упорядочения. Вариант Номер Фамилия имя отчество Шифр Год п/п специальности рождения число строка символов строка символов целое число Поиск в линейном списке и вывод на экран записей о всех студентах, имеющих шифр, начинающийся с символа “В”. Удаление из списка записей о студентах с шифром, начинающимся с символа “С”. Упорядочение линейного списка по возрастанию года рождения. Вставка записей в список без нарушения упорядочения. Вариант Номер Фамилия имя отчество Факультет Номер п/п специальности число строка символов строка символов целое от 1 до Поиск в линейном списке и вывод на экран записей о всех студентах факультета “ФВТ”. Удаление из списка записей о студентах факультета “ПСФ”. Упорядочение линейного списка по возрастанию номера специальности. Вставка записей в список без нарушения упорядочения. Вариант Номер Фамилия имя отчество Факультет Шифр п/п специальности число строка символов 6 символов 8 символов Поиск в линейном списке и вывод на экран записей о всех студентах факультета “ФАИТ”. Удаление из списка записей о студентах факультета “ФВТ”. Упорядочение линейного списка по убыванию шифра специальности. Вставка записей в список без нарушения упорядочения. Вариант Номер Фамилия имя отчество Дата рождения Пол п/п число месяц год “жен”/ “муж” число строка символов 3 символа Поиск в линейном списке и вывод на экран записей о всех студентках. Удаление из списка записей о студентах мужского пола. Упорядочение линейного списка по возрастанию года рождения. Вставка записей в список без нарушения упорядочения по году рождения. Вариант Фамилия имя отчество автора Название книги Год издания строка символов строка символов число Поиск в линейном списке и вывод на экран записей о всех книгах, изданных в 1975 году. Удаление из списка записей о книгах, фамилии авторов которых, начинаются на букву “А”. Упорядочение линейного списка по возрастанию года издания. Вставка записей в список без нарушения упорядочения по году издания. Вариант Фамилия имя отчество автора Название книги Год издания строка символов строка символов число Поиск в линейном списке и вывод на экран записей о всех книгах, изданных до 1985 года. Удаление из списка записей о книгах, с фамилией автора “Иванов”. Упорядочение линейного списка по убыванию года издания. Вставка записей в список без нарушения упорядочения по году издания. Вариант Номер Фамилия имя отчество Табельный Размер п/п номер стипендии число 20 символов 6 символов целое число Поиск в линейном списке и вывод на экран записей о всех студентах, имеющих табельный номер, начинающийся с символа “A”. Удаление из списка записей о студентах с табельным номером, начинающимся с символа “B”. Упорядочение линейного списка по убыванию размера стипендии. Вставка записей в список без нарушения упорядочения. Вариант код товара наименование товара цена количество число 30 символов число число Поиск в линейном списке и вывод на экран записей о товарах, количество которых равно нулю. Удаление из списка этих записей. Упорядочение линейного списка по возрастанию кодов товаров. Вставка записей в список без нарушения упорядочения по коду товара. Вариант код предприятия название кол-во месяц оплаты предприятия электроэнергии число 15 символов число число Поиск в линейном списке и вывод на экран записей о всех предприятиях, месяц оплаты которых меньше текущего. Удаление из списка записей о предприятиях, месяц оплаты которых равен текущему. Упорядочение линейного списка по убыванию кодов предприятий. Вставка записей в список без нарушения упорядочения данных о новом предприятии. Вариант код пациента номер страхового полиса организация число 8 символов 20 символов Поиск в линейном списке и вывод на экран записей о всех пациентах данной организации. Удаление из списка записи с данным номером страхового полиса. Упорядочение линейного списка по возрастанию кодов пациентов. Вставка записей в список без нарушения упорядочения данных о новых пациентах. Вариант Ф.И.О. больного адрес больного номер участка дата выписки 30 символов 20 символов число число-месяц Поиск в линейном списке и вывод на экран записей о всех больных на данном участке. Удаление из списка записей о больных, выписанных в прошлом месяце. Упорядочение линейного списка по алфавиту (по полю ФИО). Вставка записей в список без нарушения упорядочения по фамилии больного. Вариант код линии метро название кол-во станций протяжённость линии число символы число действ. число Поиск в линейном списке и вывод на экран записей о Кольцевой линии метро. Удаление из списка записей о линии, имеющей наименьшее количество станций. Упорядочение линейного списка по убыванию кода линии метро. Вставка записей в список без нарушения упорядочения о новой линии метро. Вариант номер дома номер квартиры квартплата Ф.И.О. квартиросъёмщ. число число действ. число 30 символов Поиск в линейном списке и вывод на экран записей о всех квартирах дома №5. Удаление из списка записей о кварторосъёмщике с фамилией “Иванов”. Упорядочение линейного списка по возрастанию номеров домов. Вставка записей в список без нарушения упорядочения номеру дома. Вариант Ф.И.О. квартиросъёмщ. жилая площадь кол-во жильцов 30 символов действ. число число Поиск в линейном списке и вывод на экран записей о всех жильцах, жилая площадь которых превышает 100 м2. Удаление из списка записей о квартиросъёмщиках с фамилией “Иванов”. Упорядочение линейного списка по убыванию количества жильцов. Вставка записей в список без нарушения упорядочения по числу жильцов. Вариант табельн. номер Ф.И.О. разряд зарплата число 30 символов число действ. число Поиск в линейном списке и вывод на экран записей о всех сотрудниках, имеющих 10 разряд. Удаление из списка записей о сотрудниках, фамилии которых начинаются с буквы “И”. Упорядочение линейного списка по возрастанию табельных номеров. Вставка записей в список без нарушения упорядочения. Вариант номер цеха табельный номер Ф.И.О. отраб.время число число 30 символов число Поиск в линейном списке и вывод на экран записей о всех сотрудниках цеха. Удаление из списка записей о сотрудниках, чьё отработанное время равно нулю. Упорядочение линейного списка по убыванию номера подразделения. Вставка записей в список без нарушения упорядочения о новых сотрудниках. Вариант номер чит.билета Ф.И.О. дата выдачи книги дата возврата число 30 символов Поиск в линейном списке и вывод на экран записей о всех читателях, которые не возвратили взятые в библиотеке книги на текущую дату. Удаление из списка записей о читателях фамилии которых начинаются с буквы “И”. Упорядочение линейного списка по возрастанию номеров читательских билетов. Вставка записей в список без нарушения упорядочения новых абонентов. Литература 1. В.Э. Фигурнов IBM для пользователя. М. : Финансы и статистика,2. Д.В. Офицеров, В.А. Старых Программирование в интегрированной среде Турбо Паскаля. Справочное пособие. - Минск: “Беларусь”, 3. В.В. Фаронов Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: “Нолидж”, 4. Вирт Н. Алгоритмы + структуры данных = программы.- М.: Мир, 5. Вирт Н. Алгоритмы и структуры данных. М.: Мир, Содержание Стр. 1. Работа с файлами................. 1.1. Файлы и их виды в Турбо Паскале.......... 1.2. Доступ к файлам................. 1.3. Лабораторная работа № 1 Текстовые файлы....... 1.4. Лабораторная работа № 2 Типизированные файлы.... 2. Разработка программ с использованием динамической памяти. 2.1. Динамические переменные............ 2.2.Cтандартные процедуры и функции для работы с динамическими переменными............ 2.3. Динамические структуры данных и их описание в Турбо Паскале 2.4. Лабораторная работа №3 Линейный динамический список.. Литература....................
Pages: | 1 | ... | 2 | 3 | |
|