Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Практическая часть. Пример №1. Определить количество слов в строке, разделенных пробелами




 

Пример №1. Определить количество слов в строке, разделенных пробелами.

 

Private Sub Command1_Click()

s = Split(Text1, " ") ' Слова разделяются пробелами

s1$ = ""

' n - дает верхнюю границу массива, n- Количество слов

n% = UBound(s)

For i% = 0 To n

s1 = s1 & s(i) & vbCrLf

Next

Text2 = s1 & n + 1

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = ""

Text2 = ""

End Sub

 

 

Пример №2. Дана строка. Поменять местами первый и последний символы каждого слова. Слова разделены пробелами.

 

DefStr V

Private Sub Command1_Click()

s = Split(Text1, " ")

v1 = "": v2 = "": v3 = "": v4 = "": v5 = ""

n% = UBound(s) ' n - дает верхнюю границу массива

For i% = 0 To n 'количество слов

r = s(i)

v1 = Left(r, 1)

v2 = Right(r, 1)

v3 = Replace(r, v1, v2, 1, 1)

v4 = Left(v3, Len(v3) - 1)

v5 = v5 & v4 & v1 & vbCrLf

Next

Text2 = v5 & n + 1

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №3. Подсчитать количество слов, разделенных множеством разделителей: пробелами, запятыми или точками.

 

Option Base 1

Dim ss(10) As String ‘ Описан массив из 10 слов

Private Sub Command1_Click()

s$ = Text1

s = LTrim(s)

k% = Len(s)

n% = 1 ' номер слова

ss(n) = ""

For i% = 1 To k

s1$ = Mid(s, i, 1)

If s1 = " " Or s1 = "," Or s1 = "." Then

s1 = Mid(s, i + 1, 1)

'Проверяем следующий символ, если он не окажется символом разделителем,

' то переходим к следующему слову

If Not (s1 = " " Or s1 = "," Or s1 = ".") And (i <> k) Then

n = n + 1 'And (i <> k) - если в конце строки запятая, то

ss(n) = "" ' счетчик числа слов не будет увеличиваться

End If

' Если второй и последующие символы являются разделителями,

' то ничего не делать во внутреннем IF

Else

ss(n) = ss(n) & s1

End If

Next i

st$ = ""

'Печать слов

For i = 1 To n

st = st & ss(i) & vbCrLf

Next

Text2 = st & n

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №4. Заменить в строке все символы % на $ и наоборот.

 

Option Base 1

Dim ss() As String * 1 'Описан массив, длиной компоненты в 1 символ

Private Sub Command1_Click()

s$ = Text1

k% = Len(s)

ReDim ss(k)

For i% = 1 To k

s1$ = Mid(s, i, 1)

ss(i) = s1

Next

For i% = 1 To k

If ss(i) = "%" Then

ss(i) = "$"

ElseIf ss(i) = "$" Then

ss(i) = "%"

End If

Next

s1 = ""

For i% = 1 To k

s1 = s1 & ss(i)

Next

Text2 = s1

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №5. Подсчитать количество слов «Саша» в строке.

 

Private Sub Command1_Click()

k% = 1 'указатель поиска

n% = 0 'счетчик слов

S$ = Text1

Do

k = InStr(k, S, "Саша") 'определить позиция слова в строке

If k <> 0 Then

k = k + Len("Саша") 'передвинуть указатель поиска

n = n + 1 'подсчитать это слово

End If

Loop Until k = 0

Text2.Text = n

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №6. Удалить из строки все русские буквы «о».

 

Private Sub Command1_Click()

s$ = Text1

ss$ = ""

k% = Len(s)

j = 1

Do While j <= k

st = Mid(s, j, 1)

If st = "о" Then

d1$ = Mid(s, 1, j - 1)

d2$ = Mid(s, j + 1, k)

s = d1 & d2

k = k - 1

End If

st = Mid(s, j, 1)

If st = "о" Then j = j - 1

j = j + 1

Loop

Text2 = s

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №7. Подсчитать, какое количество каждой буквы русского алфавита находится в строке.

 

Private Sub Command1_Click()

Dim a(192 To 255) As Byte

Dim ch As String * 1

For i% = 192 To 255

a(i) = 0

Next

s$ = Text1

k% = Len(s)

For i = 1 To k

ch = Mid(s, i, 1)

If ch >= Chr(192) And ch <= Chr(255) Then

a(Asc(ch)) = a(Asc(ch)) + 1

End If

Next

s = ""

For i = 192 To 255

If a(i) <> 0 Then

s = s & Chr(i) & vbTab & a(i) & vbCrLf

End If

Next

Text2 = s

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №8. Отсортировать строку по алфавиту.

 

DefStr S

'm - указатель на символ в строке для перестановки

Dim m As Integer

Dim n As String * 1

 

Private Sub Command1_Click()

s$ = Text1

k% = Len(s)

For i% = 1 To k - 1

m = i

For j% = i + 1 To k

If Mid(s, j, 1) < Mid(s, m, 1) Then m = j

Next j

n = Mid(s, i, 1)

s1 = Left(s, i - 1)

s = Replace(s, Mid(s, i, 1), Mid(s, m, 1), i, 1)

s = s1 + s

s2 = Left(s, m - 1)

s = Replace(s, Mid(s, m, 1), n, m, 1)

s = s2 + s

Next i

Text2 = s

End Sub

Private Sub Form_Load()

Text1 = "": Text2 = ""

End Sub

 

Пример №9. Подсчитать сколько раз в текстовом файле встречаются русские буквы «а» и «А». Дописать полученное число в конец проверяемого файла.

 

Private Sub Command1_Click()

Dim s As String

n% = 0

Open "C:\Мои документы\Массивы.txt" For Input As #1

Do

Line Input #1, s

k = Len(s)

For i% = 1 To k

y$ = Mid(s, i, 1)

If UCase(y) = "А" Then n = n + 1

Next

Loop Until EOF(1)

Text1 = n

Close #1

Open "C:\Мои документы\Массивы.txt" For Append As #1

Write #1, n

Close #1

End Sub

Private Sub Form_Load()

Text1 = ""

End Sub

 

Пример №10. Прочитать содержимое файла в текстовое поле. Заменить в каждой строке слова «размера» на слова «порядка» и записать в новый файл.

 

Private Sub Command1_Click()

Open "C:\Мои документы\Массивы.txt" For Input As #1

Open "C:\Мои документы\Result.txt" For Output As #2

Text1 = Input(LOF(1), 1)

s$ = Replace(Text1, "размера", "порядка")

s1$ = StrReverse(s) ' перевернуть текст и вывести в поле

Print #2, s

Text2 = s1

Close

End Sub

 




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


Дата добавления: 2014-12-23; Просмотров: 559; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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