Строковый тип.ppt
- Количество слайдов: 16
Строковый тип STRING
Строковый тип • Строка – это последовательность символов. При использовании в выражениях строка заключается в апострофы. Количество символов в строке (длина строки) может динамически изменяться от 0 до 255. • Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт. • Переменную строкового типа можно определить через описание типа в разделе определения типов или непосредственно в разделе описания переменных. А также строковые данные могут использоваться в программе также в качестве констант. • Недопустимо применение строковых переменных в качестве селектора в операторе case.
Формат записи 1. Type <имя типа>: string[макс. длина строки]; Var<идентификатор>: <имя типа>; 2. Var<идентификатор>: string<макс. длина строки>; Const address=’ул. Смолина, 24’; {строковая константа} Type flot=string[125]; Var fstr: flot; {описание с заданием типа} St: string; {по умолчанию длина строки=255} St 2, st 3: string[50]; {длина строки 50} Natf: string[280]; {ошибка, длина строки превышает 255}.
Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку. Выражение ‘A’+’T’+’ ‘+’ 386’ ‘Turbo’+’ Pascal’+’ 7. 0’ Результат ‘AT 386’ ‘Turbo Pascal 7. 0’ Следует учитывать, что в операциях сцепления длина результирующей строки не должна превышать 255.
Операции отношения (=, <>, <, >, <=, >=) проводят сравнение двух строковых операндов и имеют более низкий приоритет, чем операция сцепления, т. е. вначале всегда выполняются все операции сцепления, если они присутствуют, и лишь потом реализуются операции отношения. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет логический (булевский) тип.
Операции отношения (=, <>, <, >, <=, >=) ‘MS-DOS’<’MS dos’ TRUE ‘program’>’PROGRAM’ TRUE ‘abcd’>abc. D’ TRUE, т. к. ‘d’>’D’ ‘abcd’<’abc ’ TRUE, т. к. ‘d’>’ ‘
Процедуры и функции S: = ‘информатика’ 1. Функция LENGTH(S: string); – определение длины строки (слова). Length(s)=11 s: =‘студенты’; write(length(s)); результат число 7 2. Функция COPY(S: string, P, K: integer); – выделение в слове S с позиции Р К символов write(copy(s, 3, 5)); - напечатается слово ‘форма’ copy(s, 4, 2); - ‘ор’ copy(s, 6, 2)+copy(s, 10, 1); - ‘мак’
S: = ‘информатика’ 3. Функция CONCAT(S 1, S 2, …, SN: string); - производит слияние слов. Concat(‘про’, copy(s, 3, 5)); 4. Процедура DELETE(S: string, P, K: integer); - удаляет из строки S К символов, начиная с позиции Р. delete(S, 2, 3);
S: = ‘информатика’ 5. Процедура INSERT(S 1: string, S: string, P: integer); вставляет строку S 1 в слово S, начиная с позиции Р. insert(‘a’, S, 7); S: =‘крот’ insert(‘р’, S, 2);
S: = ‘информатика’ 6. Функция POS(S 1, S: string); - определение номера позиции, с которой слово S 1 входит в S. POS(‘фор’, s); POS(‘ка’, s); 7. S[i]; - выделяет один символ с позиции i. S[2];
1. Получить слияние слов «Вам» , «привет» . Program pr 1; Var s 1, s 2, s 3, s 4: string; Begin s 1: =‘Вам’; s 2: =‘привет’; s 3: =s 1+s 2; s 4: =s 3+’!’; writeln(s 4); End.
Задачи 1. Дано слово, получить обратное слово. 2. Подсчитать буквы ‘a’ в заданном слове. 3. Даны N слов. Определить в каком слове больше букв ‘r’. 4. Даны N слов. Подсчитать количество слов, имеющих одинаковые первую и последнюю буквы и выдать их на экран. 5. Даны N слов. В словах поменять местами первую и последнюю буквы.
Домашнее задание 1. Дан массив из 10 слов. Удвоить буквы ‘a’. 2. Дан массив слов. Заменить в словах третью букву на слог ‘tu’. 3. Найти самое длинное слово и убрать его из массива.
Написать программу, которая выводит на экран первую часть таблицы кодировки символов (символы, имеющие коды от 0 до 127). Таблица должна состоять из 8 колонок и 16 строк. В первой колонке должны быть символы, имеющие код от 0 до 15, во второй – от 16 до 31 … Begin code: =0; for i: =0 to 15 do begin code: =i; for j: =1 to 8 do begin if (code<7) or (code>=14) then write(code: 4, ’ ‘, chr(code): 1, chr(179)) else write(code: 5, ’ ‘, chr(179)); code: =code+16; end; writeln; end; readln; End.
Задачи 1. Написать программу, определяющую размер строки в битах. 2. Написать программу, подсчитывающую количество слогов по введенному с клавиатуры слову. 3. Написать программу, определяющую размер строки в битах самого короткого из N вводимых с клавиатуры слов.
Задачи 1. Найдите позицию первой и последней буквы К, входящих в символьную строку. 2. Вырежьте два первых символа и поместите их в конец данной символьной строки. 3. В заданной строке символов все слоги NAD замените на слоги POR.


