- •4.9.4. Средства Visual Basic и Framework.Net для обработки строк
- •Примера 4.9.5-1
- •Примера 4.9.5-3
- •Выполните приложение и получите результат.
- •Докажите правильность результата.
- •Варианты индивидуальных заданий
- •Содержание отчёта
- •Пример выполнения задания
- •Алгоритмы решения задачи:
- •Программный код проекта:
- •Результаты выполнения проекта:
- •Доказательство правильности работы программы:
- •Контрольные вопросы
Примера 4.9.5-1
Параметрами функции Pr951() являются строка row и переменная simvol. В цикле происходит выделение символа с помощью метода Substring(). Параметр row – наша исходная строка, i – параметр цикла, который будет изменяться в цикле от нуля (начало строки) до конца строки – за это отвечает метод Length. Cчетчик kol = kol + 1 обеспечивает подсчет количества заданного символа.
Пример 4.9.5-2. Разработать процедуру-Function, которая заменяет пробелы в исходной строке заданным символом.
Параметрами функции Pr952() являются строка row и переменная sim. В методе Replace() используем в качестве параметров исходную строку row, в качестве заменяемой подстроки используем пробел и подстроку, на которую заменяется подстрока – sim. Цель применения операции логического отрицания Not очевидна, т.к. оператор row = row.Replace(" ", sim) будет выполняться тогда, когда логическое выражение будет иметь значение True. Программный код приведен на рис. 4.9.5-2.
Function Pr952(ByVal row As String, ByVal simvol As Char) As String Dim zamena As Boolean If Not zamena Then row = row.Replace(" ", simvol) Else row = row.Replace(simvol, " ") End If zamena = Not zamena Return row End Function
Private Sub Button1_Click(…) Dim r As String, s As Char r = TextBox1.Text s = CChar(InputBox("Введите символ")) Label2.Text = "Результирующая строка: " & Pr952(r, s) End Sub |
Рис. 4.9.5-2. Программный код процедуры Pr952() Примера 4.9.5-2
Пример 4.9.5-3. Разработать процедуру-Function, которая определяет, сколько раз подстрока row_1 входит в исходную строку row.
Функция Pr953() использует метод IndexOf(), который возвращает позицию подстроки row_1 в исходной строке row, при этом счетчик будет увеличиваться на единицу при каждом нахождении подстроки. В противном случае произойдет досрочный выход из цикла с помощью оператора Exit Do.
Программный код приведен на рис. 4.9.5-3.
Function Pr953(ByVal row As String, ByVal row_1 As String) _ As Integer Dim i, kol, x As Integer i = 0 Do x = row.IndexOf(row_1, i)) If x >= 0 Then i = x + row_1.Length kol = kol + 1 Else Exit Do End If Loop Return kol End Function
Private Sub Button1_Click(…) Dim r, r_1 As String r = TextBox1.Text r_1 = InputBox("Введите подстроку") Label2.Text = "Всего вхождений подстроки" & _ r_1 & "в строку " & Pr953(r, r_1) End Sub |
Рис. 4.9.5-3. Программный код процедуры Pr953()
