Лабораторная работа № 9 (13 неделя)

Выделение слов и анализ предложений.

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

Пояснения к задаче

В текстовом файле находится некоторый текст, состоящий из нескольких предложений, расположенных на нескольких строках.

Словом будем считать непустую последовательность любых символов в ANSI кодировке, отделенных друг от друга символами-разделителями: пробел, точка, запятая, двоеточие, точка с запятой, конец строки, перевод каретки, табуляция, конец файла. В число разделителей можно также включить все символы до 32-го по таблице символов и скобки разных видов и т. д.

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

Пример:

!!!№1 Пример!!! А это второе предложение. Предложения могут

быть расположены

на нескольких строках! Ещё?!

Конец, однако

Здесь пять предложений:

1.  Пробелы и три восклицательных знака в начале – не предложения.

2.  Первое предложение «№1 Пример!»

3.  Два восклицательных знака не являются предложениями.

4.  На той же строке второе предложение «А это второе предложение.»

5.  На трех строках расположено третье предложение «Предложения могут быть расположены на нескольких строках!»

6.  Четвертое предложение «Еще?»

7.  Очередной восклицательный знак не являются предложением.

8.  Последнее предложение «Конец, однако» ограничено концом файла.

НЕ нашли? Не то? Что вы ищете?

До и после знаков препинания и между слов может находиться один или несколько пробелов и концов строк.

Пример программного кода (2 способа выделения слов) и информация по строкам в файле LabC10-2015.doc

Условие задачи по вариантам

1.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, в котором все слова начинаются на букву Д (д), или вывести сообщение, что таких предложений нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

2.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, в котором все слова начинаются на букву Б (б), или вывести сообщение, что таких предложений нет.

3.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, где есть слово, начинающееся и заканчивающееся на букву А (а), или вывести сообщение, что таких предложений нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

4.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, где есть слово, начинающееся и заканчивающееся на букву К (к), или вывести сообщение, что таких предложений нет.

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

6.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, где у всех слов первая буква совпадает с последней, или вывести сообщение, что таких предложений нет.

7.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, где первое и последнее слова совпадают (первая буква предложения может быть заглавной), или вывести сообщение, что таких предложений нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

8.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, где первое и последнее слова совпадают (первая буква предложения может быть заглавной), или вывести сообщение, что таких предложений нет.

9.  Дан текстовый файл с несколькими строками. Найти первое слово N-го предложения, или вывести сообщение, что такого предложения нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

10.  Дан текстовый файл с несколькими строками. Найти последнее слово N-го предложения, или вывести сообщение, что такого предложения нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

11.  Дан текстовый файл с несколькими строками. Найти K-ое слово N-го предложения, или вывести сообщение, что такого предложения или слова в предложении нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

12.  Дан текстовый файл с несколькими строками. Найти K-ое с конца N-го предложения слово, или вывести сообщение, что такого предложения или слова в предложении нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

13.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, все слова которого состоят из цифр, или вывести сообщение, что такого предложения нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

14.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, все слова которого состоят из цифр, или вывести сообщение, что такого предложения нет.

15.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, где есть слово, которое состоит только из цифр, или вывести сообщение, что такого предложения нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

16.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, где есть слово, которое состоит только из цифр, или вывести сообщение, что такого предложения нет.

17.  Дан текстовый файл с несколькими строками. Найти номер самого длинного по количеству слов предложения, или вывести сообщение, что предложений в файле нет.

18.  Дан текстовый файл с несколькими строками. Найти номер самого длинного по количеству слов предложения, или вывести сообщение, что предложений в файле нет.

19.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, в котором все слова не длиннее K символов, или вывести сообщение, что таких предложений нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

20.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, в котором все слова длиннее K символов, или вывести сообщение, что таких предложений нет.

21.  Дан текстовый файл с несколькими строками. Найти номер первого предложения, в котором есть слова не длиннее K символов, или вывести сообщение, что таких предложений нет. Замечание: после нахождения нужного предложения, дальше просматривать файл бессмысленно.

22.  Дан текстовый файл с несколькими строками. Найти номер последнего предложения, в котором есть слова длиннее K символов, или вывести сообщение, что таких предложений нет.

23.  Дан текстовый файл с несколькими строками. Проверить, что количество слов в каждом предложении равно порядковому номеру этого предложения, или указать номер первого предложения с неправильным числом слов. Замечание: после нахождения некорректного предложения, дальше просматривать файл бессмысленно.

24.  Дан текстовый файл с несколькими строками. Проверить, что количество слов в каждом предложении равно порядковому номеру этого предложения, или указать номер последнего предложения с неправильным числом слов.

25.  Дан текстовый файл с несколькими строками. Проверить, что в каждом предложении есть слово, состоящее из одних только цифр, или указать номер первого предложения без такого слова. Замечание: после нахождения некорректного предложения, дальше просматривать файл бессмысленно.

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

27.  Дан текстовый файл с несколькими строками. Проверить, что в каждом предложении есть слово, первая и последняя буква которого совпадают, или указать номер первого предложения без такого слова. Замечание: после нахождения некорректного предложения, дальше просматривать файл бессмысленно.

28.  Дан текстовый файл с несколькими строками. Проверить, что в каждом предложении есть слово, первая и последняя буква которого совпадают, или указать номер последнего предложения без такого слова.

29.  Дан текстовый файл с несколькими строками. Проверить, что в каждом предложении есть слово, начинающееся и заканчивающееся на букву О(о), или указать номер первого предложения без такого слова. Замечание: после нахождения некорректного предложения, дальше просматривать файл бессмысленно.

30.  Дан текстовый файл с несколькими строками. Проверить, что в каждом предложении есть слово, заканчивающееся на букву Ю(ю), или указать номер последнего предложения без такого слова.