If … Then құрылымы


1-мысал. Екі санды енгізу керек, егер бірінші сан екіншісінен үлкен болса онда олардың қосындысын немесе көбейтіндісін табу керек. Сандар және нәтиже пішінге шығу керек.

Қойылған есепті шешу үшін мыналарды ұйымдастыру қажет:

1) Деректерді енгізу. Visual Basic жүйесінде мәтіндік хабарламаларды шығару үшін InputBox диалогтық функциясы қолданылады:

A“=InputBox(Prompt, Caption, Default, x,y,HelpFile)

   Бұл функцияның жалғыз міндетті парамері болып, диалогтық терезеде пайда болатын көмекті ұсынатын  String типті мәнді Prompt аргументі болып табылады.

   Қажетті ақпаратты тергеннен кейін қолданушы Enter пернесін немесе Ok батырмасын басуына болады. Екі жағдайда да  InputBox функциясы енгізу өрісінің мазмұнын қайтарады. Енгізу өрісіне енгізуді аяқтау белгісіне дейін пернетақта құралдарымен жөндеу жүргізуге болады. Егер қолданушы Cancel (Отмена) батырмасына немесе Esc батырмасын шертсе, онда функция енгізу қатарындағы мәнге қарамастан қатарға нөлдік ұзындықты шығарады.

   Caption, параметрі, егер ол берілсе, онда диалогтық терезенің тақырыбы ретінде пайда болады. Үшінші String, типті   Default параметрікелісім бойынша ойлаған жауапты береді. Ол енгізу өрісінде пайда болады және егер қолданушы жауабы ұсынылған мәтінмен сәйкессе онда енгізу уақытын үнемдейді.

   Келесі (x,y) екі параметрі экранның сол жақ жоғарғы бөлігімен салыстырғанда тік және көлденең диалогтық терезелерінің араласуын анықтайды. Координата мәндері типтермен беріледі. Олардың қатысуынсыз диалогтық терезе экранның ортасына орналасады.

   Соңғы екі міндетті емес HelpFile, Context  параметрлері қолданушы F1-ді басқанда анықтамалық ақпарттан пайда болатын файлдың атауын және кадр нөмірін береді.

   2) Шарттарды тексеру.

If  құрылымы операторлар тобы белгілі бір шарттарды сақтаған кезде орындалатын жағдайда қолданылады.

Басқару If  операторларының екі түрі болады:

·     If…Then операторы белгілі бір әрекеттің бірнеше шарттарға тәуелді болған кезінде қолданылады.

·     If…Then…Else операторы шартқа байланысты әр түрлі әрекеттердің орындалуы барысында орындалады.

Бір жолды синтаксисі: If  шарт Then оператор  [Else оператор]

   Блоктың синтаксисі:

               If  шарт Then

               Операторлар 2]

               Else

               Операторлар 3

               End If

 

   Басқару құрылымында шешім қабылдауға негіз болатын шартты өрнектер болып табылады, сондықтан алдын ала осы өрнектер және олармен жұмыс жасау туралы кішкене айтып кету керек.

   Шартты өрнектер – бұл екі мәннің True (жалған) немесе False (жалған) бірін ғана қайтаратын өрнек. Шартты өрнектерде 6.1 кестеде көрсетілген салыстыру операторларын қолданады.

 

6.1-кесте. Шартты өрнектер үшін

 салыстыру операторлары. 

Оператор                                Мәні                           Оператор                  Мәні

=                                    Тең                             <>                               Тең емес

>                                    Көп                            >=                               Көп немесе тең

<                                    Аз                               <=                               Аз немесе тең

 

   Шартты өрнектер үшін логикалық математика әрекеттерін (логикалық операция) орындауға болады:

·   AND (ЖӘНЕ) – Егер әрекетке қатысып жатқан өрнектердің барлығы True мәнін қабылдаса, онда  True(Ақиқат), мәнін қабылдайды. Қалған жағдайда   False(Жалған) мәнін қабылдайды;

·   OR (Немесе) – Егер әрекетке қатысып жатқан өрнектердің ең болмағанда біреуі True мәнін қабылдаса, онда True(Ақиқат), мәнін қабылдайды. Егер барлығы False мәнін қабылдаса,  False (жалған) мәнін қабылдайды;

·   XOR (немесе) – Егер әрекетке қатысып жатқан өрнектердің тек қана біреуі True мәнін қабылдаса, онда True (Ақиқат) мәнін қаабылдайды. Қалған жағдайда False (жалған) мәнін қабылдайды;

·   NOT (Емес) – Терістеу операциясы. Егер өрнек True тең болса онда False мәнін қабылдайды және керісінше, егер өрнек False мәнін қабылдаса онда  True (Ақиқат).

Теориялық материалды меңгергеннен кейін есептерді шешуге кірісуге болады: пішінге батырма орнатыңдар. Батырмалар коды:

Dim a,b As Integer

Dim y As Long

Private Sub Command1_Click()

a=InputBox(»)

b=InputBox(“»)

If a>b Then y=a+b Else y=a*b

Form1.Print a

Form1.Print b

Form1.Print y

End Sub

 

   2-мысал. Екі резистордан тұратын электр тізбегінің кернеуін есептейтін бағдарлама құрыңдар. Резисторлар тізбектей немесе параллель жалғануы мүмкін.

   Пішіннің түрі үлгісі суретте ұсынылған

 

Dim R1 As Integer

Dim R2 As Integer

Dim R As Integer

 

Private Sub Command1_Click()

R1=Val(Text1.Text)

R2=Val(Text2.Text)

If Option1.Value=True Then R=R1+R2 Else R=(R1*R2)/(R1+R2)

Label4.Caption=Val(R)

End Sub

 

Private Sub Option1_Click()

Label4.Caption=””

Option2.Value=False

End Sub

Private Sub Option2 Click()

Label4.Caption =”>>

Option1.Value=False

End Sub

 

3-мысал. пернені басқан кезде меңзердің басқарылуымен Shape  объектісі берілген бағытқа қарай жылжитын бағдарлама құру керек.

   Пішінге бір Shape  объектісін Shape 1- қасиеті Шеңбер орналастырыңдар. Қалған қассиеттерді өздерің тағайындандар.

Код:

Dim x As Integer ‘Көлденең объектінің орнын анықтайтын сандық айнымалыны сипаттаймаыз.

Dim у  As Integer ‘ Тік объектінің орнын анықтайтын сандық айнымалыны сипаттаймыз

 

Private SubForm KeyDown(KeyCode As Integer, Shift As Integer)’

x=Shapel.Left’ х айнымалысына объектіні көлденең орналастыру мәнін меншіктейміз

 y=Shapel.Top

‘ Егер басатын перненің коды 37-ге тең болса (бағыттауыш солға жылжиды), онда х айнымалысының мәніне 100-ді аламыз

if KeyCode= 37 Then x= x- 100

‘ Егер басатын перненің коды 39-ге тең болса (бағыттауыш оңға жылжиды), онда х айнымалысының мәніне 100-ді қосамыз

if KeyCode= 39 Then x= x+ 100

‘ Егер басатын перненің коды 38-ге тең болса (бағыттауыш жоғары жылжиды), онда у айнымалысының мәніне 100-ді аламыз

if KeyCode= 38 Then у= у- 100

‘ Егер басатын перненің коды 40-ге тең болса (бағыттауыш төмен жылжиды), онда у айнымалысының мәніне 100-ді қосамыз

if KeyCode= 40 Then у= у+ 100

‘х айнымалысына объектіні көлденең орналастыру мәнін меншікейміз

Shapel.Left=x

‘у айнымалысына объектіні тік орналастыру мәнін меншіктейміз

Shapel.Top=y

End Sub