- •Министерство образования республики беларусь учреждение образования «могилевский государственный политехнический колледж»
- •Практическая работа № 6
- •1 Цели занятия
- •2 Методическое обеспечение
- •3 Последовательность выполнения работы
- •4 Теоретическое обоснование
- •Var a, b, c: string;
- •Var s : string;
- •Var s: string[4];
- •Var a, b: string;
- •Var a, b: string; k : integer;
- •5 Индивидуальное задание
- •6 Содержание отчета (в электронном виде)
- •7 Контрольные вопросы
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;
