- •Контрольное задание
- •Вариант 1
- •Основы языка паскаль. Конструкция условного оператора.
- •If условие then оператор1 else оператор2
- •If условие then оператор
- •Структура оператора цикла с предусловием:
- •Операции над строками:
- •Обработка записей
- •Подпрограммы
- •Описание функций
- •Var {локальные вспомогательные переменные}
- •Описание процедур
- •Файлы на магнитном диске
- •Типизированные файлы
- •Var имя: file of базовый тип
Операции над строками:
Тип STRING широко используется в Паскале при обработке текстов. Строка может объявляться следующим образом: var
Перем-я: string[N];
N – любая константа порядкового типа, N<=255
Турбо Паскаль разрешает не указывать N, в этом случае длина строки принимается максимально возможной, т.е. 255. Строку можно также трактовать как цепочку символов. К любому символу в строке можно обратиться точно так же, как к элементу символьного массива, н-р a[3], a[i]
If a[5]=’f’ then… Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки. Первый значащий символ имеет индекс 1 и занимает второй байт.
Операции над строками.
Операция |
Назначение |
+ |
Соединение строк |
Concat(s1,s2,…sN) |
Сцепление N строк |
Pos(S1,S) |
Целочисленная функция, возвращающая позицию, на которой находится подстрока S1 в строке S |
Length(St) |
Целочисленная функция, возвращает длину строки ST |
Copy(ST,index,k) |
Строковая функция, копирует из строки ST K символов, начиная с символа с номером Index |
Delete(St,index,k) |
Процедура, удаляет из строки ST K символов, начиная с символа с номером Index |
Insert(S1,ST,index) |
Процедура, вставляет подстроку S1 в строку ST, начиная с символа с номером Index |
Обработка записей
В жизни встречается такая информация, которая состоит из данных разного типа. Это анкеты, таблицы, каталожные карточки и т.п. Для представления их в программе применяют записи.
Запись — это составной тип данных, который объединяет в себе разнотипные элементы (поля записи). Этот тип описывает конструкция:
имя типа = RECORD
имя поля: тип поля;
имя поля: тип поля;
…
имя поля: тип поля
END;
ПРИМЕР. Описание записи, содержащей сведения о книге.
type
Book = record
Tittle: string[80]; {название} Author: siring[2]; {автор} Year : integer; {год издания} end;
Над записями допустимы операции присваивания, проверки на равенство и неравенство, ввода и вывода. С полем записи в программе поступают, как с переменной того же типа, что и поле.
Обращаются к полю по составному имени:
имя записи.имя поля
ПРИМЕР.
var
X,Y: Book; {описание этого типа см.выше}
Z: array [1 ..100] of Book;
begin
X.Tittle := ' ТРИ МУШКЕТЕРА1;
X.Author := 'А.ДЮМА';
X.Year := 1980;
Y:=X;
writeln (Y.Head, Y.Author);
Z [5] := X;
end.
Тип поля может быть любым, в том числе и записью. Например:
TYPE
FullName = record
Surname: string;
Name : string [20];
end;
Book = record
Tittle: string;
Author: FullName;
Year: integer;
End;
Если поле является записью, обращение к его элементам (полям поля) происходит по имени, состоящему из трех частей, например, X.Author.Surname. Глубина вложения описаний не ограничена.
Оператор WITH
Он позволяет сократить обращение к полям записи. Его схема:
WITH имя_ записи DO оператор
Всюду внутри оператора можно опускать имя записи в составном имени поля, транслятор добавит его сам.