Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения



Скачать 64.42 Kb.
Дата26.07.2014
Размер64.42 Kb.
ТипЛабораторная работа
Лабораторная работа №11

ЗАПИСИ
Цель работы:

Изучить принципы работы с записями.


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

Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. Очень часто возникает необходимость описать характеристики некоторого объекта, представляемого и обрабатываемого в программе. Таким объектом может быть человек, автомобиль, журнал и т.д. В отличие от массива, компоненты (поля) записи могут быть различного типа. Для описания объекта "карта" могут понадобиться, например, следующие характеристики:



  • фамилия (символьные строки);

  • имя (символьные строки);

  • возраст (целый тип).

Чтобы можно было ссылаться на то или иное поле записи, поля именуются.

Объявление записи начинается с зарезервированного слова record, за которым перечисляются имена и типы всех составляющих записей ее полей. Заканчивается объявление скобкой end



type karta = record d:\елена\автомех\2курс\основы алгоритмизации\appdata\алгоритм\images\pict47.gif

family: string[20];

name: string[15];

age: integer;

end;

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



karta.family:='Иванов';
karta.name:='Иван';
karta.age:=20;

Полями записи могут быть простые типы и структурированные (например, массивы или записи).


var z: record

pole1: string;

pole2: array [1..10] of byte;

end;
Begin
  for i:=1 to 10 do

   read (z.pole2[i]);



End.
Для использования набора с одинаковыми полями используются массивы записей.


Пример №1 объявить массив из десяти записей.
var A: array [1..10] of record

      fam: string;

      name: string;

   end;


Пример №2 Описать объект "автомобиль". Будем использовать следующие характеристики:

  • марка и тип кузова автомобиля (символьные строки);

  • год выпуска автомобиля (целый тип);

  • был ли капитальный ремонт (логический тип).

type auto = record

mark , typ : string [10];

date : integer;

remont : boolean

end;



var mashine : auto;



begin

mashine.mark: = 'volvo';

mashine.date = 1996;

mashine.typ: = 'car';

mashine.remont: = false;

writeln (mashine. mark);

writeln (mashine. date);

writeln (mashine.typ);

writeln (mashine. remont);

end.



Для переменных одного типа можно проверить выполнение отношения равенства или неравенства. Как и в случае массивов, допустимы операции сравнения = и <>.

Язык Турбо-Паскаль дает возможность сократить запись, если использовать оператор присоединения with. Структура оператора with:



with < сп. записей > do < оператор >

где with, do - ключевые слова



< сп. записей > – список из одной или нескольких переменных типа запись, разделенных запятыми.

< оператор > - любой оператор языка турбо-паскаля.

В рамках оператора, определяемого внутри оператора with (или составного оператора), к полям переменной можно обращаться просто по имени:



with mashine do

begin

mark: = 'volvo';

date: = 1996;

typ: = 'car';

remont: = false;

end;

В рамках составного оператора, следующего за with, каждое обращение к имени поля автоматически связывается с записью mashine. Оператор with позволяет более компактно представлять часто используемые переменные.

Так как на тип компонентов массива не накладывается ограничений, то можно образовать массив, компонентами которого являются записи.

var mashine : array [1..100] of auto;

Обращение к первому элементу массива: mashine [1].mark := 'ваз';

Чтение первого элемента: read (mashine [1].mark);

Как и в массиве, значения переменных и констант типа record можно присваивать другим переменным такого же типа: mashine[1]:=mashine[2];

Поле записи само может быть записью. В примере записи auto введем дату приобретения автомобиля.

type

auto = record

mark, typ : string[10];

date1 : record

den : integer;

mes : string[10];

god : integer;

end;

date : integer;

remont : boolean

end;

var mashine : auto;

При обращении к полю god необходимо продолжать уточнения: mashine.date1.god: = 1949;

В этом случае можно использовать оператор with следующим образом:

with mashine.date1 do

if god = 1944 then begin.....

Пример №3 Известны данные о 30-ти учениках: фамилия, класс и оценка по информатике. Определить фамилии учеников 9-х классов, имеющих оценку "5".
program qwe;

const n1=30;

type student = record

fam: string [15];

klass,ball : integer;

end;


var uchenik:array[1..n1]of student;

n,i:integer;

begin

writeln('сколько студентов в группе?');



read(n);

for i:=1 to n do

with uchenik[i] do

begin


writeln('введите фамилию студента');

read(fam);

writeln('введите класс студента');

read(klass);

writeln('введите оценку студента');

read(ball);

end;

for i:=1 to n do



with uchenik[i] do

begin


if (klass=9) and (ball=5) then writeln(fam);

end;


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

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

  2. Разобрать примеры программ

  3. Решить задачу по индивидуальному варианту

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

Варианты заданий:




Аргентов

Бабкин


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



Немов

Малов


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



Столяров

Тарасова


Даны названия 26-ти городов и стран, в которых они находятся. Среди них есть города, находящиеся в Италии. Напечатать их названия.



Гусарков

Семагина


Известны данные о 16-ти сотрудниках фирмы: фамилия и отношение в воинской службе (военнообязанный или нет). Напечатать фамилии всех военнообязанных сотрудников.



Алешин

Сергеева


Известны данные о сданной сессии 25 студентов: фамилия, имя, предмет, оценка. Определить фамилии тех студентов кто не сдал сессию



Попов

Болотнов


Известны сведения о высоте над уровнем моря 15-ти горных вершин. Все значения выражены в метрах. Напечатать названия вершин, чья высота превышает 3000 м над уровнем моря.



Кичигин

Дрюпина


Известны максимальные скорости 20-ти моделей легковых автомобилей. Все значения выражены в км/ч. Напечатать названия моделей, у которых максимальная скорость превышает 180 км/ч.



Курочкин

Борисов


Известны фамилии, адреса и телефоны 25-ти человек. Найти фамилии и адреса людей, чей телефон начинается с цифры 3. Телефон задан в виде семизначного числа;



Култышев

Сафиуллин



Известны фамилии, адреса и телефоны 25-ти человек. Найти фамилии и адреса людей, чей телефон начинается с цифры 3. Телефон задан в виде, аналогичном следующему: 268-50-59.



Тантай

Казаков


Известны данные о 25-ти учениках класса: фамилия, имя, отчество, адрес и домашний телефон, если он есть. Вывести на экран фамилию, имя и адрес учеников, у которых нет домашнего телефона. Телефон задан в виде семизначного числа;



Гостев

Ахмадиев


Известны данные о 25-ти учениках класса: фамилия, имя, отчество, адрес и домашний телефон, если он есть. Вывести на экран фамилию, имя и адрес учеников, у которых нет домашнего телефона. Телефон задан в виде, аналогичном следующему: 268-50-59.



Сайгушева

Каштанов


Известна информация о 30-ти клиентах пункта проката: фамилия, имя, отчество, адрес и домашний телефон. Известно также название предмета, взятого каждым из них напрокат (в виде: т — телевизор, х — холодильник и т. п.). Вывести на экран фамилию, имя и адрес клиентов, взявших напрокат телевизор.



Хусаинова

Салдушкин



Известны фамилии 25-ти человек, их семейное положение: женат (замужем) или нет, и сведения о наличии детей (есть или нет). Определить фамилии женатых (замужних) людей, имеющих детей.



Елистратова

Лисовцев


Известна информация о 20-ти сотрудниках фирмы: фамилия, имя, отчество, адрес и дата поступления на работу (месяц, год). Напечатать фамилию, имя, отчество и адрес сотрудников, которые на сегодняшний день проработали в фирме не менее трех лет.

Похожие:

Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №6 Основы работы с Direct3D 9 Цель работы: изучить принципы работы с Direct3d краткие теоретические сведения
В среде Microsoft Visual Studio подключение заголовочного файла Direct3d sdk проделывается следующим образом
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа по физике «Изучение закона Ома»
Цель работы: проверить закон Ома, изучить основные принципы работы цепи постоянного тока
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа Работа с массивами и компонентом StringGrid
Цель работы: Изучить способы объявления и использования массивов в языке С++; изучить понятие «указатель» и операции над указателями,...
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа 11 класс 2005 г. Цель работы: Исследовать взаимодействие
Цель работы: Исследовать взаимодействие параллельных токов, изучить возникающие вокруг проводников магнитные поля
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №3 исследование катушкек индуктивности цель работы Изучить принципы конструирования катушек индуктивности
Освоить практические методики расчета параметров и про­ектирования катушек индуктивности
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp описание работы
Лабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №2 Стандартные приложения Microsoft Windows. Архивация данных
Цель работы: ознакомиться с набором стандартных приложений Windows, изучить их назначение и особенности работы. Получить практические...
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №1 Определение температурного коэффициента объемного расширения спирта и ртути
Цель работы: изучить устройство и принцип работы контактных термометров. Определить температурный коэффициент объемного расширения...
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №13 пав фильтр
...
Лабораторная работа №11 записи цель работы: Изучить принципы работы с записями. Общие сведения iconЛабораторная работа №2 Металлографический микроскоп мим 7
Цель работы: изучить конструкцию, устройство и работу металлографического микроскопа, и научиться исследовать структуру металлов
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org