Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник программирование 7-9 на печать.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.6 Mб
Скачать

№57. Вводится код символа (любое число 0-255). На экран выводится символ с данным кодом. § 26. Строковый тип данных, операции и функции.

Величина типа “строка” (тип STRING) - последовательность произвольных печатных символов не длиннее 255 символов.

Чтобы использовать переменную-строку в программе, ее нужнo описать в разделе описаний: Var <имя>:string; При этом в памяти компьютера резервируется массив из 255 ячеек по 1 байту каждая. Обращаться к элементам строки можно так же, как к элементам массива:

Можно зарезервировать строку покороче, для этого при описании типа указывается в квадратных скобках длина строки:

Значением переменной-строки может быть произвольная последовательность печатных символов, заключенная в апострофы (') или выражение, результат выполнения которого - строка символов.

Чтобы поместить в строковую переменную какое-либо значение, можно воспользоваться одним из способов:

- присвоить переменной какое-либо новое значение;

- считать в эту переменную значение при помощи оператора ввода ( READ).

Например: s:=’мама мыла раму’;

Строки можно сравнивать. Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Строки равны, если они имеют равную длину и все символы совпадают.

‘Abc’<’abc’ (отношение истинно, т.к. код символа ‘A’ = 65, а код символа ‘a’ – 97);

‘строка’<’строки’ (верно, т.к. шестые символы строк ‘a’<’и’ );

‘год’>’век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’).

Строки можно склеивать (объединять нескольких строк с помощью знака +).

s:='123'+'456'; { s = ‘123456’}

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

s:='Hello!';

Writeln(s[2]); {на экране: e}

Над величинами строкового типа разрешено использовать следующие функции:

  1. LENGTH (S)

Возвращает длину строки S (количество символов в ней). Результат - целый.

var Str: String; L: Integer;

{ ... }

Str:='Hello!';

L:=Length(Str); {L = 6}

2. COPY (St,a,b)

Возвращает b символов строки St, начиная с позиции a.

var s, s1, s2: string;

begin

s := '123456789';

s1 := Copy ( s, 3, 6 ); {345678}

s2 := Copy ( s1, 2, 3 ); {456}

end.

3. POS (S1,St)

Возвращает номер позиции, с которой строка S1 входит в строку St. Возвращает ноль, если такой подстроки в исходной строке нет.

var Str1, Str2: String; P: Integer;

{ ... }

Str1:='Hi! How do you do?';

Str2:='do';

P:=Pos(Str2, Str1); {P = 9}

Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б».

program zamena;

var s: string;

i: integer;

begin

Writeln('Введите строку');

readln(s);

{начинаем цикл, в котором будем двигаться по строке и менять буквы:}

for i:=1 to Length(s) do

if s[i] = 'а' then s[i] := 'б';

writeln(s);

end.

Домашние вопросы и задачи: