Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






 

Тема: Разработка программ с использованием множеств и записей.

Цель работы: познакомиться с понятием «запись», научиться применять записи в составлении программ.

 

Теоретические сведения

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

TYPE

< имя записи >=

RECORD

< имя поля 1 > : < тип >

< имя поля 2 > : < тип >

…………………………

< имя поля N > : < тип >

END;

Например, для решения задачи определения среднего балла, имея данные по пяти дисциплинам для конкретного студента, запись может иметь вид:

TYPE

STR =

RECORD

FAM: STRING[20];

B1, B2, B3, B4, B5 :1..5;

SB : REAL;

END;

Здесь FAM обозначает строку символов для хранения фамилии студента, В1, B2, B3, B4, B5 – баллы по соответствующим дисциплинам, SB – средний балл. Переменная типа STR имеет смысл записи, содержащей информацию об одном студенте.

Если требуется хранить информацию не по одному студенту, а по 25, то можно ввести массив записей TBL:

VAR

TBL: ARRAY [1..25] OF STR;

Обращение к полям записи осуществляется посредством составного имени:

<имя переменной-записи>.<имя поля>

Возможны, например, такие операторы присваивания :

TBL[ 3 ].FAM:= “Иванов”;

TBL[ 20 ].B2:=5;

TBL[ K+1 ].SB:=4.666;

Имена компонент внутри записи не должны повторяться. Значения записи можно пересылать в другие переменные – записи с помощью операторов присваивания. Возвращаясь к рассмотренному примеру, можно записать:

TYPE

STR=

RECORD

FAM : STRING[20];

B1, B2, B3, B4, B5 :2..5;

SB : REAL

END;

VAR Z1, Z2 : STR;

BEGIN

- - - - - - - -

Z1:=Z2;

Указанный в программе оператор присваивания эквивалентен следующим операторам :

Z1.FAM := Z2.FAM;

Z1.B1 := Z2.B2;

Z1.B2 := Z2.B2;

Z1.B3 := Z2.B3;

Z1.B4 := Z2.B4;

Z1.B5 := Z2.B5;

Z1.SB := Z2.SB;

При обращении к компонентам записи мы сталкиваемся с необходимостью указать в отдельных операторах составных имён, что приводит к удлинению программы и излишней громоздкости. Для устранения этого неудобства в языке Паскаль используется оператор WITH, который позволяет осуществлять доступ к компонентам записи таким образом, как если бы они были простыми переменными.

Общий вид оператора:

With < имя записи > do

< оператор >;

Внутри оператора к компонентам записи можно обращаться только с помощью имени компоненты.

 

Задание

Взять задание из таблицы 1 согласно варианту и составить программу.

 

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

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

2. Из чего состоит запись?

3. Как находятся компоненты массива записей?

4. Общий вид и принцип работы оператора WITH?

5. Каким образом работает алгоритм упорядочивания списка?

 

Литература.

1.Новичков В.С. Паскаль - В.С. Новичков, Н.И. Парфилова, А.Н. Пилькик. - М.: Высш. школа, 1990-223с.

2.Боон К. Паскаль для всех.

 

Таблица 1

Вариант Задание
1. Спишите запись АНКЕТА и поместите в неё следующую информацию: Ф.И.О. (фамилия, имя, отчество), адрес (улица, номер дома, номер квартиры), пол, возраст. Определите, сколько лиц женского и сколько лиц мужского пола проживают по одной улице.
2. Воспользовавшись записью из варианта номер 1, определить сколько лиц женского и сколько мужского пола проживает в одном доме.
3. Воспользовавшись записью АНКЕТА из варианта номер 1, определить сколько лиц мужского пола в возрасте сташе 18 лет и младше 60 проживают по одной улице.
4. Воспользовавшись записью АНКЕТА из варианта номер 1, определить сколько детей до 17 лет включительно проживает в одном доме.
5. Воспользовавшись записью АНКЕТА из варианта номер 1, определить сколько детей до7 лет проживает по одной улице.
6. Воспользовавшись записью АНКЕТА из варианта номер 1, определить сколько лиц женского пола старше 55 лет проживает в одном доме.
7. Опишите запись СТУДЕНТ и поместите в неё следующую информацию: Ф.И.О., оценки (математика, физика, черчение, химия, сопромат ). Определите, сколько студентов имеют неудовлетворительную оценку хотя бы по одному предмету.
8. Воспользовавшись записью СТУДЕНТ из варианта 7, определить сколько студентов имеет неудовлетворительную оценку по математике.
9. Воспользовавшись записью СТУДЕНТ из варианта 7, определить сколько студентов сдали все экзамены на 5.
10.   Воспользовавшись записью СТУДЕНТ из варианта 7, определить средний бал группы по физике.
11. Воспользовавшись записью из варианта 7, определить количество отличных оценок, полученных группой по всем предметам.
12. Воспользовавшись записью из варианта 7, определить какое количество студентов имеет средний бал от 4 до 5.
13. Воспользовавшись записью из варианта 7, определить какое количество неудовлетворительных оценок получено по всем предметам.
14. Воспользовавшись записью из варианта 7, определить какой из предметов был сдан группой лучше всего.
15. Воспользовавшись записью из варианта 7, определить какой процент студентов не имеет задолженностей.
16. Опишите запись ТРАНСПОРТ и поместите в неё следующую информацию: рейс(номер рейса). Ф.И.О.(Фамилия, имя, отчество пассажира), багаж (количество вещей), вес (в кг.). Определить число пассажиров, вес вещей которых превышают 20 кг.
17. Воспользовавшись записью ТРАНСПОРТ, из варианта 16 определить, имеется ли пассажир, багаж которого состоит из одной вещи весом меньше 20 кг.
18. Воспользовавшись записью ТРАНСПОРТ, из варианта 16 определить, средний вес багажа.
19. Воспользовавшись записью ТРАНСПОРТ, из варианта 16 определить, количество пассажиров, вес багажа которых превосходит средний.
20. Воспользовавшись записью ТРАНСПОРТ, из варианта 16 определить, количество пассажиров, имеющих более двух вещей.

 

 







Дата добавления: 2015-09-15; просмотров: 1423. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

Studopedia.info - Студопедия - 2014-2022 год . (0.023 сек.) русская версия | украинская версия