Мысал. Тік бұрышты үшбұрыштың катеттері (а; в) белгілі. Пифагор теоремасы бойынша оның гипотенузасын (с) есептеуге арналған Pifag атаулы модульдік функция құру керек. Функция құру үшін:
1.Module1 терезесін ашып (4.1-сурет), оған мынадай программа енгізу:
Function Pifag (al, b1)
Pifag=sqr(a1^2+b1^2)
End Function
2. File- Save Module As командасын беріп және көрінген терезеден модуль сақталатын буманы ашып, онда модульді сақтау (Pifag.bas).
3. Properties- Module терезесін ашып, оның Name қасиетіне modPifag атын енгізіп, КҚ клавишін басу.
4. Модульдік терезені жабу.
Мысал. Тікбұрышты үшбұрыштың катеттері белгілі (а; b). Pifag функциясын пайдаланып, оның периметрін табу керек (р = а+b+с -?).
Орындау жолы:
1. Орталықгы ашу, егер проектіде Pifag модулі жоқ болса, проект терезесін оң түймемен шертіп, көрінген контексті мәзірден Add - Module командасын беру. Экранға шыққан Add Module терезесінің Existing қондырмасын ашып, Pifag.bas файлын екі рет шерту. Модуль проектіге қосылып қойылады.
2. Форманы ашып, екі рет шерту.
3. Көрінген код терезесінде процедура кұру:
Private Sub Form_Load()
Dim a, b, p As Single
a=InputBox(a,"a="): a=val(a)
b=InputBox(b,"b="): b=val(b)
p=a+b+Pifag(a,b)
msgBox(p), , “периметр=”
End Sub
4. Проектіні сақтап, программаны іске қосу. MsgBox (шығару) терезесінде периметр мәні көрінеді.
Программаға (процедураға) енгізілген Pifag(a,b)- осы атаулы модульдік функцияны шақыру командасы. Оның іс-әрекеті әдеттегідей: Редактор Pifag модульдік функциясын іздеп табады да, al= a , bl=b меншіктеу командаларын орындайды. Одан әрі модуль денесін орындап, есептелген Pifag мәнін өрнек ішіндегі Pifag функциясының орнына қояды.
Процедурада сандық символдардан тұратын символдық функцияны сандық тұрақтыға айналдыратын Val функциясы пайдаланылды (value — мән). Себебі кейде VB жадта сандық мәндерді символдық типте сақтайды. Ол көбінесе айнымалыларды вариант типінде сипаттауда кездеседі.
4.2. Sub типті модульдік процедура кұру
Процедураның жазылу синтаксисі:
Sub <атау> ([аргументтер])
S
End Sub
Мұндағы <атау> - модульдік процедура атауы;
<аргументтер> - үтір арқылы бөлініп жазылатын формальды параметрлер. Олар қажет болған кезде ғана енгізілуі тиіс;
S - процедура денесі.
Процедураны құру, оны сақтау жолы 1-мысалдағы сияқты.
Негізгі программаға енгізілетін Sub типті процедураны шақыру командасы Qbasic, Турбо Паскальдағы сияқты бөлек жазылады. Командаға енгізілетін аргументтердің типі мен саны модульдік процедурада пайдаланылатын айнымалылардың типі мен санына бірдей болуы тиіс. Тек шақыру командасында аргументтер жақшаларға алынбай жазылады.
Шақыру командасында аргументтер айнымалы не мән түрінде жазылуы мүмкін.
Мысал. Тік бұрышты үшбұрыштың катеттері белгілі (а, b). Оның гипотенузасын есептеуге арналған PifagSub атаулы Sub типті модульдік процедура құру керек.
Орындау жолы:
1. Орталықты ашу.
2. Стандартты Module1 терезесін ашып, оған PifagSub модульдік процедурасын енгізу (а1, b1, с1 - формальды параметрлер):
Sub PifagSub (al, b1, cl)
с1=sqr(а1^2+b1^2)
End Sub
File – Save Module As командасы арқылы модульді сақтау (мысалы, PifagSub).
“Properties – Module1” терезесін ашып, оның Name өрісіне modPifagSub атауын енгізу және КҚ клавишін басу.
Модуль терезесін жабу.
Мысал. PifagSub модульдік процедурасын пайдаланып, тік бұрышты үшбұрыштың берілген катеттері (a, b) бойынша оның периметрін есептеу керек.
Программаға енгізілетін гипотенузаны (с) есептеуге арналған модульдік процедураны шақыру командасының нақты параметрлері жақшаларға алынбай жазылады, мысалы, PifagSub a, b, c.
Жүйе алдымен нақты a, b, c және al, bl, cl параметрлерінің типтерін салыстырады. Олар бірдей болса, al=a; bl=b меншіктеу командаларын орындап, процедураны орындауға көшеді. Одан әрі с:=с1 командасы орындалады.
Есепті интерфейс құрып шешу тәсілі:
элементі).
Орталықты ашып, формада Label1, Label2, Label3, Command1 объектілерін орнату (Label өрістерін a,b,s мәндерін енгізу үшін жоспарлау. Command1 түймесі – басқару элементі).
Command1 түймесі арқылы код терезесін ашып, оған процедура енгізу:
Private Sub Command l_Click()
Dim a, b, c, s
а=InputBox (a, "a=") : Label1.Caption=a
b=InputBox (b, "b=") : Label1.Caption=b
a=val (a) : b=val (b)
PifagSub a, b, c : s=a+b+c
Label3.Caption=s
End Sub
Процедураны сақтап, іске қосу.
Ескерту: Егер проект құрамында PifagSub модулі жоқ болса, алдымен оны қосып алу керек.
Мысал. Сандық массивтің минимумы мен максимумы есептелетін модульдік процедуралар құрып, оларды пайдалану программасын құру керек.
Жұмыс технологиясы:
Орталықты ашу.
Module1 терезесін ашып (4.1-сурет), оған Fnmin функциясын енгізу:
Function Fnmin (x1, y1)
If xl<=y1 Then Fnmin=xl Else Fnmin=yl
End Function
3. Properties – Module1 терезесін ашу. Оның Name қатарына modFnmin функциясын енгізіп, КҚ клавишін басу.
4. Module1 терезесін қайта ашып, оған Fnmax функциясын енгізу:
Function Fnmax (x1, yl)
If x1>=yl Then Fnmax=xl Else Fnmax=yl
End Function
5. Properties - Module1 терезесінің Name өрісіне "modFnmax" атауын енгізіп, КҚ клавишін басу.
6. Формада Label1, Label2 Command1 түймелерін орнату (Label1, Label2-ге min, max мәндерін енгізуді жоспарлау).
7. Command1 түймесі арқылы код терезесін ашып, процедура денесін енгізу:
Private Sub Command1_Click()
Static a(20), k, min1, max1
n=InputBox (n, “=”)
For k=1 To n
a(k)=InputBox (a(k), ”=”)
Next
min1=a(l): max1=a(1)
For k=2 To n
min1= Fnmin (min1, a(k))
max1= Fnmax (max1, a(k))
Next
Label1.Caption=min1: Label2.Caption=maxl
End Sub
Мұндағы Fnmin, Fnmax – сәйкес модульдерді шақыру командалары.
8. Процедураны сақтап, іске қосу. Форма терезесі көрінеді. Оның Command1 түймесін шерту.
9. Көрінген InputBox терезесіне элементтер саны мен кезекті мәндерді енгізіп, КҚ клавишін басу.
6, 4, 2, 5, 12, 7, 9 массиві үшін программаның орындалу нәтижесі 4.4 - суретте көрсетілген.
4.4-сурет. Программаның орындалу нәтижесі
10. Аспаптар панелінің End түймесін шертіп, программа жұмысын аяқгау.
Ескерту. Модульдер - VB проектісінің құрамдық бөліктері. Проектінің басқа формасының модулінде сақталған процедураны не функцияны шақыру командасын
<Модуль аты>. <Процедура аты>
түрінде жазу керек. Мысалы, бір проектінің 1-формасында (Form1-де) minmaxok модулі мен minmax1 файлы жазулы болсын. Осы проектіде қосымша 2-форманы (Form2-ні) ашып, оның код терезесінде мынадай процедураны енгізіп, іске қосуға болады:
Private Sub Form_Load()
minmaxok.bas, minmax1.frm
End Sub
Егер модульдік процедура не функция бас0f проектіде орналастырылған болса, шақыру командасының синтаксисі:
<Проект аты>.<модуль аты>.<процедура аты>
Айнымалыны жан - жақты ету
Процедура ішінде сипатталатын айнымалы сол процедураға ғана тиісті. Оны жергілікті айнымалы деп атайды. Айнымалыны проектінің түрлі процедураларында пайдалануға мүмкін ету үшін оны модуль терезесінде Public (жан - жақты) кілттік сөзі арқылы сипаттау қажет.
Жан - жақты айнымалыны құру тәсілі:
1. Project - Add Module командасын беріп, ашылған терезенің Ашу түймесін шерту. Module1 атаулы бос модуль General (Жалпы) және Declaration (Жарилау) бөлімдері бар код терезінде көрінеді ((General) — жан-жақты айнымалыны тағайындау пункті. (Declaration) өрісіне құрылған жан-жақты айнымалылар тізімі жазылып қойылады. Тізімді ашу әдеттегідей).
2. Терезеге модульдік айнымалыны, мысалы, Espt айнымалысын, Public кілттік сөзі арқылы сипаттауды енгізу:
Public Espt
3. Модульді сақтау командасын беру: File – Save Module As.
4. Ашылған терезе өрісіне mnEspt.bas атауын енгізу.
5. Модульдің қасиеттер терезесін ашу (терезе тақырыбы: Properties - Module1). Оның Name қасиетіне modEspt атауын енгізіп, КҚ клавишін басу.
Қорытынды
Достарыңызбен бөлісу: |