Студопедия — Обработка символьной информации
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






 

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

5.1 Строки и особенности их обработки

Для представления текстовой (символьной) информации предназначен специальный тип данных - строковый тип. Строка - это последовательность символов кодовой таблицы ПЭВМ. Длина строки (количество символов в строке) может динамически изменяться от 0 до 255. В компьютере каждый символ строки занимает 1 байт. Кроме того, для хранения информации о длине строки дополнительно отводится 1 байт.

Строка-константа служит для использования в программе некоторой, заранее известной последовательности литер. Формат объявления строки-константы имеет вид:

Const имя константы = 'последовательность символов';

Например, Const name = 'Эльза'; probel = ' ';

Если значение строки заранее не известно, а определяется в процессе выполнения программы (например, строка символов вводится), тогда используется строковая переменная. Для объявления переменных строкового типа используется стандартный идентификатор String, за которым следует заключенное в квадратные скобки значение длины строки. Если это значение не указывается, то по умолчанию длина строки равна 255 байт. Формат объявления строки-переменной имеет вид:

Var имя переменной: string [ длина строки ];

Например, Var slovo:string[10]; stroka:string;

Таким образом, строковый тип задается регулярным типом (как в случае с массивами), поэтому все свойства массивов переносятся и на строки (длина строки задается статически; доступ к отдельному символу строки осуществляется по его индексу). К особенностям строк следует отнести следующее:

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

- значения строковых переменных можно сравнивать, используя операции отношения (<, >, <=, >=, =, < >), сравнение значений строковых переменных производится путем последовательного сравнения литер до первого несовпадающего символа, и та строка считается большей, где этот символ имеет больший код;

- ввод значений строковых переменных производится с помощью стандарт­ной процедуры Read (Readln);

- для задания строке значения в программе используется оператор присваивания, например sl := 'Информатика';

В Паскале для выполнения наиболее часто применяемых действий со стро­ками предназначен набор встроенных функций и процедур (таблица A1).

 

5.2 Пример алгоритма и программы обработки символьной информации

Составить программу, проверяющую, является ли введенный текст палиндромом (палиндром - текст который читается слева направо и справа налево одинаково). При составлении программы следует обратить внимание на то, что коды прописных букв русского алфавита в таблице ASCII следующие - Ord(A)=128,…,Ord(Я)=159, а строчные русские буквы расположены в таблице кодов не подряд - Ord(а)=160,…, Ord(п)=175, Ord(р) = 224,…, Ord(я)=239.

На рисунке 5.1 представлена блок-схема алгоритма решения задачи, ниже приведена соответствующая ей программа.

Рисунок 5.1 – Пример обработки символьной информации

 

program p_5; var st, a, b: string; i, n, k: integer; begin writeln ('Ведите текст на русском языке'); readln (st); a:=''; b:=''; n:=length(st); for i:=1 to n do if st[i]<>' ' then begin {Замена ПРОПИСНОЙ русской буквы на строчную} if (st[i]>='А') and (st[i]<='П') then st[i]:= chr(ord(st[i])+32) else if (st[i]>='Р')and(st[i]<='Я') then st[i]:=chr(ord(st[i])+80); a:=a+st[i]; b:=st[i]+b end; write (st,' - '); if a=b then writeln ('палиндром') else writeln ('не палиндром') end.

5.3 Варианты заданий

1 Дана строка символов, состоящая из нескольких предложений. Найти самое длинное предложение.

2 Дана строка символов, состоящая из нескольких предложений. Определить количество предложений.

3 Дана строка символов. Посчитать количество пробелов в строке и заменить их на запятые.

4 Дана строка символов. Определить количество слов в строке.

5 Дана последовательность слов. Вывести на экран дисплея только слова, содержащие не более пяти символов.

6 Дана строка символов. Определить количество букв "О" в данной строке.

7 Дана строка символов. Заменить в этой строке все буквы "А" на "Я".

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

9 Дана строка символов. Заменить пробелы на знак "+".

10 Дана строка символов. Определить какой из знаков препинания (тире, запятая, точка, двоеточие) встречается в строке чаще.

11 Дана строка символов. Сколько раз в ней встречается слог "МИ".

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

13 Дана строка символов. Вывести на экран слова, которые заканчиваются на букву "А".

14 Дана строка символов. Определить количество слов, начинающихся на букву "С".

15 Дана строка символов. Заменить все запятые на знаки "-".

16 Определить количество запятых в строке.

17 Определить количество букв "Л" в строке.

18 Определить количество слов заканчивающихся на букву "Ь".

19 Определить количество слов, содержащих не менее двух букв "А".

20 Дана строка символов. Заменить все буквы "И" на знак "+".

21 Определить количество цифр в строке символов.

22 Дана строка символов. Определить количество слов, у которых первый и последний символ совпадают между собой.

23 Дана строка символов. Найти самое длинное слово, начинающееся на букву "а" и вывести его в обратном порядке.

24 Поменять первое слово в строке с последним словом.

25 Дана строка символов. Сколько раз в ней встречается слог "ЛЯ".

26 В заданном тексте осуществить замену одного слова на другое.

27 Напишите программу обращения слов в строке (если был "кот", то результатом будет "ток").

28 Дана строка символов. Замените все буквы "р" на сочетание "ку".

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

30 Дана строка символов, состоящая из нескольких предложений. Найти самое короткое предложение.

 

5.4 Контрольные вопросы

1 Для какой цели используется строковый тип данных?

2 Что называется строкой символов? Какова максимальная длина строки?

3 Чем отличаются строковые константы и строковые переменные?

4 Как объявляются строковые переменные?

5 Назовите основные особенности строк.

6 Какие основные встроенные процедуры и функции предусмотрены для работы со строками?

 

 







Дата добавления: 2015-10-15; просмотров: 1316. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия