Урок 10
Стандартные процедуры и функции для работы со строковыми величинами
Теоретическая часть
Для обработки строковых данных можно использовать специальные процедуры и функции.
1. Delete (st,poz,n) — удаление n символов строки st, начиная с позиции роz. Если значение роz больше, чем размер строки, ничего не удаляется.
Например: st1:=’informatika’; delete(st1,3,5); Результат: st1:=’intika’
2. Insert (str1,str2,poz) — вставка строки str1 в строку str2, начиная с позиции poz. He перепутайте: первый параметр — что вставляем, второй — куда.
Например: st1:=’форма’; st2:=’тика’; insert(’ин’, st1, 1); Результат: st1:=’информа’; st1:=’ insert(st2, st1, 8); Результат: st1:=’информатика’
Обратите внимание — при вставке символов обязательно нужно контролировать длину полученной строки, чтобы не потерять последние символы. При этом никакого сообщения об ошибке не выдается.
3. Str (x, st) — преобразование числового значения X в строковый и помещение результата в строку St.
Например: 1. k:= 12; Str (k, s); Результат: s='12'
2. k:= 12; Str (k:4, s); Результат: s=' 12'
3. k:= 12.5; Str (k, s); Результат: s='12.5'
4. k:= 12.5; Str (k:4, s); Результат: s='12.5'
5. k:= 12.5; Str (k:6, s); Результат: s=' 12.5'
4. Val (st, x, code) — преобразует значение строки St в величину целочисленного или вещественного типа и помещает результат в X. Code - целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение code равно нулю, если ошибка обнаружена (строковое значение не переводится в цифровое), code будет содержать номер позиции первого ошибочного символа, а значение x не определено.
Например:
1. s:=’5.78’; val(s,n,cod); Результат: n=5.78 cod=0
2. s:=’5,78’; val(s,n,cod); Результат: n=0 cod=2 – второй символ ошибочный
5. Copy(st, poz, n) — выделяет из строки st подстроку длиной n символов,начиная с позиции роz. Если poz больше длины строки, то результатом будет пустая строка.
Например:
1. x:='Информатика'; y:=copy(x,3,5); y= 'форма'
2. x:='Информатика'; y:=copy(x,7,1); y= 'а'
3. x:='Информатика'; y:=copy(x,12,5); y= ''
Практическая часть
Задача 1. Определите, какие слова получатся в результате выполнения фрагмента программы:
F:=’Газонокосильщик’;
W:=COPY(F,5,2)+COPY(F,7,1);
K:=COPY(F,5,2)+COPY(F,1,2);
M:=COPY(F,9,1)+COPY(F,7,2)+COPY(F,11,2)+COPY(F,7,2);
WRITELN(W);
WRITELN(K);
WRITELN(M);
Результат вышлите преподавателю.
Задача 2. Дано: строка и буква. Составьте программу, которая подсчитывает, сколько раз указанная буква встречается в строке. Результат вышлите преподавателю.
Электронная рабочая тетрадь
Задание 1. Стандартные процедуры и функции(слова из букв)
Задание 2. Стандартные процедуры и функции(найти пару)
Задание 3. Стандартные процедуры и функции(заполнить пропуски)
Задание 4. Стандартные процедуры и функции(пазлы)
Задание 5. Стандартные процедуры и функции(игра парочки)
Проверка знаний