- •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.
1.*Строковые константы. Правила их записи в программе. Строковые переменные постоянной длины. Формат задания. Представление в памяти. Операции, определенные над строковыми данными постоянной длины.
Строковые константы-последовательность любых символов допускаемых для представления в компьютере заключенные в апострафы.Правила записи строковых констант в программу:1.Если в строку необходимо поместить апостраф его необходимо написать дважды.При подсчете длины два рядом стоящих апострафа считаются одним символом;2.При подсчете длины строки учитываются пробелы;3.Допускаются пустые символьные константы(несодержащие символа);4.Делфи разрешает вставлять в строку символов управляющие символы,символ решетка с целой константой без знака(0..255) обозначает соответствие этому значению символа в ходе обмена информацией.Между решеткой и константой пробела быть не должно.Если несколько управляющих символов входят в символьную константу между ними недолжно быть разделения. Разд.симв. пишутся вне апострафов.
2.Строки переменной длины. Короткие и длинные строки. Формат задания. Представление в памяти. Операции, определенные над строковыми данными переменной длины.
В языке Паскаль существует два способа задания строковых переменных.
1-ый способ задания строковых переменных.Задает строковые переменные постоянной длины. Строковаяпеременная определяется как одномерный массив символов:
Array [1 .. N] Of Char
<Тип_индекса> может быть задан только с помощью типа диапазон, где
N – длина строки (N ≥ 1), определяемая как целое число без знака.При таком способе объявления строка обладает всеми свойствами
массивов.Например, строковой переменной можно присвоить значение другой
строковой переменной той же длины; возможно обращение к отдельным
символам строковой переменной, используя индексные переменные.Особенности строковых переменных по сравнению с массивами:
1) Строковым переменным могут быть присвоены значения строковых
констант (литералов), если длина строки равна длине литерала.2) Над значениями строковых переменных одинаковой длины можно
выполнять операции сравнения (=, <>, >, <, >=, <=). Сравнение производится
посимвольно, начиная с левой стороны до первого несовпадающего символа.
Считается большей та строка, в которой первый несовпадающий символ имеет
больший номер в коде обмена информацией (ASCII).
Строковые переменные различной длины сравнивать нельзя.2-ой способ задания строковых переменных.
Вторым способом задания строковых переменных является использование типа String. Формат задания данного типа представляет рисунок.
С помощью типа String определяются строки переменной длины. N после
слова String (см. рисунок 10.5) определяет максимальную длину строки. N должно иметь положительное целочисленное значение, не
превышающее 255 (≥1).
Если N в определении опущено (по умолчанию), то считается, что максимальная длина строки равна 255 = 28 – 1. Переменной типа String может быть присвоено значение другой строки любой длины. Если длина присваиваемой строки меньше или равна
максимальной длине данной строки, то данная переменная типа String имеет
текущую длину. Текущая длина строки определяется длиной последнего занесенного в нее значения.Если длина присваиваемого значения превышает указанную в объявлении максимальную длину, то лишние символы справа отсекаются. Переменной типа String выделяется количество байтов памяти на единицу превышающее максимальную длину, указанную в определении типа. В левом байте (с номером 0) хранится текущая длина строки в двоичном коде.
Возможен доступ к отдельным символам строки типа String. При этом используются индексные переменные. Правила индексации аналогичны
массиву символов с диапазоном индексов
1 .. <Текущая_длина_строки>.
Если при обращении к отдельным символам строки произойдет выход за текущую длину строки, то считанные из строки символы будут случайными, а
присваивания элементам строки, находящимся вне текущей длины, не повлияют на значение строковой переменной. Строковым выражением называется выражение, результатом вычисления которого является строковое значение. Строковые выражения
состоят из строковых констант, строковых переменных, имен функций и знаков операций. Над данными типа String определены операции сравнения (=, <>, >, <,
>=, <=) и операция конкатенации (сцепления). Операция конкатенации имеет более высокий приоритет, чем операции сравнения.Сравнение производится в соответствии с упорядочением символов в
коде ASCII. Сравниваются символы строк последовательно слева направо до
первого несовпадающего символа. Большей считается строка, у которой первый несовпадающий символ имеет больший код в таблице ASCII. Если строки имеют разную длину и их символы совпадают в общей части, то более короткая строка считается меньшей. Строки считаются равными, если они имеют
одинаковую текущую длину и одни и те же символы.
Операция сцепления обозначается символом +. При ее выполнении две строки соединяются в одну результирующую строку. Длина результирующей
строки не должна превышать 255 символов.