Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algoritm.doc
Скачиваний:
42
Добавлен:
13.02.2015
Размер:
923.14 Кб
Скачать

Задание

Ввести текст программы Prg_proc с клавиатуры в системе Turbo Pascal. Сохранить файл в свою папку. Выполнить отладку программы. Дополнить программу процедурой вывода расчетной таблицы на принтер.

Пользуясь программой, рассчитать таблицу значений для следующих функций:

1.

y = exp(  ax2)

6.

y = ax;

2.

y = x /(sin(5x)+1,5)

7.

y = | cos(x)|;

3.

y = a  x2 + b  x + c

8.

y = x/(1-x2);

4.

y= , где -rxr

9.

y =  x;

5.

E = 1010 /

10.

y = 0,1xsin(x/0,5)

Тема 12 Записи

При организации хранения информации на ЭВМ требуется группировать данные разного типа, логически относящиеся к одному объекту. Например, целесообразно объединить данные об автомобиле и его владельце (номер, марка машины, год выпуска, цвет, фамилия владельца, его адрес) в одной структуре. Для этого в языке Pascal предназначен комбинированный тип, который называется запись. Записи могут использоваться в любых случаях, где желательно группировать логически связанные элементы в один блок.

Запись– это структурированный тип данных, состоящий из фиксированного числа компонентов разного типа. Определение типа начинается идентификаторомRecordи заканчивается ключевым словомend. Между ними заключён список компонентов, называемыхполями, с указанием идентификаторов полей и типа каждого поля.

Формат описания типа запись:

Type

<имятипа> = Record

<идентификатор поля>:<тип компонента>;

.......

<идентификатор поля>:<тип компонента>;

end;

Var

<идентификатор, ...> : <имя типа>;

Пример 1.

Type

avto = record

Nomer:string[6]; { Регистрационный номер }

Marka:string[15]; { марка автомобиля }

God:integer; { год выпуска }

Color: string[20]; { цвет }

Fam:string[20]; { фамилия владельца }

Adress:string[40]; { адрес владельца }

end;

Var

m,v:avto;

В данном примере запись avtoсодержит 6 компонентов: номер, марка машины, год выпуска, цвет, фамилия владельца, его адрес. Доступ к полям записи осуществляется через переменныеmиvтипаrecord.

Имя поля должно быть уникальным в пределах записи. Объём памяти, необходимый для хранения записи, складывается из длин полей.

Значения полей записи могут быть использованы в выражениях. Обращение к значению поля осуществляется с помощью составного имени, включающего идентификатор переменнойиидентификатор поля, разделённые точкой. Например, чтобы получить доступ к полям записиmтипаavto, надо записать:

m.nomer, m.marka, m.god, m.color, m.fam, m.adress.

Для присваивания полям записей значений используются оператор присваивания.

m.nomer:=’ав345х’;

m.marka:=’ВАЗ2110’;

m.god:=1995;

Составные имена можно использовать, в частности, в операторах ввода-вывода

Write(’Введите фамилию владельца автомобиля ’,m.nomer, ’ ’);

Readln(m.fam);

Допускается применение оператора присваивания к записям в целом, если они имеют один и тот же тип, например, m:=v. После этого значения полей записиmстанут равны значениям соответствующих полей записиv.

В ряде задач удобно пользоваться массивами из записей. Их можно описать, например, следующим образом:

Type

Person = record

Fam:string[20]; { фамилия сотрудника }

Pol:char; { Пол сотрудника }

Age:16..60; { возраст сотрудника}

Dolgnost: string[20]; { должность }

end;

Var

otdel:array [1..50] of Person;

Обращение к полям записей имеет несколько громоздкий вид, что особенно заметно при использовании идентификаторов длиной более 5 символов. Для решения этой проблемы применяется оператор with, который имеет следующий формат:

With <переменная типа record> do <оператор>;

Один раз указав имя переменной типа recordв оператореwith, далее в пределах блока<оператор>можно работать с именами полей, как с обычными переменными, то есть без указания перед идентификатором поля имени переменной, определяющей запись:

With Otdel[25] do

begin

fam:=’Васильев’;

Pol:=’М’;

Age:=45;

Dolgnost:=’Директор’;

end;

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]