
- •2.Строки переменной длины. Короткие и длинные строки. Формат задания. Представление в памяти. Операции, определенные над строковыми данными переменной длины.
- •1) Строковым переменным могут быть присвоены значения строковых
- •3.Процедуры и функции, определенные над строками переменной длины. Пример.
- •2) Insert (St1, St2, Poz) Вставляет строку St1 в строку St2, начиная с позиции Poz. Если значение
- •3) Str (I, St) Преобразует числовое значение величины I и помещает результат в строку St. Величина I должна иметь целочисленный или вещественный тип.
- •4) Val (St, I, Cod) Преобразует значение St в величину целочисленного или вещественного
- •4.Процедуры. Синтаксис объявления процедур. Вызов процедуры. Организация связи по данным при использовании процедур без параметров.
- •X1, y1, x2, y2, d: Real; {Объявление глобальных переменных}
- •X1, y1, x2, y2 – координаты первой и второй точек}
- •5.*Виды формальных параметров подпрограмм. Параметры-значения. Назначение, синтаксис. Механизм организации взаимосвязи с фактическими параметрами при использовании параметров-значений.
- •X1, y1, x2, y2, d: Real; {Объявление глобальных переменных}
- •7*Параметры без типа. Назначение, синтаксис. Способы обеспечения совместимости с фактическими параметрами.
- •8*Параметры процедурного типа. Назначение, синтаксис. Условия совместимости с фактическими параметрами. Пример.
- •9.Функции. Описание функций. Вызов функции.
- •10.Использование производных типов в качестве параметров подпрограмм. Открытые массивы.
- •11.Рекурсивные подпрограммы. Виды рекурсии. Достоинства и недостатки рекурсивной записи подпрограмм. Явная рекурсия.
- •12.Директива Forward. Неявная рекурсия.
- •13.Записи. Синтаксис задания. Записи без вариантной части. Операции над записями и над полями.
- •14.Записи с вариантами. Синтаксис задания. Особенности задания записей с полем признака и без него.Записи, содержащие только общую часть, имеют строго определенную структуру.
- •15.Оператор присоединения. Назначение. Формат. Полная и сокращенная формы оператора присоединения. Примеры использования.
- •I1, i2, I: Set Of 1..10; {Используется задание базового типа}
- •17.Множественные выражения. Операции и встроенные процедуры над множествами. Ввод-вывод множественных переменных.
- •If b In Mn Then {Анализ вхождения очередного значения базового
- •18. Типизованные константы-записи (с вариантами и без) и константы-множества. Назначение. Синтаксис задания. Примеры использования.
- •19.Файлы. Логический и физический файл. Способы доступа к элементам файла. Типы файлов. Синтаксис задания.
- •4)Nul – нулевое устройство. Для него при выводе не осуществляется никаких действий. При попытке чтения возникает ситуация конца файла.
- •6)‘’ – Использование пустой строки вместо имени Name. В этом случае файловая переменная f связывается с Con (по аналогии с пунктом а)).
- •1) Процедура Assign
- •3) Процедура Write (f, v1 [, v2, … , vn])
- •5) Процедура Read (f, V [, v2, …, vn])
- •6) Функция Eof(f) (End Of File) – служит для определения факта выхода при чтении за пределы файла.
- •7) Процедура Seek (f, n)
- •9) Функция Filesize(f) Функция Filesize(f) – возвращает текущий размер файла (число элементов
- •10) Процедура Close (f)Процедура Close (f) – предназначена для закрытия открытого файла f.
X1, y1, x2, y2, d: Real; {Объявление глобальных переменных}
N, I: Integer; {Объявление глобальных переменных}
{Процедура с параметрами-значениями}
Procedure Rast2 (Xx1, Xx2, Yy1, Yy2: Real); {Xx1, Xx2, Yy1, Yy2 –
параметры-значения типа Real}
Begin
D := Sqrt (Sqr (Xx1 - Xx2) + Sqr (Yy1 - Yy2)) {D – глобальная
переменная}
End;
{Вызывающая программа}
Begin
Writeln (‘Введите количество пар точек’);
Readln (N);
For I:=1 To N Do
Begin
Readln (X1, X2, Y1, Y2);
Rast2 (X1, X2, Y1, Y2); {Оператор вызова процедуры Rast2}
Writeln (D);
End
End.
Данная программа выполняет те же вычисления, что и предыдущая (см.
пример 1). Однако для вычисления расстояния между точками используется
процедура Rast2 с параметрами-значениями Xx1, Xx2, Yy1, Yy2. Для
представления результата работы процедуры применена глобальная переменная
13
D, поскольку данный результат должен быть передан в вызывающую
программу.
6.*Параметры-переменные и параметры-константы. Выходные параметры Назначение, синтаксис. Механизм организации взаимосвязи с фактическими параметрами при использовании параметров-переменных, параметров-констант и выходных параметров.
Параметры-переменные-группа параметров, перед которыми стоит зарезервированное слово var и за которым следует тип.Предназначается как для передачи в подпрограмму так и для передачи из подпрограммы результата ее вычислений.Фактическим параметром может быть только переменная того же типа что и тип формального параметра,поэтому в подпрограмму передается адрес этой переменной;поэтому подпрограмма может использовать и изменять значения этой переменной и передавать в основную программу выработанные ею результаты.Изменение формального параметра подпрограммы приводит к изменению соответствующего фактического параметра. Параметры-константы - это группа параметров, перед которой стоит зарезервированное слово Const и за которой следует тип. При их использовании
в подпрограмму передается адрес фактического параметра.Язык запрещает изменять значения параметров-констант в теле
подпрограммы. В противном случае возникает сообщение об ошибке (в
отличие от параметров-значений, изменение которых в теле подпрограммы возможно, но передать их в вызывающую программу нельзя). Связано это с
тем, что при входе в подпрограмму локальные переменные, соответствующие
параметрам-константам, не создаются.
Поэтому подпрограммы, использующие параметры-константы,выполняются значительно быстрее, чем использующие параметры-значения.
Таким образом, в тех подпрограммах, в которых отсутствует необходимость в
изменении значений параметров, предпочтение следует отдавать параметрам-
константам перед параметрами-значениями.
Например, поскольку в примере 1.3 в теле процедуры значения ее формальных параметров не изменяются, то заголовок процедуры может быть
описан так:
Procedure Rast4 (Const Xx1, Xx2, Yy1, Yy2: Real; Var Dd: Real);