![](/user_photo/2706_HbeT2.jpg)
- •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.
3.Процедуры и функции, определенные над строками переменной длины. Пример.
1) Copy (St, Poz, N)
Выделяет из строки St подстроку длиной N символов, начиная с позиции
Poz. Если Poz больше длины строки, то результат – пустая строка. Если Poz + N
больше текущей длины St, результатом будут последние символы St, начиная с
позиции Poz. Если Poz больше 255, возникает ошибка выполнения.
St – выражение типа String; Poz, N – выражения целочисленного типа.
2) Concat (St1[, St2, ..., StN] ) -Выполняет сцепление строк в том порядке, в каком они указаны в списке параметров:
St1 + St2 + ... + StN.
St1 ÷ StN – выражения типа String. Длина результирующей строки не
должна превышать 255 символов.
3) Length (St)-Возвращает текущую длину строки St. Результат имеет целочисленный тип.
4) Pos (St1, St2)-Обнаруживает первое появление подстроки St1 в строке St2. Результатимеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки St1. Если в строке St2 подстроки St1 не найдено, то результат равен нулю.
5) UpCase (Ch)-Преобразует строчную латинскую букву в прописную. В остальных
случаях возвращает аргумент Ch. Параметр и результат имеют тип Char.
*Встроенные процедуры,определенные над данными типа String:
1) Delete (St, Poz, N)
Удаляет N символов строки St, начиная с позиции Poz. Значение Poz не должно превышать 255. Если Poz больше текущей длины строки, строка St не
изменяется. Если Poz + N больше текущей длины строки, то удаляется конец строки, начиная с позиции Poz.
2) Insert (St1, St2, Poz) Вставляет строку St1 в строку St2, начиная с позиции Poz. Если значение
Poz больше текущей длины St2, то результат равен сцеплению строк St2 + St1.
3) Str (I, St) Преобразует числовое значение величины I и помещает результат в строку St. Величина I должна иметь целочисленный или вещественный тип.
4) Val (St, I, Cod) Преобразует значение St в величину целочисленного или вещественного
типа (в зависимости от типа параметра I) и помещает результат в I. Значение St
может содержать незначащие пробелы в начале и не может в конце. Cod – целочисленная переменная. Если во время операции преобразования ошибки не
обнаружено, то значение Cod равно нулю. Если ошибка обнаружена (например, символьное значение переводится в цифровое), то Cod будет содержать номер
позиции первого ошибочного символа, а значение I будет неопределено.
4.Процедуры. Синтаксис объявления процедур. Вызов процедуры. Организация связи по данным при использовании процедур без параметров.
Процедура должна быть описана в разделе объявления процедур и
функций программы.
Синтаксическая диаграмма
объявления процедуры
Процедура состоит из заголовка и тела.
Заголовок процедуры определяет ее имя и список формальных
параметров. Его формат иллюстрирует рисунок 1.2.
Формальные параметры определяют тип данных, передаваемых
процедуре при ее вызове, и способ передачи данных. Список формальных
параметров имеет формат, который представляет рисунок 1.3.
Тело процедуры состоит из объявлений локальных для нее
идентификаторов и составного оператора, описывающего действия процедуры.
Синтаксическая диаграмма
объявления заголовка процедуры
Синтаксическая диаграмма
списка формальных параметров
Вызов процедур
Вызов процедуры осуществляется с помощью оператора вызова
процедуры, имеющего формат, который представляет рисунок 1.4.
Оператор вызывает процедуру с указанным именем и передает ей
фактические параметры (аргументы), если они заданы.
В качестве фактических параметров могут быть использованы выражения
типа, совместимого с типом формальных параметров.
Количество аргументов должно совпадать с количеством формальных
параметров. При этом первому формальному параметру соответствует первый
аргумент, второму – второй и т.д.
Рисунок 1.4 – Синтаксическая диаграмма
оператора вызова процедуры
Выполнение процедуры прекращается при достижении конца составного оператора тела процедуры (End). Для прекращения выполнения процедуры до
достижения конца ее тела используется встроенная процедура Exit. В обоих случаях происходит выход из процедуры и возврат к точке ее
вызова, т.е. к оператору, записанному в вызывающей программе после
оператора вызова процедуры. Такое выполнение процедуры называется
синхронным. 1.2.3. Процедуры без параметров
Если в операторе вызова процедуры и в заголовке процедуры нет параметров, то связь по данным между вызывающей и вызываемой
процедурами возможна только через одноименные переменные, область действия которых охватывает обе процедуры, т.е. через глобальные
переменные. Пример 1.1.
Вычисление расстояний между N парами точек на плоскости. Использование процедуры без параметров.
Program R1;
Var