Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_PASKAL.doc
Скачиваний:
15
Добавлен:
25.03.2015
Размер:
969.22 Кб
Скачать

Лабораторная работа 6 обработка символьных данных

Цель работы: выработать практические навыки в написании и отладке программ при работе с символьными данными.

Символьный тип данных

Переменная типа char (символьная переменная) может принимать значения из определенной упорядоченной совокупности символов, разрешенных транслятором Паскаля на данной ЭВМ. Символьные переменные описываются идентификатором char, например:

var c,b:char; a:array[1..10]of char;

Литеры, заключенные в апострофы, являются константами символьного типа. Множество литер упорядочено:

A < B < C < … < Z < А < Б < … < Я.

Для символьных данных определены операции сравнения (=,<>,<,>) и присваивания (:=), а также функции преобразования:

ord(x) - выдает номер символа x;

chr(i) - выдает i-й символ последовательности;

succ(x), pred(x) - выдают следующий и предыдущий символы последовательности.

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

Строка - это последовательность символов. Количество символов в строке (длина строки) может изменяться от 0 до 255. Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки

type T = string[N];

где T - имя типа; N - длина строки.

Например:

type ST = string[20];

var X:ST; Y:string[10]; Z:string;

Если длина не указана, имеется в виду 255.

Над строковыми данными допустимы операция сцепления (+) и операции отношения (=,<>,<,>).

Например:

X:='группа'+' ИТ98-2';

Z:=X+Y;

'ИВАНОВ'<'ПЕТРОВ'.

Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший код (номер). Результат сравнения имеет булевский тип и принимает значение true или false. В приведенном примере результат true.

Допускается смешение в одном выражении операндов строкового и символьного типа.

К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке. Например, выражение X[4] обеспечит доступ к четвертому символу переменной X. Запись X[0] дает доступ к нулевому байту, содержащему значение текущей длины строки.

Для обработки строковых данных используются стандартные процедуры и функции.

Процедуры

1) delete(S,POZ,N) - удаление N символов в строке S, начиная из позиции POZ.

'ЭВМ ЕС 1840' delete(S,7,5) 'ЭВМ ЕС' ;

2) insert(S1,S2,POZ) - вставка строки S1 в строку S2, начиная с позиции POZ.

S1:=' ЕС '; S2:='ЭВМ 1840';

insert(S1,S2,4) ;

Значение S2 станет равным 'ЭВМ ЕС 1840';

3) str(R,S) - преобразование числового значения величины R и помещение результата в строку S.

150.2 str(R:6,S) ' 150.2';

4) val(S,R,COD) - преобразование значения S в величину целочисленного или вещественного типа и помещение результата в R. Если во время операции преобразования ошибки не обнаружено, COD=0, если ошибка обнаружена, COD будет содержать номер позиции первого ошибочного символа, а значение R не определено.

'14.2E2' val(S,R,COD) 1420 COD=0;

'52.4A+2' val(S,R,COD) ? COD=5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]