Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания ЛПЗ по программированию.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
676.86 Кб
Скачать

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

Цель работы:

1. Изучить правила описания и использования переменных типа структура в языке С++.

2. Получить практические навыки работы с файлами.

Краткие сведения из теории

Под записью понимается структура данных, объединяющая под одним именем данные различных типов. Записи состоят из фиксированного числа элементов, называемых полями. Поле - это переменная определенного типа. Различные поля могут иметь (в отличие от элементов массива) различный тип. Обращение к элементу записи выполняется с помощью составного (уточненного) имени. Первая часть составного имени - это имя записи, вторая часть - имя поля. Между именем записи и именем поля ставится точка: ZAP.IMP, где ZAP - имя записи, IMP - имя поля.

При решении многочисленных задач обработки больших объемов информации, бухгалтерского учета, ведения различных картотек, справочников и баз данных используются файлы, которые позволяют запоминать, изменять, хранить и читать различную информацию на внешних носителях. Файл представляет собой структурированный тип данных, содержащий последовательность компонентов (чаще всего записей) одного типа и одной длины. Число элементов в файле (длина файла) не фиксировано. Это является основным отличием файла от массива. Файл, не содержащий ни одного элемента, называется пустым, его длина равна нулю.

Файл можно представить как магнитную ленту, у которой есть начало, а конец не фиксирован. Элементы файла записываются на эту ленту последовательно, друг за другом с помощью некоторого устройства (указателя файла). При чтении или записи этот указатель перемещается к следующему элементу и делает его доступным для обработки. В каждый момент доступен для записи (чтения) только этот элемент файла, на который установлен указатель.

При необходимости формирования или использования файла в разделе описаний программы должна быть описана файловая переменная. Описание файловой переменной имеет следующий вид:

var имя-файловой переменной : file of базовый-тип; или var имя-файловой переменной : text;

В качестве базового типа элементов файла можно использовать любой тип данных.

Так как по определению число элементов файла не задается, то в Turbo Pascal введена стандартная функция Eof(var F:file):boolean; Когда будет достигнут конец файла, Eof(F) примет значение True, в в противном случае - False.

Порядок работы. Составить программу формирования и поиска в файле (табл.11).

Таблица 11

Номер варианта

Условие

1

Создать файл, содержащий сведения о пациентах поликлиники. Структура записи: ФИО пациента, год рождения, адрес, диагноз. Выбрать информацию о пациентах, обратившихся с диагнозом "грипп".

2

Создать файл, содержащий сведения о книгах, находящихся в читальном зале библиотеки. Каждая запись должна содержать: фамилию и инициалы автора, название книги, место издания, наименование издательства, год издания, количество страниц. Выбрать записи о книгах издательства "Высшая школа", выпущенных после 1990 года.

3

Создать файл, содержащий информацию о свободных местах в поездах. Запись содержит: дату выезда, номер рейса, конечный пункт назначения, время отправления, число свободных купейных мест, число свободных плацкартных мест. Выдать информацию об имеющихся свободных местах на определенное число.

4

Разработать программу ("электронную сваху") для поиска женихов и невест. Создать два файла: список женихов и список невест. В каждом списке кандидат (жених или невеста) характеризуется записью содержащей порядковый номер кандидата; данные о кандидате (возраст, рост, вес); требования к партнеру (минимальное и максимальное значение соответствующего параметра). Сформировать списки пар с учетом требований кандидата.

5

Создать файл, содержащий сведения об учениках. Каждая запись должна содержать: номер по списку, фамилию, имя, отчество; год рождения; адрес. Выбрать сведения об учениках, проживающих на улице Книповича.

6

Создать файл, содержащий сведения о предметах, изучаемых в 10 классе. Запись должна содержать: название предмета, общее количество часов на год, количество часов в неделю. Выбрать информацию о предметах, количество часов в неделю для которых больше 4.

7

Создать файл, содержащий сведения о компьютерах. Структура записи: тип ПК, тактовая частота, объем ОП, объем винчестера, стоимость. Выбрать информацию о компьютерах, имеющих объем ОП более 16 Мбайт.

8

Создать файл, содержащий сведения о рейсах самолетов. Для каждого рейса указаны: номер рейса, тип самолета, пункт назначения, время вылета, дни вылета. Выбрать информацию о рейсах на Санкт-Петербург.

9

Создать файл, содержащий сведения об итогах сдачи экзамена по информатике. Каждая запись содержит фамилию и имя учащегося, годовую оценку, оценку за экзамен, итоговую оценку. Выбрать информацию об учащихся, повысивших годовую оценку на экзамене.

10

Создать файл, содержащий сведения об учащихся класса. Каждая запись содержит фамилию и имя учащегося, его адрес, телефон. Выбрать информацию об учащихся имеющих телефон.

11

Создать файл, содержащий сведения о результатах чемпионата по футболу. Структура записи: названия команд, результаты игры. Выбрать информацию о результатах игр команды "Спартак".

12

Протокол лыжных гонок записать в файл. Для каждого участника указывается фамилия, время старта (чч:мм:сс), время финиша. Выбрать сведения об участниках выполнивших норму заданного (1, 2, 3) разряда.

13

Сформировать файл, содержащий сведения о магазинах округа. Структура записи: название магазина, его номер, адрес, фамилия директора. Выбрать информацию о магазинах, расположенных на улице П. Зори.

14

Сформировать файл, содержащий сведения о владельцах автомобилей: фамилия владельца, марка автомобиля, номер. Выбрать информацию о владельцах автомобилей, имеющих заданную марку автомобиля.

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ8. ОБРАБОТКА СИМВОЛЬНЫХ СТРОК

Цель работы:

1. Овладеть навыками составления алгоритмов и программ на языке С++по обработке символьных строк.

2. Научиться использовать встроенные функции для обработки строк.