Fizik jarayonlarni kompyuterda modellashtirish


Download 76.71 Kb.
bet14/18
Sana04.02.2023
Hajmi76.71 Kb.
#1165861
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
Fizik jarayonlarni kompyuterda modellashtirish

24-savol.Protseduralar.
Dastur tuzish jarayonida, uning turli joylarida ma’nosiga ko‘ra bir xil, mustaqil harakterga ega bo‘lgan va yechilayotgan asosiy masalaning biror qismini hal qilishni o‘z bo‘yniga olgan murakkab algoritmdan bir necha marotaba foydalanishga to‘g‘ri keladi. Masalan, matritsalarni ko‘paytirish, matritsani vektorga ko‘paytirish, chiziqsiz tenglamani yechish, chiziqli algebraik tenglamalar sistemasini yechish, faktorial hisoblash, yig‘indi hisoblash va hokazo kabi masalalarni hal qilish algoritmlari juda ham ko‘p masalalarni yechishning bosh algoritmlarida qayta-qayta, turli boshlang‘ich ma’lumotlar bilan qatnashishi mumkin.
VB da protseduralarning quyidagi ko‘rinishlari mavjud:
- Sub
- Function
- Property
Sub protsedurasi.
Sub protsedurasi qiymat qaytarmaydi, bu protsedura ko‘pincha unga bog‘langan xodisalarni qayta ishlash uchun qo‘llaniladi. Unga faqat standart modullar, forma va sinf modullarini o‘rnatish mumkin. Sub protsedurasining yozilish formati quyidagicha:
[Private] [Public] [Static] Sub Protsedura_nomi (parametrlar) operatorlar
End Sub
Protseduralarni aniqlash va ulardan foydalanishni quyidagi misol yordamida ko‘rib chiqaylik:
Misol: u max (x  y, x * y), v  max ( 0.5, u) – berilgan x va y haqiqiy sonlardan foydalanib u va v qiymatlarni aniqlash.
Bu yerda x, u - qiymatlari kiritiladigan haqiqiy tipli o‘zgaruvchilar.
Masalani yechish dasturini parametrsiz protseduradan foydalanib tuzilgan holi:
Dim x, y, u, v As Double
Dim a, b, s As Double
Private Sub max1() ‘ max1 protsedurasi tashkil etildi
If a > b Then s = a Else s = b
End Sub
Private Sub Command1_Click()
x = Val(Text1.Text)
y = Val(Text2.Text)
a = x + y: b = x * y
Call max1 ‘ max1 protsedurasiga murojaat
u = s
a = 0.5: b = u
Call max1 ‘ max1 protsedurasiga murojaat
v = s
MsgBox (Str(u) + " " + Str(v))
End Sub
Protsedurani mukammallashtirib borish dinamikasini his etish uchun yana, yuqorida ko‘rilgan maksimum topish misolining dasturini parametr - o‘zgaruvchi ishlatgan holda ko‘rib chiqamiz: Dim x, y, u, v As Double
Dim s As Double
Sub max1(a, b As Double, ByRef s As Double)
If a > b Then s = a Else s = b
End Sub
Private Sub Command1_Click()
x = Val(Text1.Text)
y = Val(Text2.Text)
Call max1(x + y, x * y, u)
Call max1(u, 0.5, v)
MsgBox (Str(u) + " " + Str(v))
End Sub

Download 76.71 Kb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling