Создание программы для обработки строковых данных
Задание: Найти количество слов, в которых первый и последние символы совпадают между собой
Программный код:
Private Sub Form_Load()
Dim st As String, s2 As String
MsgBox "В конце строки добавь пробел!!!"
st = InputBox("Введите строку")
MsgBox "Исходный текст" & Chr(13) & st, vbInformation, "Окно вывода"
i1 = 0
k = 0
For i = 1 To Len(st)
If Mid(st, i, 1) = " " Then
P = P + 1
z1 = z1 & "Позиция" & P & "-го пробела" & i & Chr(13)
s1 = Mid(st, i1 + 1, i - (i1 + 1))
MsgBox P & "-ое слово: " & s1
If Left(s1, 1) = Right(s1, 1) Then k = k + 1
i1 = i
End If
Next
MsgBox z1 & Chr(13) & "кол-во слов" & k
End Sub
Скриншоты:
Задание 7
Создание программы файлов поочередного доступа
Задание: В числовом файле вычислить среднее арифметическое положительных элементов.
Программный код:
Dim fayl As String
Dim xp As Integer
Private Sub Command1_Click()
Dim n As Integer, X As Integer
fayl = Text1.Text
If Option2.Value = True Then
'fayl = "C:\Documents and Settings\student\Рабочий стол\СМ, первый семестр, РГР 1-3\Упалюк\1.txt"
fayl = InputBox("Ввести имя числового файла")
Open fayl For Output As #1
n = InputBox("Ввести количество чисел в файле")
For i = 1 To n
X = InputBox("Введите число")
Print #1, X
Next
Close #1
st = "Числовой файл:" & Chr(13)
End If
Open fayl For Input As #1
Do While Not EOF(1)
Input #1, X
st = st & " " & X
Debug.Print X;
Text2.Text = Text2.Text & X & " "
Loop
Close #1
Debug.Print
Close
End Sub
Private Sub Label11_Click()
‘определить первый положительный
Open fayl For Input As #1
Do While Not EOF(1)
Input #1, X
p = Left(X, 2)
t = Right(X, 2)
Loop
Label11.Caption = p
S = p + t
Do While Not EOF(1)
Input #1, X
If X < S Then Sum = Sum + X
Loop
Close #1
End Sub
Private Sub mnu2_Click()
Text1.Text = ""
End Sub
Private Sub mnu4_Click()
‘определение первого отрицательного
Open fayl For Input As #1
Do While Not EOF(1)
Input #1, X
If X > 0 Then xp = X: Exit Do
Loop
Close
Label6.Caption = xp
End Sub
Private Sub mnu5_Click()
nf = FreeFile()
Open fayl For Input As #nf
Do While Not EOF(1)
Input #nf, X
If X < xp Then k = k + 1
If X < Min Then Min = X
Loop
Debug.Print xp: Debug.Print k: Debug.Print Min
st = st & Chr(13) & "РЕЗУЛЬТАТЫ" & Chr(13) & "1-ое положительное =" & xp & Chr(13) & "к-во меньших" & k & Chr(13) & "Минимум" & Min
MsgBox st
Label7.Caption = k
Label8.Caption = Min
End Sub
Private Sub mnu6_Click()
Open fayl For Input As #1
Dim p As Single, t As Single
Input #1, X
p = Left(X, 1)
Open fayl For Input As #2
Do While Not EOF(2)
Input #2, X1
t = Right(X1, 1)
Loop
S = p + t
Open fayl For Input As #3
Do While Not EOF(3)
Input #3, X
If X < S Then Sum = Sum + X
Loop
Close
Label11.Caption = S
End Sub
Скриншоты:
Задание 8