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

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

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





 

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

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; просмотров: 1351. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

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

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

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

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

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

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