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

17.Комбинированный тип данных языка Паскаль. Форма описания записей. Работа с записями.

тип запись-это список описаний элементов записи

Комбинированные типы, как и регулярные типы, представляют собой правило формирования составных типов. Объекты этого типа называются записями. В отличие от массивов, записи могут объединять значения различных типов и поэтому являются, видимо, наиболее гибким механизмом построения данных.  Запись состоит из фиксированного числа компонентов, называемых полями записи. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются. Структура объявления типа записи такова: <имя типа> = RECORD <список полей> END Здесь: <имя типа> - правильный идентификатор; RECORD, END - зарезервированные слова (запись, конец); <список полей> - этот список представляет собой последовательность разделов записи, между которыми ставится точка с запятой. Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором (идентификаторами) ставится двоеточие и описание типа поля (полей).

Например: Type  Birthday = record day, month: byte; year: word end; Var a, b: Birthday;

(переменные A и B содержат записи типа Birthday)

====

type <> = record <имя поля 1> : <тип поля 1>; . . . <имя поля n> : <тип поля n>; end;

18. Подпрограммы в языке Паскаль. Назначение подпрограмм. Процедуры и функции. Передача параметров. Область действия имен.

Подпрограмма-именнованная часть программы Позволяет сделать программу более компактной уменьшить объем используемой памяти сократить время отладки

При вызове под программы прграмма переходит к выполению операторов подпрограммы

Структура подпрограмы: 1)такая же как основная 2) информация необходимая для вызова 3)описание локальных переменных 4)набор операторов function <имя>(список параметров) : <тип функции>; Тело подпрограммы

При написании программ имеющих вложенные подпрограммы нужно использовать следующие правила: Описывать имена переменных в том блоке где они используются Если переменная должна сохранять значение после выхода нужно описывать в самом внещнем блоке Каждый вызываемый блок должен быть описан до его вызова

Механизм параметров: в заголовке подпрограммы указывается список формальных параметров При вызове подпрограммы нужно выполнить следующее правило, соответствие типов и количество формальных параметров

19.Предварительное и внешнее описание подпрограмм в языке Паскаль. Рекурсия.

Существуют случаи когда требуется использовать подпрограммы до того как она будет описанна Forward-- Вместо частей объявлений и операторной, объявление функции может содержать директивы Forward

Подпрограмма или группа подпрограмм разработаная вне Паскаля, а ее нужно использовать в этом случае использовать ее внешнее описание Нужно сделать объектный файл

Для подключения внешних подпрограмм используется объектный файл *.OBJ External {$L *.OBJ}

В Паскале на рекурсивный вызов ограничений не существует, но каждый рекурсивный вызов приводит к локальной копии переменной

20.Распределение памяти для переменных. Процедурный тип данных в языке Паскаль.

Основное назначение процедурных типов - дать программисту гибкие средства передачи функций и процедур в качестве фактических параметров обращения к другим процедурам и функциям. Для объявления процедурного типа используется заголовок процедуры (функции), в котором опускается ее имя, например: type Proc1 = Procedure (a, b, с: Real; var d: Real); Proc2 = Procedure (var a, b); РгосЗ = Procedure; Func1 = Function: String; Func2 = Function (var s: String): Real; Как видно из приведенных примеров, существует два процедурных типа: тип-процедура и тип-функция.

Правила работы с переменными процедурного типа: 1)Дальний вызов {$F} 2)Подпрограмма присваивающее значение переменной процедурного типа не должна быть стандартного типа 3)Подпрограмма не должна быть вложенной и быть подпрограммой специального типа

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