ТЕМА: Создание программ для обработки текстовых данных
ЦЕЛЬ РАБОТЫ: получить практические навыки по описанию и обработке текстовой информации
1. Определить, сколько слов в тексте начинается на заданную букву;
2. Вывести на экран заданное количество первых и последних символов текста (количество символов вводится с клавиатуры);
3. Из фрази "Доброе всем утро" получить фразу "Доброе утро" двумя способами (с помощью функции копирования и процедуры удаления);
4. С помощью функции вставки из фразы "Доброе утро" получить фразу "Доброе всем утро";
Пример выполнения задания
{Подключаем модуль по работе с экраном}
uses crt;
{Описываем необходимые переменные}
var str:string; s:string[1];
i,kol:integer;
begin
{Очищаем экран}
clrscr;
{Вводим исходный текст}
write('Введите текст: ');
readln(str);
{Вводим искомую букву}
write('Введите букву для поиска: ');
readln(s);
{В начале проверим первую букву во фразе}
if str[1]=s then
kol:=1
else
kol:=0;
{В цикле подсчитываем количество слов на указанную букву}
for i:=1 to length(str)-1 do
if (str[i]=' ') and (str[i+1]=s) then
kol:=kol+1;
{Выводим на экран найденное количество}
writeln('Всего слов ',kol);
writeln;
{Вводим нужное количество букв для выделения}
write('Сколько букв вы хотите выделить: ');
readln(kol);
{Выводим первые символы}
writeln('Первые символы: ',copy(str,1,kol));
{Выводим последние символы}
writeln ('Последние символы: ',copy(str,length(str)-(kol-1),kol));
writeln;
{Получаем фразу с помощью функции копирования}
str:='Доброе всем утро';
writeln('Функция копирования: ',copy(str,1,6)+' '+copy(str,13,4));
{Получаем фразу с помощью процедуры удаления}
str:='Доброе всем утро';
delete(str,8,5);
writeln('Процедура удаления: ',str);
writeln;
{Получаем фразу с помощью процедуры вставки}
str:='Доброе утро';
insert('всем ',str,8);
writeln('Процедура вставки: ',str);
{Делаем паузу для просмотра}
readln;
end.
Начальный уровень
1. Дана строка. Подсчитать, сколько в ней букв г, к, т.
2. Дана строка символов, среди которых есть двоеточие (:). Определить,
сколько символов ему предшествует.
3. Дана строка. Определить, сколько раз входит в нее группа букв про.
4. Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.
5. В строке заменить все двоеточия (:) точкой с запятой (;). Подсчитать
количество замен.
6. В строке удалить символ «двоеточие» (:) и подсчитать количество удаленных
символов.
7. В строке между словами вставить вместо пробела запятую и пробел.
8. В строке имеется одна точка с запятой (;). Подсчитать количество символов
до точки с запятой и после нее.
9. Строка содержит одно слово. Проверить, будет ли оно читаться одинаково
справа налево и слева направо (т.е. является ли оно палиндромом).
10. Проверить, одинаковое ли число открывающихся и закрывающихся скобок в
данной строке.
11. Дана строка, содержащая английский текст. Найти количество слов,
начинающихся с буквы а.
12. В заданной строке удалить все лишние пробелы.
Средний уровень
1. Дана строка, содержащая текст. Найти длину самого короткого слова и
самого длинного слова.
2. Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран
слова, содержащие три буквы.
3. Дана строка. Подсчитать количество букв к в последнем ее слове.
4. Дана строка. Подсчитать самую длинную последовательность подряд идущих
букв а.
5. Дана строка символов, среди которых есть одна открывающаяся и одна
закрывающаяся скобка. Вывести на экран все символы, расположенные внутри
этих скобок.
6. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на
экран длину наибольшей последовательности цифр, идущих подряд.
7. Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается
двоеточием (:). Определить, сколько в нем слов, заканчивающихся буквой а.
8. Дана строка. Указать те слова, которые содержат хотя бы одну букву к.
9. Дана строка. Найти в ней те слова, которые начинаются и оканчиваются
одной и той же буквой.
10. Удалить часть символьной строки, заключенной в скобки (вместе со
скобками).
11. Определить, сколько раз в строке встречается заданное слово.
Выше среднего
1. Дана строка. Подсчитать, сколько различных символов встречается в ней.
Вывести их на экран.
2. В записке слова зашифрованы - каждое из них записано наоборот.
Расшифровать сообщение.
3. Строка содержит произвольный русский текст. Проверить, каких букв в нем
больше: гласных или согласных.
Сложно
1. Даны две строки А и В. Составьте программу, проверяющую, можно ли из
букв, входящих в А составить В (буквы можно использовать не более одного
раза и можно переставлять).
Например, А: ИНТЕГРАЛ; В: АГЕНТ - составить можно; В: ГРАФ - составить
нельзя.
2. Результаты вступительных экзаменов представлены в виде списка из N строк,
в каждой строке которого записаны фамилия студента и отметки по каждому из М
экзаменов. Определить количество абитуриентов, сдавших вступительные
экзамены только на «отлично».
3. Составить программу преобразования натуральных чисел, записанных в
римской нумерации, в десятичную систему счисления.
4. Дано число в двоичной системе счисления. Проверить правильность ввода
этого числа (в его записи должны быть только символы 0 и 1). Если число
введено неверно, повторить ввод. При правильном вводе перевести число в
десятичную систему счисления.
5. Отредактировать заданное предложение, удаляя из него все слова с
нечетными номерами и переворачивая слова с четными номерами.