Э. В. Фуфаев, Д. Э. Фуфаев



жүктеу 10,13 Mb.
Pdf просмотр
бет49/93
Дата19.11.2018
өлшемі10,13 Mb.
#21568
түріОқулық
1   ...   45   46   47   48   49   50   51   52   ...   93

Dim A4 As Integer Static 
A5 As Integer A1 = 
"Мəтіндік жол" 
A2 = 2 A3 = 
3.14 A4 = 
A4 + 4 A5 
=A5 + 5 
MsgBox A4 
MsgBox A5 
End Sub 
Sub Proc2() 
Proc1 
MsgBox 
A1 
MsgBox 
A2 
MsgBox 
A3 
MsgBox 
A4 
MsgBox 
A5 Proc1 
End Sub 
Осы  мысалда  ауыспалы  A1  бҥкіл  жоба  деңгейінде  айқындалған 
(«Public»  өзекті сөзі пайдаланылды), ал  ауыспалы  А2  жəне A3  модуль 
деңгейінде,  ал  ауыспалы  А4  -  Procl  рəсімінің  деңгейінде  ғана, 
ауыспалы А5 Procl рəсімінің деңгейінде айқындалғанымен, статикалық 
ауыспалы ретінде сипатталған.  
Ргос2 рəсімін шақырған кезде, осы рəсімнен  A1, А2, A3, А4 жəне 
A5  барлық  бес  ауыспалыға  мəндерді  тағайындайтын,  содан  кейін  А4 
жəне  A5  ауыспалылардың  ағымдағы  мəндерін  сҧхбат  терезеге 
шығаратын (MsgBox), Procl рəсімі шақырылады.  
Осы  рəсім  аяқталғаннан  кейін  Р
ГОС
2  рəсімінен  барлық  бес 
ауыспалының ағымдағы мəндері шығарылады. Бҧл ретте келесі жағдай 
болады.  Ауыспалы  A1...A3  өз  мəндерін  сақтайды,  себебі  олар  модуль 
деңгейінде  сипатталған,  ал  ауыспалы  А4  жəне  A5  мəндері  0  болады 
(бос  мəндер),  себебі  осы  ауыспалылардың  əрекет  еті  аясы  тек  Procl 
рəсімі болып табылады.  
Содан  кейін  Procl  рəсімі  қайта  шақырылады  жəне  қайтадан 
ауыспалы  А4  жəне  А5  мəндерін  өзгертіп,  экранға  шығара  бастайды. 
Бҧл  ретте  ауыспалы  А4  қайтадан  4  мəніне  ие  болады,  себебі  осы 
ауыспалы  ҥшін  рəсімді  жаңа  шақырған  кезде  жаңадан  жад  бөлінеді 
жəне  ол  бос  мəнмен  инициалданады.  А4-ке  қарағанда  статикалық 
ауыспалы  ретінде  сипатталған ауыспалы  А5  осы рəсімді бҧдан  бҧрын 
шақырған кездегі  мəнін  сақтайды жəне  нəтижесінде  қайтадан  шақыру 
кезінде оның мəні 10-ға тең болады. 


8.5. 
Басқарушы конструкциялар - тармақтар және 
циклдер  
Бағдарламалаудың  барлық  тілдеріндегідей,  VBA-да  бағдарламаны 
орындау  тəртібін  өзгерту  мҥмкіндігін  беретін,  əртҥрлі  басқарушы 
конструкциялар бар. Егер басқарушы конструкциялар пайдаланылмаса, 
онда  ең  біріншісінен  бастап  ең  соңғысымен  аяқтай  отырып, 
бағдарламалау  тілінің  операторының  ретімен  орындалуы  іске 
асырылады. Кейбір ең қарапайым жағдайларда жеткілікті болғанымен, 
кейде  кейбір  операторлардың  орындалуын  өткізе  отырып  немесе 
оларды  көп  рет  қайталай  отырып,  белгілі  бір  шарттарды  орындау 
кезінде операторлардың орындалу тəртібін өзгерту керек.  
Тəжірибе 
көрсеткендей, 
ақпаратты 
өңдеудің 
кез-келген 
алгоритмдерін іске асыру ҥшін басарудың екі тҥрлі конструкциясының 
болуы жеткілікті: тармақтар жəне циклдер. 
Тармақтар.  Тармақтардың  басқарушы  конструкциялары  кейбір 
жағдайды  тексеру  мҥмкіндігін  береді,  содан  кейін  осы  тексеру 
нəтижелеріне  тəуелді қандай  да  бір   операторды  орындау  мҥмкіндігін 
береді.  Тармақтарды  ҧйымдастыру  ҥшін  VBA-да    If  тармақтар 
операторының  əртҥрлі  нысандары  жəне  Select  Case  таңдау  операторы 
пайдаланылады. 
If    операторының  қарапайым  қысқа  нысаны  бір  жағдайды  тексеру 
ҥшін  пайдаланылады,  содан  кейін  тексеру  нəтижесіне  тəуелді  не 
орындау  ҥшін,  не  бір  немесе  бірнеше  операторды  өткізу  ҥшін 
пайдаланылады.  If  тармағының  операторының  қысқаша  нысаны  бір 
жолы  жəне  блок  нысанына  ие  болуы  мҥмкін.  Бір  жолған  If  қысқаша 
нысаны төмендегідей жазылуы мҥмкін: 
If <шарт>Then <оператор> 
Блок нысанында қысқаша тармақ төмендегідей болады: 
If<шарт>Then 
<оператор1> 
<операторN> 
EndIf 
Шарт  ретінде  True(Шындық)  немесе  False(Жалған)  мəнін 
қайтаратын  логикалық  тіркесті  немесе  кез-келген  арифметикалық 
тіркесті 
пайдалануға 
болады. 
Егер 
арифметикалық 
тіркес 
пайдаланылса, онда осы тіркестің нөлдік мəні логикалық False мәніне, 
ал кез-келген нӛлдік емес мәні True мәніне баламалы. Шарт False мәнін 
қайтарған  жағдайда,  оператор  немесе  қысқаша  тармақтар 
операторының  денесін  құрайтын  және  «Then»  жəне  «End  If»  өзекті 
сөздерімен жасалған операторлар блогы орындалмайды.  
 


Ескертпе.Қысқаша  тармақталу  операторын  бір  жолға  жазған 
кезде «End If» өзекті сөздері пайдаланылмайды. 
If операторының толық нысаны екі тҥрлі операторлар блогы болған 
жағдайда  пайдаланылады  жəне  шартты  тексеру  нəтижелері  бойынша 
олардың біреуін орындау керек. Осындай If нысаны бір жолға жазыла 
алмайды жəне жазбаның блокты нысанына ие: 
If<шарт>Then<Опера
торлар Блогы1> 
ELSE 
<ОператорларБлогы2> 
EndIf 
Егер  шарт  шындық  болса,  онда  «Then»  жəне  «Else»  өзекті 
сөздерінің  арасына  алынған  бірінші  операторлар  блогы  орындалады; 
əйтпесе - «Else» жəне «EndIf» сөздерінің арасына алынған екінші блок 
орындалады.  
Кейде  бірнеше  əртҥрлі  шартты  тексеру  негізінде  баламалы 
əрекеттердің  біртҧтас  тобынан  бір  əрекетті  таңдауға  тура  келеді.  Ол 
ҥшін  If...Then...Else  If  тармақталу  операторларының  тізбегін 
пайдалануға болады: 
If <шарт1>Then 
<ОператорларБлогы1> 
Else If <шарт2>Then 
<ОператорларБлогы2> 
Else If <шарт3>Then 
<ОператорларБлогы3> 
Else If <шартN> Then 
<ОператорларБлогыN> 
Else 
<ОператорларБлогы_Else> 
End If 
If...Then...Else  If  операторларының  осындай  тізбектерінің  иілімдігі 
жоғары  жəне  көптеген  мəселелерді  шешу  мҥмкіндігін  береді,  алайда 
егер бірнеше мҥмкіндіктің біреуін таңдау əрқашан бір тіркестің əртҥрлі 
мəніне  негізделген  болса,  ол  ҥшін  арнайы  Select  Case  таңдау 
операторын пайдалану қолайлы, оның синтаксисі төмендегідей: 
Select Case <тексерілетінТіркес> 
Case <мəндерТізімі1> 
<операторларБлогы 1> 
Case <мəндерТізімі2> 
<операторларБлогы2> 


жүктеу 10,13 Mb.

Достарыңызбен бөлісу:
1   ...   45   46   47   48   49   50   51   52   ...   93




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау