- •Әдістемелік нұсқау
- •Әдістемелік нұсқау
- •Лабораториялық жұмыс №1
- •Лабораториялық жұмыс №2 Тармақталу алгоритмін программалау
- •Негізгі ұғымдар. Тармақталушы команда құрама командаға жатады, яғни оның жай командадан айырмашылығы құраушы командалардың орындалуына немесе орындалмауына байланысты болатын шарт енеді.
- •Таңдау командасы
- •Лабораториялық жұмыс №3 Қайталану алгоритмін программалау
- •Лабораториялық жұмыс №4 Бір өлшемді және екі өлшемді массивтерді өңдеу алгоритмдері
- •Лабораториялық жұмыс №5 Символдық информацияларды өңдеу алгоритмдері
Лабораториялық жұмыс №3 Қайталану алгоритмін программалау
Мақсаты: Қайталанушы алгоритмдерді Visual Basic ортасында программалау дағдыларын қалыптастыру, өзіндік тапсырмаларды орындау
Негізгі ұғымдар. Есептің шешімін көрсететін алгоритмдерде қайталанатын командаларды немесе оның программасын құрғанда қайталанатын операторларды кездестіруге болады.
Турбо Паскальда мұндай қайталануларды жазу үшін цикл операторларының үш түрі қолданылды. Visual Basic - де қайталану алгоритмін программалау Турбо Паскальдағыдай жүзеге асады, яғни цикл операторының үш түрі қолданылады.
For …Next –есептегіштерде немесе итерация көлемі алдын – ала белгілі болған жағдайда қолданылады.
Do….Loop – қайталанатын әрекеттердің саны алдын –ала белгілі болғанда және пайдаланушы кейбір шарттың орындалуын күткен жағдайда орындалады.
While…Wend – көрсетілген шарт ақиқат болғанша орындалады.
Do… Loop цикл операторы қайталанатын әрекеттердің саны алдын –ала белгілі болғанда және пайдаланушы кейбір шарттың орындалуын күткен жағдайда орындалады. Программада жалпы жазылу түрі:
Do қайталанатын әрекеттер Loop
1-мысал. Бірден n-ге дейінгі жүп сандардың қосындысын берілген қайталанатын әрекеттердің саны алдын –ала белгілі болғандағыны Do….Loop әзір циклының көмегімен есептеу.
Шешуі:
Берілген K-саны 20-ға тең деп беріп кетеміз. Label1 – ге есептің нәтижесін енгізу үшін пайдаланамыз.
5- сурет
Есеп шешімін Command1 - дің Clikc - оқиғасында реализациялаймыз (ұйымдастырамыз).
Программаның кодын келтірейік:
Dim S, K As Integer
Private Sub Command1_Click()
S = 0
K = 1
Do While K <= 20
S = S + K
K = K + 1
Loop
Label1.Caption = CStr(S)
End Sub
Компоненттер |
Қасиеттер |
Меншіктелетін мән |
Form1 |
Caption |
қайталану операторына есеп |
Form1 |
Name |
Form1 |
Label1 |
Caption |
есептің жауабы |
Label1 |
Caption |
тазалау |
Command1 |
Caption |
есепте |
Лабораториялық жұмыс №4 Бір өлшемді және екі өлшемді массивтерді өңдеу алгоритмдері
Мақсаты: Массив элементтерін енгізуді және баспаға шығаруды ұйымдастыру, массивтегі іздеу және элементтерді сұрыптау әдістерін Visual Basic ортасында реализациялау, қарапайым қосымшалар құру.
Негізгі ұғымдар. Массив элементтерін енгізуге және шығаруға біржолды редактор Edit компонентін , Listbox, Combobox тізімдерін, StringGrid кестесін және стандарт диалогты терезелерді қолдануға болады.
Бір өлшемді массивтерді өңдеу әдістерін Delphi ортасында реализациялаудағы ең негізгі мәселе - массив элементтерін енгізуді және баспаға шығаруды дұрыс ұйымдастыра білу қажет. Екі өлшемді массивтерді өңдеу әдістерін Visual Basic ортасында реализациялаудағы ең негізгі мәселе - массив элементтерін енгізуді және баспаға шығаруды дұрыс ұйымдастыра білу қажет.
Мысал1. Бір өлшемді A(n) массив элементтерін енгізіп оларды кему ретімен сұрыптау программасын құрыңыз.
Шешуі: Формаға List21, Command1, Command2, Label1, Text1, компоненттерін қоямыз. Массив элементтерін List1 тізімінен оқимыз. Есеп шешімін Command2 компонентіне шығарамыз. Массив элементтерін енгізуге Command1 компонентінің Click оқиғасында реализациялаймыз, ал есеп әдісін Command2 компонентінің Click оқиғасында реализациялаймыз.
Программа коды:
Option Explicit
Public n As Integer
Dim a(1 To 10) As Integer
Private Sub Command1_Click()
List1.Clear
Label2.Caption = "Текущий массив:"
n = CInt(Text1.Text)
Dim i As Integer
For i = 1 To n
a(i) = InputBox("Введите элементы массива", "элемент")
List1.AddItem (a(i))
Next i
End Sub
Private Sub Command2_Click()
Label2.Caption = "Отсортированный массив:"
Dim box As Integer
Dim i As Integer
Dim j As Integer
For i = 1 To n
For j = 1 To n - 1
If a(j) > a(j + 1) Then
box = a(j)
a(j) = a(j + 1)
a(j + 1) = box
End If
Next j
Next i
List1.Clear
For i = 1 To n
List1.AddItem (a(i))
Next i
End Sub
Қосымша интерфейсі төменде көрсетілген.
2-мысал: Бір өлшемді массив берілген. Массив элементтерін толтыру және ең үлкен элементті іздеу.
Программа коды:
Dim a() As Single
Dim i As Integer
Dim n As Integer
Dim k As String
Dim Max As Single, nMax As Integer
Private Sub Command2_Click()
n = Val(txtN.Text)
ReDim a(1 To n)
Select Case cboСпособ.ListIndex
Case 0
txtМассив.Text = ""
For i = 1 To n
k = InputBox("ВВедите" + Str(i) + "число", "Заполнение массива")
a(i) = Val(k)
txtМассив.Text = txtМассив.Text = "" + Str(a(i))
Next i
Case 1
txtМассив.Text = ""
Randomize Timer
For i = 1 To n
a(i) = Int(101 * Rnd())
txtМассив.Text = txtМассив.Text = "" + Str(a(i))
Next i
End Select
End Sub
Қосымша интерфейсі төменде көрсетілген:
3-мысал.Екі өлшемді массив берілген. Массивтің 3-ке еселі элементтерін табу керек.Форма бетіне CommandButton батырмаларын ListBox, Label батырмаларын қоямыз.
Программа коды:
Dim B(1 To 3, 1 To 3), n As Integer
Dim st As Integer
Private Sub Command1_Click()
For i = 1 To 3
For j = 1 To 3
B(i, j) = InputBox("массив элементтерин енгиз")
If B(i, j) < 0 Then
st = MsgBox("Кате он элементтерди енгиз", vbOK): j = j - 1
Else: Print B(i, j) + " ";
End If
Next j
Next i
End Sub
Private Sub Command2_Click()
List1.Clear
End Sub
Private Sub Command5_Click()
List1.Clear
For i = 1 To 3
For j = 1 To 3
If B(i, j) = 0 Then List1.AddItem B(i, j)
End If Next j Print Next i
End Sub
Қосымша интерфейсі төменде көрсетілген:
