Программирование на языке Паскаль Строковый тип данных
Строковые константы и переменные Строка – это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется её длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковая константа – это последовательность символов, заключённая в апострофы. Пример: Язык программирования Паскаль Описание строковой переменной Var : string[N]; Пример: Var name: string[20]; adr: string; {параметр длины может не указываться} Длина строки
Строковые выражения Тип string и тип char совместимы и могут употребляться в одних и тех же выражениях. Строковые выражения строятся из строковых констант, переменных, функций и знаков операций. Над строковыми данными допустимы операции сцепления (+) и операции отношения (=, <>, >, =, <=) Пример 1: ЭВМ+ IBM+ PC результат ЭВМ IBM PC Пример 2: выражение результат cosm1<cosm2 True pascal1>PASCAL True Ключ <>Ключ True MS DOS=MS DOS True
Строковые функции Функция Значение SВыражение Результат Copy(S,Pos,N) Выделяет из строки S подстроку длиной N символов, начиная с позиции Pos ABCDEFGCopy(S,2,3)BCD Concat(S1,S2,…SN) Выполняет сцепление строк S1,S2,…,S3 AAConcat(S,XX,y)AAXXy Length(S) Определяет длину строки S (A+B)*CLength(s)7 Pos(S1,S) Обнаруживает первое появление в строке S подстроки S1 abcdefPos(cd,S)3
Строковые процедуры Процедура Исходное SВыражение Результат S Delete(S,Pos,N) Выполняет удаление N символов из строки S, начиная с позиции Pos abcdefgDelete(S,3,2)abefg Insert(S1,S,Pos) Выполняет вставку строки S1 в строку S, начиная с позиции Pos ЭВМ PCInsert(IBM-,S,5)ЭВМ IBM-PC
Задача Получить из слова «ВЕЛИЧИНА» слово «НАЛИЧИЕ». Программа Program Slovo_1; Var S1,S2: string[10]; Begin S1:=ВЕЛИЧИНА; S2:=copy(S1,7,2)+copy(S1,3,4)+S1[2]; Writeln(S2); End. Program Slovo_1; Var S1,S2: string[10]; Begin S1:=ВЕЛИЧИНА; S2:=copy(S1,7,2)+copy(S1,3,4)+S1[2]; Writeln(S2); End.
Задача Получить из слова «СТРОКА» слово «СЕТКА». Программа Program Slovo_2; Var S1: string[10]; Begin S1:=СТРОКА; Delete(S1,3,2); Insert(Е,S1,2); Writeln(S2); End. Program Slovo_2; Var S1: string[10]; Begin S1:=СТРОКА; Delete(S1,3,2); Insert(Е,S1,2); Writeln(S2); End.
Задача Составить программу, которая формирует символьную строку, состоящую из n звёздочек ( 0< n<256). Программа Program Stars; Var s: string; n,i:integer; Begin Writeln(Введите число звёздочек; Readln(n); s:=; For i:=1 to n do s:=s+*; Writeln(s); End. Program Stars; Var s: string; n,i:integer; Begin Writeln(Введите число звёздочек; Readln(n); s:=; For i:=1 to n do s:=s+*; Writeln(s); End.
Задачи 1 Составить программу получения из слова «дисковод» слова «воск», используя операцию сцепления и функцию Copy. 2 Составить программу получения слова «правило» из слова «операция», используя процедурыDelete и Insert. 3 В данном слове заменить первый и последний символы на «*».