Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Naredba if selection u C. Osnovama PHP-a

Naredba if selection u C. Osnovama PHP-a

Petlje su jedan od najvažnijih programskih alata. Korisne su u slučajevima kada morate nešto da uradite određeni broj puta.

Ako postoji takav zadatak, na primjer, prikažite red "zdravo svima" 1000 puta. Zatim, bez upotrebe petlje, prvo će trebati puno vremena, a drugo, neće izgledati baš lijepo. Zbog toga cikluse koje morate savršeno poznavati jer se koriste veoma, veoma često.

Postoje četiri petlje u programiranju, ovo 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, zatim while i i uradi-while petlja je veoma retka.

I počećemo sa while petljom.

Sintaksa za while petlju je sljedeća:


Prvo, deklariramo varijablu i, koja je brojač, a unutar petlje povećavamo ovaj brojač. Unutra zagrade pišemo uslov za ulazak/izlazak iz petlje.

Komentiraj! Ispravno napišite uvjet za izlaz, inače bi moglo ispasti beskrajni ciklus a onda će se skripta zamrznuti... Takva petlja se može dogoditi ako, na primjer, upišemo true u izlazni uvjet.

Na primjer, prikažimo red "Zdravo svima!" 10 puta.

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

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

Izlazni uvjet je istovremeno i uvjet ulaska. Petlja radi na sljedeći način: prvo provjerava da li je varijabla i manja od 10, a ako je uslov tačan, onda ulazimo u petlju, inače ne. V 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 petlju, prikazali red "Zdravo svima", povećali brojač i ponovo prešli na uslov, gde ponovo proveravamo da li je vrednost varijable i manja od 10, zatim ulazimo u petlju, inače izlazimo iz nje. I to se dešava sve do trenutka kada uslov ulaska postane netačan, odnosno, vrednost varijable i će biti 10. 10 nije manje od 10, tako da više ne ulazimo u petlju, već idemo dalje.

Komentiraj! Ne zaboravite da povećate brojač (i ++), inače ćete opet završiti u beskonačnoj petlji.

Kada je petlja while riješena, sada pređimo na do-while petlju.

Sintaksa za do-while petlju je sljedeća:


Razlika između petlje while i petlje do-while je u tome što se petlja do-while može izvršiti najmanje jednom, bez obzira na uslov, dok petlja while, ako je uslov netačan, neće biti izvršena uopšte.

Komentiraj! Kao i kod while petlje, ne zaboravite povećati brojač i.

Pređimo na praksu. Na primjer, izbrojimo proizvod brojeva od 1 do 10.

Var i = 1; proizvodnja var = 1; učiniti (proizvodnja * = i; i ++;) dok (i

Rezultat će biti broj 3628800. U prvom koraku smo odmah ušli u ciklus, uprkos njegovom stanju, gdje je izvršena operacija proizvodnja * = i (ovo je isto kao proizvodnja = proizvodnja * 1). Zatim povećavamo brojač. Nakon povećanja ima vrijednost 2. I na kraju provjeravamo uslov, ako je vrijednost brojača manja ili jednaka 10, onda idemo na sljedeću iteraciju petlje, inače izlazimo iz petlje i krećemo se on.

Za petlju

Kao što sam gore napisao, for petlja je prilično uobičajena, tako da je morate dobro poznavati.

Za sintaksu petlje sljedeći:


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

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

Spremimo dokument, otvorimo ga u pretraživaču i vidimo da je rezultat 500500.

Komentiraj! Ako postoji samo jedna izjava u petlji, vitičaste zagrade nisu obavezne.

Za demonstraciju ćemo prikazati na ekranu 5 puta, neki red, na primjer "Halo!".

Za (var i = 1; i

Komentiraj! Nakon izvršavanja petlje u varijabli i, ostaje posljednja vrijednost.

Sada ćemo malo teže riješiti problem, na primjer, trebamo prikazati string "Hello" 100 puta. A da se sve ovo ne pojavi u jednom redu, onda ćemo nakon svake 10. iteracije ići na nova linija... I na kraju ćemo prikazati 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 objekata i nizova. Stoga ću o tome govoriti u članku koji opisuje rad s nizovima.

Izjava o prekidu dizajniran je da nasilno izađe iz petlje.

Izjava o nastavku omogućava vam da prekinete trenutnu iteraciju petlje i pređete na sljedeću.

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

Var suma = 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= "+ suma +"

"); // suma = 64

Spremimo dokument, otvorimo ga u pretraživaču i pogledamo rezultat.

Za vježbu, pokušajte promijeniti pisanu skriptu tako da izračunava zbir parnih brojeva.

Ovim je ovaj članak završen. Sada znaš sintaksa while, do-while, for petlji i kako raditi s njima... Također upoznao prekid i nastavak izjava.

U ovom članku ću govoriti o for i while petlje, operateri break i nastaviti a takođe i o reči ostalošto, kada se koristi sa petljom, može učiniti programski kod nešto razumljivije.

while petlja

Dok je jedna od najsvestranijih petlji u Pythonu, te je stoga prilično spor. 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 već malo složenija, malo manje svestrana, ali radi mnogo brže od while petlje. Ova petlja ponavlja bilo koji objekat koji se može ponavljati (kao što je niz ili lista) i izvršava tijelo petlje tokom svakog prolaza.

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

Izjava o nastavku

Naredba nastavljanja započinje sljedeći prolaz petlje, zaobilazeći ostatak tijela petlje (za ili dok)

>>> za i u "hello world": ... ako i == "o": ... nastavi ... print (i * 2, kraj = "") ... hheellll wwrrlldd

Izjava o prekidu

Naredba break rano prekida petlju.

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

Magična reč drugo

Druga rijec primijenjen u za petlju ili while, provjerava da li je petlja izašla s break naredbom ili na "prirodni" način. Blok naredbi unutar else će se izvršiti samo ako je petlja izašla bez pomoći break.

>>> za i u "hello world": ... if i == "a": ... break ... else: ... print ( "Nema slova a u nizu") ... U nizu nema slova a

Neki izvori kažu da je izjava select if else nezavisni operater... Ali nije, if else je samo notacija if naredbe odabira. Naredba if else dozvoljava programeru da definira akciju kada je uvjet istinit i alternativnu akciju kada je uvjet netačan. Dok ako je dozvoljeno da definiše akciju pod istinitim uslovom.

Sintaksa za pisanje naredbe select ako je drugačije:

Ako (/ * potvrđen uslov * /) (/ * tijelo operatora odabira 1 * /;) inače (/ * tijelo operatora odabira 2 * /;)

Ona glasi ovako: „Ako je provjereni uslov tačan, onda odaberite tijelo izjave 1, inače (to jest, provjereni uvjet je lažan) odaberite tijelo izjave 2". Obratite pažnju na to kako je napisana izjava if else. Druga riječ je namjerno pomaknuta udesno kako bi programski kod bio razumljiv i lak za čitanje.

Pogledajmo problem iz prethodne teme koristeći if else. Dozvolite mi da vas podsjetim na uslov zadatka: "Dana su vam dva broja, morate ih uporediti."

// if_else.cpp: definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" #include korištenje imenskog prostora std; int glavni (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, onda (cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

Za ovaj kod nas zanimaredovi 14-20... Ovi redovi se čitaju ovako: ako a (prvi broj) veći ili jednak b (drugi broj), zatim izvršite izlaznu naredbu ured 16

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

inače izvršite izlaznu naredbu u red 19

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

U ovom ife-u koristimo operacije relacija> = i<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, red 19 treba ovako napisati

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

I ovako je program radio (vidi sliku 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15> = -4 Pritisnite bilo koji taster da nastavite. ... ...

Slika 1 - Operater po izboru ako nije

Dozvolite mi da vam pokažem još jedan primjer korištenja if else naredbi za odabir (tzv. ugniježđene if else naredbe za višestruki odabir).

Zadatak:
Kreirajte 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 glavni (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; }

U ovom problemu moguća su tri slučaja:
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će ili jednako 30.

Obratite pažnju na inovaciju!! V 17 red notacija ovako: ako ((x> = 0) && (x< 30)) , koristio sam simbole && - ovo. Boolean operacija I&& je potreban za kombinovanje nekoliko jednostavnih uslova u jedno složeno. U našem slučaju potrebno je provjeriti istinitost dva uslova: 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 red 12, uvjeti su provjereni. Ona glasi ovako: „Ako je x (31 u našem slučaju)< 0, то выполнить оператор в red 14". Ali pošto je 31> 0 uslov netačan, idemo na riječ else (inače) red 15... Zatim provjeravamo da li je broj 31 u navedenom intervalu. To glasi ovako: ako je x> = 0 i x<30zatim izvršite naredbu u redu 19 ... Ali pošto broj 31 nije uključen u navedeni interval, uslov je netačan. U detalje red 17: program će prvo provjeriti prvi jednostavan uvjet x> = 0 - istina je, a ako je prvi tačan, onda će program nastaviti s provjerom drugog jednostavnog uvjeta x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (red 22). Provjerava se x> = 30. To glasi ovako: Ako je x> = 30 onda izvršite operator na liniji 24 ... Konačno, uslov je tačan, pa je izjava u red 24... I red 28 ispisuje rezultujuću vrijednost. Pa, svi su pregledali program do najsitnijih detalja. Rezultat programa, ako je korisnik unio broj 31 (vidi sliku 2)

Lekcija govori o uslovnom operatoru u Pascalu ( ako). Objašnjava kako koristiti više uslova u jednoj konstrukciji ( I i ILI). Razmatraju se primjeri rada sa operaterom

Podsjećamo vas da ova stranica ne tvrdi da predstavlja potpunu prezentaciju informacija o ovoj temi. Svrha portala je da pruži mogućnost asimilacije gradiva na osnovu gotovih riješenih primjera na temu „Programski jezik Pascal“ sa praktičnim zadacima za konsolidaciju gradiva. Pascal zadaci predstavljeni na sajtu su poređani uzastopno kako se njihova složenost povećava. Stranicu mogu koristiti nastavnici i nastavnici kao pomoćno vizuelno pomagalo.

Prije razmatranja ove teme, uglavnom su korišteni linearni algoritmi u Pascalu, koji su tipični za vrlo jednostavne zadatke kada se akcije (operatori) izvode sekvencijalno, jedna za drugom. Složeniji algoritmi uključuju upotrebu konstrukcije grananja.

Blok dijagram uslovnog operatora:

Pascal uslovni operator ima sledeću sintaksu:

Skraćena verzija:

if uslov onda izjava;

Puna verzija:

if uslov onda naredba else naredba;

Uslovni operator u Pascalu - if - služi da organizuje napredak zadatka na takav način da se redosled izvršavanja naredbi menja u zavisnosti od bilo kog logičkog uslova. Logički uslov može imati jednu od dvije vrijednosti: ili istinito (tačno) ili netačno (netačno), odnosno može biti istinito ili netačno.

Složeni operater

Ako je pod pravim uslovom potrebno izvršiti nekoliko operatora, onda prema pravilima Pascal jezika, oni moraju biti zatvoreni u blok, počevši od službene riječi početak i završavajući sa službenom riječ end. Takav blok se obično naziva zagrade operatera, a ova konstrukcija - složeni operater:

Operatorske zagrade i složeni operator u Pascalu:

ako boolean izraz onda započni naredbu1; operator2; end else begin naredba1; operator2; kraj;

Prevod termina sa engleskog operatera će olakšati razumevanje njihove upotrebe:

IF ONDA ELSE
IF ONDA U suprotnom


U uslovu (u logičkom izrazu) koriste se relacioni operatori.
Razmotrite listu operatora Pascal relacija:

  • više>
  • manji
  • veće ili jednako u Pascal> =
  • manje ili jednako u Pascalu
  • poređenje u Pascalu =
  • nije jednako u Pascalu

primjer: pronađite najveći od dva broja

Opcija 1 Opcija 2


Detaljno razumite posao Možete koristiti uslovni operator u Pascalu gledajući video tutorijal:

primjer: izračunajte vrijednost varijable y duž jedne od dvije grane

Prikaži rješenje:

var x, y: realno; započeti writeln ("unesite x"); pročitaj (x); ako je x> 0 onda y: = ln (x) inače y: = exp (x); writeln ("y =", y: 6: 2) (ukupan broj će zauzeti 6 pozicija, a u njemu će biti 2 decimale).

Obratite pažnju na to kako je y prikazano u ovom primjeru. Prilikom zaključivanja varijabli tipa u Pascalu, možete koristiti tzv formatirani izlaz, ili zapis s dvije dvotočke:
y: 6: 2
- broj iza prve dvotočke (6) označava koliko znakova će broj uzeti kada se prikaže na ekranu
- cifra iza druge dvotočke (2) označava koliko će cifara nakon decimalne zareze biti prikazano u stvarnom broju

Dakle, upotreba takve notacije u Pascalu praktički omogućava zaokruživanje na stotinke, tisućinke itd.

Problem 0. Izračunajte vrijednost varijable y duž jedne od dvije grane:

Cilj 1. Dva broja se unose u kompjuter. Ako je prvi veći od drugog, onda izračunajte njihov zbroj, u suprotnom - proizvod. Računar tada treba da odštampa rezultat i tekst PROBLEM REŠEN

Cilj 2. Zmaj svake godine naraste tri glave, ali nakon sto navrši samo dvije. Koliko glava i očiju ima zmaj N godine?

Booleove operacije u Pascalu (u booleovim terminima)

Kada je potrebno koristiti dvostruki uslov u Pascalu, tada su potrebne logičke operacije.

  • Logička operacija I (I), stavljen između dva uslova, kaže da oba ova uslova moraju biti ispunjena odjednom (mora biti tačno). Logično značenje operacije je "konjunkcija".
  • Između dva uslova, znak ILI (ILI) kaže da je dovoljno ako je barem jedan od njih zadovoljen (jedan od dva uslova je tačan). Logično značenje operacije je "dizjunkcija".
  • U Pascalu XOR - znak logičke operacije, koji ima značenje "stroge disjunkcije" i ukazuje da je neophodno da je jedan od dva uslova ispunjen (tačan), a drugi nije ispunjen (netačno).
  • Logička operacija NE prije nego logički izraz ili varijabla ima značenje "negacija" ili "inverzija" i označava da ako je data varijabla ili izraz istinita, onda je njihova negacija lažna i obrnuto.

Bitan: Svaki od jednostavnih uslova mora biti stavljen u zagrade.

Primjer: Razmotrite primjere logičkih operacija u logičkim izrazima u Pascalu

1 2 3 4 5 6 7 8 var n: cijeli broj; početak n: = 6; ako je (n> 5) i (n<10 ) then writeln ("истина" ) ; if (n>7) ili (n<10 ) then writeln ("истина" ) ; if (n>7) xor (n<10 ) then writeln ("истина" ) ; if not (n>7) zatim writeln ("istina"); kraj.

var n: cijeli broj; početak n: = 6; ako je (n> 5) i (n<10) then writeln("истина"); if (n>7) ili (n<10) then writeln("истина"); if (n>7) xor (n<10) then writeln("истина"); if not(n>7) zatim writeln ("istina"); kraj.

primjer: Kompanija zapošljava radnike od 25 do 40 godina. Unesite godine osobe i odredite da li je podesna za datu kompaniju (navedite odgovor "prikladan" ili "neprikladan").
Posebnost: potrebno je provjeriti da li su dva uslova ispunjena istovremeno.

primjer: Dat je cijeli broj A. Provjerite istinitost tvrdnje: "Broj A je neparan."

Top srodni članci