Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Цель занятия – изучение операций по обработке символьных данных.
Рассмотрим конструкцию Select Case, которая позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций Синтаксис конструкции Select Case следующий:
Select Caseсравниваемое значение Caseзначение1 конструкция1 Case значение2 конструкция2 ... End Select
В начале конструкции расположены ключевые слова Select Case, указывающие, что расположенный рядом с ними параметр сравниваемое значение будет проверяться на несколько значений. Далее следуют группы команд, начинающиеся с ключевого слова Case. Если параметр сравниваемое значение равен значению, указанному в текущем операторе Case, то будут выполняться команды, расположенные между этим и следующим ключевым словом Case. Рассмотрим функции, предназначенные для обработки символьных данных:
Таблица 2.11 Функции, предназначенные для обработки символьных данных
Выделение подстроки заданной символьной строки, используя функции 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 Свойства элементов управления первой диалоговой формы
* - пустая надпись (надпись выводится в зависимости от типа операции)
В текстовых полях необходимо стереть заданный по умолчанию текст. В раскрывающемся списке в свойстве 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 с.) |