Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 8 Стр.doc
Скачиваний:
2
Добавлен:
02.11.2018
Размер:
128 Кб
Скачать

8.2. Строки

Последовательность символов произвольной длины называется строкой. Для обработки и хранения символов можно использовать массив символов или переменные типа String.

Строки могут быть представлены следующими типами: ShortString, LongString, WideString.

Переменной типа ShortString память выделяется до начала выполнения программы, и количество символов такой строки не может превышать 255.

Переменным типа LongString, WideString память выделяется во время работы программы, поэтому длина таких строк практически не ограничена.

Для обеспечения совместимости с предыдущими версиями Delphi и Borland Pascal поддерживается тип String, эквивалентный типу ShortString.

Объявление строковых переменных:

<Имя переменной>: String;

или

<Имя переменной>: String[n];

где n – размер строки (от1 до 255).

Строковая переменная может получить значение в программе в результате выполнения операции присвоения.

Например:

var

Parol :string; // длина строки до 255 символов

S :string[10]; // длина строки до 10 символов

const

a=' Many ';

. . . . . . . .

S:= ' Mart ' ; // переменной S присваивается значение Март

Parol := ' Secret ' ;

. . . . . . . .

Результат выполнения строкового выражения является строка символов.

Для строк применимы операции:

  • конкатенация (добавление к первой строке второй) // Сцепление строк

  • сравнение. // Какой код строки длиннее

Задача3. Объединение (конкатенация) двух строк.

program Example3;

  • Код 32 – клавиши пробел

  • Код 13 – клавиши Enter

  • Код 46 – клавиши точка

uses

SysUtils;

var

S, Str, Str1, Str2:string[20];

begin

Str1:='Delphi ';

Str2:='2005';

Str:=Str1 + #32 + Str2 + chr(46); // Delphi 2005.

S:= Concat(Str1, #32, Str2, #46); // Функция объединения

Writeln(Str); // или Writeln(S);

Readln

end.

Задача4. Сравнить содержимое двух строк

program Example4;

uses

SysUtils;

var

Str1, Str2:string[50];

begin

Writeln ('Vvedite 1 stroky');

Readln (Str1);

Writeln ('Vvedite 2 stroky');

Readln (Str2);

If Str1 > Str2 Then Writeln ('1 stroka dlinnee')

Else

If Str1 < Str2 Then Writeln('1 stroka koroche')

Else Writeln(' 1 i 2 stroki ravnye');

Writeln ('Str1=', Str1, ' Str2=', Str2);

Readln

end.

Переменную типа String можно сравнивать с другой переменной типа String или со строковой константой.

Строки сравниваются посимвольно, начиная с 1 символа:

  • Если все символы сравниваемых строк одинаковые, то такие строки считаются равными;

  • Если в одинаковых позициях строк находятся разные символы, большей считается та, у которой в этой позиции находится символ с большим кодом.

  • Получить доступ к отдельному символу строки можно, указав его номер в квадратных скобках после имени переменной (строки).

Например, s[ i ], где i – номер символа строки s.

Например,

Строка 1

Строка 2

Результат сравнения

Иванов

Иванов

Строки равные

васильев

Васильев

Строка1 > Строки2

Алексеев

Петрова

Строка1 < Строки2

Код В=194, а в=231

А=192, л=235, е=229, к=234, с=241,

П=207, т=242, р=240, о=238, в=226

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]