Тип данных стринг паскаль
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
n — максимально возможная длина строки — целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.
Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены.
Выражения типа char можно присваивать любым строковым переменным.
В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st — это ‘Строка’, то st[1] — это ‘С’, st[2] — это ‘т’, st[3] — ‘р’ и так далее.
Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например:
В этом примере переменная c приобретет значение ‘TurboPascal’.
Кроме слияния над строками определены операции сравнения ,=,<>, =. Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0.
Процедуры и функции для работы со строками
В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками. Ниже приводится список этих процедур и функций с краткими пояснениями. Функция возвращает в качестве результата значение текущей длины строки-параметра
Пример.
Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации «+» и работает немного менее эффективно, чем эта операция.
Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.
Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.
Пример.
Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.
Пример.
Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.
Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.
Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x — может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании.
В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками.
Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n.
В данном случае функция возвращает код символа ch.
Если c — строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.
Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики
Строковый тип данных в Паскале
Строки в Паскале – это данные типа string. Они используются для хранения последовательностей символов. В Паскале длина стандартной строки ограничена 255 символами. Под каждый символ отводится по одному байту, в котором хранится код символа. Кроме того, каждая строка содержит еще дополнительный байт, в котором хранится длина строки.
Если заранее известно, что длина строки будет меньше 255 символов, то программист может сам задать максимальную длину строки.
Примеры описания строк:
Длина строки хранится в первом ее байте, индекс которого равен 0.
Объявление типизированной константы для типа string осуществляется так:
Существует понятие пустой строки, т.е. строки, которая не имеет элементов. Пустая строка обозначается двумя рядом стоящими апострофами (например, st = «color : #339 933 ; «> : = / span> = «color : #ff0000 ; «> » / span> ).
Операции над строками
Строки можно присваивать друг другу. Если максимальная длина переменной слева меньше длины присваиваемой строки, то лишние символы справа отбрасываются.
Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.
Строки можно сравнивать друг с другом с помощью операций отношения. При сравнении строки рассматриваются посимвольно слева направо, при этом сравниваются коды соответствующих пар символов. Строки равны, если они имеют одинаковую длину и посимвольно эквивалентны. В строках разной длины существующий символ всегда больше соответствующего ему отсутствующего символа. Меньшей будет та строка, у которой меньше код первого несовпадающего символа (вне зависимости от максимальных и текущих длин сравниваемых строк).
Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку считывается из входного потока количество символов, равное длине строки или меньшее, если символ перевода строки (который вводится нажатием клавиши Enter) встретится раньше. При выводе под строку отводится количество позиций, равное ее фактической длине.
К отдельному символу строки можно обращаться как к элементу массива символов, например s1 = «color : #009 900 ; «> [ / span> = «color : #cc66cc ; «> 3 / span> = «color : #009 900 ; «> ] / span> . Символ строки совместим с типом char, их можно использовать в выражениях одновременно, например:
Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем операторе достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер ее элемента (например, str [ 3 ] : = ‘j’ ).
Элементы строки нумеруются с единицы, т.к. в каждой строковой переменной имеется элемент с номером 0, в котором в виде символа хранится длина текущей строки. Чтобы узнать текущую длину, достаточно применить функцию ord к нулевому элементу строки. Например:
Нулевой элемент строковой переменной можно корректировать. При этом будет изменяться текущая длина строки. Например, выражение str [ 0 ] : = #50 устанавливает текущую длину равной 50.
лабы по информатике, егэ
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Pascal: Занятие № 11. Строковый тип данных в Паскаль
Символьный тип char в Паскале
Символьной переменной соответствует тип char:
Инициализация символьной переменной:
Основные функции для работы с символами
Функция преобразует целое число, имеющее тип BYTE, в один символ ASCII-кода:
Функция возвращает порядковый номер символа параметра в таблице ASCII:
var i: integer; begin for i:=32 to 255 do write(chr(i):3); end.
Строковые переменные в Паскаль
Строковые переменные в Паскале имеют тип String
Объявление и инициализация строковой переменной:
var a:string; begin a:=’Привет всем!’; writeln(a); end.
Ввод значения строковой переменной с клавиатуры:
var a:string; begin writeln(‘Введите слово’); readln(a); writeln(‘Вы ввели слово ‘,a); end.
Строка «рассматривается» компилятором, как массив букв:
Функции работы со строками в Pascal
Исходные данные | Операция | Результат |
---|---|---|
s3=’Мотороллер’ | ||
s4= ‘трон’ | ||
s5=’Корочка’ | ||
s6=’Рубашка’ | ||
s8=’2.73′ | ||
var s:string[30]; n,i:integer; begin writeln(‘введите текст’); readln(s); n:=0; for i:=1 to length(s) do if s[i]=’f’ then n:=n+1; write(‘в тексте букв f = ‘,n) end. const m = [‘1’..’9′]; var s: string; i, k: byte; begin read(s); k := 0; for i := 1 to length(s) do if s[i] in m then inc(k); writeln(‘цифр = ‘, k); readln; end. var a,b,c:string; i:longint; begin write(‘введите слово:’); readln(a); b:=»; for i:=1 to length(a) do b:=a[i]+b; if a=b then write(‘перевертыш’) else write(‘не перевертыш’); end. String 6. Определить, встречается ли в тексте сочетание букв «ку». String 7. Заменить данную букву в слове другой буквой (буквы вводит пользователь). Примечание: Посимвольный ввод до пробелаПосимвольный ввод удобен для «мгновенной» обработки символов в строке. Для организации массива символьных строк:
Пример: Трудность низкая: Трудность высокая: И напоследок рассмотрим олимпиадное задание по Паскалю: * Решить ту же задачу, в которой сдвиг будет не на 3 позиции, а на k, причем отрицательное значение является признаком сдвига влево, положительное — вправо. var a:char; i,n:byte; s,s1:string; begin s1:=»; readln(s); for i:=1 to length(s) do begin n:=ord(. ); n:=n+3; if n=123 then n:=97; <в ASCII 120 — x, 97 — a>if . ; <в ASCII 121 — y, 98 — b>if . ; <в ASCII 122 — z, 99 — c>a:=chr(. ); s1:=. ; end; writeln(s1) end. var a:char; i,n:byte; s,s1:string; begin s1:=»; readln(s); for i:=1 to length(s) do begin n:=ord(s[i]); n:=n+3; if n=123 then n:=97; <в ASCII 120 — x, 97 — a>if n=124 then n:=98; <в ASCII 121 — y, 98 — b>if n=125 then n:=99; <в ASCII 122 — z, 99 — c>a:=chr(n); s1:=s1+a; end; writeln(s1) end. Потренируйтесь в решении задач по теме, щелкнув по пиктограмме: Язык паскаль онлайнТип string (строковый) в паскале – Процедуры и функции для работы со строками
Строковой тип предназначен для хранения определенных строк , например имени пользователя. У этого типа есть определенные особенности , которые мы рассмотрим в данной статье. Строковый тип может хранить в себе до 255 символов ( пробелы так же следует учитывать ). Объявление переменный строкового типа :Тип данных string можно объявить двумя способами : с обозначением длины строки и без обозначения. При простом объявлении строки в блоке var : для переменной text будет предоставлено 255 символов ( максимальное количество ). Но мы можем заранее понимать , что какая-либо переменная будет очень короткой и тогда мы используем объявление с обозначением длины : В данной строке поместятся всего 20 символов , которые будут занимать 21 байт , в отличии от 256 байт , которые займет целая строка. Экономия памяти на лицо. Вы наверное уже задались вопросом : Почему строка в 255 символов занимает 256 байт ? все дело в том что строка хранит в себе не только символы , но и размер самой строки в нашем случае это 255. Операции со строками :Несколько строк можно складывать. Например вывод имени и фамилии одного человека может выглядеть так : В данном случае , если мы введем Игорь Петров , то получим на выходе программы ИгорьПетров. Строки также можно сравнивать ( больше , меньше или равно ). Пример сравнения легче всего рассмотреть на сравнении имен : Игорь и Иван. Функция length :Функция length возвращает длину строки. Например функция length(‘привет’) вернет нам число 6 , так как слово привет состоит из 6 символов. С помощью этой функции вы сможете узнать длину любой строки. Функция pos :Давайте рассмотрим такую задачу : нам нужно найти на какой позиции в строке встречается некоторое слово : В этом случае на выходе программы мы получим позицию слова , которое встречается в строке в первый раз. Если такого слова нет , то функция возвращает 0. Как работает функция pos : pos( какое слово ищем , в какой строке ); Функция insert :Данная функция добавляет в строку любую другую строку . Она принимает в себя 3 атрибута : insert( какую строку добавить , в какую строку , на какую позицию ). Функция delete :Эта функция удаляет определенное количество символов из строки и несет в себе 3 атрибута : delete( из какой строки , с какой позиции , сколько символов удалить ). На заметку :Строку так же можно представить в виде массива длинной в 255 ячеек , заполненных символами. Пример : В результате выполнения данной программы мы получим первый символ из введенного имени. Для закрепления всех этих функция давайте рассмотрим такую задачу : Требуется ввести строку и ввести слово , которое будет заменено на слово «( удалено )». Процедуры и функции для работы со строкамиLength (s: string): integer; Функция Length возвращает в качестве результата значение текущей длины строки-параметра. Пример. n: = length (‘Pascal’); Concat (s1, [s2, …, sn]: string): string Функция Concat выполняет слияние строк-параметров, которые могут быть произвольное количество. Каждый параметр выражением строчной типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Эта функция эквивалентна операции конкатенации «+» и работает чуть менее эффективно, чем эта операция. Функция Copy возвращает подстроку, выделенный из исходной строки s, длиной count символов, начиная с символа под номером index. Пример. s: = ‘Система Turbo Pascal’; s4 = copy (s, 15, 6); Delete (var s: string; index, count: integer) Процедура Delete удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index. Пример. s: = ‘Система Turbo Pascal’; Insert (source: string; var s: string; index: integer) Процедура Insert предназначена для вставки строки source в строку s, начиная с символа index этой строки. Пример. s: = ‘Система Pascal’; insert ( ‘Turbo’, s, 9); Pos (substr, s: string): byte Функция Pos осуществляет поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0. Пример. s: = ‘Система Turbo Pascal’; x1 = pos ( ‘Pascal’, s); x2 = pos ( ‘Basic’, s); Str (X: арифметическое выражение; var st: string) Процедура Str преобразует числовое выражение X в его строчное представление и помещает результат в st. Val (st: string; x: числовая переменная; var code: integer) Процедура Val преобразует строчный запись числа, содержащегося в st, в числовое представление, помещая результат в x. x — может быть как целиком, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразования не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равен 0, то это свидетельствует об успешном превращении. В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками. Chr (n: byte): char Функция Chr возвращает символ по коду, равный n. Если n можно представить как числовую константу, то можно пользоваться записью #n. Ord (ch: char): byte; Функция Ord возвращает код символа ch. UpCase (c: char): char; Если c — маленькая латинская буква, то функция UpCase возвращает соответствующую большую латинскую букву, в противном случае символ c возвращается без изменения. Оценка статьи:
![]() ![]() ![]() ![]() ![]() ![]() Тип данных стринг паскаль Ссылка на основную публикацию ![]() ![]() Похожие публикации
|