© М.Е.Макарова http :// uchinfo . com . ua
Познакомиться с основными принципами работы с символьными величинами
Научиться применять процедуры и функции для их обработки
Строка представляет собой особую форму
одномерного массива символов.
Отличия:
1. Массив имеет фиксированную длину:
var m : array[0..20] of char;
и у каждого элемента есть свое значение или 0 .
2. Строка символов имеет две разновидности длины:
-общая длина строки, которая определяет величину памяти, выделяемый строке при описании;
-текущая длина строки (всегда общей длины) количество смысловых символов строки в данный момент времени.
max длина строки 255 символов.
Строкам символов в ЯП Паскаль
соответствует тип string .
Способы описания:
var Slovo: string[15];
Word: string;
Если в описании длина строки не указывается,
то она =255.
Slovo:= ‘ школа ’
Ш к о л а
1 2 3 4 5 15
Текущая длина
Общая длина
Переменная типа String состоит из цепочки символов, т.е. элементов типа Char . Строки могут выводится с помощью Write и Writeln и вводится c клавиатуры с помощью Read и Readln . В большинстве случаев переменные типа String исполняются для хранения слов и различных сообщений.
2 способа обработки строк: 1) Как единый объект slovo:=‘ информатика ’; присваиваем сразу целую строку slovo:=‘ школа ’ + ’ _ ’ + ’ №178 ’ stroka:= slovo1 + slovo2; 2) Строка- это совокупность символов (элементов типа Char ), которые при обработке доступны каждый в отдельности. Доступ к отдельному элементу строки аналогичен доступу к отдельному элементу массива.
Slovo[1]:=‘A’- первому символу переменной Slovo присвоить значение – А. Т.о., для доступа к отдельному элементу строки необходимо указать имя этой сроки и номер элемента в строке в [ ] . С отдельным элементом строки возможно проделывать все те операции, что и с переменными типа Char .
Стандартные процедуры и функции работы со строками
- функция length - определяет текущую длину строки переменная := length (строка) переменная – имя переменной типа integer строка – имя строки, длина которой определяется. Program one; var N: integer; word: string; begin word:=‘ информатика ’; n:=length(word); write (N); end.
2) функция copy - копирует фрагмент строки из одной переменной в другую.
Str1:=Copy (str, N, M) str - исходная строка, N - позиция, начиная с которой будет копироваться фрагмент, М - число копируемых символов, str1 - полученный фрагмент строки, N,M - integer; str, str1 - string;
Пример: program p2; var word; w1, w2, w3: string; begin word:=‘ картографирование ’; w1:=copy (word, 6,4); writeln (w1); w2:=copy (word, 2,3); writeln (w2); w3:=copy (word, 11, 3); writeln (w3); end.
‘ граф ’
‘ арт ’
’ ров ’
- Функция POS осуществляет поиск некоторого фрагмента в строке. Если такого фрагмента нет, то результат = 0. program p3; var word, w: string; N: integer; begin word:=‘ электрификация ’; writeln (‘ введите фрагмент для поиска ’); readln (w); N= pos (w, word); if N 0 then writeln (‘ позиция = ’ , N); else writeln (‘ такого фрагмента нет ’); end.
4) Процедура INSERT – вставка фрагмента в строку. Insert (word1, word, N); - вставить в строку word начиная с позиции N ( перед ней ) - подстроку word1 , остальная часть слова сдвигается. 5) Процедура DELETE – удаляет фрагмент определенной длины, начиная с определенной позиции. DELETE ( word, N, M); word- строка N- позиция M- число символов, которые удаляются.
компьютеризация
еризация
ерация
герация
генерация
Program P4; var word, word1: string; begin word1:=‘ компьютеризация ’; writeln (word); delete (word,1,7); writeln (word); delete (word,3,2); writeln (word); word1:=‘ Г ’; insert (word1, word, 1); writeln (word); word1:=‘ не ’; insert (word1, word, 3); writeln (word); end.
6) Процедура Val- преобразует строковое
представление числа в его числовое значение VAL( A: String; var C,D: integer); VAL ( Строка, числ o , код).
VS:=‘12345’ VAL (VS, M, C) writeln (‘M + 5 =’,M+5) 12345+ 5= 12350
7) Процедура Str (C: integer; var b: string ) - переводит числовое данное в переменную С
в данное В типа String . Str( число , строка )
Пример использования Val и Str; program STR_and_VAL; var chislo,kod: integer; stroka: string; begin writeln ('Задайте число '); readln(chislo); str (chislo,Stroka); writeln ('Строковое представление числа- ', stroka); writeln ('stroka+stroka= ', stroka+stroka); readln ; val( stroka, chislo, kod); if kod 0 then writeln ('Ошибка ввода ') else writeln ('Числовое значение ',chislo, ' chislo+chislo= ', chislo+chislo); readln; end.
Результат работы программы:
Задайте число
123
Строковое представление числа- 123
stroka+stroka= 123123
Числовое значение 123 chislo+chislo= 246
Строка – это . . .
Чтобы обратиться к определенной букве в строке, надо . . .
Для добавления и удаления подстроки используются процедуры . . .
Как преобразовать число в строку? А наоборот?
Как скопировать фрагмент строки?
- С клавиатуры вводится некоторое предложение. Вывести все его слова в столбик.
- Введите свою фамилию, имя и отчество как одно текстовое данное, используя пробел как разделитель между словами. Выведите на экран:
- Свою фамилию, Свое имя, Фамилию и инициалы.
- Свою фамилию,
- Свое имя,
- Фамилию и инициалы.
- Выучить конспект, § 29
- Стр. 178-179 № 1, 3, 4, 8.

Обработка символьных величин (989 KB)

