Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПР_Р_6.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
83.46 Кб
Скачать

Var a, b, c: string;

Begin

a:='Информатика';

readln(b); readln(c); { ввод строк b и c}

writeln(a, '. ', b, ', ', c); { вывод, вариант 1}

writeln(a, ': ', b, ' и ', c); { вывод, вариант 2 }

writeln(a, ' - ', b, ' ', c); { вывод, вариант 3}

End.

Пустая строка вводится двумя апострофами (одинарными кавычками) без пробела между ними. А чтобы записать апостроф в составе строки, его надо повторить дважды. Например, процедура writeln('аб '' ява') выведет на экран слово: «аб ' ява».

Тип данных String обладает свойствами и простых и составных типов. Например, при вводе и выводе строк используют имя строки (свойство простой переменной). С другой стороны, строка – это последовательность символов. Ее можно рассматривать как совокупность из n символов – т.е. массив символов. К любому символу в строке можно обратиться так же, как к элементу массива из n символов. Для этого после имени строки в квадратных скобках надо указать индекс - порядковый номер символа в строке. Если описана переменная S: string, то S[1] - это первый символ строки, S[2] - второй и т.д. Например: S:= ‘ИНФОРМАТИКА’; S[3] = 'Ф'; S[5] = 'Р'.

Физическое представление строки приведено на рисунке 1.

Рисунок 1 – Физическое представление строки

Заметим, что у элемента массива S[0] особая роль – хранить длину строки. Значением S[0] является символ, код которого равен длине строки (количеству символов в строке).

Пример 2. Составить программу, которая выводит третий и нулевой символы введенного с клавиатуры слова и их коды.

Будем рассматривать введенное слово s как массив символов. Значение каждый из элементов можно вывести по его индексу, например, s[3] и определить код с помощью функции ord(s[3]).

Program Prim3_2;

Var s : string;

Begin

write('введите слово: '); readln (s); { ввод }

writeln('номер=3 символ ', s[3], ' код=', ord(s[3]));

writeln('номер=0 символ ', s[0], ' код=', ord(s[0]));

End.

Итак, элементы строки имеют индексы от 0 до n. В процессе обработки данных для строки выделяется память, равная длине присвоенной ей строковой переменной, увеличенной на единицу. Таким образом, ее длина может быть от 0 до n (не более 255) , а в оперативной памяти для нее отводится от 1 до (n+1) байт.

При описании строковой переменной можно ограничить длину строки, указав ее максимально возможный размер, например: var S: string[12]; Тогда в этой переменной может храниться не более указанного количества символов.

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

Program Prim3_3;

Var s: string[4];

begin

write('введите слово '); readln (s); { ввод слова }

writeln(s); { вывод значения переменной s}

end.

Результат выполнения программы:

На практике для определения длины строковой переменной, т.е. количества символов в ней, обычно используют функцию length(s). Например: s:= ‘ИНФОРМАТИКА’; тогда переменной N:= length(s) будет присвоено значение 11.

Пример 4. Составить программу, которая определяет, какое из двух введенных с клавиатуры слов разной длины более длинное, и выводит это слово.

Алгоритм основан на сравнении длин слов length(a) и length(b).

Программа может выглядеть так:

Program Prim3_4;

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