ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 30.10.2018

Просмотров: 478

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

Семинар 2. Обработка символьной информации

  

Цель  семинара:  Овладение  навыками  обработки  символьных 

данных. 

1. 

Задание 

1.  Проработайте (еще раз) примеры  1 и 2 §2.1.3 лекции 2 «Обработка 

символьной информации  и документов сложной структуры». Попробуйте 
решить эти задачи самостоятельно, не заглядывая в лекцию. Если Ваше 
решение отличается от лекционного, проанализируйте отличия. Как они 
повлияют на работу программы? 

2.  Отладьте программы примеров  1 и 2  лекции 2.  

3.  Выполните свой вариант задания (с Вашим номером по списку группы) из 

раздела 2. Отчет по выполнению задания делайте по образцу примера 1 
§2.1.3 лекции 2. Обратите внимание, что отчет должен содержать блок-
схему-алгоритма. 

4.  Выполните свой вариант задания (с Вашим номером по списку группы) из 

раздела 3. Обратите внимание, что это задание надо выполнять, 
самостоятельно разработав подпрограмму (функцию СИ) обработки строк и 
вызвав ее для каждой строки, указанной в условии,  – см. пример 2 
лекции 2. 

Жду отчетов по индивидуальному заданию!  
 

2. 

Обработка последовательности символов 

Дан текст – однострочная последовательность символов. В некоторых 

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

1.  Определить, содержит ли текст символы, отличные от букв и пробелов.  
2.  Все символы, предшествующие первому вхождению символа *, заменить на 

*.  

3.  Все символы, стоящие после последней точки, заменить пробелами. 
4.  Выяснить, является ли текст десятичной записью целого числа.  
5.  Удалить из текста все символы, стоящие после первого вхождения  символа 

a.  


background image

 

6.  Изменить  текст  так,  чтобы  вместо  строчных  букв  стояли  соответствующие 

прописные  буквы,  а  вместо  прописных  —  строчные.  Определить  общее 
число произведенных замен. 

7.  Если  текст  содержит  только  малые  латинские  буквы,  определить, 

упорядочен ли он по алфавиту.  

8.  Определить, есть ли в тексте слова, начинающиеся с заданного символа. 
9.  Определить, содержит ли букву А первое слово заданного текста. 

10.  Проверить, имеет ли место соответствие открывающихся и закрывающихся 

круглых скобок. 

11. 

Выяснить,  является  ли  текст  идентификатором.  Пояснение:  идентификатор 
— это последовательность букв, цифр и символов подчеркивания, на первом 
месте может стоять только буква и символ подчеркивания.

  

12.  Удалить из текста все цифры.  
13.  Определить число символов, отличных от букв и пробелов, встретившихся в 

тексте до первой точки. 

14.  Вывести на экран первое слово текста, начинающееся с буквы А. 
15.  Определить, сколько раз входит в последнее слово текста заданный символ. 
16.  Определить, сколько слов оканчивается на заданный символ.  
17.  Вывести  на  экран  первое  слово  текста,  оканчивающееся  на  заданный 

символ.  

18.  Вывести на экран первое слово текста, начинающееся с сочетания ph.  
19.  Определить число символов первого слова.  
20.  Определить число символов последнего слова.  
21.  Вычислить, сколько слов встречается в тексте до первой точки. 
22.  Каждое слово one заменить на two
23.  Первое вхождение слова one заменить на two
24.  Последнее вхождение слова one заменить на two
25.  Определить, сколько раз в тексте встречается сочетание символов one. 
26.  Определить, есть ли в тексте слова, начинающиеся с сочетания ph
27.  Определить, есть ли в тексте слова, заканчивающиеся на сочетание ed
28.  Если  в  тексте  встречаются  подряд  две  точки,  то  последнюю  точку  пары 

заменить пробелом. 

29.  Удалить из текста все пробелы, стоящие в конце слова (до первого символа 

с конца, не являющегося пробелом). 

30.  Удалить из текста все пробелы, стоящие в начале слова (до первого символа, 

не являющегося пробелом). 

 


background image

 

3. 

Индивидуальное задание на разработку подпрограмм, 

обрабатывающих строки 

Разработать  программу,  выполняющую  однотипные  действия  с  одной  или 

несколькими 

однострочными 

последовательностями 

символов 

(они 

обозначены  А,  В,  С),  самостоятельно  выделив  одну  или  несколько 
подпрограмм.  

Требования к подпрограммам:  

  каждая  подпрограмма  является  функционально  завершенной  и  должна 

вызываться более одного раза с разными фактическими параметрами; 

  подпрограмма обработки не должна содержать ввод (вывод) данных; 
  в подпрограммах не рекомендуется использовать глобальные переменные. 

 

1.  Определить,  сколько  раз  в  последовательности  А  встречается  буква  N  и 

сколько раз в последовательности В встречается цифра 9. 

2.  Заменить  в  последовательности  А  все  символы  *  на  пробелы,  а  в 

последовательности В ― все точки на запятые. 

3.  Определить, содержит ли последовательность А строчные латинские буквы, 

а последовательность В ― прописные. 

4.  Определить,  сколько  раз  в  последовательности  А  символ  :  встречается  до 

первой точки, и сколько раз в последовательности В символ ; встречается до 
первой запятой. 

5.  Для  заданной  последовательности  А  проверить,  встречается  ли  среди  ее 

первых  10  символов  буква  s,  а  для  последовательности  В  проверить, 
встречается ли среди ее первых 20 символов буква q

6.  Определить  номер  первого  вхождения  заданного  символа  в  каждую  из 

последовательностей АВС. 

7.  Определить, сколько слов в последовательности А оканчивается на букву N 

и сколько слов в последовательности В оканчивается на букву Y. 

8.  Проверить, является  ли  каждая  из  последовательностей  А,  В,  С  десятичной 

записью целого числа. 

9.  Проверить,  является  ли  последовательность  А  правильным  скобочным 

выражением. Учесть расстановку круглых, квадратных и фигурных скобок. 

10.  В  последовательности  А  все  символы,  стоящие  после  последней  точки, 

заменить на пробелы, а в последовательности В все символы, стоящие после 
последней запятой, заменить на символ *. 

11.  Исключить  из  каждой  последовательности  А,  В,  С  все  символы,  отличные 

от малых латинских букв. 

12.  Определить,  сколько  раз  в  последовательность  А  входит  слово  one,  а  в 

последовательность В ― слово two. 

13.  Проверить,  входит  ли  в  последовательность  А  слово  one,  а  в 

последовательность В ― слово two. 


background image

 

14.  Определить, сколько  слов в последовательности  А  начинается  с  буквы  N  и 

сколько слов в последовательности В начинается с буквы Y. 

15.  Проверить,  есть  ли  в  последовательности  А  слова,  начинающиеся  с  буквы 

N, и есть ли в последовательности В слова, начинающиеся с буквы Y. 

16.  Определить  число  слов,  встречающихся  в последовательности  А  до первой 

точки,  и  число  слов,  встречающихся  в  последовательности  В  до  первой 
запятой. 

17.  Для  каждой  из  последовательностей  А,  В,  С  выяснить,  имеется  ли  в  них 

пара соседних одинаковых символов. 

18.  Из  последовательности  А  удалить  все  символы,  стоящие  после  последней 

точки,  а  из  последовательности  В  удалить  все  символы,  стоящие  после 
последнего восклицательного знака. 

19.  Для  каждой  из  последовательностей  А,  В,  С  вычислить,  сколько  символов 

расположено от последней точки до конца этих последовательностей. 

20.  Определить, в какой из двух последовательностей, А или В, последнее слово 

имеет наибольшую длину. 

21.  Для  каждой  последовательности,  А  и  В,  выяснить,  какое  из  слов  –первое 

или последнее – имеет большую длину. 

22.  В  каждой  из  последовательностей  А,  В,  С  заменить  круглые  скобки  на 

соответствующие (открывающие или закрывающие) квадратные. 

23.  В каждой из последовательностей А, В, С заменить малые латинские буквы 

одноименными большими. 

24.  Выделить первое слово в каждой из последовательностей А, В, С. 
25.  Для  последовательности  А  определить  частоту  вхождения  каждой  из 

русских  гласных  букв  (а,  е,  и,  о,  у,  э,  ю,  я),  а  для  последовательности  В 
определить частоту вхождения символов запятая и точка. 

26.  В  каждой  из  последовательностей  А,  В,  С  переставить  символы  таким 

образом, 

чтобы 

первый 

символ 

стал 

последним, 

вто-

рой предпоследним, и т. д. 

27.  Выяснить,  является  ли  каждая  из  последовательностей  А,  В,  С  идентифи-

катором. Пояснение: идентификатор  — это последовательность букв, цифр 
и  символов  подчеркивания,  на  первом  месте  может  стоять  только  буква  и 
символ подчеркивания 

28.  Вычислить число слов в каждой из последовательностей АВС 
29.  Из последовательностей АВС  удалить все пробелы. 
30.  Проверить,  входит  ли  в  последовательность  А  группа  символов  one,  а  в 

последовательность В ― группа символов two.