Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
paskal.doc
Скачиваний:
71
Добавлен:
10.06.2015
Размер:
1.28 Mб
Скачать

Пример программы работы со стандартными строковыми процедурами и функциями

Порядок выполнения работы

    1. Изучить теоретические сведения по теме “Написание программы на языке Паскаль с использованием стандартных строковых процедур и функций”.

    2. Получить у преподавателя индивидуальное задание и разработать программу для работы со стандартными строковыми процедурами и функциями согласно заданному варианту.

    3. Показать работающую программу преподавателю.

    4. Ответить на контрольные вопросы.

Контрольные вопросы

  1. Понятие строки. Описание строкового типа данных.

  2. Представление строки в Паскале. Обращение к символу строки. Длина строки.

  3. Стандартные строковые процедуры и функции в языке Паскаль.

Лабораторная работа № 24

Написание программы на языке Паскаль с использованием строковых переменных

Цель работы: формирование знаний и умений по работе со строками. Приобретение навыков работы со строковыми переменными.

Краткие теоретические сведения

Строковые выражения

Выражения, в которых операндами служат строковые данные, называются строковыми выражениями. Они состоят из строковых констант, переменных, указателей функ­ций и знаков операций. Над строковыми данными допустимы операция сцепления и операции отношения.

Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку.

Например:

Выражение 'А'+'Т'+' '+ '386' 'Турбо'+'Паскаль + '7.0'

Результат 'AT 386' Турбо Паскаль 7.0'

Следует учитывать, что в операциях сцепления длина результирующей строки не должна превышать 255.

Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления, т. е. вначале всегда выполняются все операции сцепления, если они присутствуют, и лишь потом реализуются операции отношения. Сравнение строк производится слева напра­во до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False, если выражение ложно. Например:

Выражение 'MS-DOS'<'MS-Dos' 'programm' >'programm'

Результат True

True

Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки считают­ся равными, если они полностью совпадают по длине и содержат одни и те же сим­волы.

Для присваивания строковой переменной результата строкового выражения используется оператор присваивания (:=).

Пример1.

Strl := 'Группа, учащихся';

Str2 := Strl + ' школы-лицея' ;

Fio := 'Бочаров А.А.';

Если значение переменной после выполнения оператора присваивания превышает по длине максимально допустимую при описании величину, все лишние символы справа отбрасываются.

Например:

Описание А Выражение Значение А

A: String[6] А := 'ГРУППА 1'; 'ГРУППА'

Допускается смешение в одном выражении операндов строкового и литерного типа. Если при этом литерной переменной присваивается значение строкового ти­па, длина строки должна быть равна единице, иначе возникает ошибка выполне­ния.

К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке. Индекс определяется выражением целочисленного типа, которое записывается в квадратных скобках сразу за идентификатором строковой перемен­ной или константы.

Например, выражения Str2[l+2] и Str2[6] обеспечат доступ к третьему('у') и шестому ('а') символам последнего значения переменной Str2 в приведенном выше примере (см. пример 1).

Запись Str2[0] дает доступ к нулевому байту, содержащему значение текущей длины строки. Значение нулевого байта не должно превышать 255, но нарушение этого правила не вызывает программного прерывания, так как директива компиля­тора R по умолчанию находится в пассивном состоянии {$R-}. Для обеспечения строгого контроля за диапазоном допустимых значений индекса следует перевести директиву R в активное состояние {$R+}. В этом случае компилятор активизирует дополнительные команды для проверки правильности диапазона. Обычно актив­ный режим R устанавливается на стадии отладки программ.

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