Классификация и краткая характеристика стандартных процедур и функций для строк в турбо паскале

Автор: Пользователь скрыл имя, 07 Февраля 2013 в 02:51, реферат

Краткое описание

Каждый элемент данных относится к одному из конечного множества типов, допустимых для конкретного языка программирования. Тип – это множество значений, которые могут принимать объекты программы, и совокупность операций, допустимых над этими значениями.

Оглавление

Введение 3
Процедуры и функции для строк в турбо паскале 4
Процедура Delete 5
Процедура Insert 6
Процедура Str 6
Процедура Val 7
Функция Length 7
Функция Concat 7
Функция Copy 8
Функция Pos 8
Список использованной литературы 9

Файлы: 1 файл

Вопрос Классификация и краткая характеристика стандартных процедур и функций для строк в турбо паскале.docx

— 31.19 Кб (Скачать)

 

Содержание

 

Введение 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  можно возвращать из функции.

Процедура Delete

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.

Процедура Insert

Procedure Insert(Source: string; var S: string; Index:Integer);

Вставляет подстроку Source в  строку S, начиная с позиции Index.

Пример использования:

S: = 'Жаркий климат';

insert('и влажный ', s, 8);

writeln(s); {Будет выведено  ‘Жаркий и влажный климат’} 

Процедура Str

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’, начиная                                                       с точки с координатами X=100, Y=200}

Процедура Val

Procedure Val(S; var V; var Code: Integer);

Преобразовывает символьное представление числа S  в целое  или вещественное число V. Code –  код ошибки,  возникающей при переводе строки в число. Если все хорошо, то Code=0.

Функция Length

function Length(S: String): Integer;

Возвращает текущую длину  строки.

Пример:

S := ’Иван Иванович’; 

D := Length(S); {В строке S содержится 13 символов,

                                    поэтому D = 13} 149

Функция Concat

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 содержится                                        ‘Иванов Иван Иванович’ }

Функция Copy

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

Функция Pos

function Pos(Substr: String; S: String): Byte;

Ищет в строке S подстроку SubStr. Возвращает индекс первого элемента первой найденной подстроки. Если подстрока не найдена, возвращает 0.

Пример:

S1 := ’Информатика и математика’; 

K := Pos(‘мат’, s1); {K = 6   –   первый раз подстрока ‘мат’ 

                    в строке s1 начинается с 6-ой  позиции}

 

 

 

Список использованной литературы

 

И. В. Беляева Основы программирования на языке Turbo Pascal: учебное

пособие / И. В. Беляева. –  Ульяновск : УлГТУ, 2011.


Информация о работе Классификация и краткая характеристика стандартных процедур и функций для строк в турбо паскале