Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога.docx
Скачиваний:
1
Добавлен:
28.10.2018
Размер:
96.22 Кб
Скачать

19. Записи

Структура записи в Паскале.Записи являются структурированным типом данных. Они состоят из компонент, имеющих в общем случае разные типы. Компонент записи называется полем и обозначается идентифика­тором - именем поля. Описание записей возможно с применени­ем типов или в разделе описания переменных: type<имя типа> = record <идентификатор поля 1>: тип 1; <идентификатор поля 2>: тип 2;.....<идентификатор поля к>: тип к; end; var <идентификатор>:<имя типа>; <идентификатор>:record <идентификатор поля 1>: тип 1; <идентификатор поля 2>: тип 2;<идентификатор поля к>: тип к; end;В секции могут перечисляться несколько имен полей одного типа. Тип поля может быть любым, кроме файлового.К каждому компоненту записи можно обратиться, используя имя переменной типа записи и имя поля, разделенные точкой: <идентификатор>. <имя поля>. При обращении к элементу массива записей, индекс указывается после имени массива: <идентификатор массива>[индекс].<имя поля>Введение в Паскале такого типа вызвано необходимостью описания реального объекта в целом. Пример 1. Описание времени и даты.type time = record hour:l.-12; minute:0..59; end;var tl,t2:time; date : record day:l..31; month:0..12; year:word end;К компонентам записи можно обратиться, например; tl.hour, t2.minute, date.month. Над компонентами записи определены операции, допустимые для соответствующего типа. Оператор присоединения Обращение к элементам записи их полным именем громоздко. Этот недостаток устраняют с помощью оператора присоединения with. Формат оператора:with R do SI; где R - имя переменной записи, a S1 - тело оператора при­соединения. Внутри него выборка поля переменной R может быть обозначена просто именем этого поля.

20. Процедуры. Процедуры без параметров. Параметры- значения.

При решении сложных объемных задач часто целесообраз­но разбивать их на более простые. В этом случае говорят о вспо­могательных алгоритмах или подпрограммах. Использование подпрограмм позволяет сделать основную программу более на­глядной, понятной, уменьшить вероятность ошибок и облегчить процесс отладки программы, а в случае, когда одна и та же по­следовательность команд встречается в программе несколько раз, сократить объем программы.Подпрограмма - это поименованная последовательность операторов, которую можно многократно вызывать для исполне-1 ния в любом месте программы. При обращении к подпрограмме в нее передаются исходные данные, а после выполнения операто- ров подпрограммы передаются в основную программу результа­ты расчетов. В языке Паскаль существует два вида подпрограмм, определяемых программистом: процедуры и функции, которые отличаются способом использования в программе. Процедуры и функции, используемые в программе, должны быть соответствующим образом описаны в разделе описаний до первого их упоминания. Процедуры и функции, входящие в программу, мо­гут содержать свои подпрограммы и вызвать процедуры и функ-ции более низкого уровня и т.д. ПроцедурыПроцедурой в Паскале называется именованная последова­тельность инструкций, реализующая некоторое действие. В нуж­ное место программы процедуру вызывают с помощью оператора вызова. После выполнения процедуры программа перейдет к вы­полнению оператора, следующего за оператором вызова. Формат описания процедуры:Рrocedure<Имя процедуры>(<форм. параметры>); <Раздел описаний> Begin<Тело процедуры> End;Формальные параметры — перечень имен для обозначения исходных данных и результатов работы процедуры, используе­мых для описания процедуры, с указанием их типов.Раздел описаний может иметь такие же подразделы, как и раздел описаний основной программы. Однако все описанные здесь объекты доступны лишь в этой процедуре. Они локальны так же, как и имена формальных параметров. Объекты, описан­ные ранее в разделе описаний основной программы и не переоп­ределенные в процедуре, называются глобальными для этой под­программы и доступны для использования. Формат оператора вызова: <имя процедуры> (<фактические параметры>) ;Фактические параметры - данные, с которыми выполняется процедура. Между формальными и фактическими параметрами должно быть соответствие по количеству, типу и порядку следо­вания. Процедуры могут быть без параметров, например, Proce­dure Р11; . При описании процедур без параметров использу­ются глобальные переменные. Процедура - это (как и функция) некоторый независимый вспомогательный алгоритм (или имеющая имя часть программы), к которому можно обращаться для выполнения указанной в нем по­следовательности операций. Однако, в отличие от функции, ре­зультат исполнения процедуры либо вовсе не возвращается в основной алгоритм, либо передается в него как значения не­скольких его параметров. Поэтому процедура не может входить в выражение как операнд. Пример: процедуры ввода данных с кла­виатуры и вывода данных на экран монитора.