Символы и строки. Процедуры и функции работы со строками.

Презентация:



Advertisements
Похожие презентации
Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример: 'Текстовая строка' Пустой символ обозначается двумя.
Advertisements

СТРОКИ В ПАСКАЛЕ. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется.
Символьный и строковый тип данных. ТИП ДАННЫХ Целый: 1. Целый: Integer ( …32 768), LongInt ( … ), Word (0…65535) Логический:
Строковый тип данных. Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строка - последовательность из определенного количества.
Строки в Pascal
Основы алгоритмизации и программирования Чабанюк Виктория 10 класс.
Обработка символьных величин. Цели урока Познакомиться с основными принципами работы с символьными величинами Познакомиться с основными принципами работы.
Ваш логотип. В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
(Выполнила Войтюлевич Ольга Гимназия 1). Символьный тип данных Для работы с символами в языке Pascal предусмотрен специальный тип данных, который называется.
Строки – последовательность символов, к которой можно обращаться как к единому целому и к каждому элементу по отдельности. Строка.
Курс «Информатика» Лекция 8 Составитель: Иванчева Н.А.
Чувашия, с.Моргауши, МБОУ "Моргаушская СОШ" - Павлинова Раиса Мефодьевна, г. Тема: Паскаль «строковые переменные». Обработка строк текста МБОУ.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Работа со строковыми типами данных. Строка – упорядоченная последовательность символов. Строковая константа – последовательность символов, заключенных.
Понятие строки. Операции со строковыми величинами. Стандартные процедуры и функции обработки строковых величин. Простые алгоритмы работы со строками на.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
Строка в Turbo Pascal - упорядоченная последовательность символов.
Строки символов Строка в Паскале – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале.
Строковые величины Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
О СНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ. П ЛАН 1. Символьные и строковые величины. Операции над символьными и строковыми величинами. 2. Символьный тип.
Транксрипт:

Символы и строки. Процедуры и функции работы со строками

Строковый тип данных Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис: var s: string[n]; var s: string; n - максимально возможная длина строки - целое число в диапазоне Если этот параметр опущен, то по умолчанию он принимается равным 255.

Строковые константы записываются как последовательности символов, ограниченные апострофами. Пример: 'Текстовая строка' Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) #54#32#61 и управляющих символов (комбинации ^ и некоторых заглавных латинских букв). 'abcde'^A^M Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.

Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Выражения типа char можно присваивать любым строковым переменным. В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] - это 'С', st[2] - это 'т', st[3] - 'р' и так далее.

Над строковыми данными определена операция слияния (конкатенации), обозначаемая знаком +. Например: a := 'Turbo'; b := 'Pascal'; c := a + b; В этом примере переменная c приобретет значение 'TurboPascal'.

Кроме операции слияния (конкатенации) над строками определены операции сравнения,=,, =. Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0.

Процедуры и функции для работы со строками В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками.

Length(s:string):integer Функция возвращает в качестве результата значение текущей длины строки-параметра Пример. n := length('Pascal'); {n будет равно 6} Concat(s1,[s2,...,sn]:string):string Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+" и работает немного менее эффективно, чем эта операция.

Copy(s:string; index:integer; count:integer):string Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index. Пример. s := 'Система Turbo Pascal'; s2 := copy(s, 1, 7); {s2 будет равно 'Система'} s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'} s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}

Delete(var s:string; index,count:integer) Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index. Пример. s := 'Система Turbo Pascal'; delete(s,8,6); {s будет равно 'Система Pascal'}

Insert(source:string; var s:string;index:integer) Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки. Пример. s := 'Система Pascal'; insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}

Pos(substr,s:string):byte Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0. Пример. s := 'Система Turbo Pascal'; x1 := pos('Pascal', s); {x1 будет равно 15} x2 := pos('Basic', s); {x2 будет равно 0}

Str(X: арифметическое выражение; var st: string) Процедура преобразует численное выражение X в его строковое представление и помещает результат в st. Val(st: string; x: числовая переменная; var code: integer) Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании.

Некоторые функции, связанные с типом char, достаточно часто используются и при работе со строками. Chr(n: byte): char Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n. Ord(ch: char): byte; В данном случае функция возвращает код символа ch. UpCase(c: char): char; Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.

Примеры заданий: 1. Определить и вывести на экран длину введенной пользователем строковой величины. Program Str1; Var S : String; Begin Writeln('Введите последовательность символов'); Readln(S); Writeln('Вы ввели строку из ',Length(S), ' символов'); End.

2. Введенную строку вывести на экран по одному символу в строке экрана. Program Str2; Var S : String; I : Byte; Begin Writeln('Введите строку'); Readln(S); For I:=1 to Length(S) do Writeln(S[I]); End.

3. Вывести на экран кодовую таблицу. Program Str3; Var I : Byte; Begin For I:=32 to 255 do Write('VV',I:4, '-',Chr(I)) End. Цикл в программе начинается с 32 потому, что символы с кодами от 0 до 31 являются управляющими и не имеют соответствующего графического представления.

4. Определить, является ли введенная строка "перевертышем". Перевертышем называется такая строка, которая одинаково читается с начала и с конца. Например, "казак" и "потоп" - перевертыши, "канат" - не перевертыш". Решение: 1.из введенной строки сформируем другую строку из символов первой, записанных в обратном порядке. 2.сравним первую строку со второй; если они окажутся равны, то ответ положительный, иначе - отрицательный.

Program Str4; Var S,B : String; I : Byte; Begin Writeln('Введите строку'); Readln(S); B:=''; {Переменной B присваиваем значение "пустая строка"} For I:=1 to Length(S) do B:=S[I]+B; {Конкатенация. Символы строки S пристыковываются к переменной B слева. Самым левым окажется последний.} If B=S Then Writeln('Перевертыш') Else Writeln('Не перевертыш') End.

5. Найти сумму цифр введенного натурального числа. Program Str5; Var S : String; I,X,A,C : Integer; Begin Writeln('Введите натуральное число'); Readln(S); {Число вводится в строковую переменную} A:=0; For I:=1 To Length(S) Do Begin Val(S[I],X,C); {Цифровой символ превращается в число} A:=A+X {Цифры суммируются} End; Writeln('Сумма цифр равна ',A) End.

6. Во введенной строке заменить все вхождения подстроки 'ABC' на подстроки 'KLMNO'". Program Str6; Var S : String; A: Byte; Begin Writeln('Введите строку'); Readln(S); While Pos('ABC',S)0 Do Begin A:= Pos('ABC',S); Delete(S,A,3); Insert('KLMNO',S,A) End; Writeln(S) End.