Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема: реализация задач обработки строковых данных




ЛАБОРАТОРНАЯ РАБОТА №2

 

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

План работы: Разработать алгоритм по обработке символьной информации, составить программу, разработать интерфейс.

Теоретический материал:

 

Функция Назначение
As С Возвращает ASCII-код символа
Chr Преобразовывает ASCII-код в символ
InStr, InStrRev Осуществляют поиск одной строки в другой
LCase Изменяет регистр букв исходной строки на нижний
Left Возвращает указанное количество символов с начала строки
Len Возвращает количество символов в строке
LTrim, RTrim, Trim Удаляют пробелы, расположенные соответственно в начале, в конце и с обеих сторон символьной строки
Mid Возвращает заданное количество символов из произвольного места строки
Right Возвращает указанное количество символов с конца строки
Str, CStr Преобразовывают числовое выражение в строку
StrReverse Изменяет порядок следования символов в строке на обратный
StrConv Изменяет регистр букв символьной строки
Val Преобразовывают строку в числовое выражение
UCase Изменяет регистр букв исходной строки на верхний

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

Функции Str и Val

Функция Str о преобразовывает численное значение в символьное представление. Синтаксис функции следующий:

Str (число)

Функция Val () преобразовывает символьную строку в численное значение.

Синтаксис функции:

Val (символьноеВыражение)

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

Рассмотрим следующий пример. Зададим в окне Immediate две символьные строки а и b следующего вида:

а="10"

b="12"

При сложении этих двух строк получается символьная строка

"1012"

Если сложить две символьные строки, предварительно преобразовав их в числа, и распечатать с помощью команды,

Print Val (а) + Val (b)

то получится число 22 (рис. 1).

Рис. 1. Результат применения функции Val

Функции, удаляющие пробелы в символьной строке

Функции LTrim, Rtrim и Trim используются для удаления пробелов в символьной строке.

Функция Назначение
LTrim Удаляет пробелы, расположенные в начале символьной строки
RTrim Удаляет пробелы, расположенные в конце символьной строки
Trim Удаляет пробелы, расположенные в начале и в конце символьной строки

Пример использования этих функции приведен ниже:

cCoinment= " Удаление пробелов "

Print LTrim(cComment) ' Возвращает "Удаление пробелов "

Print RTrim(cCornment) ' Возвращает " Удаление пробелов"

Print Trim(cComrnent) ' Возвращает "Удаление пробелов"

Выделение подстроки

Вы можете выделить подстроку заданной символьной строки, используя функции Left, Right и Mid. Функции Left и Right выделяют строку начиная с крайнего левого или крайнего правого символа, а функция Mid позволяет выбрать любую подстроку.

Синтаксис функций:

Left(выражение, числоСимволов)

Right(выражение, числоСимволов)

Mid(выражение, номерПозиции [, числоСимволов ])

Ниже приведены примеры использования этих функций и возвращаемые ими значения:

cConmtent= "Выделение подстроки"

Print Left(cConroent,3) ' Возвращает "Выд"

Print Right (cCornment, 6) ' Возвращает "строки"

Print Mid (cCornment, 11,3) ' Возвращает "под"

Преобразование строки

Функции UCase о и LСase используются в Visual Basic для преобразования строчных символов в заглавные и заглавных в строчные. Помимо этого, в Visual Basic имеется функция StrConv, которая преобразовывает выражение к имени собственному, начинающемуся с заглавной буквы.

Функции UCase () и LCase () возвращают значения, имеющие тип Variant. Для того чтобы возвращаемое значение имело тип string, необходимо использовать функции UCase$ () и Lcase$ ().

Функция UCase

Функция UCase преобразует все строчные буквы в символьной строке в заглавные. Синтаксис функции:

UCase (символьнаяСтрока)

Например:

cComment = "вывод"

Print UCase(cComment) ' Возвращает "ВЫВОД"

Print UCase$(cComment) ' Возвращает "ВЫВОД"

Функция LCase

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

Синтаксис функции:

LCase(символьнаяСтрока)

Например:

cComment= "ВЫВОД"

Print LCase(cComment) ' Возвращает "вывод"

Print LCase$(cComment) ' Возвращает "вывод"

Функция StrConv

Функция StrConv преобразовывает выражение, написанное строчными или заглавными буквами, в имя собственное.

Например:

cComment = "Иванов иван Иванович"

Print StrConv(cComment,vbProperCase) ' Возвращает "Иванов Иван Иванович"

Аналогичный результат будет получен и в следующем случае:

cComment = "ИВАНОВ ИВАН ИВАНОВИЧ"

Print StrConv(cComment, vbProperCase) ' Возвращает "Иванов Иван Иванович"

Определение положения строки в другой строке

Visual Basic содержит две функции, позволяющие осуществлять поиск символьной строки в другой: inStr о и inStrRev. Эти функции отличаются тем, что inStr о осуществляет поиск с начала строки и до ее конца, а InStrRev о проводит поиск в обратном направлении, то есть от конца строки к началу.

Функция inStr () имеет следующий упрощенный синтаксис:

InStr (исходнаяСтрока, строкаПоиска)

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

Рассмотрим такой пример. Введите в окне Immediate следующую команду:

Print InStr ("Сегодня прекрасная погода", "погода")

В результате будет возвращено число 20.

Объединение строк

В Visual Basic для работы со строками можно использовать только один оператор — оператор объединения. С помощью данного оператора можно объединять несколько строк в одну. Этот оператор обозначается символом амперсанда (&).

В предыдущих версиях Visual Basic для объединения строк использовался символ "плюс" (+). В Visual Basic 6 этот оператор также поддерживается.

Например, объединение строк удобно использовать при формировании полного адреса, если известен индекс, город и улица. В следующем примере и на рис. 2 показан результат объединения фамилии, имени и отчества в окне Immediate:

sLastName = "Иванов "

sFirstName = "Иван "

sSecondName = "Иванович"

sName = sLastName & sFirstName & sSecondName

Print sName ' Возвращает "Иванов Иван Иванович"

Рис. 2. Объединение строк

 

Задания к работе:

Составить программу и блок-схему для решения каждой из следующих задач:

1. Дана строка, состоящая из нескольких слов. За последним словом – точка.

2. Удалить из строки лишние пробелы между словами, т.е. оставить только по одному пробелу, если их несколько.

3. Разделить строку на слова и найти самое короткое слово в массиве.

4. Подсчитать, сколько раз в строке встречается первое слово.




Поделиться с друзьями:


Дата добавления: 2015-05-06; Просмотров: 370; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.