Процедуры и функции обработки строк

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 81. Практическая работа по теме Процедуры и функции обработки строк.doc

Практическая работа №5

Тема: Процедуры и функции обработки строк

Цель: создание алгоритмов по обработке строковых данных, закрепление навыков по использованию строковых процедур и функций.

Вид работы: фронтальная.

Время выполнения: 2 часа.

Теоретический материал:

Строковые константы – это последовательность символов, заключенных в апострофы, например, ‘Пример’, ‘АВС 1А’. Переменные строкового типа описываются с помощью служебного слова String:

Var s1, s2: String[N];

При считывании значений строковых переменных с клавиатуры во избежание ошибок следует использовать оператор ввода Readln.

Для обработки строковых данных используется ряд стандартных процедур и функций. При этом Str, Str1,Str2 – переменные типа String, i,j – выражения типа integer;

Length(Str) – функция, вычисляющая длину переменной Str. Результат функции имеет целочисленный тип.

Copy(Str,i,j) – функция, которая выделяет из строки Str подстроку длиной j, начиная с позиции i.

Delete(Str,i,j) – процедура, которая удаляет из строки Str подстроку длиной j, начиная с позиции i.

Insert(Str1,Str2,i) – процедура, которая вставляет в строку Str1 строку Str2, начиная с позиции i.

Задания:

1)  Напишите программу для осуществления конкатенации двух строковых переменных, значения которых вводятся с клавиатуры.

2)  Подсчитайте сколько раз встречается буква 'w' в некоторой строке.

3)  Определите количество слов X в предложении Y. X и Y – строковые переменные, вводятся с клавиатуры.

4)  *Подсчитать количество слов в некотором предложении, начинающихся на букву ‘w’.

5)  *С клавиатуры вводится строка, содержащая как заглавные буквы, так и строчные. Переведите заглавные буквы в строчные и наоборот.

Ход работы:

Для каждой задачи в тетрадь оформите блок-схему и листинг программы

1. Конкатенация – сложение строк, т.е. добавление данных одной строки в конец другой. Например:

s1:=’hello, ‘; s2:=’World’;

s3:=s1+s2;

Во второй строке была произведена конкатенация строк, при которой переменной s3 присвоено значение ‘hello, World’. Таким образом, решить задачу можно путём ввода значений двух строковых переменных с клавиатуры оператором readln и сложить их.

2. Для решения задачи вводится строковая переменная s. Открываем цикл по i от 1 до length(s), где length(s) – определение длины строки или количества символов в строке. В цикле проверяем через условный оператор если s[i]=’w’, то k:=k+1. После цикла выводим на экран значение переменной k, т.е. количество символов ‘w’ в предложении s.

3. Вводятся с клавиатуры значения переменных X и Y. Необходимо определить длину слова X, затем организуется цикл от 1 до последнего символа строки Y, в котором происходит проверка условия:

if copy(Y, i, n)=x then k:=k+1;

, где i – номер элемента (параметр цикла) в строке Y, n – длина слова X. С помощью условного оператора из строки Y с позиции i копируется количество символов, равное длине слова X, и подсчитывается сколько раз слово X встречается в строке Y (переменная k).

4. Эта задача является дополнительной. Для определения слов, начинающихся на букву ‘w’, необходимо:

а) определить, не является ли первая бука предложения буквой ‘w’ (используйте условный оператор);

б) открыть цикл для перебора символов в предложении, начиная со второго, по последний (параметрический цикл);

в) проверить, является ли символ с номер i символом ‘w’ и символ с номером i+1 – пробелом (оператор if с использованием логической операции and).

5. Эта задача является дополнительной. У каждого символа есть код, разница в кодах между заглавной и строчной латинской буквой составляет 32 единицы. Следовательно, в цикле проверяем каждый символ и увеличиваем его код на 32 или уменьшаем, в зависимости от того заглавная или строчная буква. Регистр буквы определяется по коду (коды заглавных букв находятся в интервале от 65 до 90, строчных – от 97 до 122) или по принадлежности к диапазону [‘A’; ‘Z’] или [‘a’; ‘z’].

 

Контрольные вопросы и задания:

1)   Какое служебное слово используется для обозначения строковых переменных?

2)   Укажите отличия строковых и символьных переменных?

3)   Охарактеризуйте операции по работе со строками.

4)   Приведите пример использования операций удаления и вставки строк.

5)   Когда можно говорить, что две строки идентичны?

 Можно ли производить сложение строковых констант? Почему?


Скачано с www.znanio.ru