Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораториялық жұмыс.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
141 Кб
Скачать
☆

Лабораториялық жұмыс №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()

Print

Print

Print

Print

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

Print

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

Қосымша интерфейсі төменде көрсетілген: