Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для ИГА.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.58 Mб
Скачать

Вопрос 8 Строковый тип данных в языке Паскаль, основные операции.

Строка – это последовательность символов кодовой таблицы персонального компьютера.

При использовании в выражениях строка заключается в апострофы. Количество символов в строке (длина строки) может динамически изменяться от 0 до 255 байтов (символов).

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

Через определение типа. Через определения переменных.

Type var

< имя типа> = string [ m ] ; < имя переменной> : string [ m ];

var

<имя переменной> : < имя типа> ;

где m – максимальная длина строки.

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

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

‘ Турбо ‘ + ‘ Паскаль ‘ + ‘ 7.0 ‘

Турбо Паскаль 7.0

Замечание: в данной операции длина результирующей строки не должна привышать 255 байт.

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

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

‘ принтер ‘ > ‘ принтер‘ ‘Паскаль’=’Паскаль‘

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

A : string [ 6 ] ; a:= ‘группа1’ ‘группа’

A : string [ 2 ] ; a:= ‘группа1’ ‘гр’

Вопрос 9 Стандартные процедуры и функции обработки строк, примеры использования.

Строка – это последовательность символов кодовой таблицы персонального компьютера.

Стандартные процедуры и функции для работы со строками

1. LENGTH (ST) позволяет определить фактическую длину текстовой строки хранящейся в переменной, а не величину предельного размера строки, установленную при ее определении.

Var w : string ;

Begin

Write ( ‘ введите слова ‘) ;

Readln ( w ) ;

Writeln ( ‘ это слово состоит из ‘, length (w) ,’букв’) ;

End.

2. Upcase (ch) – преобразует строчную букву в прописную. Параметр и результат имеют литерный тип. Обрабатываются только букву латинского алфавита.

Var w : string ; i : integer ;

Begin

W : = ‘фирма microsoft ‘;

For i : = 1 to length (w) do

W [ i ] : = upcase (w [ i ] ) ;

Writeln ( w ) ;

End.

3. Copy ( st, poz, n ) – позволяет копировать фрагмент некоторой строки из одной переменой в другую.

St – имя строки из которой должен извлекаться копируемый фрагмент.

Poz – позиция в строке с которой будет копироваться фрагмент.

N – число копируемых символов.

Var w, w1 : string ;

Begin

W : = ‘картография’ ;

Write ( w ) ;

W1 : = copy (w , 6, 4 ) ;

Writeln (w1) ; граф

End.

4.Pos(st,st1) – осуществляет поиск в строке, определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент не найден, то функция возвращает ноль. Данная функция требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами.

Var w, w1 : string ;

P : integer ;

Begin

W:= ‘ программа’;

P : =pos(w, w1);

If p<> then writeln (‘ фрагмент найден ‘) else writeln (‘ фрагмент не найден ‘) ;

End.

5. Insert( st1, st2, poz) – вставка строки st1 в строку st2 начиная с позиции poz.

S1 : = ‘ес’ ;

S2 : = ‘ эвм 1841’ ;

Insert ( s1, s2, 4); эвм ес 1841

6. Delete ( st, poz, n)- удаляет n в строке st с позиции poz.

W : = ‘ компьюторизация ‘;

Delete ( w, 9, 6) ; компьютор

7. Сoncat( s1,s2, . . . ,sn)- выполняет сцепление строк s1,s2, . . . ,sn в том порядке, в каком они указаны в списке параметров. Сумма всех сцепляемых строк не должна привышать 255.

S1 : = aaa

S2 : = dd

C3 : = 2

Concat(s1,s2,s3) aaadd2