Символьные и строковые переменные Символьные переменные Один символ занимает один байт памяти Var X:char; Var a:array[1..50] of char; Ввод символьного массива: For i:=1 to n do read(a[i]) Символьные переменные Задача 1: Слово, заданное как массив символов, записать в обратном порядке. a[1] а[2] … а[i] … a[n-1] a[n] b[1] b[2] … b[i] … b[n-1] b[n] Для изменения индексов массива используется формула: n–i+1 Program z1; Const n=10; Var a,b:array[1..n] of char; i:integer; Begin For i:=1 to n do begin read(a[i]); b[n-i+1]:=a[i] end; For i:=1 to n do write(b[i]); writeln; End. Строки в Паскале Строка – ограниченная апострофами последовательность символов Длина строки – 255 символов Var X:string[20]; Для PABC: Var X:string; Символ в строке определяется как элемент массива: X[i], где i – порядковый номер символа в строке. Операции над строками 1. Объединение строк Var X,Y,Z:string[10]; Begin X := ’тепло’; Y := ’ход’; Z := X + Y; write(Z) end. Операции над строками 2. Сравнение строк a + b <> b + a 1. Цифры ‘not’ > ‘no’ 2. Латинские буквы (заглавные) ‘no’ > ‘near ’ 3. Латинские буквы (строчные) ‘nod’ > ‘don’ 4. Русские буквы (заглавные) ‘Nod’ < ‘nod’ 5. Русские буквы (строчные) ‘Дон’ > ‘Don’ ‘Дон’ < ‘дон’ ‘Дон‘ > ‘Догма‘ Строковые функции 1. Длина строки Length (строковое выражение) – количество символов в строке Var Z:string[10]; k:integer; Begin Z := ’гор’ + ’ода’; k := length(z); write(k) end. Строковые функции 2. Копирование строки или ее части (вырезка) copy (строковое выражение, начальный номер символа, количество символов) Copy(‘информатика’,3,5) ‘форма‘ Строковые функции 2. Копирование строки или ее части (вырезка) Задача 2. Записать исходное слово наоборот. Program z2; Var x,y:string; i:integer; Begin readln(x); y:=' '; For i:=1 to length(x) do y := Copy(x,i,1) + y; write(y) End. Строковые функции 3. Поиск подстроки в строке pos (подстрока, исходная строка) – номер символа в исходной строке pos(x,T) Строковые функции 4. Вставка в строку insert (вставляемая строка, исходная строка, целочисленное выражение) Порядковый номер первой буквы вставляемой строки в новой строке insert(x,a,3) Строковые функции 5. Удаление части строки delete (строка, начальный номер, количество символов delete(T,3,2) Строковые функции Ord(C) - функция определяет порядковый номер символа С в наборе символов (по таблице ASCII) Chr(K) - функция определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов (в таблице ASCII) Строковые функции Задача 3. Заменить букву ‘о’ на букву ‘и’ в слове форма. Program z3; Var x:string; Begin x:= 'форма'; insert('и',x,2); delete(x,3,1); write(x) End. Домашнее задание Задачник 1. § 4.4.6 Задача 1. Написать программу подсчета количества появлений конкретного символа в заданном фрагменте текста. Задача 2. Определить, является ли текст (слово), вводимые с клавиатуры, палиндромом (текст написан без знаков препинания, пробелы не должны учитываться). Задача 3. Разработать программу тестирования знаний учащихся (дополнительно). Подготовиться к самостоятельной работе