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

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

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




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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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