Лекция: Типовые задачи на обработку строк
Анализ символьных строк
Пример 1. Ввести строку символов. Определить:
— количество цифр в строке;
— есть ли в строке одинаковые символы;
— вывести все гласные буквы латинского алфавита.
Фрагмент программного кода:
Option Explicit
Private Sub Command1_Click()
Dim S As String, S1 As String, a As String
Dim i As Integer, kol As Integer, n As Integer
Dim T As Boolean 'Логическая переменная
S = Text1.Text 'Ввод строки
Text2.Text = "": Text3.Text = "": Text4.Text = ""
n = Len(S) 'Длина строки
'Определение количества цифр в строке
kol = 0 'Инициализация счетчика для подсчета количества цифр
For i = 1 To n 'Цикл по всем символам строки для поиска цифр
a = Mid(S, i, 1)
If (a >= «0») And (a <= «9») Then kol = kol + 1
Next i
Text2.Text = Str(kol) 'Вывод количества цифр в строке
'Определяется, есть ли в строке одинаковые символы
T = False 'Предполагается, что одинаковых символов нет
For i = 1 To n 'Цикл для поиска одинаковых символов
'Если i-ый символ исходной строки встречается в строке еще раз, то функция IntStr 'вернет значение не равное нулю
If (InStr(1, S, Mid(S, i, 1)) <> 0) And _
(InStr(1, S, Mid(S, i, 1)) <> i) Then
T = True 'i-ый символ в подстроке есть
Exit For 'Немедленный выход из цикла, если найден хотя бы
'один одинаковый символ
EndIf
Next i
If T Then
Text3.Text = «Одинаковые символы есть»
Else
Text3.Text = «Одинаковых символов нет»
End If
'Вывод гласных латинских букв
For i = 1 To n 'Цикл для поиска гласных латинских букв
a = Mid(S, i, 1)
Select Case a
Case «A», «E», «I», «O», «U», «Y»
Text4.Text = Text4.Text + a + " "
Case «a», «e», «i», «o», «u», «y»
Text4.Text = Text4.Text + a + " "