Элементы языка Паскаль-9.ppt
- Количество слайдов: 20
Элементы языка Паскаль Символьные переменные и строки
Строковый и символьный типы данных предназначены для работы с символьной информацией. Символьной информацией является: любая буква, цифра, знак препинания, специальные символы. Последовательность символов определенной длины называют строкой.
Описание символьной переменной В блоке описания переменных Var <имя>: of char; имя – наименование переменной Каждому символу алфавита соответствует индивидуальный числовой код от 0 до 255. В Паскаль значения для символьных переменных берутся в кавычки: К: = ‘c’
Символьным тип (CHAR) является порядковым, и значения символьных переменных могут сравниваться между собой. Коды всех строчных букв меньше всех прописных (`a` < `A`). Для работы с таким типом данных часто используются функции, аргументы которых могут быть символьными переменными: PRED() - предыдущее значение, например PRED('B') = 'A'; SUCC() - последующее значение, например SUCC('a') = 'b'; ORD() - численное значение кода, например ORD('7') - ORD('0') = 7.
Описание строковой переменной Последовательность символов, заключенная в апострофы, называется строкой и описывается типом STRING В блоке описания переменных Var <имя>: of string[N]; имя – наименование переменной; N – размерность переменной ( количество символов в строке от 1 до 255). По сути, строка длины К представляет собой массив из К+1 символьных переменных, где нулевой элемент хранит значение длины строки: STRING[K] = ARRAY[0. . K] OF CHAR
Действия с символьными величинами Операция сложения (конкатенация) Позволяет из двух символьных выражений построить одно, состоящее из символов первого, за которыми следуют символы второго. A: =‘Лето’; B: =‘настало’; С: =a+b; Значение С будет строка ‘Летонастало’.
Действия с символьными величинами Операция сравнения Сравнение происходит посимвольно слева направо: сравниваются коды соответствующих символов. Две строки считаются равными, если они равны по длине и совпадают посимвольно. A: =‘Лето’; B: =‘лето’; AA {длина С больше}
Функции и процедуры для работы со строками 1. 2. 3. 4. 5. 6. 7. 8. LENGTH - длина строки; COPY - копирование подстроки; DELETE - удаление подстроки из строки; INSERT - вставка подстроки в строку; POS - поиск подстроки в строке: STR - преобразование числа в строковую переменную; VAL - преобразование символьного представления числа в двоичное представление. CONCAT - объединение строк;
1. Определение длины строки length(a) Показывает количество символов в строке. Величина не может превышать значение из блока описания переменной. A: =‘Лето’; K: =length(a); для рассматриваемого случая k=4.
2. Копирование элементов строки copy(str, n, k) Копирует k символов строки str, начиная с символа с номером n. A: =‘Дорога’; K: =copy(A, 3, 4); для рассматриваемого случая K=‘рога’.
3. Удаление элементов строки delete(str, n, k) Удаляет k символов строки str, начиная с символа с номером n. A: =‘Дорога’; K: =delete(A, 1, 2); для рассматриваемого случая K=‘рога’.
4. Вставка элементов в строку insert(str 1, str 2, n) Вставляет строку str 1 в строку str 2, начиная с символа с номером n. При этом первая строка остается без изменений, а вторая получает новое значение. A: =‘рога’; B: =‘з’; A: =insert(B, A, 3); для рассматриваемого случая a=‘розга’.
5. Функция определяющая позицию подстроки в строке pos(str 1, str 2) Определяет номер символа с которого строка str 1 входит в строку str 2. При этом рассматривается первое pos(a, b); вхождение. a: =‘рога’; b: =‘га’; К 1: =pos(a, b); K 2: =pos(b, a); для рассматриваемого случая К 1=0, K 2=3.
6. Перевод числового значения в строковое str(n, str) Переводит числовое значение n в строковое, результат в строке str. (n может принимать вещественные и целые значения) A: =12345; str(A, stroka); для рассматриваемого случая stroka=‘ 12345’.
7. Переводит строковое значение в числовое val(str, n, k) Преобразует строковое выражение str в число и присваивает его значение переменной n. Если преобразование возможно, то k=0. Иначе k – указывает позицию первого недопустимого символа. Значение переменной n не изменяется. A: =‘ 12345’; val(А, n, k); B: =‘ 123 v’; val(B, n, k); {n=12345, k=0} {n=0, k=4}
8. Сцепление строк concat(str 1, str 2, …, str. N) Выполняет сцепление строк str 1, str 2, …, strn в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255. A: =‘ 123456’; B: =‘Индекс ’; C: =concat(B, A); {‘Индекс 123456’}
Функции преобразования типов 1. Преобразование кода (числа) в символ CHR(k: byte): char k – значение 0 -255 Программа распечатывает символы, соответствующие значениям 0 -255, согласно таблице ASCII Program pr 1; Var i: integer; Begin For i: =0 to 255 do Write(i, ’ ‘, chr(i), ’ ‘); Writeln; End.
Функции преобразования типов 2. Преобразование символа в код (число) ORD(str): byte str – символ Программа распечатывает код введенного символа, согласно таблице ASCII Program pr 2; Var i: integer; Var a: char; Begin Readln(a); i: =ord(a); Writeln(a, ’ = ‘, i); End.
Программа распечатки слова в обратном порядке Program pr 3; Var a : string; Var i, k: integer; {описание строки } Begin Readln(a); K: =length(a) {определение длины строки} For i: =k downto 1 do Write (a[i]); {распечатка строки { посимвольно Writeln; End. } }
Программа подсчета количества вхождений буквы в текст. Program pr 4; Var a: string; Var b: char; Var i, k: integer; Begin Readln(a); Readln(b); For i: =1 to length(a) do If b=a[i] then k: =k+1; Writeln (k); End. {Поиск элемента } { в строке }


