Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

delphi / задания к лабораторным / задание по лабораторной работе 08

.doc
Скачиваний:
43
Добавлен:
26.03.2016
Размер:
43.52 Кб
Скачать

Лабораторная работа 8

Программирование с использованием типа запись

Цель работы: познакомить с понятием запись; выработать навыки работы со структурой данных запись в языке программирования Pascal. научиться описывать тип record, уметь инициализировать переменные типа record, выводить на экран переменные типа record; научится решать задачи на использование записей

Общие сведения

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

Перед выполнением работы необходимо изучить правила описания и использования записей, типизированных констант типа запись, оператора присоединения with.

Задания

  1. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). а) Найти число пассажиров, имеющих более двух вещей и число пассажиров, количество вещей которых превосходит среднее число вещей. б) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг. в) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи.

  2. Дана ведомость абитуриентов, сдавших вступительные экзамены в университет (ФИО, оценки по трем экзаменам, место жительства). Определить количество и вывести списки абитуриентов со средним баллом не менее 6, фамилии которых начинаются с буквы А.

  3. В деканате хранится информация о летней сессии на 1 курсе (фамилия, номер группы, оценка 1 по математике, оценка 2 по физике, оценка 3 по программированию). Составить программу, выводящую фамилии студентов, сдавших экзамены на 10 и 9, название предмета, который был сдан лучше всего, номера групп в порядке убывания средней успеваемости их студентов.

  4. Указано: название игрушки, стоимость, возрастные границы. Получить следующие сведения: 1) названия игрушек, цена которых меньше 10 тыс. руб.; 2) название игрушек, которые подходят как детям 4 лет, так и детям 10 лет; 3) можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так, чтобы стоимость игрушек не превосходила 20 тыс. руб.

  5. После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, что окончил. Составить программу, определяющую: 1) сколько человек нуждаются в общежитии; 2) списки студентов, проработавших 2 и более года; 3) списки уже имеющих высшее образование.

  6. Описать, используя структуру данных запись, данные на студентов (фамилия, улица, дом, квартира). Составить программу, определяющую сколько студентов живет на улице Свердлова, списки студентов, живущих в доме номер 45.

  7. Дана ведомость абитуриентов, сдавших вступительные экзамены в университет (ФИО, оценки по трем экзаменам, место жительства). Определить количество абитуриентов, средний балл которых выше среднего балла по институту. Вывести список поступающих, причем первыми в списке идут абитуриенты, сдавшие все экзамены на 10(9).

  8. В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: 1) сколько заказов было не удовлетворено; 2) кто чаще всего берет книги; 3) кому выдали книги 15.09.90; 4) сколько человек заказывали книги 25.04.90.

  9. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). а) Найти число пассажиров, имеющих более трех вещей. б) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 1 кг. г) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом менее 30 кг.

  10. Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: 1) сколько посылок отправлено в г. Москву; 2) сколько и куда (список городов) отправлено посылок ценностью выше 100 тыс. рублей; 3) есть ли адреса, куда отправлено более 1 посылки, если есть то сколько и кому.

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

  12. Дана ведомость абитуриентов, сдавших вступительные экзамены в университет (ФИО, оценки по трем экзаменам, место жительства). Определить количество и вывести списки абитуриентов, проживающих в городе Минске и получивших хотя бы одну оценку «10».

  13. На олимпиаде по программированию на студентов заполнялись анкеты: фамилия, наименование ВУЗА, группа, занятое место. Вывести: 1) списки ВУЗов, занявших призовые места; 2) какой из ВУЗов заняла больше всех призовых мест; 3) списки студентов, занявших первое место, указать их группу.

  14. В деканате хранится информация о зимней сессии на 1 курсе (фамилия, номер группы, оценка 1 по математике, оценка 2 по физике, оценка 3 по программированию). Составить программу, выводящую фамилии студентов, имеющих задолженность хотя бы по одному предмету, качество успеваемости, процент студентов, т.е. сдавших экзамены на 4 и 5, номера групп в порядке убывания средней успеваемости их студентов.

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

  16. Указано: название игрушки, стоимость, возрастные границы. Получить следующие сведения: 1) название игрушек, цена которых не превышает 10 тыс. руб. и которые подходят детям до пяти лет; 2) цену самого дорогого конструктора; 3) названия игрушек, цена которых превышает 100 тыс. руб.

Контрольные вопросы

  1. Как описываются переменные типа запись?

  2. В каких случаях целесообразно использовать переменные типа запись?

  3. Из каких компонентов состоит переменная типа запись?

  4. Каково назначение оператора with?

  5. Какие операции допустимы над полями записи?

  6. В чем отличие записей от массивов?