Автор: Пользователь скрыл имя, 07 Февраля 2013 в 02:51, реферат
Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретного языка программирования. Тип – это множество значений, которые могут принимать объекты программы, и совокупность операций, допустимых над этими значениями.
Введение 3
Процедуры и функции для строк в турбо паскале 4
Процедура Delete 5
Процедура Insert 6
Процедура Str 6
Процедура Val 7
Функция Length 7
Функция Concat 7
Функция Copy 8
Функция Pos 8
Список использованной литературы 9
Содержание
Введение 3
Процедуры и функции для строк в турбо паскале 4
Процедура Delete 5
Процедура Insert 6
Процедура Str 6
Процедура Val 7
Функция Length 7
Функция Concat 7
Функция Copy 8
Функция Pos 8
Список использованной литературы 9
Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретного языка программирования. Тип – это множество значений, которые могут принимать объекты программы, и совокупность операций, допустимых над этими значениями.
Все типы данных языка Turbo Pascal разделяются на две группы:
- скалярные (простые)
- структурированные (составные).
Строковый тип данных как
раз относится к
Последовательность символов определенной длины называется строкой. Переменные строкового типа определяются путем указания имени переменной, зарезервированного слова string, и возможно, но не обязательно указания максимального размера, т. е. длины строки, в квадратных скобках. Если не задавать максимальный размер строки, то по умолчанию он будет равен 255, т. е. строка будет состоять из 255 символов.
К каждому элементу строки можно обратиться по его номеру. Однако ввод и вывод строк осуществляются целиком, а не поэлементно, как это происходит в массивах. Число введенных символов не должно превышать указанного в максимальном размере строки, так если такое превышение будет иметь место, то «лишние» символы будут проигнорированы.
Фактически строка – это массив символов. Но из-за специфики работы с текстом и из-за широкого использования строк они выделены в специальные типы данных.
В Turbo Pascal можно использовать два вида строк – строки типа String и строки типа ASCIIZ. Строки типа String являются для Turbo Pascal «родными», а строки типа ASCIIZ позаимствованы из языка Си. Сразу заметим, что работать со строками string проще, чем со строками ASCIIZ.
По этим причинам мы будем рассматривать только работу со строками String.
String определен в Turbo Pascal как стандартный тип данных. По сути дела он определен как массив из 256 символов, с индексами от 0 до 255, то есть следующим образом:
Type
String = array [0..255] of char;
На самом деле для хранения символов в строке string используется только 255 из 256 символов – это элементы с индексами от 1 до 255.
Элемент с индексом 0 хранит количество реально используемых элементов в строке, то есть нулевой элемент строки String по своему назначению эквивалентен переменной n в следующем фрагменте программы:
Var
A: Array[1..255] of char; {Массив символов, в котором может храниться от 0 до 255 элементов}
N:Byte; {Реальное количество элементов, хранимых в массиве A} 138 Например, если S – строковая константа, объявленная следующим образом:
Const
S = ‘Строка’;
то S представляет следующее содержимое:
При работе со строками, как
правило, возникает необходимость
выполнять их копирование, вставку,
удаление или поиск. Для эффективной
реализации этих действий в Паскале
предусмотрены стандартные
В Turbo Pascal определены 4 процедуры и 4 функции для работы со строками string.
Процедуры:
Delete – удаление подстроки из строки.
Insert – вставка подстроки в строку.
Str – преобразование числа в строку.
Val – преобразование строки в число.
Функции:
Length – длина строки.
Concat – объединение строк.
Copy – выделение подстроки.
Pos – поиск подстроки в строке.
Заметим, что в языке Turbo Pascal значение типа STRING можно возвращать из функции.
Procedure Delete(var S: string; Index, Count: Integer);
Удаляет из строки S подстроку, задаваемую параметрами Index и Count.
Index – номер первого удаляемого символа.
Count – число удаляемых символов.
Пример использования:
var
s: string; {строка} 145
begin
s := 'Тяжелый и горячий
утюг'; {Исходное содержание
writeln(s); {Выводим исходную строку}
delete(s, 9, 10);{Удаляем из строки 10 символов, начиная с 9-го, то есть удаляется подстрока ‘и горячий ’}
writeln(s); {Выводится строка ‘Тяжелый утюг’}
end.
Procedure Insert(Source: string; var S: string; Index:Integer);
Вставляет подстроку Source в строку S, начиная с позиции Index.
Пример использования:
S: = 'Жаркий климат';
insert('и влажный ', s, 8);
writeln(s); {Будет выведено ‘Жаркий и влажный климат’}
Procedure Str(X[:Width[:Decimal]]; var S: string);
Преобразовывает число X в последовательность символов (строку) S в соответствии с заданными значениями форматирования Width и Decimal.
(Если какие-то параметры указаны в квадратных скобках, то это значит, что эти параметры могут быть указаны, а могут и не быть указаны).
Пример использования:
В графическом режиме вывод текста производится при помощи процедур outtext и outtextxy, в которых для вывода можно указывать только строки. Если возникает необходимость вывода чисел, то приходится делать примерно так:
K := 1034;
Str(k, s);
OuttextXY(100, 200, s); {Вывод строки
s=’1034’, начиная
Procedure Val(S; var V; var Code: Integer);
Преобразовывает символьное представление числа S в целое или вещественное число V. Code – код ошибки, возникающей при переводе строки в число. Если все хорошо, то Code=0.
function Length(S: String): Integer;
Возвращает текущую длину строки.
Пример:
S := ’Иван Иванович’;
D := Length(S); {В строке S содержится 13 символов,
function Concat(s1 [, s2,..., sn]: String): String;
Склеивает строки s1, s2 ... sn в одну и возвращает ее.
Пример:
S1 := ’Иван’;
S2 := ’Иванович’;
S3 := ’Иванов’;
S4 := Concat(s3,’ ‘,s1,’ ‘,s2);
{В строке S4 содержится
Эта функция очень редко используется, поскольку вместо нее можно использовать операцию +.
Пример:
S1 := ’Иван’;
S2 := ’Иванович’;
S3 := ’Иванов’;
S4 := s3 + ’ ‘ + s1 + ’ ‘
+ s2; {В строке S4 содержится
function Copy(S: String; Index: Integer; Count: Integer) : String;
Возвращает подстроку строки S. Index – первый символ подстроки, Count – длина подстроки.
Пример:
S1 := ’Петров Вася’;
S2 := Copy(s3, 4, 3); {В строке S2 содержится ‘ров’ }
S3 := Copy(s3, 9, 2); {В строке S3 содержится ‘ас’ } 150
function Pos(Substr: String; S: String): Byte;
Ищет в строке S подстроку SubStr. Возвращает индекс первого элемента первой найденной подстроки. Если подстрока не найдена, возвращает 0.
Пример:
S1 := ’Информатика и математика’;
K := Pos(‘мат’, s1); {K = 6 – первый раз подстрока ‘мат’
в строке s1 начинается с 6-ой позиции}
И. В. Беляева Основы программирования на языке Turbo Pascal: учебное
пособие / И. В. Беляева. – Ульяновск : УлГТУ, 2011.