ПРАКТИЧЕСКОЕ ЗАНЯТИЕ
РАЗРАБОТКА ПРОГРАММ ОБРАБОТКИ СТРОКОВЫХ ДАННЫХ
1.1 Познакомиться с основными приемами работы со строковыми переменны- ми;
1.2 Научиться решать типовые задачи.
Строковый тип данных относится к числу структурированных типов.
Строка – это последовательность символов, каждый из которых в памяти занимает 1 байт. Количество символов в строке называется его длиной. Длина строки может находиться в диапазоне 0 – 255 символов.
Строковые величины могут быть константами или переменными.
Строковая константа – это последовательность символов, заключенная в апострофы. Например:
‘Язык программирования Pascal’ ’52-89-74’
Строковая переменная описывается в разделе описания переменных сле-
дующим образом
Var <идентификатор>: String [максимальная длина строки]; Например:
Var S: String[10]; {описана строковая переменная S, максимальная дина ко- торой – 10 символов}
Параметр длины может и не указываться в описании. В этом случае подра- зумевается, что он равен максимальной величине – 255. Например: Var Slovo: String;
Строковая переменная занимает в памяти на 1 байт больше, чем указано при описании. Т.к. один (нулевой) байт содержит значение текущей длины строки. Поскольку в каждой ячейке строки (в том числе нулевой) может хра- ниться только переменная типа char, то непосредственно записать в нулевую ячейку число, соответствующее длине строки нельзя. Поэтому в нулевую ячей- ку строки записывается символ, код которого совпадает с длиной строки. На- пример,
S1:=’Aлло’;
S1[0]:=Chr(3); {функция Chr возвращает символ с указанным кодом} Writeln(S1); {на экране появятся три символа Алл}
Сравнение строк происходит посимвольно, начиная с первого символа в строке. Строки равны, если имеют одинаковую длину и посимвольно эквива- лентны. Если при посимвольном сравнении окажется, что один символ «боль- ше» другого (его код больше), то строка, его содержащая, также считается большей. Остатки строк и их длины игнорируются и на результат сравнения не влияют.
Задание 1. Работа со строковыми константами и переменными
Написать программу, которая запрашивает имя пользователя и здоровается с ним.
Рекомендуемый вид экрана:
Как Вас зовут?
Введите свое имя и нажмите <Enter>
> Вася Здравствуйте, Вася!
Задание 2. Работа со стандартными процедурами и функциями для строк
Составить программу получения слова «правило» из слова «операция», ис- пользуя только процедуры Insert и Delete.
Задание 3. Работа с кодами символов
Написать программу, которая выдает код символа введенного пользовате- лем. Программа должна завершать работу после ввода, например, точки. (Функция Ord возвращает код символа. Например, Writeln(ord(‘A’)) на экране появится код символа ‘А’).
Рекомендуемый вид экрана:
Введите символ и нажмите <Enter>. Для завершения работы программы на- жмите точку.
> 1
Символ: 1 Код: 49
> 2
Символ: 2 Код: 50
> ы
Символ: ы Код: 235
> .
Задание 4. Решение типовых задач со строками
4.1 Дана строка символов, среди которых есть двоеточие. Определить сколько символов ему предшествует, и вывести их на экран.
4.2 Удалить все лишние пробелы из строки, определить количество уда- ленных символов.
1) Что будет выведено на экране в результате работы следующего фрагмен-
та
S1:=’Пришла весна!’;
Writeln (S1[5], S1[9], S1[10]);
2) Какая из двух строк больше, почему?
‘PASCAL’ или ‘pascal’
3) Каким образом можно определить длину строки?
4) С помощью какой процедуры можно удалить часть строки из строковой переменной? Приведите пример.
5) Для чего и как используется нулевой байт в строке.
1) Из строки удалить часть символов, заключенных в круглые скобки, вме- сте со скобками.
2) Вывести на три введенные строки по алфавиту.
3) Определить количество слов, начинающихся на букву b.
4) Дано предложение, в котором нет символа "-". Определить количество букв «о» в первом слове. Учесть, что в начале предложения могут быть пробелы.
5) Дано предложение. Определить количество букв «н», предшествующих первой запятой предложения. Рассмотреть два случая:
- известно, что запятые в предложении есть;
- запятых в предложении может не быть.
6) Дано предложение. Определить порядковые номера первой пары одина- ковых соседних символов. Если таких символов нет, то должно быть на- печатано соответствующее сообщение.
7) Дано предложение. Определить, есть ли в нем буквосочетания чу или щу. В случае положительного ответа найти также порядковый номер первой буквы первого из них.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.