Заказать  курсовую Заказать курсовую, контрольную, диплом

KupiVip – крупнейший онлайн-магазин

Занимайтесь онлайн 
        с опытными репетиторами

Занимайтесь онлайн
с опытными репетиторами

Приглашаем к сотрудничеству преподователей

Приглашаем к сотрудничеству преподователей

Готовые шпаргалки, шпоры

Готовые шпаргалки, шпоры

Отчет по практике

Отчет по практике

Сервис для выполнения любых видов студенческих работ

Сервис для выполнения любых видов студенческих работ

Студенческий файлообменник Студенческий файлообменник

Закажите реферат

Закажите реферат

Биржа студенческих   работ. Контрольные, курсовые, рефераты.

Заказ выполнения любых видов учебных работ

Типы данных Турбо Паскаль

Другие главы учебника Турбо Паскаля

Знакомство со средой Турбо Паскаля

    • 1.1 Как начать работу с Турбо Паскалем
    • 1.2 Функциональные клавиши
    • 1.3 Текстовый редактор
    • 1.4 Основные приемы работы в среде Турбо Паскаля
      • 1.4.1 Работа с файлами
      • 1.4.2 Прогон и отладка программы
      • 1.4.3 Справочная служба Турбо Паскаля

Строки

Тип STRING (строка) в Турбо Паскале широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY[O..N] OF CHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не больше 255 . Турбо Паскаль разрешает не указывать N, в этом случае длина строки принимается максимально возможной, а именно N=255 .

Строка в Турбо Паскале трактуется как цепочка символов. К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [0..N] OF CHAR, например:

var 

st : String; 

begin

.....

if st[5] = 'A' then... 

end.

Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки, первый значащий символ строки занимает второй байт и имеет индекс 1. Над длиной троки можно осуществлять необходимые действия и таким способом изменять длину. Например, удалить из строки все ведомые пробелы можно следующим образом:

var

st : String; 

i : Byte;

begin

i := ord(st [0] ) ; {i - текущая длина строки} 

while (i <> 0) and (st[i] = ' ') do 

begin 

dec(i);

st[0] := chr(i) 

end;

.....

end.

Значение ORD(st[0]) , т.е. текущую длину строки, можно получить и с помощью функции LENGTH(st), например:

while (Length(st)<>0) and (st[Length(st)]=' ') do 

st[0] := chr(Length(st)-1)

К строкам можно применять операцию «+» - сцепление, например:

st := 'а1 + 'b'; 

st := st + 'с'; {st содержит "abc"}

Если длина сцепленной строки превысит максимально допустимую длину N, то «лишние» символы отбрасываются. Следующая программа, например, напечатает символ 1:

var

st: String [1] ; 

begin

St:='123'; 

WriteLn(st) 

end.

Все остальные действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций.

CONCAT(S1 [,S2, ... , SN] ) - функция типа STRING; возвращает строку, представляющую собой сцепление строк-параметров SI, S2, ..., SN.

COPY(ST, INDEX, COUNT) - функция типа STRING; копирует из строки ST COUNT символов, начиная с символа с номером INDEX.

DELETE (ST, INDEX, COUNT) - процедура; удаляет СОUNT символов из строки ST, начиная с символа с номером INDEX.

INSERT (SUBST, ST, INDEX) - процедура; вставляет подстроку SUBST в строку ST, начиная с символа с номером INDEX.

LENGTH (ST) - функция типа INTEGER; возвращает длину строки ST.

POS (SUBST, ST) - функция типа INTEGER; отыскивает в строке STпервое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.

STR(X [; WIDTH [: DECIMALS] ], ST) - процедура; преобразует число X любого вещественного или целого типов в строку символов ST так, как это делает процедура WRITELN перед выводом; параметры WIDTH и DECIMALS, если они присутствуют, задают формат преобразования: WIDTH определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного или целого числа X, a DECIMALS - количество символов в дробной части (этот параметр имеет смысл только в том случае, когда Х- вещественное число).

VAL(ST, X, CODE) - процедура; преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной; параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразований, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется; в строке ST могут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение val (' 123',k,i) пройдет успешно: k получит значений 123, в i будет помещен 0, в то время как обращение val (' 123 ' , k, i) будет ошибочным: значение k не изменится, a i будет содержать 4.

UPCASE (СН) - функция типа CHAR; возвращает для символьного выражения СН, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву; если значением СН является любой другой символ (в том числе строчная буква русского алфавита), функция возвращает его без преобразования.

Примеры:

var

х : Real; 

у : Integer; 

st,st1: String; 

begin

st := concat('12','345'); {строка st содержит 12345} 

st1 := copy(st,3,Length(st)-2); {st1 содержит 345}

insert('-',st1,2); {строка st1 содержит 3-45} 

delete(st,pos('2',at),3); {строка st содержит 15} 

str(pi:6:2,st); {строка st содержит 3.14} 

val(''3,1415' ,x,y) ; {у содержит 2, х остался без изменения}

end.

Операции отношения =, о, >, <, >=, <= выполняются над двумя строками посимвольно, слева направо с учетом внутренней кодировки символов (см. табл.4.1 и прил.2). Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются значением СНR(0) .

Следующие операции отношения дадут значение TRUE:

'''' < ' . '

'А' > '1'

'Turbo' <' Turbo Pascal'

'Паскаль' >'Turbo Pascal'

 

Курс лекций Сопротивление материалов