Лабораторная работа 8

ОБРАБОТКА СИМВОЛЬНЫХ СТРОК

ЦЕЛЬ РАБОТЫ:

1. Овладеть навыками составления алгоритмов и программ на языке Паскаль по обработке символьных строк.

2. Научиться использовать встроенные функции для обработки строк.

КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ

Строковые переменные аналогичны массивам типа char. Их отличием является то, что число символов (длина строковой переменной) может динамически меняться в интервале от единицы до заданного верхнего значения.

Перед выполнением данной лабораторной работы необходимо ознакомиться с правилами описания и использования переменных типа string, допустимыми операциями над ними, соответствующими стандартными процедурами и функциями.

ПРИМЕР 1: Удалить из строки все "лишние" (парные) пробелы.

П Р О Г Р А М М А

begin

writeln ('Удаление парных пробелов.');

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

readln (s);

I:=pos (' ', s);

if l=0 then

writeln ('Удаления не было')

else

begin

while l >0 do {пока в строке есть парные пробелы}

begin

delete (s,pos (' ',s), 1);

I:=pos (' ',s)

end;

writeln ('Получена строка:');

writeln (s);

end;

end.

ПРИМЕР 2: В данном массиве из слов подсчитать количество слов, начинающихся и заканчивающихся гласной буквой.

П Р О Г Р А М М А

program glasn;

const maxn = 100;

var s: array [1..maxn] of string;

l,n,i,k:integer;

begin

writeln ('n=');

readln (n);

writeln ('вводите элементы массива s');

for i:=1 to n do

readln (s[i]);

k:=0;

for i:=1 to n do

begin

l:= length (s[i]);

if (pos(s[i][1],'аоиуеыэюя АОИУЕЫЭЮЯ') > 0)

and (pos(s[i][1],'аоиуеыэюя АОИУЕЫЭЮЯ') > 0)

then k:=k+1

end;

writeln ('k=',k)

end.

Упражнения:

1. Даны два различных слова, в каждом из которых от 1 до 8 строчных латинских букв и за каждым из которых – пробел. Напечатать эти слова в алфавитном порядке.

2. В заданном тексте удалить часть текста, заключенную в скобки.

3. Напечатать самое длинное слово из заданного текста.

4. Найти сколько раз в тексте встречается заданное слово.

5. Написать программу, которая зашифрует заданный текст, представляя в словах символы наоборот.

6. В заданном тексте заменить символ пробел на символ запятая.

7. Написать программу, которая находить на какую букву начинается больше всего слов в тексте.

8. Дан текст. Если первый символ в тексте не является малой латинской буквой, то оставить без изменения. Если же это малая латинская буква, то заменить символом «*».

9. В заданном тексте везде заменить слово А1 на слово А2.

10. Задан текст длиной 255 символов. Найти сколько раз в тексте встречаются различные буквы русского алфавита.

ЛАБОРАТОРНАЯ РАБОТА 9


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: