Kako postaviti pametne telefone i računala. Informativni portal

Odaberite if naredbu u C. Osnove PHP-a

C++ nudi standardni skup operatora za odabir odabira i ciklusa.

Ključne riječi koje se odnose na konstrukciju uvjeta grananja za kod su:

  • sklopka
  • pauza
  • zadano

Ključne riječi koje se odnose na konstrukciju ciklusa su:

  • dok
  • pauza
  • nastaviti

Izjave o uvjetima

Izjava If

Konstrukt uvjeta pomoću naredbe if formira se na sljedeći način:

Int x = 56; bool check_x() ( if (x > 0) return true; return false; )

U ovom slučaju, uvjet se stavlja u zagradu nakon naredbe if. U ovoj konstrukciji, povratni kod je istinit; Izvršit će se ako je x veći od 0. sljedeći redak return false; Više se ne odnosi na kôd koji će se izvršiti kada se uvjet ispuni. U konstruktima uvjeta, ako je ovaj uvjet ispunjen, izvršit će se samo jedna linija koda ako kod nije u vitičastim zagradama, to jest ako tijelo koda koji se izvodi pod uvjetom nije formirano. Razmotrimo dvije opcije koda:

Prva opcija:

Int x = 56; bool check_x() ( if (x > 0) x = 0; return true; return false; )

U ovom kodu vratite true; Uvijek će se izvršavati, jer je samo niz x = 0 relevantan za kôd koji se izvršava;

Druga opcija:

Int x = 56; bool check_x() ( if (x > 0) ( x = 0; return true; ) return false; )

U ovom kodu vratite true; Bit će zadovoljeno samo ako je zadovoljen uvjet x>0.

Izjava else

The drugo izjava se koristi u spoju s ako izjava za formiranje niza uvjeta.

Int x = 56; bool check_x() ( if (x > 0) ( x = 0; return true; ) else if (x< 0) { x = 0; return false; } else { return false; } }

Naredba else može se koristiti za dodavanje novog uvjeta ako prethodni uvjet, naredba else if, ne uspije. I kao konačni kod u nizu uvjeta, ako prethodni uvjeti nisu ispunjeni. Alternativno, moguće je koristiti zagrade za tijelo koda ako kod stane u jedan redak.

Naredbe switch, case, break, default

The prebaciti kućište konstrukt se koristi za odabir grananja koda, u čijem se uvjetu odabir vrši cjelobrojnim vrijednostima. To znači da se slučaj switch može koristiti samo za cjelobrojne vrijednosti, nabrajanja i odabire kodom simbola.

Int x = 100; bool check_x() ( prekidač (x) ( slučaj 0: vrati istinito; slučaj 50: x = 0: prekid; slučaj 100: vrati lažno; zadano: vrati lažno; )

U gornjem kodu, provjerava se da je varijabla x jednaka brojevima 0, 50, 100. Zadani operator odabire kod koji se izvršava ako niti jedan od uvjeta nije ispunjen. Imajte na umu također da u bloku koda sa slučajem 50: dodana naredba break, ova naredba izlazi iz uvjeta, dok naredba return izlazi iz funkcije. Ako ne dodate naredbu break, izvršavanje koda će se nastaviti u slučaju 100:. Zbog ove osobitosti konstrukcije kućišta prekidača, moguće je kombinirati uvjete za koje je potrebno izvršiti isti kod. Na primjer:

Int x = 100; bool check_x() ( switch (x) ( case 0: case 50: case 100: return true; default: return false; ) )

Stoga, za x jednak 0, 50, 100, funkcija vraća true, dok za sve ostale vrijednosti funkcija vraća false.

Također, kod za odabir velikih i malih slova u ovoj konstrukciji može se zamotati u blokove koda, što će ograničiti opseg i koristiti deklaracije varijabli s istim imenom.

Int x = 100; int check_x() ( switch (x) ( case 0: ( int y = 1; return y; ) case 50: ( int y = 2; return y; ) case 100: ( int y = 3; return y; ) default : vrati x; ))

Stoga, ograničavanjem opsega, možemo koristiti varijable s istim imenima u uvjetima slučaja. Ali nemojte zaboraviti da izvan opsega, omeđenog vitičastim zagradama, varijabla y neće postojati u ovom slučaju.

Operatori ciklusa

Izjava while

Naredba while ponavlja kod u svom tijelu sve dok je uvjet ispunjen. Na primjer:

Int i = 0; dok ja< 10) { i = i + 1; }

U ovom kodu ja ću biti 10 nakon petlje.

Izjava do

Naredba do koristi se zajedno s naredbom while i omogućuje da se tijelo petlje izvrši najmanje jednom, prije nego što se provjeri uvjet petlje. Na primjer:

Int i = 15; do ( i = i - 5; std::cout<< i << std::endl; } while (i >0 && i< 13);

U ovom kodu, varijabla I inicijalno ne odgovara uvjetu i u uobičajenoj petlji while kod tijela petlje nije izvršen, ali budući da se koristi petlja do-while, test će se izvesti nakon što se tijelo petlje izvrši pogubljen. Kao rezultat toga, izlaz std::cout je:

Možete pitati zašto je 0 u izlazu? Ne odgovara stanju. Opet, zbog činjenice da se provjera izvodi nakon što se kod izvrši u tijelu petlje. Odnosno, tijelo petlje je izvršeno, a zatim se vrši provjera, rezultat koje ciklus završava svoj rad.

Izjava o prekidu

Kao u slučaju switch, ova se izjava može koristiti u petljama. Ovo je neophodno za izlazak iz petlje, prije nego što se ispuni uvjet ciklusa. Na primjer:

Int i = 15; dok ja< 50) { if (i < 0) { break; } i = i - 5; }

U umjetnom ovom primjeru, vječni ciklus bi rezultirao jer se varijabla i smanjuje umjesto da raste, a prema uvjetu petlje, izlaz će biti proizveden samo ako je i veći od 50. Ali zahvaljujući break naredbi i ispitnom uvjetu za negativnu vrijednost varijable i Izvršenje programa će izaći iz ove petlje čim i postane manje od 0.

Izjava o nastavku

Ovaj operator vam omogućuje da prekinete ponavljanje petlje i započnete novo ponavljanje petlje prije izvršenja cijelog koda u tijelu petlje. Na primjer:

Int i = 0; dok ja< 5) { if (i == 3) { i = i + 1; continue; } std::cout << i << std::endl; i = i + 1; }

Prilikom izvršavanja ovog koda dobivamo sljedeći izlaz:

To jest, izlaz broja 3 će biti izostavljen.

Izjava for

Petlje s naredbom for omogućuju vam kombiniranje inicijalizacije varijabli, uvjeta i promjene tih varijabli.

Odnosno, sljedeća petlja while

Int i = 0; dok ja< 10) {

To će biti ekvivalentno sljedećoj for petlji:

Za (int i = 0; i< 10; i++) { // ToDo Something }

Prednost ove for petlje bit će to što će varijabla I biti u lokalnom opsegu for petlje.

For petlje se mogu inicijalizirati s nekoliko varijabli istog tipa. Na primjer:

Za (int i = 0, *p = i< 9; i += 2) { std::cout << i << ":" << *p << " "; }

Također, uvjet može biti deklaracija, inicijalizacija varijable. Na primjer:

Znak cstr = "Zdravo"; for (int n = 0; char c = cstr[n]; ++n) ( std::cout<< c; }

S obzirom na C++ standard 11, auto varijabla se može koristiti kao tip varijable, što vam omogućuje izlaz tipa varijable iz inicijalizatora:

Std::vektor v = (3, 1, 4, 1, 5, 9); for (auto iter = v.begin(); iter != v.end(); ++iter) ( std::cout<< *iter << " "; }

Također je zanimljivo da inicijalizator, uvjet i blok promjene mogu biti izraz:

Int n = 0; za (std::cout<< "Loop start\n"; std::cout << "Loop test\n"; std::cout << "Iteration " << ++n << "\n") { if(n >1) prekid; )

Počevši od standarda C++11, for petlje, iteracija je dodana za spremnike koji podržavaju iteraciju. Na primjer, vektorski spremnik iz standardne biblioteke:

Std::vektor v = (0, 1, 2, 3, 4, 5); za (const int& i: v) std::cout<< i << " ";

U ovom kodu, konstrukcija petlje je sljedeća:

Za (Dohvaćeno iz spremnika pri svakoj iteraciji objekta: spremnik) ( // Tijelo ciklusa )

Također, petlje for na temelju raspona podržavaju auto naredbu. Na primjer:

Std::vektor v = (0, 1, 2, 3, 4, 5); za (auto& i: v) std::cout<< i << " ";

Neki izvori kažu da je if else odabirna izjava samostalna izjava. Ali to nije točno, if else je samo oblik pisanja if selekcijske izjave. Naredba if else omogućuje programeru da definira radnju kada je uvjet istinit i alternativnu radnju kada je uvjet lažan. Dok vam je dozvoljeno da odredite radnju ako je uvjet istinit.

Sintaksa za pisanje if else odabira naredbe je:

If (/*uvjet koji treba provjeriti*/) ( /*tijelo operatora odabira 1*/; ) else ( /*tijelo operatora odabira 2*/; )

Ona glasi ovako: “Ako je stanje koje se testira istinito, onda odaberite tijelo izjave 1, inače (to jest, uvjet koji se testira je lažan) je zadovoljen odaberite tijelo izjave 2". Obratite pozornost na to kako je if else naredba napisana. Riječ else je posebno pomaknuta udesno kako bi programski kod bio jasan i praktičan za čitanje.

Pogledajmo problem iz prethodne teme, koristeći if else . Dopustite mi da vas podsjetim na uvjet problema: "Dana su dva broja, morate ih usporediti."

// if_else.cpp: Definira ulaznu točku za konzolnu aplikaciju. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) ( int a, b; cout<< "Vvedite pervoe chislo: "; cin >>a; cout<< "Vvedite vtoroe chislo: "; cin >>b; if (a >= b) // ako je a veće ili jednako b, tada ( cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

U ovom kodu koji nas zanimaredovi 14-20. Ovi redovi glase ovako: ako a (prvi broj) veći ili jednak b (drugi broj), zatim izvršite izlaznu naredbu ulinija 16

Cout<< a << " >= " << b << endl;

inače izvršiti izlaznu naredbu u linija 19

Cout<< a << " <= " << b << endl;

U ovom primjeru koristimo relacijske operatore >= i<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, linija 19 trebate to ovako napisati

cout<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

I ovako je program radio (vidi sliku 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15 >= -4 Za nastavak pritisnite bilo koju tipku. . .

Slika 1 - Izjava o odabiru if else

Pokazat ću vam još jedan primjer korištenja if else naredbi za odabir (tzv. ugniježđene if else naredbe za višestruki odabir).

Zadatak:
Napravite algoritam koji pronalazi vrijednost y, ako je y=x, za x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: Definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) ( int x, y; cout<< "Vvedite x: "; cin >>x; ako (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) ( y = x * x; // izvršava se ako je x veći ili jednak 30 ) ) ) cout<< "y=" << y << endl; system("pause"); return 0; }

Postoje tri moguća slučaja u ovom problemu:
1. slučaj: x< 0 ;
2. slučaj: x leži u rasponu od 0 (uključujući 0) do 30;
3. slučaj: x je veći ili jednak 30.

Primjetite inovaciju!! U Linija 17 takav unos: if ((x >= 0) && (x< 30)) , Koristio sam && simbole - ovo je . Logička operacija I&& je potreban za kombiniranje nekoliko jednostavnih uvjeta u jedan složeni uvjet. U našem slučaju potrebno je provjeriti istinitost dva uvjeta: prvi – x >= 0, drugi – x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x< 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.

Analiza konkretnog slučaja:

Recimo da je korisnik unio broj 31. Počevši od linije 12, uvjeti su provjereni. Ona glasi ovako: “Ako x (31 u našem slučaju)< 0, то выполнить оператор в linija 14" Ali budući da je 31 > 0 uvjet netočan, prelazimo na riječ else (inače) linija 15. Zatim provjeravamo je li broj 31 uključen u navedeni interval. Ona glasi ovako: ako je x>=0 i x<30zatim izvršite naredbu u liniji 19 . Ali budući da broj 31 nije uključen u zadani interval, uvjet je lažan. pojedinosti linija 17: program će prvo provjeriti prvi jednostavni uvjet x >= 0 - on je istinit, a ako je prvi istinit, tada će program nastaviti s provjerom drugog jednostavnog uvjeta x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (linija 22). Ček je x >= 30. Ona glasi ovako: Ako je x >= 30, izvršite naredbu koja se nalazi u retku 24 . Konačno, uvjet je istinit, pa je izjava u linija 24. I linija 28 ispisuje dobivenu vrijednost. Eto, to je to, program smo pogledali do najsitnijih detalja. Rezultat programa ako je korisnik unio broj 31 (vidi sliku 2)

U ovom ću članku govoriti o for i while petlje, operateri pauza I nastaviti, a također i o rječ drugo, koji, kada se koristi s petljom, može učiniti programski kod nešto razumljivijim.

while petlja

While je jedna od najsvestranijih petlji u Pythonu, pa je prilično spora. Izvršava tijelo petlje sve dok je uvjet petlje istinit.

>>> i = 5 >>> dok je i< 15 : ... print (i ) ... i = i + 2 ... 5 7 9 11 13

za petlju

Petlja for je malo kompliciranija, malo manje univerzalna, ali se izvršava puno brže od petlje while. Ova petlja ponavlja preko bilo kojeg objekta koji se može ponavljati (kao što je niz ili popis) i izvršava tijelo petlje tijekom svakog prolaza.

>>> for i u "hello world" : ... print (i * 2 , end = "" ) ... hheelllloo wwoorrlldd

Nastavi operator

Naredba continue započinje sljedeću iteraciju petlje, zaobilazeći preostalo tijelo petlje (for ili while)

>>> for i u "hello world" : ... if i == "o" : ... continue ... print (i * 2 , end = "") ... hheellll wwrrlldd

break izjava

Naredba break rano prekida petlju.

>>> for i u "hello world" : ... if i == "o" : ... break ... print (i * 2 , end = "") ... hheellll

Čarobna riječ else

Riječ else koja se koristi u for ili while petlji provjerava da li je petlja izašla naredbom break ili na "prirodan" način. Blok naredbi unutar else bit će izvršen samo ako je petlja izašla bez pomoći breaka.

>>> for i u "hello world" : ... if i == "a" : ... break ... else : ... print ( "Slovo a nije u retku") ... U retku nema slova a

Jedan od najvažnijih alata u programiranju su petlje. Korisni su u slučajevima kada morate nešto učiniti određeni broj puta.

Ako postoji takav zadatak, na primjer, prikazati redak "zdravo svima" 1000 puta. Zatim, bez upotrebe petlje, prvo će trebati puno vremena, a drugo, neće izgledati baš lijepo. Zato morate savršeno poznavati cikluse jer se koriste vrlo, vrlo često.

Postoje četiri petlje u programiranju, to su while, do-while, for i foreach. Svaki od njih ima svoju sintaksu i svaki se koristi u određenim slučajevima.

Najčešće korištene petlje su for i foreach, nakon kojih slijedi while, a do-while petlja je vrlo rijetka.

Počet ćemo s while petljom.

Sintaksa while petlje je sljedeća:


Prvo, deklariramo varijablu i, koja je brojač, i unutar petlje povećavamo taj brojač. Unutar zagrada upisujemo uvjet za ulazak/izlazak iz petlje.

Komentar! Napišite izlazni uvjet ispravno, inače se može dogoditi beskonačna petlja i tada će se skripta zamrznuti. Takav se ciklus može dogoditi ako, na primjer, jednostavno napišemo true u izlaznom uvjetu.

Na primjer, ispišite niz "Pozdrav svima!" 10 puta.

Var i = 0; dok(i "); i++; )

Varijabla i može početi od 0 ili 1 ili od bilo kojeg drugog broja.

Izlazni uvjet je ujedno i ulazni uvjet. Petlja radi na sljedeći način: prvo se provjerava je li varijabla i manja od 10, i ako je uvjet istinit, tada ulazimo u petlju, u suprotnom ne. U ovom slučaju, ako je varijabla i jednaka 30, na primjer, tada se petlja neće izvršiti, jer 30 nije manje od 10.

Ušli smo u ciklus, ispisali redak “Pozdrav svima”, povećali brojač i opet idemo na uvjet, gdje ponovno provjeravamo da li je vrijednost varijable i manja od 10, zatim ulazimo u ciklus, inače izlazimo iz njega. I to se događa sve do trenutka kada uvjet unosa postane lažan, odnosno vrijednost varijable i bit će 10. 10 nije manje od 10, tako da više ne ulazimo u petlju, već idemo dalje.

Komentar! Ne zaboravite povećati brojač (i++), inače ćete završiti s beskonačnom petljom.

Obradili smo while petlju, a sada idemo na do-while petlju.

Sintaksa do-while petlje je sljedeća:


Razlika između while petlje i do-while petlje je u tome što se do-while petlja može izvršiti barem jednom, bez obzira na uvjet, dok se while petlja uopće neće izvršiti ako je uvjet lažan.

Komentar! Baš kao i kod while petlje, ne zaboravite povećati i brojač.

Prijeđimo na praksu. Na primjer, izračunajmo umnožak brojeva od 1 do 10.

Var i = 1; var proizvodnja = 1; do( proizvodnja *= i; i++; )dok(i

Rezultat će biti broj 3628800. U prvom koraku smo odmah ušli u petlju, unatoč njenom stanju, gdje je izvršena operacija production *= i (to je isto kao production = production * 1). Zatim povećavamo brojač. Nakon inkrementacije ima vrijednost 2. I na kraju provjeravamo uvjet, ako je vrijednost brojača manja ili jednaka 10, onda idemo na sljedeću iteraciju petlje, inače izlazimo iz petlje i idemo dalje .

za petlju

Kao što sam gore napisao, for petlja se pojavljuje prilično često, pa je morate dobro poznavati.

za sintaksu petlje Sljedeći:


Radi boljeg razumijevanja, riješimo jednostavan problem. Recimo da trebamo izračunati zbroj brojeva od 1 do 1000 koristeći for petlju.

Var zbroj = 0; za (var i = 1; i

Spremamo dokument, otvaramo ga u pregledniku i vidimo da je rezultat 500500.

Komentar! Ako postoji samo jedna izjava u petlji, tada vitičaste zagrade nisu potrebne.

Za demonstraciju, prikažimo neki niz na ekranu 5 puta, na primjer "Hello!"

Za(var i = 1; i

Komentar! Nakon što se petlja izvrši, posljednja vrijednost ostaje u varijabli i.

Sada riješimo malo kompliciraniji problem, na primjer, trebamo ispisati niz "Hello" 100 puta. A kako se sve to ne bi pojavilo u jednom redu, onda nakon svake 10. iteracije prelazimo u novi red. I na kraju ćemo ispisati vrijednost varijable i.

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

Varijabla i = " + i + "

"); // i = 101

foreach petlja Obično se koristi za ponavljanje preko objekata i nizova. Stoga ću o tome govoriti u članku koji opisuje rad s nizovima.

break izjava namijenjen je nasilnom izlasku iz petlje.

Nastavi operator omogućuje vam da prekinete trenutnu iteraciju petlje i prijeđete na sljedeću.

Radi boljeg razumijevanja, riješit ćemo i jednostavan problem. Recimo da želimo izračunati zbroj neparnih brojeva od 1 do 20. A kada dođemo do 15. iteracije, izaći ćemo iz petlje.

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

summa= " + zbroj + "

"); //zbroj = 64

Spremamo dokument, otvaramo ga u pregledniku i gledamo rezultat.

Za vježbanje pokušajte promijeniti napisani tekst tako da izračunava zbroj parnih brojeva.

Ovo završava ovaj članak. Sada znaš sintaksa while, do-while, for petlji i kako raditi s njima. I mi smo se upoznali prekinuti i nastaviti izjave.

Najbolji članci na temu