Кафедра Информатики
«Программирование алгоритмов обработки символьных и строковых данных»
Студент группы БИН1410
Магомедов Саид
Вариант №8
Москва 2015г.
Задание проекта:
Условие задания:
Формализация и уточнение задания проекта:
Для решения задачи иметь знания в создании циклов, знать, что делает функция text. IndexOf( simbol, startIndex ) и где её применять, а также знать, что делает функция text. Substring( startIndex, simbolCount ).
Print-screen проекта
Код программы проекта:
Option Strict On
Option Explicit On
Public Class Form1
Overloads Sub inputTB(ByVal TB As TextBox, ByRef text As String)
text = TB.Text
End Sub
Overloads Sub inputTB(ByVal TB As TextBox, ByRef text As Char)
text = CChar(TB.Text)
End Sub
Sub outputTB(ByVal TB As TextBox, ByVal text As String)
TB.Text = text
End Sub
'Процедура определения максимальной длины подстроки, состоящей из данного символа
Sub search(ByVal line As String, ByVal simbol As Char, ByRef max As Integer)
Dim i, index As Integer
i = 0
Do
index = line.IndexOf(simbol, i)
If index >= 0 Then
i = index
maxCount(line, simbol, i, index, max)
Else
Exit Do
End If
Loop
End Sub
'Процедура подсчёта длины подстроки, состоящей из данного символа
Sub maxCount(ByVal line As String, ByVal simbol As Char, ByRef i As Integer, ByVal index As Integer, ByRef max As Integer)
|
|
Dim j, count As Integer
count = 1
For j = index + 1 To line.Length - 1
If line.Substring(j, 1) = CStr(simbol) Then
count = count + 1
Else
Exit For
End If
Next
If max < count Then max = count
i = i + count
End Sub
'Событийная процедура
Private Sub startBtn_Click(sender As Object, e As EventArgs) Handles startBtn.Click
Dim line As String
Dim simbol As Char
Dim max As Integer = 0
line = ""
inputTB(lineTB, line)
inputTB(simbolTB, simbol)
search(line, simbol, max)
outputTB(resultTB, CStr(max))
End Sub
End Class
Блок схемы проекта: