Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Пример №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
Варианты заданий
1.1. Дано слово. Оставьте в слове только первые вхождения каждой буквы.
1.2. Записать в текстовый файл полученное слово в 5 строках 5 раз.
2.1. Дана исходная строка кириллицы. Преобразуйте ее так, чтобы последовательность символов в ней была в обратном порядке.
2.2. Исходные строки считывать из файла. В новый файл записать каждую четную, считанную по порядку исходную строку и каждую нечетную преобразованную строку.
3.1. Дана исходная строка кириллицы. Преобразуйте строку так, чтобы второй символ стал предпоследним, а предпоследний - вторым, при этом в центре строки было добавлено Ваше имя.
3.2. Записать в файл исходную и преобразованную строки.
4.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами, запятыми и точками. Преобразуйте строку так, чтобы слова в ней встречались только один раз.
4.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
5.1. Дана исходная строка кириллицы. Преобразуйте строку так, чтобы были удалены все последующие вхождения первого символа и все предыдущие вхождения последнего символа.
5.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
6.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами, запятыми и точками. Преобразуйте строку так, чтобы из каждого слова были удалены все последующие вхождения первой буквы слова.
6.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
7.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами, запятыми и точками. Преобразуйте строку так, чтобы из каждого слова были удалены все предыдущие вхождения последней буквы слова.
7.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
8.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами, запятыми и точками. Сформируйте из нее новую строку по правилу: если слово нечетной длины и средняя буква прописная, то удалите ее из слова.
8.2. Исходные строки считывать из файла. Сформированные строки записать в новый файл.
9.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами, запятыми и точками. Преобразуйте строку так, чтобы в ней остались лишь повторяющиеся слова.
9.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
10.1. Дана исходная строка латиницы. Преобразуйте строку так, чтобы перед каждым словом была проставлена цифра, определяющая порядковый номер слова в строке.
10.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
11.1. Дана исходная строка латиницы. Подсчитайте, сколько раз встречается слово IF в строке. Преобразуйте строку, заменив в ней все слова IF на if.
11.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл. Подсчет количества слов IF дописать в первый файл.
12.1. Дана исходная строка. Преобразуйте строку, заменив в ней все единицы на нули, а нули на единицы.
12.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
13.1. Дана исходная строка латиницы. Слова в строке разделены пробелами. Сформируйте строку, содержащее самое длинное слово исходной строки, из которого удалены все прописные буквы.
13.2. Исходные строки считывать из файла. Сформированные строки из слов дописать в тот же файл.
14.1. Дана исходная строка латиницы. Слова в строке разделены пробелами, запятыми и точками. Сформируйте строку, содержащую лишь слова с двумя буквами "с" содержащихся в исходной строке.
14.2. Исходные строки считывать из файла. Сформированные строки из слов дописать в тот же файл.
15.1. Дана исходная строка кириллицы. Преобразуйте строку обратным регистром.
15.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
16.1. Дана исходная строка кириллицы. Слова в строке разделены пробелами. Преобразуйте строку так, чтобы перед каждой прописной буквы был пробел.
16.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
17.1. Дана исходная строка. Слова в строке разделены пробелами. Преобразуйте строку так, чтобы в строке остались слова из кириллицы.
17.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
18.1. Дана исходная строка латиницы. Слова в строке разделены пробелами. Сформируйте новую строку, в которой каждое слово исходной строки было бы упорядочено по алфавиту.
18.2. Исходные строки считывать из файла. Сформированные строки записать в новый файл.
19.1. Дана исходная строка латиницы. Слова в строке разделены пробелами. Сформируйте новую строку, в которой произведен циклический сдвиг влево символов каждого слова столько раз, каков порядковый номер слова в строке.
19.2. Исходные строки считывать из файла. Каждую нечетную по порядку сформированные строки записать в новый файл.
20.1. Дана исходная строка. Сформировать из нее новую строку, состоящую из символов кириллицы, недостающих в строке.
20.2. Исходные строки считывать из файла. Сформированные строки записать в новый файл.
21.1. Дана исходная строка латиницы. Сформировать из нее новую строку, удалив из исходной строки все прописные буквы.
21.2. Исходные строки считывать из файла. Сформированные строки записать в новый файл.
22.1. Дана исходная строка латиницы. Разделители слов: пробел, запятая или точка. Сформировать из нее новую строку, выделив из исходной строки k-ое слово. Номер k задается с клавиатуры.
22.2. Исходные строки считывать из файла. Сформированные строки записать в новый файл.
23.1. Дана исходная строка латиницы. Разделители слов: пробел, запятая или точка. Преобразуйте строку так, чтобы поменялись местами первое и последнее слово.
23.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
24.1. Дана исходная строка латиницы. Разделители слов: пробел, запятая или точка. Преобразуйте строку так, чтобы поменялись местами второе и предпоследнее слово.
24.2. Исходные строки считывать из файла. Преобразованные строки записать в новый файл.
25.1. Сформируйте строку из символов кодов с 95 до 122 случайно 50 раз. Разделители слов: символы с кодами 95 и 96. Посчитайте сколько слов в строке. Распечатайте строку.
25.2. Запишите строку и количество слов в файл.
26.1. Дана исходная строка латиницы. Определить процент слов в строке, начинающихся с буквы «А».
26.2. Исходные строки считывать из файла. Определить процент слов в файле и дописать полученный результат в тот же файл.
27.1. Дана исходная строка. В строке присутствуют разделители: пробелы, запятые и точки. Преобразуйте строку, удалив из нее все разделители.
27.2. Исходные строки считывать из файла. Преобразованные строки дописать в тот же файл.
28.1. Сформируйте строку из символов кодов 40 до 60 случайно 50 раз. Посчитайте количество символов цифр и их сумму.
28.2. Запишите строку, количество и сумму в файл.
29.1. Дана исходная строка. Подсчитать сколько строчных и прописных букв русского и английского алфавитов содержится в строке.
29.2. Исходные строки считывать из файла. Дописать результат подсчета в тот же файл.
30.1. Дана исходная строка кириллицы. Определить процент слов в строке, содержащих прописные буквы.
30.2. Исходные строки считывать из файла. Дописать результат подсчета в тот же файл.
31.1. Дана исходная строка. Преобразуйте строку, удалив из нее все русские буквы "с".
31.2. Исходные строки считывать из файла. Преобразованные строки и количество удаленных символов записать в новый файл.
32.1. Дана исходная строка. Подсчитать, какое количество каждой буквы русского алфавита находится в строке.
32.2. Исходные строки считывать из файла. Дописать результат подсчета в тот же файл.
Контрольные вопросы
Перечислите основные функции для работы со строками.
Что такое файл, и какие типы файлов определены в Visual Basic?
Какие операторы Visual Basic определены при работе с текстовыми файлами?
Чем отличаются операторы Print и Write при работе с файлами?
В каком случае по окончании операции ввода или вывода данных оператор Close надо использовать всегда и почему?
Объясните, как вывести содержимое текстового файла в поле?
Объясните, как можно дописать в существующий файл данные?
Назовите все стандартные диалоговые окна для ввода и вывода сообщений?
2.3. Пользовательский тип данных (записи) и файлы произвольного
доступа
Дата публикования: 2014-12-28; Прочитано: 573 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!