Познакомиться с основными принципами работы с символьными величинами Научиться применять процедуры и функции для их обработки
1. Массив имеет фиксированную длину: var m : array[0..20] of char; и у каждого элемента есть свое значение или Строка символов имеет две разновидности длины: -общая длина строки, которая определяет величину памяти, выделяемый строке при описании; -текущая длина строки (всегда общей длины) количество смысловых символов строки в данный момент времени. max длина строки 255 символов. Строка представляет собой особую форму одномерного массива символов. Отличия:
V:= школа Ш к о л а Текущая длина Общая длина Строкам символов в ЯП Паскаль соответствует тип string. Способы описания: var V: string[15]; Word: string; Если в описании длина строки не указывается, то она =255.
Переменная типа String состоит из цепочки символов, т.е. элементов типа Char. Строки могут выводится с помощью Write и Writeln и вводится c клавиатуры с помощью Read и Readln. В большинстве случаев переменные типа String исполняются для хранения слов и различных сообщений.
2 способа обработки строк: 1) Как единый объект slovo 1:=информатика; присваиваем сразу целую строку slovo 2:=школа+_+178 stroka:= slovo1 + slovo2; 2) Строка- это совокупность символов (элементов типа Char), которые при обработке доступны каждый в отдельности. Доступ к отдельному элементу строки аналогичен доступу к отдельному элементу массива.
Slovo[1]:=A- первому символу переменной Slovo присвоить значение – А. Т.о., для доступа к отдельному элементу строки необходимо указать имя этой сроки и номер элемента в строке в [ ]. С отдельным элементом строки возможно проделывать все те операции, что и с переменными типа Char.
1)функция length - определяет текущую длину строки переменная := length (строка) переменная – имя переменной типа integer строка – имя строки, длина которой определяется. Program one; var N: integer; word: string; begin word:=информатика; n:=length(word); write (N); end. Стандартные процедуры и функции работы со строками
Str1:=Copy (str, N, M) str - исходная строка, N - позиция, начиная с которой будет копироваться фрагмент, М - число копируемых символов, str1 - полученный фрагмент строки, N,M - integer; str, str1 - string; 2) функция copy - копирует фрагмент строки из одной переменной в другую.
Пример: 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. граф арт ров
3)Функция 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) = ) Процедура 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= Числовое значение 123 chislo+chislo= 246 Результат работы программы:
Строка – это... Чтобы обратиться к определенной букве в строке, надо... Для добавления и удаления подстроки используются процедуры... Как преобразовать число в строку? А наоборот? Как скопировать фрагмент строки?
Задание на урок: С клавиатуры вводится некоторое предложение. Вывести все его слова в столбик. Введите свою фамилию, имя и отчество как одно текстовое данное, используя пробел как разделитель между словами. Выведите на экран: –Свою фамилию, –Свое имя, –Фамилию и инициалы.
Выучить конспект, § 29 Стр , 3, 4, 8.