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

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

Лабораторная работа №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; просмотров: 1816. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

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