
- •Программирование
- •Доступ к файлам
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •1. Создание формы с необходимыми компонентами
- •2. Текст модуля unfile
- •Interface
- •Implementation
- •Initialization
- •3. Работа с приложением
- •Программирование алгоритмов с использованием файлов на языке lazarus
- •220201.65 «Управление и информатика в технических системах»
Initialization
{$I unfile.lrs}
end.
3. Работа с приложением
Запустите созданное приложение. Занесите в соответствующие поля панели интерфейса информацию об успеваемости учащихся. Кнопкой “New” сохраните данные в файле. Завершите выполнение приложения.
Вновь запустите приложение и кнопкой “Open” откройте только что созданный файл. Убедитесь, что информация не содержит ошибок. При необходимости обнаруженные ошибки можно исправить, а также дополнить ведомость новой информацией. Для сортировки ведомости в алфавитном порядке воспользуйтесь кнопкой “Sort” и сохраните отсортированную информацию кнопкой “New”.
Еще раз завершите и вновь запустите приложение.
Кнопкой “Open” откройте файл и убедитесь, что в нем теперь содержится ведомость, отсортированная в алфавитном порядке. Кнопкой “Save” сохраните информацию в текстовом файле. Для просмотра содержимого текстового файла воспользуйтесь, например, приложением “Microsoft Word”.
Используя все управляющие компоненты панели интерфейса, убедитесь в правильном функционировании приложения во всех предусмотренных режимах работы.
варианты заданий
1. Ведомость абитуриентов, сдавших вступительные экзамены в университет находится в файле на диске и содержит: ФИО абитуриента, оценки. Определить средний балл по университету и вывести список абитуриентов, средний балл которых выше среднего балла по университету. Первыми в списке должны идти студенты, сдавшие все экзамены на 5.
2. В радиоателье хранятся квитанции о сданной в ремонт радиоаппаратуре. Каждая квитанция содержит следующую информацию: наименование группы изделий (телевизор, радиоприемник и т. п.), марка изделия, дата приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Вывести информацию о состоянии заказов на текущие сутки по группам изделий.
3. У администратора железнодорожных касс хранится информация о свободных местах в поездах дальнего следования на ближайшую неделю в следующем виде: дата выезда, пункт назначения, время отправления, число свободных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать m мест до города N на k-й день недели с временем отправления поезда не позднее t часов вечера. Вывести время отправления или сообщение о невозможности выполнить заказ в полном объеме.
4. Разработать программу формирования ведомости об успеваемости студентов. Каждая запись этой ведомости должна содержать: номер группы, ФИО студента, оценки за последнюю сессию. Вывести списки студентов по группам. В каждой группе ФИО студентов должны быть расположены в порядке убывания среднего балла.
5. Сводная ведомость результатов экзаменационной сессии студенческой группы находится в файле на диске и для каждого студента содержит фамилию, инициалы и оценки по трем предметам. Количество студентов в группе 15 человек. Составить программу, с помощью которой можно корректировать и дополнять список и получать:
список студентов, сдавших экзамены только на «5»;
список студентов, имеющих тройки;
список студентов, имеющих двойки. При этом студент, имеющий более чем одну двойку, исключается из списка.
6. В текстовом файле хранится телефонный справочник предприятия. Для каждого номера телефона указан номер помещения и ФИО служащих, сидящих в данном помещении. Составить программу, которая:
корректирует базу;
по номеру телефона выдает номер помещения и список сидящих в нем людей;
по номеру помещения выдает номер телефона;
по фамилии выдает номер телефона и номер помещения.
Номер телефона — двузначный. В одном помещении может находиться от одного до четырех служащих.
7. В гостинице имеется 15 номеров. Составить программу, которая заполняет и (или) корректирует данные о жильцах и по фамилии определяет номер, где проживает жилец. Программа запрашивает фамилию жильца.
если жильца с такой фамилией нет, об этом выдается сообщение;
если жилец с такой фамилией в гостинице единственный, то программа выдает фамилию жильца и номер проживания;
если в гостинице проживает два или более жильцов с такой фамилией, то программа дополнительно запрашивает инициалы.
8. В текстовом файле хранится список служащих. Для каждого служащего указаны фамилия и инициалы, название занимаемой должности, год поступления на работу и оклад. Написать программу, выполняющую следующие действия:
корректировку или дополнение списка с клавиатуры;
сортировку по фамилии, окладу или году поступления;
вывод на экран информации о служащем, фамилия которого введена с клавиатуры;
вывод на экран информации о служащем с максимальным окладом;
запись списка в файл под тем же или новым именем.
9. Расписание электричек хранится в текстовом файле на диске. Каждая запись содержит название пункта назначения, пометки типа «СВ», «ПВ», «КСВ» и время отправления. Написать программу, выполняющую следующие действия:
корректировку или дополнение расписания с клавиатуры;
сортировку по станции назначения и по времени отправления;
вывод на экран информации о поездах, отходящих после введенного времени;
запись расписания в файл под тем же или новым именем.
10. В текстовом файле хранится список товаров. Для каждого товара указаны его название, стоимость единицы товара в руб., количество и единица измерения (например, 100 шт., 20 кг). Написать программу, выполняющую следующие действия:
корректировку или дополнение списка с клавиатуры;
сортировку по названию товара или по общей стоимости;
вывод на экран информации о товаре, название которого введено с клавиатуры;
вывод товара с минимальной стоимостью;
запись списка в файл под тем же или новым именем.
11. В текстовом файле хранится список товаров. Для каждого товара указаны его название, название магазина, в котором продается товар и его стоимость. Написать программу, выполняющую следующие действия:
корректировку или дополнение списка с клавиатуры;
сортировку по названию товара или по названию магазина;
вывод на экран информации о товаре, название которого введено с клавиатуры;
вывести среднюю стоимость товаров в каждом магазине;
запись списка в файл под тем же или новым именем.
12. Список студенческой группы записан на диске как текстовый файл. Каждая строка списка содержит фамилию студента и три экзаменационные оценки, причем список никак не упорядочен. Составить программу, которая корректирует список и сортирует его либо по среднему баллу, либо по алфавиту, либо по оценкам по заданному предмету. Список записывается в файл либо под старым, либо под новым именем.
13. Даны следующие данные: номер маршрута, название начального пункта маршрута, название конечного пункта маршрута. Написать программу, выполняющую следующие действия:
сортировку по номерам маршрутов;
вывод на экран информации о маршруте, номер которого введен с клавиатуры; если таких маршрутов нет, вывести на экран окно с соответствующим сообщением;
запись массива записей в файл под заданным с клавиатуры именем.
14. Даны следующие данные: номер маршрута, название начального пункта маршрута, название конечного пункта маршрута. Написать программу, выполняющую следующие действия:
сортировку по номерам маршрутов;
вывод на экран информации о маршрутах, которые начинаются или кончаются в пункте, название которого введено с клавиатуры; если таких маршрутов нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
15. Дан список студентов, содержащий следующие поля: фамилия, имя; номер телефона; день рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:
сортировка записей по датам дней рождения;
вывод на экран информации о студенте, номер телефона которого введен с клавиатуры; если такого нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
16. Дан список студентов, содержащий следующие поля: фамилия, имя; номер телефона; день рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:
сортировка записей по фамилии;
вывод на экран информации о студенте, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры; если таких нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
17. Дан список студентов, содержащий следующие поля: фамилия, имя; номер телефона; день рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:
сортировка записей по трем первым цифрам номера телефона;
вывод на экран информации о студенте, чья фамилия введена с клавиатуры; если такого нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
18. Дан список студентов, содержащий следующие поля: фамилия, имя, знак Зодиака, день рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:
сортировка записей по датам дней рождения;
вывод на экран информации о студенте, чья фамилия введена с клавиатуры; если такого нет, вывести на экран соответствующее сообщение;
Если в списке два или более студента с такой фамилией, то программа дополнительно запрашивает имя;
запись массива записей в файл под заданным с клавиатуры именем.
19. В текстовом файле хранятся данные о цене и тираже каждого из 10 журналов. Найти среднюю стоимость журналов, тираж которых меньше 10 000 экземпляров. Записать список журналов, тираж которых меньше 10 000 экземпляров в файл с новым именем.
20. Дан список студентов, содержащий следующие поля: фамилия, имя; знак Зодиака; день рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:
сортировка записей по знаку Зодиака;
вывод на экран информации о студентах, родившихся в месяц, значение которого введено с клавиатуры; если таких нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
21. Даны следующие данные: название товара, название магазина, в котором продается товар, стоимость товара в рублях. Написать программу, выполняющую следующие действия:
сортировку по названиям товаров или по названию магазина;
вывод на экран информации о товаре, название которого введено с клавиатуры; если таких товаров нет, вывести на экран соответствующее сообщение;
вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры; если такого магазина нет, вывести на экран соответствующее сообщение;
запись массива записей в файл под заданным с клавиатуры именем.
22. Даны следующие данные: расчетный счет плательщика, расчетный счет получателя, перечисляемая сумма в рублях. Написать программу, выполняющую следующие действия:
сортировку по расчетным счетам плательщиков или получателей;
вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры; если такого расчетного счета нет, вывести на экран соответствующее сообщение;
вывод на экран информации о плательщиках, которые сняли со своего расчетного счета более 5000 руб;
запись массива записей в файл под заданным с клавиатуры именем.
23. Известны оценки каждого из 15-ти учеников класса по шести предметам. Определить среднюю оценку каждого ученика и всего класса. Вывести фамилии учеников, у которых средняя оценка выше средней по классу. Записать полученный список в файл с новым именем.
24. Известны баллы, набранные каждым из 10-ти спортсменов пятиборцев в каждом из пяти видов спорта. Определить фамилию спортсмена - победителя соревнований. Составить список спортсменов, набравших более N баллов и записать полученный список в файл под новым именем.
25. В текстовом файле хранится информация о билетах, купленных на поезд. Каждая строка файла должна содержать: ФИО пассажира, номер вагона, тип вагона, номер места, стоимость билета. Написать программу, выполняющую следующие действия:
поиск информации о пассажирах, купивших билеты в купейный/ плацкартный/спальный вагон;
поиск информации о пассажирах, купивших билеты в вагон Z, номера мест с Р по К;
запись массива записей в файл под заданным с клавиатуры именем.
СОДЕРЖАНИЕ И ОФОРМЛЕниЕ ОТЧЕТА
ПО ЛАБОРАТОРНОЙ РАБОТЕ
Отчет оформляется в текстовом редакторе MS Word в формате А4 и должен содержать:
Титульный лист.
Цель работы.
Задание.
Листинг программы.
Окно формы с полученными результатами.
ВОПРОСЫ для самоконтроля
Что такое файл?
Назовите способы задания файлового типа.
Назовите три вида файлов.
С помощью какой процедуры файловая переменная связывается с именем файла?
С помощью какой процедуры файл инициируется для чтения?
С помощью какой процедуры файл инициируется для записи?
Для чего используется процедура Append?
Для чего используются компоненты OpenDialog и SaveDialog?
ВРЕМЯ, ОТВЕДЕННОЕ НА выполнение
ЛАБОРАТОРНОЙ РАБОТЫ
Подготовка к работе – 1,0 акад. час
Выполнение работы – 4,0 акад. час
Оформление работы – 1,0 акад. час
Отчет по работе – 0,5 акад. часа
ЛИТЕРАТУРА
Архангельский А.Я. Программирование в Delphi для Windows. – М.: Бином, 2007.
Культин Н. Программирование в Turbo Pascal 7.0 и Delphi. – СПб.: БХВ-Петербург, 2007.
Сухарев М.В. Основы Delphi. Профессиональный подход. – СПб.: Наука и техника, 2004.
Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2005.
Фленов М.Е. Delphi 2005. Секреты программирования. – СПб.: Питер, 2006.
содержание
Введение 2
Цель работы 2
Основные понятия 2
Перечень оборудования 8
Требования по технике безопасности 9
Задание к лабораторной работе 10
Порядок выполнения работы 10
Пример выполнения работы 10
Варианты заданий 18
Содержание и оформление отчета по лабораторной работе 25
Вопросы для самоконтроля 25
Время, отведенное на выполнение лабораторной работы 26
Литература 26