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

Цель работы

14.1.1 Составление программ с использованием переменных типа запись

14.1.2 Отладка программы и контрольный просчет.

Приборы и оборудование

14.2.1 Free Pascal

14.2.2 ПЭВМ IBM PC/XT

14.2.3 Microsoft Word

14.2.4 Задание на выполнение работы в электронном варианте.

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

14.3.1 Выберите номер варианта, согласно списка в учебном журнале (Приложение А).

14.3.2 Составьте программу, используя язык программирования Free Pascal

14.3.3 Составьте программу, используя команды для переменных типа запись

14.3.4 Отладить программу с использованием контрольного примера (значения переменных задайте сами).

14.3.5 Результаты работы распечатайте на принтере.

14.3.6 Оформите лабораторную работу для сдачи преподавателю

14.3.7 Ответьте на контрольные вопросы устно

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

14.4.1 Что такое запись?

14.4.2 Как осуществляется доступ к элементам записи?

14.4.3 Как добиться, чтобы не выписывать каждый раз имя записи при обращении к ее полям?

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

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

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

14.4.7 Каково назначение оператора WITH?

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

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

Приложение А

Номер варианта Выражение
1.1 Дана ведомость абитуриентов, сдавших вступительные экзамены в АКВТ. В каждой строке данной ведомости записана фамилия абитуриента, его постоянное местожительство и полученные им оценки по отдельным дисциплинам. Необходимо определить количество абитуриентов, проживающих в городе Астрахани и сдавших экзамены со средним баллом не ниже 4, распечатать их фамилии в алфавитном порядке. 1.2 Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). a) Найти багаж, средний вес одной вещи в котором отличается не более, чем на 0.3 кг от общего среднего веса одной вещи
2.1 В справочной аэропорта хранится расписание вылета самолета на следующие сутки. Для каждого рейса указаны его номер, тип самолета, пункт назначения, время вылета. Определить все номера рейсов, типы самолетов и времена их вылета для заданного пункта назначения. 2.2 Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). a) Найти число пассажиров, имеющих более двух вещей и число пассажиров, количество вещей которых превосходит среднее число вещей
3.1 Распечатать список спортсменов, фамилии которых начинаются на букву «В», с указанием даты их рождения 3.2 Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). a) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.
4.1 Из данного списка спортсменов распечатать сведения о тех из них, кто занимается плаванием. Указать возраст, сколько лет они занимаются спортом 4.2 Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
5.1 Вычислить средний балл студентов группы, если известны оценки каждого студента по математике, русскому языку и физике. Распечатать список студентов, имеющих средний балл выше среднего в классе. 5.2 Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). a) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом менее 30 кг.
6.1 Распечатать фамилии рабочих бригады, начинающихся с букв «А» и «С», с указанием их месячной зарплаты. 6.2 После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: - сколько человек нуждаются в общежитии
7.1 Из ассортимента конфет, выпускаемых кондитерской фабрикой, выбрать те, стоимости которых от 30 до 55 руб. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в продаже. 7.2 После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: - списки студентов, проработавших 2 и более лет учителем
8.1 Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать также, сколько лет они занимаются музыкой и принимали ли участие в каких-либо конкурсах. 8.2 После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: - списки окончивших педучилище
9.1 Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности 9.2 После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: - списки языковых групп.
101 Распечатать фамилии тех студентов, которые не получили ни одной тройки за последний семестр. В каких группах учатся эти студенты? Каков средний балл 10.2 Описать, используя структуру данных запись, данные на учеников (фамилия, улица, дом, квартира). Составить программу, определяющую сколько учеников живет на улице Свердлова, списки учеников, живущих в доме номер 45.
11.1 Распечатать фамилии детей данного детского сада, которые родились в определенном месяце; указать их возраст и группу 11.2 В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: самый маленький срок, за который нашли книгу
12.1 Распечатать список тех преподавателей АКВТ, которые преподают математику и информатику, указать стаж их работы и недельную нагрузку 12.2 В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: сколько заказов было не удовлетворено.
13.1 Задана ведомость абитуриентов, сдавших вступительные экзамены в институт. В каждой строке данной ведомости записана фамилия абитуриента, специальность, на которую он поступает, и полученные им оценки по отдельным дисциплинам. Необходимо определить количество абитуриентов сдавших экзамены со средним баллом не ниже 4, распечатать их фамилии и специальность. 13.2 В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: кто чаще всего берет книги
14.1 В справочной аэропорта хранится расписание вылета самолетов на следующие сутки. Для каждого рейса указаны номер рейса, тип самолета, пункт названия, время вылета. Имеются справочники по расстояниям между всевозможными пунктами назначения и по расходу горючего на тысячу километров для каждого типа самолета. Данная программа должна формировать заявку на горючее на следующий день (количество в тоннах). 14.2 В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: кому выдали книги 15.09.90
15.1 У администратора железнодорожных касс хранится информация о свободных местах в поездах по всем направлениям на ближайшую неделю. Данная информация представлена в следующем виде: дата выезда, номер рейса, конечный пункт назначения, время отправления, число свободных купейных мест, число свободных плацкартных мест. Программа должна выдавать информацию об имеющихся мест по каждому рейсу и каждому типу мест (купейные или плацкартные). 15.2 В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить: сколько человек заказывали книги 25.04.90.
16.1 Написать программу для хранения информации об успеваемости студентов за семестр. Необходимо хранить номер группы, фамилию студента, оценки за последнюю сессию. Программа должна распечатывать списки студентов по группам с указанием среднего балла каждого за последнюю сессию. 16.2 Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: сколько посылок отправлено в г.Самару
17.1 В магазине имеется список лиц, записавшихся на покупку мебельного гарнитура. Каждая запись этого списка содержит порядковый номер, фамилию, домашний адрес покупателя и дату постановки на учет. Программа должна по запросу пользователя выдавать информацию об общем числе записавшихся в каждом микрорайоне города (определять по названию улицы), 17.2 Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: сколько и куда (список городов) отправлено посылок ценностью выше 10 рублей;
18.1 В бюро по занятости населения (трудовой биржи) ведется список вакантных рабочих мест на предприятиях города. Каждая запись такого списка содержит следующую информацию: наименование организации, местоположение организации (в километрах от центра города), наименование должности, требуемая квалификация (разряд или образование), требуемый стаж работы по специальности, заработная плата в месяц, наличие социального страхования (да или нет), продолжительность ежегодного оплачиваемого отпуска. Клиент бюро вводит информацию о своей квалификации и требования (например, максимальная удаленность от центра города). Распечатывать для каждого клиента список рабочих мест в соответствии с его требованиями. 18.2 Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую: есть ли адреса куда отправлено более 1 посылки, если есть то сколько и кому
19.1 В библиотеке имеются книги, газеты, журналы. Для каждого печатного издания указать: - название, - год выпуска (для книги), дату выпуска (для газет и журналов), - автора (для книги), редактора (для газеты), состав редколлегии (для журналов); - объем. Вывести информацию об изданиях, вышедших в заданном году. 19.2 Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить программу, определяющую общее время простоя на заводе, списки станков, не имеющих простоя, относительное время простоя всех и каждого станка
20.1 В столовой предлагается несколько комплексных обедов, состоящих из нескольких блюд. Известна стоимость и калорийность каждого блюда. Сколько стоит самый дешевый и самый дорогой обед? Сколько калорий включает в себя самое калорийное блюдо? 20.2 В школе было три 9 класса, в августе каждый классный руководитель имел сведения о своих учениках: фамилия, куда поступал, поступил или нет. Определить сколько учеников хотели пойти в 10 класс, кто хотел поступать в училище и техникум, кто поступил в училище или техникум, сколько учеников будет учится в 10 классе, сколько необходимо создать 10 классов и по сколько человек.
21.1 Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности. 21.2 На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: списки школ, занявших призовые места; 2) какая из школ заняла больше всех призовых мест.
22.1 Распечатать анкетные данные учеников, участвовавших в олимпиаде по информатике и заработавших не менее 30 баллов. 22.2 На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: какая из школ заняла больше всех призовых мест.
23.1 По данным сведениям об учениках класса определить среднюю массу мальчиков и средний рост девочек. Кто из учеников класса самый высокий? 23.2 На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать: списки учеников занявших первое место, указать их класс.
24.1 Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии, имена и подсчитать общее число жителей, родившихся после 1990 года. 24.2 В деканате хранится информация о зимней сессии на 1 курсе (фамилия, номер группы, оценка 1 по геометрии, оценка 2 по алгебре, оценка 3 по информатике). Составить программу, печатающую фамилии студентов, имеющих задолженность хотя бы по одному предмету, качество успеваемости, процент студентов, т.е. сдавших экзамены на 4 и 5, название предмета, который был сдан лучше всего, номера групп в порядке убывания средней успеваемости их студентов.
25.1 При поступлении в университет лица, получившие оценку «неудовлетворительно» на первом экзамене, ко второму экзамену не допускаются. Считая фамилии абитуриентов и их оценки после первого экзамена исходными данными, составить список абитуриентов, допущенных ко второму экзамену. 25.2 В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу которая печатает номер курса, на котором наибольший процент мужчин, отчество и возраст которых являются одновременно самыми распространенными.
26.1 Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила: - если все оценки 5, назначается повышенная стипендия; - если все оценки 4 и 5, назначается обычная стипендия; - если есть оценка 3, стипендия не назначается. В результате работы программы должен быть напечатан список группы с оценками и средним баллом каждого студента и два списка фамилий ( назначенных на повышенную и обычную стипендию). 26.2 В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу которая печатает номер курса, на котором самые распространенные мужские и женские имена, отчество и возраст которых являются одновременно самыми распространенными.
27.1 На аптечном складе хранятся лекарства. Сведения о лекарствах содержатся в специальной ведомости: наименование лекарственного препарата; количество; цена; срок хранения (в месяцах). Выяснить, сколько стоит самый дорогой и самый дешевый препарат; сколько препаратов хранится на складе; какие препараты имеют срок хранения более 3 месяцев; сколько стоят все препараты, хранящиеся на складе. 27.2 В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения: название игрушек, цена которых не превышает 4 руб. и которые подходят детям до пяти лет
28.1 Торговый склад производит уценку хранящейся продукции. Если продукция хранится на складе дольше положенных месяцев, то она уценивается в 2 раза, а если срок хранения превысил несколько месяцев, но достиг максимального, то - в 1,5 раза. Ведомость уценки товаров должна содержать следующую информацию: Наименование товара, количество товара, цена товара до уценки, срок хранения товара; цена товара после уценки, общая стоимость товаров после уценки. Выяснить максимальный и минимальный сроки хранения товаров на складе; максимальную и минимальную цену товаров до уценки и после уценки. 28.2 В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения: цену самого дорогого конструктора
29.1 Несколько спортсменов - многоборцев принимают участие в соревнованиях по нескольким видам спорта. По каждому виду спорта спортсмен набирает определенное количество очков. Вычислить, сколько очков в сумме набрал каждый спортсмен после окончания соревнований. Вычислить разницу в очках для спортсменов, занявших первое и последнее места. 29.2 В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения: названия наиболее дорогих игрушек, цена которых отличается от цены самой дорогой игрушки не более, чем на 1 руб.
30.1 Несколько учеников проходили тестирование, выполнив несколько тестов по какому – либо предмету. Сколько очков набрал каждый ученик по всем темам? Вычислить средний балл, полученный учениками, и разницу между лучшим результатом и средним баллом 30.2 В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения: название игрушек, которые подходят как детям 4 лет, так и детям 10 лет

Работа с файлами

Цель работы

15.1.1 Составление программ с использованием переменных файлового типа

15.1.2 Отладка программы и контрольный просчет.

Приборы и оборудование

15.2.1 Free Pascal

15.2.2 ПЭВМ IBM PC/XT

15.2.3 Microsoft Word

15.2.4 Задание на выполнение работы в электронном варианте.

Порядок выполнения работы

15.3.1 Выберите номер варианта, согласно списка в учебном журнале (Приложение А).

15.3.2 Составьте программу, используя язык программирования Free Pascal

15.3.3 Составьте две программы, используя команды для переменных типа файлы:

- первая программа должна создать файл;

- вторая программа должна использовать сформированный файл

15.3.4 Отладить программу с использованием контрольного примера (значения переменных задайте сами).

15.3.5 Результаты работы распечатайте на принтере.

15.3.6 Оформите лабораторную работу для сдачи преподавателю

15.3.7 Ответьте на контрольные вопросы устно

Примечание: при работе составьте две программы:

- создание файла и запись его на диск;

-использование записанного файл, читая его с диска

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

15.4.1 Что такое файл?

15.4.2 Какие существуют виды файлов?

15.4.3 Перечислите установочные операции над файлами

15.4.4 Перечислите завершающие операции над файлами

15.4.6 Чем отличаются операции открытия файлов при чтении и записи?

Приложение А

Наши рекомендации