Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Gabimet
  • Për dhe ndërsa sythe, thyejnë dhe vazhdojnë deklaratat, fjala magjike tjetër. Deklarata e përzgjedhjes nëse në C

Për dhe ndërsa sythe, thyejnë dhe vazhdojnë deklaratat, fjala magjike tjetër. Deklarata e përzgjedhjes nëse në C

Në këtë artikull, ne do të vazhdojmë të eksplorojmë Bazat e PHP dhe flasim për sythe dhe kushte. Hapi i parë është të merrni parasysh konstruktin IF - ELSE, i cili ju lejon të kryeni veprime të caktuara në varësi të faktit nëse një kusht plotësohet apo jo. Pastaj ne do të kalojmë në shikimin e sytheve. Në total, do të merren parasysh tre konstruksione të ciklit - këto janë sythe WHILE, DO - WHILE dhe cikli FOR.

Bazat e PHP. IF - ELSE ndërton

Konstrukti IF - ELSE ju lejon të kryeni veprime të caktuara në varësi të plotësimit të kushteve apo jo. Ky ndërtim mund të përdoret gjerësisht në praktikë, për shembull, për të krijuar një mbrojtje të thjeshtë të një seksioni të faqes me një fjalëkalim. Nëse përdoruesi fut fjalëkalimin e saktë, atëherë atij i jepet akses në seksionin privat. Përndryshe, ne mund t'i japim atij, për shembull, një mesazh gabimi.

Në praktikë, ndërtimi IF - ELSE duket kështu:

Pra le të komentojmë. Variablave u caktohen vlera fillimisht. Pastaj vendoset një kusht. Nëse ndryshorja $ a është e barabartë me variablin $ b, atëherë ekzekutohet kodi që është në kllapat e para kaçurrelë. Nëse kushti nuk plotësohet, atëherë çdo gjë në kllapat e para kaçurrelë anashkalohet dhe kodi që është në kllapat kaçurrela pas ELSE ekzekutohet. Siç mund ta shihni, gjithçka është banale, e thjeshtë dhe e kuptueshme.

Përveç kushteve të thjeshta në PHP, mund të përdorni disa kushte dhe deklarata IF - ELSE. Le të hedhim një vështrim në kodin e mëposhtëm si shembull:

"; nëse ($ e! = $ c) (jehonë" Variabli E nuk është i barabartë me ndryshoren C
";) else (jehonë" Variabla E është e barabartë me ndryshoren C
";)) else (echo" Variablat nuk janë të barabartë
"; } ?>

Së pari, ne caktojmë vlera specifike për variablat. Pastaj ka konstruksione të mbivendosura IF - ELSE. Siç mund ta shihni në PHP, çdo konstrukt IF - ELSE mund të përmbajë konstruksione të tjera të ngjashme, numri i të cilave, në parim, nuk është i kufizuar.

Tani le të shohim shenjat që përdoren në kushte.

  • == - në PHP kjo shenjë do të thotë barazohet... Shenja "=" në PHP është një shenjë caktimi.
  • != jo të barabartë, për shembull, $ a! = $ b - ndryshorja $ a nuk është e barabartë me ndryshoren $ b.
  • dhe ose &&- domethënie DHE, për shembull, $ a! = $ b && $ c! = $ d - ndryshorja $ a nuk është e barabartë me ndryshoren $ b dhe ndryshorja $ c nuk është e barabartë me ndryshoren $ d.
  • ose ose ||- domethënie OSE, për shembull, $ a! = $ b || $ c = $ d - ndryshorja $ a nuk është e barabartë me ndryshoren $ b ose ndryshorja $ c nuk është e barabartë me ndryshoren $ d.

Pra, ne kuptuam interpretimin e të gjitha shenjave. Tani le të zbresim në leximin e kodit të mësipërm, i cili me fjalë mund të përmblidhet si më poshtë:

Nëse ndryshorja $ a është e barabartë me ndryshoren $ b dhe ndryshorja $ c është e barabartë me ndryshoren $ d ose ndryshorja $ e është e barabartë me variablin $ d, atëherë shfaqim mesazhin "Variablet janë të barabarta" dhe bëjmë një thyerja e linjës. Më pas bëjmë edhe një kontroll. Nëse ndryshorja $ e nuk është e barabartë me ndryshoren $ c, atëherë shfaqim mesazhin "Variabla E nuk është e barabartë me ndryshoren C" dhe bëjmë një ndërprerje rreshti. Nëse kushti nuk plotësohet, atëherë nxjerrim "Variable E është e barabartë me variablin C". Nëse kushti i parë nuk plotësohet, atëherë i gjithë kodi në kllapat e para kaçurrelë anashkalohet dhe menjëherë shfaqet mesazhi "Ndryshoret nuk janë të barabarta" dhe bëhet një ndërprerje rreshti (etiketa
).

Kjo përfundon shqyrtimin tonë të konstruksionit IF - ELSE. Shpresoj se e keni kuptuar të gjithë pikën e sa më sipër dhe ne vazhdojmë me studimin e mëtejshëm. Bazat e PHP- studimi i cikleve.

Bazat e PHP. WHILE dhe DO - WHILE sythe

Loop-et në PHP janë shumë të përhapura, pasi ato ju lejojnë të zbatoni shumë nga funksionet që janë të pranishme në çdo sajt dinamik. Një nga detyrat më të zakonshme që mund të zgjidhet duke përdorur sythe është, për shembull, shfaqja e lajmeve më të fundit të faqes në internet. E gjithë qëllimi i sytheve është të kryeni një veprim specifik për sa kohë që plotësohet një kusht. Për shembull, le të zgjidhim problemin e llogaritjes së shumës së numrave nga një në 10. Në këtë rast, numri i numrave mund të jetë cilido, por si shembull, le të marrim numrin 10, pasi në këtë rast do të jetë më e lehtë të kontrolloni rezultatin.

Për të zgjidhur këtë problem do të përdoret NDERSA ciklit... Kodi për llogaritjen e shumës së numrave nga një në dhjetë do të jetë si më poshtë:

Së pari, ne vendosim variablat $ s (shuma) dhe $ i (counter) dhe u caktojmë vlera. Pastaj shkruajmë ciklin WHILE, në gjendjen e të cilit tregojmë se cikli duhet të ekzekutohet derisa ndryshorja $ i (counter) të jetë më e vogël ose e barabartë me 10. Në trupin e ciklit shkruajmë vlerën e ndryshores $. s dhe rrisni numëruesin $ i me një. Kjo bëhet duke përdorur dy shenja + ($ i ++) ose thjesht duke shtuar një ($ i = $ i + 1). Vlera e numëruesit duhet të ndryshohet pa dështuar për të shmangur ciklin (ekzekutimi i ciklit të pafund).

Tani le të hedhim një vështrim se si ekzekutohet programi. Së pari, ne u caktojmë një vlerë variablave. Pastaj gjendja kontrollohet në lak. Nëse ekzekutohet, atëherë ekzekutohet kodi që ndodhet në trupin e lakut (në kllapa kaçurrelë). Pas ekzekutimit të trupit të lakut dhe rritjes së vlerës së numëruesit, gjendja kontrollohet përsëri dhe, nëse plotësohet, cikli përsëritet përsëri. Lakja do të përsëritet për sa kohë të plotësohet kushti. Pas ekzekutimit të ciklit, rezultati shfaqet duke përdorur deklaratën e daljes Echo. Mund të gjeni më shumë detaje rreth variablave dhe operatorëve të daljes në artikullin "".

Cikli DO - WHILE funksionon në të njëjtën mënyrë. Dallimi i vetëm këtu është se kontrolli i gjendjes kryhet pasi të ketë përfunduar cikli. Kështu, ekzekutimi i ciklit do të ndodhë të paktën një herë në çdo rast. Në praktikë, cikli DO - WHILE duket kështu:

Siç mund ta shihni, në zgjidhjen e problemit të llogaritjes së shumës së numrave nga një në dhjetë duke përdorur ciklin DO - WHILE, së pari ju caktoni vlera variablave. Pastaj ekzekutohet kodi dhe rritet vlera e numëruesit dhe vetëm pas kësaj kontrollohet gjendja. Nëse ekzekutohet, atëherë cikli përsëritet përsëri. Përndryshe, rezultati shtypet në ekran duke përdorur një deklaratë dalëse.

Bazat e PHP. PER lak

Me një cikli FOR, mund të bëni të njëjtat gjëra si me një cikli WHILE. Përdoret gjithashtu gjatë krijimit të sajteve, por, për mendimin tim, në një masë më të vogël se cikli WHILE. Personalisht preferoj këtë të fundit, por në kuadër të këtij artikulli do të shikojmë edhe ciklin FOR, pasi është pjesë e gjuhës PHP dhe duhet ta dini.

Le të shohim se si ta zgjidhim problemin e mëparshëm duke përdorur një lak FOR. Kodi për llogaritjen e shumës së numrave nga një në dhjetë duke përdorur një cikli FOR do të duket kështu:

Siç mund ta shihni, sintaksa për një lak FOR është si më poshtë. Fillimisht inicializohen variablat, më pas tregohet kushti, pas së cilës tregohet veprimi që do të kryhet pas kalimit të një cikli. Skematikisht, do të duket diçka si kjo:

Për (inicializimi; kushti; veprimi pas ekzekutimit të një cikli) (Trupi i lakut (veprim))

Siç mund ta shihni Sintaksa PHP e ngjashme me sintaksën C ++. Nëse keni studiuar C ++, atëherë do ta keni më të lehtë të mësoni PHP. Por edhe nëse nuk keni studiuar më parë gjuhë të tjera programimi, mund të zotëroni lehtësisht bazat e PHP, pasi është një nga gjuhët më të thjeshta të programimit.

Kjo përfundon këtë artikull mbi bazat e PHP. Nëse ju pëlqeu stili im i shkrimit të artikujve dhe vetë përmbajtja e tyre, mund të regjistroheni në lajmet e faqes në çdo mënyrë të përshtatshme për ju në artikullin "Abonimi".

Kjo eshte e gjitha. Fat të mirë dhe shihemi së shpejti në faqet e blogut.

Hapi i dytë në krijimin e programeve të plota në gjuhën MatLab është studimi i operatorëve të degëzimit dhe ciklit. Me ndihmën e tyre, ju mund të zbatoni logjikën e ekzekutimit të algoritmeve matematikore dhe të krijoni llogaritje të përsëritura (përsëritëse, të përsëritura).

2.1. Deklarata e kushtëzuar nëse

Për të qenë në gjendje të zbatohet logjika në program, përdoren operatorë të kushtëzuar. Konceptualisht, këta operatorë mund të përfaqësohen si pika nodale, deri në të cilat programi bën zgjedhjen në cilin nga drejtimet e mundshme për të ecur përpara. Për shembull, duhet të përcaktoni nëse një variabël arg përmban një numër pozitiv ose negativ dhe të shfaqni mesazhin përkatës në ekran. Për ta bërë këtë, mund të përdorni deklaratën if (nëse), e cila kryen kontrolle të ngjashme.

Në rastin më të thjeshtë, sintaksa për këtë deklaratë if është:

nëse<выражение>
<операторы>
fund

Nëse vlera e parametrit "shprehje" përputhet me vlerën "true", atëherë deklarata ekzekutohet, përndryshe ai anashkalohet nga programi. Duhet të theksohet se "shprehja" është një shprehje e kushtëzuar në të cilën kontrollohet një kusht. Tabela 2.1 paraqet variante të shprehjeve të thjeshta logjike të pohimit if.

Tabela 2.1. Shprehje të thjeshta Boolean

E vërtetë nëse a është më e vogël se b dhe e gabuar ndryshe.

E vërtetë nëse a është më e madhe se b dhe e gabuar ndryshe.

E vërtetë nëse a është e barabartë me b dhe e gabuar ndryshe.

E vërtetë nëse a është më e vogël ose e barabartë me b dhe e gabuar ndryshe.

E vërtetë nëse ndryshorja a është më e madhe ose e barabartë me ndryshoren b dhe e gabuar ndryshe.

E vërtetë nëse a nuk është e barabartë me b dhe e gabuar ndryshe.

Më poshtë është një shembull i zbatimit të funksionit të shenjës (), i cili kthen +1 nëse numri është më i madh se zero, -1 nëse numri është më i vogël se zero dhe 0 nëse numri është zero:

funksioni im_sign
x = 5;
nëse x> 0
disp (1);
fund
nëse x< 0
disp (-1);
fund
nëse x == 0
disp (0);
fund

Analiza e shembullit të dhënë tregon se të tre këto kushte përjashtojnë njëra-tjetrën, d.m.th. kur njëra prej tyre nxitet, nuk ka nevojë të kontrolloni të tjerët. Zbatimi i një logjike të tillë do të rrisë shpejtësinë e ekzekutimit të programit. Kjo mund të arrihet duke përdorur konstruksionin

nëse<выражение>
<операторы1>% plotësohen nëse kushti është i vërtetë
tjetër
<операторы2>% plotësohen nëse kushti është i rremë
fund

Atëherë shembulli i mësipërm mund të shkruhet kështu:

funksioni im_sign
x = 5;
nëse x> 0
disp (1);
tjetër
nëse x< 0
disp (-1);
tjetër
disp (0);
fund
fund

Ky program së pari kontrollon pozitivitetin e ndryshores x dhe nëse po, atëherë në ekran shfaqet vlera 1 dhe të gjitha kushtet e tjera shpërfillen. Nëse kushti i parë rezulton i gabuar, atëherë ekzekutimi i programit vazhdon me tjetër (ndryshe) në kushtin e dytë, ku ndryshorja x testohet për negativitet, dhe nëse kushti është i vërtetë, vlera -1 shfaqet në ekrani. Nëse të dyja kushtet janë false, atëherë shfaqet vlera 0.

Shembulli i mësipërm mund të shkruhet në një formë më të thjeshtë duke përdorur një ndërtim tjetër të operatorit if të gjuhës MatLab:

nëse<выражение1>
<операторы1>% ekzekutohen nëse shprehja 1 është e vërtetë
tjeter nese<выражение2>
<операторы2>% ekzekutohen nëse shprehja 2 është e vërtetë
...
tjeter nese<выражениеN>
<операторыN>% ekzekutohen nëse shprehja N është e vërtetë
fund

dhe shkruhet si më poshtë:

funksioni im_sign
x = 5;
nëse x> 0
disp (1); % ekzekutohet nëse x> 0
otherif x< 0
disp (-1); % ekzekutohet nëse x< 0
tjetër
disp (0); % ekzekutohet nëse x = 0
fund

Me deklaratën e kushtëzuar if, mund të testoni për kushte më komplekse (të përbëra). Për shembull, duhet të përcaktoni: a bie ndryshorja x brenda intervalit të vlerave nga 0 në 2? Kjo mund të zbatohet duke kontrolluar njëkohësisht dy kushte: x> = 0 dhe x<=2. Если эти оба условия истинны, то x попадает в диапазон от 0 до 2.

Për të zbatuar kushtet e përbëra në MatLab, përdoren operatorë logjikë:

& - logjike DHE
| - logjik OSE
~ - logjike JO

Le të shohim një shembull të përdorimit të kushteve të përbëra. Supozoni se kërkohet të kontrollohet nëse ndryshorja x është në intervalin nga 0 në 2. Programi do të shkruhet si më poshtë:

funksioni my_if
x = 1;
nëse x> = 0 & x<= 2
tjetër
disp ("x nuk i përket diapazonit nga 0 në 2");
fund

Në shembullin e dytë, ne do të kontrollojmë që ndryshorja x nuk i përket diapazonit nga 0 në 2. Kjo arrihet duke shkaktuar një nga dy kushtet: x< 0 или x > 2:

funksioni my_if
x = 1;
nëse x< 0 | x > 2
disp ("x nuk i përket diapazonit nga 0 në 2");
tjetër
disp ("x i përket diapazonit 0 deri në 2");
fund

Duke përdorur operatorët logjikë DHE, OSE, JO, ju mund të krijoni një sërë kushtesh komplekse. Për shembull, mund të kontrolloni që ndryshorja x bie në intervalin nga -5 në 5, por nuk i përket diapazonit nga 0 në 1. Natyrisht, kjo mund të zbatohet si më poshtë:

funksioni my_if
x = 1;
nëse (x> = -5 & x<= 5) & (x < 0 | x > 1)
disp ("x i përket [-5, 5] por nuk përfshihet në");
tjetër
disp ("x ose nuk përfshihet në [-5, 5] ose në");
fund

Vini re se kllapat janë përdorur në gjendjen komplekse të përbërjes. Fakti është se përparësia e operacionit AND është më e lartë se përparësia e operacionit OR, dhe nëse nuk do të kishte kllapa, kushti do të dukej kështu: (x> = -5 dhe x<= 5 и x < 0) или x >1. Është e qartë se një kontroll i tillë do të jepte një rezultat të ndryshëm nga ai i pritur.

Kllapat përdoren në programim për të ndryshuar përparësinë e pohimeve. Ashtu si operatorët aritmetikë, edhe operatorët logjikë mund të ndryshohen sipas dëshirës së programuesit. Duke përdorur kllapa, kontrolli kryhet fillimisht brenda tyre, e më pas jashtë tyre. Kjo është arsyeja pse, në shembullin e mësipërm, atyre u kërkohet të arrijnë rezultatin e dëshiruar.

Prioriteti i operacioneve logjike është si më poshtë:

NOT (~) është prioriteti më i lartë;
Dhe (&) - prioritet i mesëm;
OSE (|) është prioriteti më i ulët.

Aftësia për të kontrolluar rrjedhën e programit ju lejon të ekzekutoni në mënyrë selektive seksione individuale të kodit, dhe kjo është një veçori shumë e vlefshme programimi. Deklarata if na lejon të ekzekutojmë ose jo të ekzekutojmë seksione të caktuara të kodit, në varësi të faktit nëse kushti i kësaj deklarate është i vërtetë ose i gabuar. Një nga përdorimet më të rëndësishme të deklaratës if select është se lejon programin të ndërmarrë një veprim sipas zgjedhjes së tij bazuar në atë që përdoruesi ka futur. Një shembull i parëndësishëm i përdorimit të if është për të kontrolluar fjalëkalimin e futur nga përdoruesi, nëse fjalëkalimi është i saktë, programi i lejon përdoruesit të kryejë disa veprime, nëse fjalëkalimi është futur gabimisht, atëherë programi nuk do ta lejojë përdoruesin të ketë akses të kufizuar burimet.

Pa deklaratën e kushtëzuar, programi do të funksiononte në të njëjtën mënyrë pa pushim, pa marrë parasysh se çfarë hyrje erdhi nga përdoruesi. Nëse përdorni operatorët e përzgjedhjes, atëherë rezultati i programit mund të jetë shumë më interesant, pasi do të varet drejtpërdrejt nga hyrja e përdoruesit.

Para se të filloni të kuptoni strukturën e deklaratës if, ia vlen t'i kushtoni vëmendje vlerave të tilla si TRUE dhe FALSE në kontekstin e programimit dhe terminologjisë kompjuterike.

E vërtetë (TRUE) ka një vlerë jozero, FALSE është ekuivalente me zero. Kur përdorni operatorë krahasimi, operatori do të kthejë një nëse shprehja e krahasimit është e vërtetë, ose - 0 nëse shprehja e kushtëzuar është false. Për shembull, shprehja 3 == 2 do të kthejë 0 sepse tre nuk është e barabartë me dy. Shprehja 5 == 5 vlerësohet në true dhe kthen 1. Nëse e keni të vështirë për t'u kuptuar, provoni t'i printoni këto shprehje në ekran, për shembull: printf ("% d", 7 == 0);

Në procesin e programimit, shpesh është e nevojshme të krahasohet një variabël me një tjetër dhe, bazuar në këto krahasime, të kontrollohet rrjedha e programit. Ekziston një listë e tërë operatorësh që lejon krahasime, këtu është:

Me shumë mundësi ju jeni njohur me këta operatorë krahasimi, por për çdo rast, unë i tregova në tabelën e mësipërme. Nuk duhet të jenë të vështira për t'i kuptuar, shumica e këtyre operatorëve i keni mësuar në shkollë në mësimet e matematikës. Tani që e kuptoni se çfarë janë E VËRTETA dhe E FALSE, është koha të provoni deklaratën nëse zgjidhni në betejë. Nëse struktura:

Nëse (shprehja e kushtëzuar) // ka një deklaratë këtu, e cila do të ekzekutohet nëse shprehja e kushtëzuar është e vërtetë

Këtu është një shembull i thjeshtë i përdorimit të një deklarate if:

Nëse (7> 6) printf ("Shtatë është më e madhe se gjashtë");

Në këtë shembull, programi vlerëson shprehjen e kushtëzuar - "A është shtatë më e madhe se gjashtë?" Për të parë rezultatin e kësaj pjese të kodit, thjesht ngjiteni atë në funksionin kryesor () dhe mos harroni të përfshini kokën stdio.h, ekzekutoni programin dhe shikoni rezultatin - i vërtetë. Ndërtimi i operatorit të përzgjedhur nëse me kllapa kaçurrelë:

Nëse (TRUE) (/ * i gjithë kodi që është vendosur brenda kllapave do të ekzekutohet * /)

Nëse nuk përdorni mbajtëse kaçurrela, atëherë vetëm një, deklarata e parë, do t'i referohet trupit të deklaratës if. Nëse keni nevojë të kontrolloni disa operatorë, atëherë duhet t'i vendosni në mbajtëse kaçurrelë. Unë rekomandoj që gjithmonë të vendosni kllapa pas deklaratës if - ky është një stil i mirë programimi dhe nuk do të ngatërroni kurrë në kodin tuaj, pasi një deklaratë e tillë është më e kuptueshme.

Një deklaratë tjetër

Ndonjëherë, kur shprehja e kushtëzuar është false, do të ishte e përshtatshme që të ekzekutohej një kod që është i ndryshëm nga kodi që ekzekutohet kur kushti është TRUE. Si bëhet kjo?
Këtu është një shembull i përdorimit të deklaratës if else:

Nëse (TRUE) (/ * ky kod ekzekutohet nëse kushti është i vërtetë * /) tjetër (/ * ky kod ekzekutohet nëse kushti është false * /)

Përndryshe deklaratë

Zakonisht, përndryshe nëse deklaratat përdoren kur kërkohet zgjedhje e shumëfishtë, domethënë, për shembull, përcaktohen disa kushte që mund të jenë të vërteta në të njëjtën kohë, por ne kemi nevojë vetëm për një shprehje të vërtetë të kushtëzuar. Ju mund të përdorni deklaratën if else menjëherë pas deklaratës së përzgjedhjes if, pas trupit të saj. Në këtë rast, nëse kushti i deklaratës së parë të përzgjedhjes është TRUE, atëherë deklarata else if do të injorohet, ndërsa në të kundërtën, nëse kushti i deklaratës së parë të përzgjedhjes është FALSE, do të kontrollohet deklarata else if. Kjo do të thotë, nëse kushti i një deklarate if është i vërtetë, atëherë të tjerët nuk do të kontrollohen. Tani, në mënyrë që të gjitha këto të fiksohen mirë në kokën tuaj dhe të kuptoni, le të shohim një shembull të thjeshtë duke përdorur konstruksione të zgjedhura operatorësh.

#përfshi #përfshi int main () (int mosha; // pa variabël ... printf ("Sa vjeç jeni?"); // pyesni përdoruesin për skanimin e moshës së tij ("% d", & mosha); // futja e përdoruesit numri i viteve nëse (mosha< 100) { // если введенный возраст меньше 100 printf ("Вы очень молоды!\n"); // просто показываем что программа сработала верно... } else if (age == 100) { // используем else для примера printf("Молодость уже позади\n"); // \n - символ перевода на новую строку. } else { printf("Столько не живут\n"); // если ни одно из выше-перечисленных условий не подошло, то программа покажет этот вариант ответа } return 0; }

Le të hedhim një vështrim në shprehjet e kushtëzuara interesante duke përdorur operatorë boolean.

Operatorët Boolean ju lejojnë të krijoni shprehje më komplekse të kushtëzuara. Për shembull, nëse dëshironi të kontrolloni nëse ndryshorja juaj është më e madhe se 0 por më e vogël se 10, atëherë ju duhet vetëm të përdorni operatorin logjik - AND. Kështu bëhet - var> 0 dhe var< 10 . В языке СИ есть точно такой же же оператор, только обозначается он иначе — && .
Kur përdorni deklaratat if, shpesh është e nevojshme të kontrolloni disa kushte të ndryshme, kështu që është shumë e rëndësishme të kuptoni operatorët logjik OSE, JO, dhe DHE. Operatorët Boolean punojnë në të njëjtën mënyrë si operatorët e krahasimit: ata kthejnë 0 nëse janë false ose 1 nëse shprehja boolean është e vërtetë.
Mund të lexoni më shumë rreth operacioneve logjike në.

Loops janë një nga mjetet më të rëndësishme të programimit. Ato janë të dobishme në rastet kur ju duhet të bëni diçka një numër të caktuar herë.

Nëse ka një detyrë të tillë, për shembull, shfaqni rreshtin "përshëndetje të gjithëve" 1000 herë. Më pas, pa përdorur një lak, së pari do të duhet shumë kohë dhe së dyti, nuk do të duket shumë bukur. Kështu që ciklet që duhet të njihni në mënyrë perfekte sepse ato përdoren shumë, shumë shpesh.

Ekzistojnë katër unaza në programim, këto janë while, do-while, for dhe foreach... Secila prej tyre ka sintaksën e vet dhe secila përdoret në raste specifike.

Llojet më të përdorura janë for dhe foreach, të ndjekura nga while, dhe cikli do-while është shumë i rrallë.

Dhe ne do të fillojmë me ciklin while.

Sintaksa për ciklin while është si më poshtë:


Së pari, ne deklarojmë një ndryshore i, e cila është një numërues, dhe brenda ciklit ne e rritim këtë numërues. Brenda kllapave, shkruani kushtin për hyrjen / daljen nga laku.

Komentoni! Shkruani saktë gjendjen e daljes, përndryshe mund të rezultojë loop pafund dhe më pas skenari do të varet... Një lak i tillë mund të ndodhë nëse, për shembull, shkruajmë true në kushtin e daljes.

Për shembull, le të shfaqim rreshtin "Përshëndetje të gjithëve!" 10 herë.

Var i = 0; ndërsa (i "); i ++;)

Ndryshorja i mund të fillojë nga 0 ose nga 1 ose nga çdo numër tjetër.

Kushti i daljes është në të njëjtën kohë kushti i hyrjes. Cikli funksionon si më poshtë: Së pari, kontrollon nëse ndryshorja i është më e vogël se 10, dhe nëse kushti është i vërtetë, atëherë futemi në ciklin, përndryshe, jo. Në këtë rast, nëse ndryshorja i është e barabartë me 30, për shembull, atëherë cikli nuk do të ekzekutohet, sepse 30 nuk është më pak se 10.

Hymë në lak, shfaqëm rreshtin "Përshëndetje të gjithëve", rritëm numëruesin dhe përsëri shkojmë te kushti, ku përsëri kontrollojmë nëse vlera e ndryshores i është më e vogël se 10, më pas futemi në cikli, në të kundërtën dalim. Dhe kjo ndodh deri në momentin kur kushti i hyrjes bëhet false, pra vlera e ndryshores i do të jetë 10. 10 nuk është më pak se 10, kështu që nuk hyjmë më në lak, por vazhdojmë.

Komentoni! Mos harroni të rritni numëruesin (i ++), përndryshe do të përfundoni përsëri në një lak të pafund.

Me ciklin while të rregulluar, tani le të kalojmë te cikli do-while.

Sintaksa për ciklin do-while është si më poshtë:


Dallimi midis një cikli while dhe një cikli do-while është se një cikli do-while mund të ekzekutohet të paktën një herë, pavarësisht nga kushti, ndërsa një cikli while, nëse kushti është false, nuk do të ekzekutohet fare.

Komentoni! Ashtu si me ciklin while, mos harroni të rritni numëruesin i.

Le të kalojmë në praktikë. Për shembull, le të numërojmë prodhimin e numrave nga 1 në 10.

Var i = 1; prodhimi var = 1; bëj (prodhimi * = i; i ++;) ndërsa (i

Rezultati do të jetë numri 3628800. Në hapin e parë, ne u futëm menjëherë në lak, pavarësisht gjendjes së tij, ku u krye operacioni prodhim * = i (kjo është e njëjtë me prodhim = prodhim * 1). Më pas e shtojmë numëruesin. Pas rritjes, ai ka vlerën 2. Dhe në fund kontrollojmë kushtin, nëse vlera e numëruesit është më e vogël ose e barabartë me 10, atëherë kalojmë në përsëritjen tjetër të ciklit, përndryshe dalim nga cikli dhe lëvizim. në.

Për lak

Siç shkrova më lart, cikli for është mjaft i zakonshëm, kështu që duhet ta dini shumë mirë.

Për sintaksën e ciklit tjetër:


Për një kuptim më të mirë, le të zgjidhim një problem të thjeshtë. Le të themi se duhet të llogarisim shumën e numrave nga 1 në 1000 duke përdorur një cikli for.

Var shuma = 0; për (var i = 1; i

E ruajmë dokumentin, e hapim në një shfletues dhe shohim që rezultati është 500500.

Komentoni! Nëse ka vetëm një deklaratë në lak, atëherë mbajtëset kaçurrelë janë opsionale.

Për demonstrim do të shfaqim në ekran 5 herë, disa rreshta, për shembull "Përshëndetje!".

Për (var i = 1; i

Komentoni! Pas ekzekutimit të ciklit në ndryshoren i, vlera e fundit mbetet.

Tani le ta zgjidhim problemin pak më të vështirë, për shembull, duhet të shfaqim vargun "Përshëndetje" 100 herë. Dhe në mënyrë që e gjithë kjo të mos shfaqet në një rresht, atëherë pas çdo përsëritje të 10-të, ne do të shkojmë në një linjë të re. Dhe në fund do të shfaqim vlerën e ndryshores i.

Për (var i = 1; i<= 100; i++){ document.write("привет!"); if(i % 10 == 0)  document.write("
");) dokument.shkruaj ("

Variabla i = "+ i +"

"); // i = 101

Loop Foreach zakonisht përdoret për të përsëritur mbi objekte dhe vargje. Prandaj, unë do të flas për të në artikullin që përshkruan punën me vargje.

Deklarata e thyerjesështë projektuar për të dalë me forcë nga laku.

Deklarata në vazhdim ju lejon të ndërprisni përsëritjen aktuale të lakut dhe të shkoni te tjetra.

Për një kuptim më të mirë, do të zgjidhim edhe një problem të thjeshtë. Le të themi se duam të llogarisim shumën e numrave tek nga 1 në 20. Dhe kur të arrijmë në përsëritjen e 15-të, do të dalim nga cikli.

Var shuma = 0; për (var i = 1; i<= 20; i++){ //Пропускаем текущею итерацию цикла if(i % 2 == 0) continue; summa += i; //Выходим совсем из цикла. if(i == 15) break; document.write(i + ". Итерация
");) dokument.shkruaj ("

përmbledhje= "+ përmbledhje +"

"); // përmbledhje = 64

Ne e ruajmë dokumentin, e hapim atë në një shfletues dhe shikojmë rezultatin.

Për praktikë, provoni të ndryshoni skriptin e shkruar në mënyrë që të llogarisë shumën e numrave çift.

Kjo përfundon këtë artikull. Tani ju e dini sintaksa e while, do-while, për sythe dhe si të punohet me to... Gjithashtu u takuan thyejnë dhe vazhdojnë deklaratat.

Në këtë artikull, unë do të flas për sythe for dhe while, operatorët thyej dhe vazhdojnë dhe gjithashtu për fjalën tjetër, e cila, kur përdoret me një lak, mund ta bëjë kodin e programit pak më të kuptueshëm.

Ndërsa lak

Ndërsa është një nga nyjet më të gjithanshme në Python, dhe për këtë arsye është mjaft i ngadaltë. Ekzekuton trupin e lakut për sa kohë që kushti i lakut është i vërtetë.

>>> i = 5 >>> ndërsa i< 15 : ... print (i ) ... i = i + 2 ... 5 7 9 11 13

Për lak

Cikli for është tashmë pak më kompleks, pak më pak i gjithanshëm, por funksionon shumë më shpejt se cikli while. Ky cikli përsëritet mbi çdo objekt të përsëritur (siç është një varg ose një listë) dhe ekzekuton trupin e ciklit gjatë çdo kalimi.

>>> për i në "hello world": ... print (i * 2, fund = "") ... hheelllloo wwoorrlldd

Deklarata në vazhdim

Deklarata vazhdim fillon kalimin tjetër të ciklit, duke anashkaluar pjesën tjetër të trupit të lakut (për ose për një kohë)

>>> për i në "përshëndetje botë": ... nëse i == "o": ... vazhdo ... print (i * 2, fund = "") ... hheellll wwrrlldd

Deklarata e thyerjes

Deklarata e pushimit përfundon herët ciklin.

>>> për i në "përshëndetje botë": ... nëse i == "o": ... thyej ... print (i * 2, fund = "") ... hheellll

Fjala magjike tjetër

Fjala else, e përdorur në një cikli for ose while, kontrollon nëse cikli u dal me një deklaratë pushimi ose në një mënyrë "natyrale". Blloku i deklaratave brenda tjetrit do të ekzekutohet vetëm nëse cikli doli pa ndihmën e ndërprerjes.

>>> për i në "hello world": ... nëse i == "a": ... thyej ... tjetër: ... print ( "Nuk ka shkronja a në varg") ... Nuk ka shkronjë a në varg

Artikujt kryesorë të lidhur