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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

Рассмотрим конструкцию Select Case, которая позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций
if...Then...Else. Эта конструкция состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения. Работает эта конструкция следующим образом. Сначала Visual Basic вычисляет значение заданного в конструкции выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Case конструкции. Если найдено искомое значение, выполняются команды, приписанные данному оператору Case. После завершения выполнения всех конструкций управление будет передано конструкции, следующей за ключевым словом End Select.

Синтаксис конструкции Select Case следующий:

 

Select Caseсравниваемое значение

Caseзначение1

конструкция1

Case значение2

конструкция2

...

End Select

 

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

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

 

Таблица 2.11

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

Функция Назначение
Asc Возвращает ASCII-код символа
Left Возвращает указанное количество символов с начала строки
Len Возвращает количество символов в строке
Mid Возвращает заданное количество символов из произвольного места строки

 

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

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

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

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

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

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

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

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

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

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

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

Входные данные: символьные данные.

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

Диалоговая форма

Спроектируйте интерфейс программы, состоящий из 1 формы с использованием элементов управления (рис. 2.16).

На форме располагаются 4 текстовых надписи (3 из них пустые), 3 текстовых поля для ввода и вывода данных; раскрывающийся список для выбора операции; 2 кнопки: 1 для выполнения операции (ОК), 1 для выхода из программы (Выход).

 
 


 

Свойства объектов

В окне свойств объектов определите свойства каждого элемента управления:

 

Таблица 2.12

Свойства элементов управления первой диалоговой формы

Элемент управления Свойство Имя Свойство Caption
Форма Form1 Операции с символьными данными
Надпись1 Label1 *
Надпись2 Label2 *
Надпись3 Label3 *
Надпись4 Label4 Вид операции
Текстовое поле1 Text1 -
Текстовое поле2 Text2 -
Текстовое поле3 Text3 -
Кнопка1 Command1 ОК
Кнопка2 Command2 Выход
Раскрывающийся список Combo1 -

 

* - пустая надпись (надпись выводится в зависимости от типа операции)

 

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

В раскрывающемся списке в свойстве List наберите список операций: Конкатенация, Вырезка символов, Количество символов, Числовой код, Количество иск. символов, Замена символа, Изменение последовательности.

Программный код

'Объявление переменных

Dim i As Integer

Dim simvol As String

Dim stroka As String

Dim sum As Integer

 

 

'Процедура вывода надписей при выборе операции

Private Sub Combo1_Click()

'Запуск процедуры очистки текстовых полей

clear

'Конструкция выбора

Select Case Combo1.Text

Case Is = "Конкатенация"

Label1.Caption = "1 слово"

Label2.Caption = "2 слово"

Label3.Caption = "Конкатенация"

 

Case Is = "Вырезка символов"

Label1.Caption = "Исходное слово"

Label2.Caption = "Количество символов"

Label3.Caption = "Итоговое слово"

 

Case Is = "Количество символов"

Label1.Caption = "Исходное слово"

Label2.Caption = "Количество символов"

Label3.Caption = ""

Text3.Text = ""

 

Case Is = "Числовой код"

Label1.Caption = "Итоговое слово"

Label2.Caption = "Числовой код символа"

Label3.Caption = ""

Text3.Text = ""

 

Case Is = "Количество иск. символов"

Label1.Caption = "Исходное слово"

Label2.Caption = "Искомый символ"

Label3.Caption = "Количество иск. символов"

 

Case Is = "Замена символа"

Label1.Caption = "Исходное слово"

Label2.Caption = "1 символ"

Label3.Caption = "2 символ"

 

Case Is = "Изменение последовательности"

Label1.Caption = "Исходное слово"

Label2.Caption = "Итоговое слово"

Label3.Caption = ""

Text3.Text = ""

End Select

 

End Sub

'Операция сложения строк

Private Sub Command1_Click()

If Combo1.Text = "Конкатенация" Then

Text3.Text = Text1.Text + Text2.Text

End If

 

'Операция вырезки символов

If Combo1.Text = "Вырезка символов" Then

'Функция Left$ вырезает заданное количество символов

Text3.Text = Left$(Text1.Text, Val(Text2.Text))

End If

 

'Операция подсчета количества символов

If Combo1.Text = "Количество символов" Then

'Функция Len подсчитывает количество символов

Text2.Text = Len(Text1.Text)

End If

 

'Операция нахождения числового кода

If Combo1.Text = "Числовой код" Then

'Функция Asc переводит символ в числовой код

Text2.Text = Asc(Text1.Text)

End If

 

'Операция нахождения количества искомых символов

If Combo1.Text = "Количество иск. символов" Then

sum = 0

For i = 1 To Len(Text1.Text)

'Функция Mid$ записывет в переменную simvol каждый символ слова по порядку

simvol = Mid$(Text1.Text, i, 1)

'Если символ совпадает с искомым переменная sum увеличивается на 1

If simvol = Text2.Text Then sum = sum + 1

Next i

'Вывод суммы

Text3.Text = sum

End If

 

'Операция замены символов

If Combo1.Text = "Замена символа" Then

stroka = Text1.Text

For i = 1 To Len(Text1.Text)

simvol = Mid$(Text1.Text, i, 1)

'Если символ из исходного слова совпадает с 1 символом, то происходит замена этого символа на 2

If simvol = Text2.Text Then

Mid$(stroka, i, 1) = Text3.Text

End If

Next i

'Вывод итогового слова

Text1.Text = stroka

Label1.Caption = "Итоговое слово"

End If

 

'Операция изменения последовательности символов

If Combo1.Text = "Изменение последовательности" Then

For i = 1 To Len(Text1.Text)

simvol = Mid$(Text1.Text, i, 1)

Text2.Text = simvol + Text2.Text

Next i

'Вывод итогового слова

Text1.Text = stroka

End If

End Sub

 

'Процедура выхода из программы

Private Sub Command2_Click()

End

End Sub

'Процедура очистки текстовых полей

Private Sub clear()

Text2.Text = ""

Text3.Text = ""

End Sub

 

Практическое задание

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

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

 

1. Объясните работу конструкции Select Case.

2. Объясните работу функции Len.

3. Объясните работу функции Asc.

4. Объясните работу функции Left.

5. Объясните работу функции Mid.

 

 

Лабораторная работа 7



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 156; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.69.152 (0.02 с.)