Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по программированию.doc
Скачиваний:
8
Добавлен:
29.04.2019
Размер:
176.13 Кб
Скачать

Вопрос 16 Строковый тип данных

Строки представляют собой совокупность символов, заключенных в апострофы(‘abc’).Для объявления строкового типа в разделе описания используется слово string, где может быть указано макс кол-во символов в строке(string[20]). Если количество символов не указано, то оно равно 256. если в программе строковой переменной присвоено значение с большей длиной, то остальные символы строки игнорируются. Операции над строками: сравнение, сцепление. Строки сравниваются посимвольно, до первого несовпадающего символа, при этом количество символов в строке значения не имеет. Строка большая, если больше ее несоответствующий символ(‘abcdef’<’abcf’). Строки равны, если они равны по длине и все их символы совпадают. Все строковые типы совместны в операциях сравнения. Операция сцепления обозн «+», в результате получаем строку, полученную из соединяемых строк(‘petya-loh’). Символьный тип данных char совместим со строковым типом в операциях сравнения. Процедуры и функции для обработки строк: 1)Length(S)-вычисление длины строки S. 2)Concat(S1,S2,…,Sn)-сцепление строк. 3) Copy(S,p,n)-выделяет из строки S подстроку длиной n символов , начиная с позиции р. 4) Pos(S1,S2)-возвращает номер той позиции, где впервые в строке S2 встречается S1.

Вопрос 19 Тип данных запись

Это структурированный тип данных, состоящий из фиксированного количества элементов различных типов. Для объявления записи: Type имя типа=record;

имя поля 1:тип поля 1; имя поля n: тип поля n; end; var имя записи: имя типа; Пример: Type TStudent=Record FIO:string[20]; ball:byte; end var Student:TStudent; St:array [1..10] of TStudent.

1)К элементам записи можно обратиться через составное имя, состоящее из имен записи и имен поля, разделенных точкой а) Student.FIO:=’Смирнов А.Р.’; Student.Ball:=4; б)For i:= 1 to 10 do St[i].FIO:=Mem01.lines[i];

2)Использование оператора присваивания : with имя записи do имя поля:=значение;

a) with Student do begin FIO:= ’Смирнов А.Р.’; Ball:=4; end; б) with St[i] do FIO:=Mem01.lines[i];

Вложение записи: Запись содержащая поля типа запись, называется вложенной. 1) Type TSudent=Record FIO:string[20]; Ball:byte; Adress:record street:string[30]; house, kvar:integer; end; end. 2) Type Adress=Record street:string[30]; house, kvar:integer; end; TSudent=Record FIO:string[20]; Ball:byte; Adr:Adress;end; Доступ к полям вложенной записи 1) Student.Adress.house:=34; 2)Student.Adr.house:=34;

Присоединяем 1) with Student do with Adr do house:=34; 2) with Student.Adr do house:=34; 3) with Student do Adr.house:=34;

Вопрос 20 Записи с вариантами

Состоит из фиксированной и вариантной частей. Вариантная часть может быть только одна и должно быть объявлена после всех фиксированных полей. “Case..of”

Type имя типа=Record имя поля 1:тип поля 1; имя поля n:тип поля n; Case поле признака:тип of const.выбора1:(имя поля:тип); const.выбора n:(имя поля:тип); end;

Поле признака только порядковый тип и имена полей вариантной части должны быть различны. Type TPerson=record FIO:string[20]; Age:byte; case telephone:Boolean of true:(№-tel:integer); false:(S:string); end; var Person:array[1..20] of TPerson;

В записи может быть только одна вариантная часть, расположенная в конце записи. Имена полей должны отличатся хотя бы одним символом, даже если они встречаются в разных вариантах.