Аппараттық және бағдарламалық қамтамасыз етуді орнату

Келесі vba excel үшін келесіге өтіңіз. VBA-дағы цикл мәлімдемелері

Цикл командасы – бұл нұсқау, одан қандай командалар жиынын (бұл командалар жиынын цикл денесі деп атайды) қайталап орындау керек және циклдің орындалуын тоқтату ережесі қандай екені анық.

7.2.1. Параметрлік цикл үшін… Келесі

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

Цикл синтаксисі: Үшін CPI=NHCP Кімге KZPC[ қадам CHIC] Цикл денесі (бір немесе бірнеше нұсқаулар) Келесі[ТБИ]

Сөздер Үшін(үшін), Кімге(бұрын), қадам(қадам), Келесі(содан кейін) сақталған.

Қолданылатын белгілер:

CPI – цикл параметрінің атауы (кез келген сандық түрдегі айнымалы);

NZPC – цикл параметрінің бастапқы мәні (кез келген сандық түрдегі өрнек), цикл параметрі цикл денесінің бірінші орындалуында болады;

KZPC - цикл параметрінің ағымдағы мәні салыстырылатын цикл параметрінің соңғы мәні (кез келген сандық түрдегі өрнек);

CHIC – цикл параметрін өзгерту қадамы (кез келген сандық түрдегі өрнек) – цикл нұсқауының қосымша бөлігі.

NCPC және CDPC сандық мәндері цикл параметрі өзгеретін аралықты белгілейді. Қосымша SHICZ параметрі әрбір өтуде цикл санауышын өзгерту қадамын көрсетеді. Әдепкі бойынша, егер ол жоқ болса, ол 1-ге тең қабылданады. Соңында, циклдің денесін құрайтын нұсқаулардан кейін цикл шекарасын көрсететін команда орындалады. Кірістірілген циклдар жағдайында (цикл денесі цикл операторын қамтиды), команданың қайсысына жататынын көрсету пайдалы. Келесі. Бұған сөзден кейін қосу арқылы қол жеткізіледі Келесіцикл параметрінің аты.

Нұсқауларды орындау процесі ҮшінКелесіоң қадам үшін 7.4-суретте көрсетілген.

Мысалдар қарастырыңыз.

Бірінші мысалда 1-ден 100-ге дейінгі барлық тақ бүтін сандардың қосындысын есептеу нұсқауларын жазамыз.

Dim I бүтін сан, қосынды бүтін сан

i = 1-ден 100-ге дейін 2-қадам

Сома = Сома +i

Келесі мысал екі мүмкіндікті көрсетеді: нақты цикл қадамы және кері санау. Соңғысы теріс қадамды орнату арқылы және цикл параметрінің бастапқы мәні соңғы мәннен үлкен болуы арқылы қол жеткізіледі.

Күңгірт N бүтін сан ретінде

N = 100-ден 60-ға дейін қадам -10

Бұл код ағымдағы пішінде шығады:

Келесі нұсқау компьютерде 50 рет дыбыстық сигнал береді. Нұсқау Үшінцикл параметрінің айнымалы екенін анықтайды x, оның бастапқы және соңғы мәндері. Пәрмен Келесісанауышты қадамдармен өзгертеді.

Көлемді x бүтін сан ретінде

нұсқау үшін...Келесі Exit For операторымен мерзімінен бұрын тоқтатылуы мүмкін. Бұл нұсқауды орындау циклден бірден шығуға әкеледі.

7.2.2. Do while...Цикл немесе Do...Цикл while операторы

Мұнда Әзірге(әзірше) және цикл(цикл) сақталған сөздер. Циклдерді теріңіз Әзіргецикл денесінің қайталану саны (итерация) алдын ала белгісіз жағдайларға арналған. Мұнда циклдің екі түрінің синтаксисі берілген Әзірге:

Әзірге жасаңызШартҚайталау Есептер тобы цикл

ЖасаңызНұсқау тобы цикл whileШартыҚайталаулар

Олардың арасындағы айырмашылық мынада: Қайталау шарты (цикл денесінің орындалуын қайталау шарты) бірінші жағдайда цикл денесінің орындалуына дейін (цикл - while), ал екінші жағдайда - кейін тексеріледі. цикл денесінің орындалуы (цикл - дейін).

Мысалдарға көшейік.

Бағдарламаның келесі бөлімінің әрекетін қарастырыңыз.

Есептегіш = 0

Сан > 10 кезінде орындаңыз

Сан = Сан - 1

Санауыш = Санауыш + 1

MsgBox («Дайын» ​​және Есептегіш және _

"цикл итерациялары.")

Бағдарламаның осы бөлімі орындалғанда, MsgBox функциясының терезесінде келесілер көрсетіледі:

Циклдің 10 итерациясы аяқталды.

Бұл бағдарламада циклге кірер алдында шарт тексеріледі. Егер Number айнымалысы 20 орнына 9 мәніне қойылса, цикл ішіндегі операторлар орындалмайды.

Келесі программада цикл ішіндегі операторлар шарт орындалмағанға дейін бір рет қана орындалады.

Есептегіш = 0

Сан = Сан - 1

Санауыш = Санауыш + 1

Цикл while Number > 10

MsgBox («Циклда орындалды» & Есептегіш және _

«итерациялар.»)

нұсқау Do...Loopнұсқаулармен мерзімінен бұрын аяқталуы мүмкін Шығу Do.

Белгілі бір рет қайталанатын немесе белгілі бір шарт орындалғанға немесе орындалмағанға дейін процедураның кез келген әрекеттері шақырылады цикл .

Цикл құрылымына бір рет енгізілген барлық операторларды орындау процесі шақырылады цикл итерациясы.

Әрқашан берілген санды орындайтын цикл құрылымдары шақырылады итерациялардың белгіленген саны бар циклдар. Цикл құрылымдарының басқа түрлері кейбір шарттар жиынтығына байланысты айнымалы санды қайталайды. Мұндай циклдар деп аталады белгісіз циклдар.

Циклдің басы мен соңы арасындағы операторлар блогы деп аталады «цикл денесі».

Ең қарапайым цикл құрылымы тұрақты цикл .

For..Келесі цикл

Синтаксис

Үшін есептегіш = бастауКімге Соңы
Мәлімдеме
Келесі[ есептегіш]

Есептегіш – кез келген сандық VBA айнымалысы
Бастау - кез келген сандық өрнек, айнымалы санағыш үшін бастапқы мәнді анықтайды
End - сандық өрнек, айнымалы санағыштың соңғы мәнін анықтайды


Әдепкі бойынша VBA айнымалыны арттырады есептегішциклдегі операторлар орындалған сайын 1-ге. Басқа мән орнатуға болады ( SterSize- өзгеретін кез келген сандық өрнек). есептегіш.

Негізгі сөз Келесі VBA-ға циклдің соңына жеткенін хабарлайды. қосымша айнымалы есептегішкейін кілт сөз Келесібірдей айнымалы болуы керек есептегіш, ол кілт сөзден кейін берілген Үшінцикл құрылымының басында.


Төменде ең қарапайым циклдің тізімі берілген үшін..Келесі, ол 1-ден 10-ға дейінгі цифрлардың қосындысын санайды:



Ал енді циклдің екі нұсқасы үшін..Келесібіреуден басқа цикл қадамын пайдалану:



Назар аударыңыз!Цикл есептегішін азайтқанда үшін..Келесіцикл есептегіш айнымалы соңғы мәннен үлкен немесе оған тең болғанда орындалады, ал цикл санаушысы ұлғайған кезде цикл орындалады, ал цикл есептегіш айнымалы соңғы мәннен аз немесе оған тең.

Әрбір..Келесі цикл үшін

Цикл Әрқайсысы үшін..Келесіцикл есептегішті пайдаланбайды. Циклдер Әрқайсысы үшін..Келесінысандар жинағы немесе массив сияқты белгілі бір топтағы элементтер қанша рет болса, сонша рет орындалады (олар кейінірек талқыланады). Басқаша айтқанда, цикл Әрқайсысы үшін..Келесітоптағы әрбір элемент үшін бір рет орындалады.

Синтаксис

Әрқайсысы үшін элементжылы топ
Мәлімдеме
Келесі[ элемент]

Элемент - белгілі бір топтағы барлық элементтерді қайталау үшін қолданылатын айнымалы
Топ - жинақ нысаны немесе массив
Мәлімдемелер – бір, көп немесе жоқ VBA мәлімдемесі(цикл денесі).

Циклдер кодтың бір немесе бірнеше жолын бірнеше рет орындауға мүмкіндік береді. VBA келесі циклдарды қолдайды:

Үшін...Әрқайсысы үшін...Келесі істеу... Цикл

Құрылым үшін. . . Келесі. Қайталану саны алдын ала белгілі болған кезде For циклі қолданылады. . . Келесі. For циклі цикл айнымалысы деп аталатын айнымалы мәнді немесе цикл қайталанған сайын белгілі бір мөлшерге өсетін немесе азайтатын цикл санауышын пайдаланады. Бұл құрылымның синтаксисі:

Есептегіш үшін = бастау Аяқтау үшін Келесі мәлімдемелер

Параметрлер санауыш (есептегіш), бастау (циклды бастау), аяқталу (циклдың соңы) және өсу (өсу) сандық болып табылады.

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

VBA For циклін келесі реттілікпен орындайды:

1. Бастау үшін цикл айнымалы санауышын орнатады.

2. Циклдің айнымалы санағышының мәні мен соңғы параметрінің мәнін салыстырады. Есептегіш айнымалы мән үлкенірек болса, VBA циклды тоқтатады. (Егер өсім параметрінің мәні теріс болса, цикл айнымалы санағышының мәні соңғы параметрдің мәнінен аз болса, VBA циклды тоқтатады.)

3. Циклдің негізгі операторларының операторларын орындайды.

4. Циклдің айнымалы санағышының мәнін 1-ге немесе егер біреуі берілген болса, өсу параметрінің мәніне арттырады.

5. 2-4 қадамдарды қайталаңыз.

Мысалды қарастырайық: f(t) функциясының мәнін есептеңдер.

a, b, n берілген, егер t Dt=(b-a)/(n-1) қадамдарымен a-дан b-ге өзгерсе.

Ішкі мысал3() Dim f() Жалғыз Dim a Жалғыз ретінде, b Бірдей, t Жалғыз, dt Жалғыз Dim i Бүтін сан ретінде, n Бүтін Шақыру read("a1", a) : Шақыру read("b1" , b) : read("c1", n) ReDim f(1 To n - 1) dt = (b - a) / (n - 1) : t = a Шақыру("a2", "i") : Call out("b2", "t") : Call out("c2", "f(t)") i = 1 үшін n - 1 t = t + dt Егер t болса<= -1 Then f(i) = -1 ElseIf t >1 Сонда f(i) = 1 Басқа f(i) = t End If Call out("a" & (2 + i), i) : Call out("b" & (2 + i), t) : Қоңырау out("c" & (2 + i), f(i)) Next i End Sub

Әрбір құрылым үшін. . . Келесі

Әрбір цикл үшін. . . Келесі For циклі сияқты. . . Әрі қарай, бірақ ол мәлімдемелерді берілген бірнеше рет қайталаудың орнына нысандар жиынынан немесе массивтен әрбір элемент үшін мәлімдемелер тобын қайталайды. Бұл әсіресе жиынтықта қанша элемент бар екенін білмесеңіз пайдалы.

Құрылыс синтаксисі Цикл үшінәрқайсысы. . . Келесі:

Әрбір элемент үшін Топ мәлімдемелеріндегі Келесі элемент

For Every циклін пайдаланған кезде келесі шектеулерді ескеріңіз. . . Келесі:

Жиындар үшін элемент параметрі тек болуы мүмкін түрдегі айнымалынұсқа, нысан түріндегі ортақ айнымалы немесе Объектілер шолғышында тізімделген нысан

Массивтер үшін элемент параметрі тек Variant түріндегі айнымалы болуы мүмкін

For Every циклін пайдалана алмайсыз. . . Әрі қарай пайдаланушы анықтайтын типті массив бар, себебі түр нұсқасының айнымалысы пайдаланушы анықтайтын түрдің мәнін қамтуы мүмкін емес

Do... цикл дизайны

Do циклі операторлар блогын шектеусіз рет орындау үшін қолданылады. Do конструкциясының бірнеше нұсқалары бар. . . Цикл, бірақ олардың әрқайсысы циклден қашан шығу керектігін анықтау үшін шартты өрнекті бағалайды. If конструкциясы жағдайындағыдай. . . Содан кейін шарт мән немесе қабылдайтын өрнек болуы керек Жалған мән(нөл) немесе True (нөл емес).

Келесі құрылыста Do . . . Цикл операторлары шарттың мәні True (True) болғанша орындалады:

Do while шартының цикл мәлімдемелері

Бұл циклды орындаған кезде, VBA алдымен шартты тексереді. Шарт False болса, ол барлық цикл мәлімдемелерін өткізіп жібереді. Егер ол True болса, VBA цикл операторларын орындайды, Do While операторына қайта оралады және шартты қайтадан тексереді.

Сондықтан, шарт мәні нөл немесе True болмаған кезде, осы құрылым арқылы ұсынылған цикл кез келген рет орындалуы мүмкін. Шартты бірінші рет тексергенде, ол жалған (False) болып шықса, цикл денесінің операторлары ешқашан орындалмайтынын ескеріңіз.

Мысалды қарастырыңыз: қатардың қосындысын есептеңіз

берілген дәлдікпен.

Ішкі мысал4() Dim e Жалғыз, x As Single, s As Single Dim m As Single, p As Single, i As Single Call read("a1", x) : Call read("b1", e) s = 0 : i = 1: m = 1: p = -1 Call out("a2", "i") : Call out("b2", "m") : Call out("c2", "s") Do while Abs(m) >= ep = -p * xm = p / is = s + m Call out("a" & (2 + i), i) : Call out("b" & (2 + i), Abs (m)): шақыру("c" & (2 + i), s) i = i + 1 цикл соңы ішкі

Do конструкциясының тағы бір нұсқасы. . . Цикл алдымен цикл денесінің операторларын орындайды, содан кейін әрбір орындаудан кейін шартты тексереді. Бұл вариация цикл денесіндегі операторлардың кем дегенде бір рет орындалуын қамтамасыз етеді:

Операцияларды орындау циклі while шарты

Цикл конструкциясының қалған екі нұсқасы алдыңғыларға ұқсас, тек шарт False болғанда цикл орындалады:

Цикл мүлде орындалмайды немесе бірнеше рет орындалады:

Шартқа дейін орындаңыз

Цикл операторлары

Цикл кем дегенде бір рет орындалады:

операторлар

Шартқа дейін цикл

7.2 Кірістірілген циклдар.

Басқару құрылымдарын басқа басқару құрылымдарының ішіне қоюға болады (мысалы, If . . Содан кейін For . . . Келесі цикл ішінде блоктау). Басқа басқару құрылымының ішіне орналастырылған басқару құрылымы кірістірілген деп аталады.

VBA-да басқару құрылымдарының ұя салу тереңдігі шектелмейді. Кодтың оқылуын жақсарту үшін кірістірілген басқару құрылымдары пайдаланылған кезде бағдарламадағы шешім конструкциясы немесе циклінің денесін ауыстыру әдеттегі тәжірибе болып табылады.

Ілмекке бір немесе бірнеше басқа ілмектерді салғанда сыртқы (қоршау) және ішкі (ішкі) ілмектерді ажырататын кірістірілген ілмектер туралы айтылады.

A(n,m) матрицасының Aij элементтерін қатар бойынша қосу мысалын қарастырайық.

Ішкі мысал5() Dim a() Жалғыз, s() Жалғыз Өлшем n бүтін сан, m бүтін сан ретінде Dim i бүтін сан, j ретінде Бүтін Шақыру read("a1", n): Шақыру read("b1", m ) ReDim a(1-ден n, 1-ден m), s(1-ден n) "оқу матрицасы i = 1-ден n үшін j = 1-ден m үшін оқу ұяшығын шақыру(i + 1, j, a(i, j)) Келесі j Келесі i "Есептеу i = 1 үшін ns(i) = 0 үшін j = 1 үшін ms(i) = s(i) + a(i, j) Келесі j Outcell(i + 1, m + 1) шақыру , s(i)) Келесі i End Sub

Бірінші Next ішкі For циклін, ал соңғы Next сыртқы For циклін жабатынын ескеріңіз. Сол сияқты кірістірілген If операторлары үшін End If операторлары ең жақын If операторын жабу үшін автоматты түрде қолданылады. Кірістірілген құрылымдар Do . . . Циклдер ұқсас жұмыс істейді: ең алыс Loop операторы ең алыс Do операторына сәйкес келеді.

Жұмыс парағына екі өлшемді массив элементтерін енгізу/шығару кезінде Microsoft Excelпайдаланушы енгізу/шығару процедураларын қолдану ыңғайлы:

Ішкі оқу ұяшығы(i бүтін сан ретінде, j бүтін сан ретінде, val нұсқа ретінде) val = Жапырақ1.Ұяшықтар(i, j).Мән соңы Ішкі ішкі ұяшық(i бүтін сан ретінде, j бүтін сан ретінде, val нұсқа ретінде) Жапырақ1.Ұяшықтар(i,, j).Мән = val End Sub

мұндағы I - жол нөмірі, j - жұмыс парағының бағанының нөмірі.

Басқару құрылымдарын қалдыру

Exit операторы For циклінен, Do циклінен, Sub процедурасынан немесе Function процедурасынан тікелей шығуға мүмкіндік береді. Синтаксис Шығу мәлімдемесіқарапайым:

Санауыш үшін = бастау Аяқтау [мәлімдеме блогы] [мәлімдеме блогы] Келесі Орындау [(While | Until) шарты] [мәлімдеме блогы] [мәлімдеме блогы] Цикл

For циклінің ішінде For Exit және Exit Do Do циклінің ішінде кез келген рет пайда болуы мүмкін.

Exit Do операторы Do цикл синтаксисінің барлық нұсқаларымен жұмыс істейді.

Exit For және Exit Do операторлары әрі қарай итерацияларды жалғастырмай немесе цикл денесінде операторлар блогының орындалуын күтпей-ақ, циклді дереу аяқтау қажет болғанда қолданылады.

Циклдан шығу үшін Exit операторын пайдаланған кезде, цикл айнымалысының мәндері циклдің аяқталу жолына байланысты:

Цикл қалыпты түрде аяқталғанда, цикл айнымалысының мәні циклдар санының жоғарғы шегінен бір артық болады

Цикл мерзімінен бұрын аяқталғанда, цикл айнымалысы әдеттегі ережелерді ескере отырып, алған мәнін сақтайды.

Цикл жиынның соңында аяқталғанда, цикл айнымалысы, егер ол нысандық айнымалы болса, Ештеңе, ал егер ол Нұсқа болса, бос болады.

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

Есептегішпен цикл операторы (үшін… Келесі)

For … Next операторы нұсқаулар (мәлімдемелер) жиынын белгілі бір рет айналдыруға мүмкіндік береді. Нұсқау синтаксисі:

Үшін санауыш = бастапқы_мәнКімге соңғы_мән

[нұсқаулар]

[нұсқаулар]

Келесі[ есептегіш]

Параметр есептегішмәнін автоматты түрде өзгертетін сандық айнымалы болып табылады қадамциклдің әрбір итерациясынан кейін. Цикл дейін орындалады есептегіш£ соңғы_мәнпараметрдің оң мәнімен қадамнемесе дейін есептегіш³ соңғы_мәнпараметрдің теріс мәнімен қадам. Осылайша, оң қадам мәнімен цикл ешқашан орындалмайды бастапқы_мәнгөрі көбірек соңғы_мән. Қадам параметрі болса қадамалынып тасталса, әдепкі бойынша санауыш айнымалының өсімі 1-ге орнатылады.

Exit For операторы циклдің орындалуын «ерте» тоқтатады және басқаруды цикл операторынан кейінгі операторға береді. Exit For әдетте шартты операторда орналасады, мысалы:

Егер жағдайСодан кейін Exit For

Ескерту. For операторының синтаксисіне сәйкес параметр есептегішкез келген түрдегі арифметикалық айнымалы болып табылады, оны пайдалану әлі де жақсы бүтін сан түріайнымалы, өйткені бөлшек бөлігінақты түрдегі айнымалының мәнінде әдетте қате бар. Бұл компьютерде сандарды сақтау тәсілімен байланысты.

1-мысал

Біріншісінің қосындысын табыңыз 10 натурал сандар: S = 1 + 2 + 3 + ...+ 10 . Бағдарлама фрагменті:

Dim I бүтін сан, S бүтін сан

S=0 " S айнымалысының мәнін нөлге келтіру

i = 1-ден 10-ға дейін " Циклдің басталуы. Бастапқы және аяқталу мәндерін орнатыңыз
"цикл параметрі. Әдепкі цикл қадамы 1 болып табылады.

S = S + i " Тағайындау операторы әр уақытта орындалады
«циклдің орындалуы, в бұл мысал 10 рет

Келесі И " Циклдың соңы. Цикл параметрінің мәні артады.

Бұл бағдарлама фрагментінде цикл дәл 10 рет орындалады.

2-мысал

Жұмыс парағының 1-бағанында (2-ші жолдан бастап) 0.4 қадамымен 0-ден 3.2-ге дейінгі диапазондағы x мәндерін көрсетіңіз.

Жалпы ішкі қойынды()

Dim x жалғыз, i бүтін сан ретінде

x = 0-ден 3,2-ге дейін 0,4-қадам

Аралықтың ұзындығы 0.4-қадамға дәл бөлінетін болса да, жұмыс парағындағы нәтиже:

Не істеу?

1. Соңғы мәнді сәл жоғарылатуға болады, бұл мысалда 3.2 орнына 3.201 деп жазыңыз.

2. Шиклдің қайталану санын анықтаңыз және бүтін типті санағышқа цикл жазыңыз.

Бұл жағдайда бағдарлама келесідей болады:

Жалпы ішкі қойынды1()

Dim x жалғыз, i бүтін сан ретінде, n бүтін сан ретінде

n = CInt((3,2 - 0) / 0,4)

i = 0 үшін n 1-қадам

Ұяшықтар(i + 2, 1) = x

Әрбір … Келесі цикл мәлімдемесі үшін

For Every … Next циклі массивтің немесе отбасының әрбір элементі үшін мәлімдемелер тобының орындалуын қайталауға мүмкіндік береді. Бұл нұсқаулықкелесі синтаксисі бар:

Әрқайсысы үшін элементжылы Топ

[нұсқаулар]

[нұсқаулар]

Келесі[ элемент]

Параметр элемент- топтың немесе массивтің элементін көрсететін айнымалы. Аргумент Топмассивтің немесе топтың атауы. Мәлімдемелер топтың әрбір мүшесі үшін бір рет орындалады. Мәлімдемені пайдалану ыңғайлы, себебі массивте немесе отбасында қанша элемент бар екенін алдын ала білудің қажеті жоқ. Айнымалы элемент Variant түрінде болуы керек.

1-мысал

Таңдалған диапазонның барлық элементтерінің арифметикалық ортасын табыңыз

Қоғамдық функцияның орташа мәні (диапазон сияқты) екі есе

Күңгірт элемент нұсқа ретінде

Қосарланған қосынды

Көңілді сан бүтін сан ретінде

Саны = 0

Ауқымдағы әрбір элемент үшін

Сома = Сома + Эл

Саны = Саны + 1

Келесі элемент

Орташа = Сома / Саны

Қолдану. Көрші ұяшықтардың таңдалған ауқымында сандар болуы керек. Бос ұяшықтардағы сандар 0 болып есептеледі. Ұяшықтағы мәтін қатеге әкеледі.

Егер ... Аяқталса, Таңдаңыз ... Регистр, Үшін ... Келесі, Әрбір үшін ... Жоғарыда келтірілген келесі мәлімдемелер пәрмендердің орындалу ретін өзгертетін басқару мәлімдемелерінің тобы болып табылады. Басқару нұсқауларын кез келген ретпен кірістіруге болады.

Шешім қабылдау құрылымдарынан басқа цикл деп аталатын басқару құрылымының тағы бір түрі бар.

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

IN Көрнекі тілНегізінде, For:Next, Do:Loop және While:Wend конструкциялары арқылы жүзеге асырылатын циклдердің үш негізгі түрі бар.

Үшін: Келесі цикл. Ол берілген мәлімдемелер блогының қайталану саны алдын ала белгілі болған кезде қолданылады. Бұл дизайн келесідей көрінеді:

Есептегіш үшін = бастапқы мән Аяқтау мәніне Мәліметтер1 Мәліметтер2 Келесі [есептегіш]

Жоғарыда келтірілген операторлар бірінші рет орындалғанда, санауыш айнымалыға бастапқы мән беріледі, одан кейін екі опция мүмкін болады. Егер шарт санауышы > соңғы мәнді тексеру нәтижесінде True мәні алынған болса, онда цикл тоқтатылады, ал блок операторлары1 және операторлар2 ешқашан орындалмайды. Екінші жағынан, егер шартты тексерудің нәтижесі False болса, онда бұл жағдайда оператор блоктары бірінші рет орындалады, содан кейін цикл басына көшу орын алады. Әрі қарай, санауыш айнымалының мәні Step түйінді сөзінен кейін орналасқан қадамға артады (егер ол жоқ болса, қадам = 1 орнатылады). Осыдан кейін шарт есептегішінің ақиқаты > соңғы мән және т.б. қайтадан тексеріледі, цикл осы тексерудің нәтижесі True болған кезде аяқталады.

Кейбір қосымша шарт орындалған кезде циклды «тоқтату» жиі қажет. Бұл жағдайда цикл ішінде әдетте басқару құрылымында орналасқан Exit:For қызметтік тіркесін пайдалану керек, мысалы:

Шарт болса, Шығу үшін

Егер шартты тексерудің нәтижесі True болса, онда циклдің орындалуы тоқтатылады, ал оператор1 блогы қайтадан орындалады, ал оператор2 блогы орындалмайды.

Орындау: цикл. Ол цикл денесінің операторларының қайталану саны алдын ала белгісіз болған жағдайда қолданылады. Бұл дизайнның төрт нұсқасы бар. Алғашқы екеуін пайдаланған кезде цикл не көп рет орындалады немесе мүлде орындалмайды.

Шартты цикл мәлімдемелерін орындаңыз

Шартты тексеру нәтижесі False болса, онда блок операторлары орындалады, әйтпесе Loop қызметтік сөзінен кейін орналасқан операторға көшу орындалады. Екінші жағынан, шарттың бірінші сынағы True мәніне бағаланса, цикл ешқашан орындалмайды.

Do While шартының циклінің операторлары

Егер шарт ақиқат болса, онда оператор блогы орындалады, егер ол жалған болса, яғни тексеру нәтижесі False болса, онда цикл бір рет болса да орындалмайды.

Егер соңғы екі конструкция пайдаланылса, цикл кем дегенде бір рет орындалады.

Шартқа дейін мәлімдемелер циклін орындау

Шартты тексерудің нәтижесі False болғанша блок операторлары орындалады, әйтпесе цикл аяқталады.

Do операторларының циклі while шарты

Шарт жалған болса, блок операторлары орындалады, егер ол ақиқат болса, яғни. тексеру нәтижесі True, содан кейін шиклдің соңы орын алады.

Әзірге: Вэнд циклі. Ол сонымен қатар цикл денесінің мәлімдемелерінің қайталану саны алдын ала белгілі болмаған кезде қолданылады және келесі синтаксиске ие:

Шарт Wend мәлімдемелері

Шартты тексерудің нәтижесі True болса, оператор блогы орындалады, әйтпесе Wend қызметтік сөзінен кейін орналасқан операторға көшу орындалады. Екінші жағынан, шарттың бірінші сынағы False мәніне бағаланса, цикл ешқашан орындалмайды.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
рахмет. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!