Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Savjet
  • Naredba if selection u C. Osnove PHP-a

Naredba if selection u C. Osnove PHP-a

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

Ako postoji takav zadatak, na primjer, prikažite redak "pozdrav svima" 1000 puta. Zatim, bez korištenja petlje, prvo će trebati puno vremena, a drugo, neće izgledati baš lijepo. Tako cikluse koje morate savršeno poznavati 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, zatim while i i do-while petlja je vrlo rijetko.

I počet ćemo s while petljom.

Sintaksa za while petlju je sljedeća:


Prvo, deklariramo varijablu i, koja je brojač, a unutar petlje povećavamo ovaj brojač. Iznutra zagrade upisujemo uvjet za ulazak/izlazak iz petlje.

Komentar! 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, zapišemo true u izlazni uvjet.

Na primjer, prikažimo redak "Pozdrav 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 ujedno i uvjet ulaska. Petlja radi na sljedeći način: Prvo provjerava je li varijabla i manja od 10, a ako je uvjet istinit, 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 redak "Pozdrav svima", povećali brojač i opet išli na uvjet, gdje ponovno provjeravamo da li je vrijednost varijable i manja od 10, zatim ulazimo u petlju, inače izlazimo iz nje. I to se događa sve do trenutka kada uvjet ulaska postane lažan, odnosno vrijednost varijable i bit će 10. 10 nije manje od 10, pa više ne ulazimo u petlju, nego idemo dalje.

Komentar! Nemojte zaboraviti povećati brojač (i ++), inače ćete opet završiti u beskonačnoj petlji.

Kad je petlja while riješena, prijeđimo na petlju do-while.

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 barem jednom, bez obzira na uvjet, dok se while petlja, ako je uvjet lažan, neće uopće izvršiti.

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

Idemo dalje na praksu. Na primjer, izbrojimo umnožak 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 odmah smo ušli u ciklus, unatoč njegovom stanju, gdje je izvedena operacija proizvodnja * = i (ovo je isto kao proizvodnja = proizvodnja * 1). Zatim povećavamo brojač. Nakon povećanja 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 krećemo se na.

Za petlju

Kao što sam gore napisao, for petlja je prilično uobičajena, tako da je morate vrlo 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 suma = 0; za (var i = 1; i

Spremimo dokument, otvorimo ga u pregledniku i vidimo da je rezultat 500500.

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

Za demonstraciju prikazat ćemo na ekranu 5 puta, neki redak, na primjer "Halo!".

Za (var i = 1; i

Komentar! Nakon izvršenja petlje u varijabli i ostaje posljednja vrijednost.

Sada riješimo problem malo teže, na primjer, trebamo prikazati niz "Hello" 100 puta. A kako se sve to ne bi pojavilo u jednom redu, onda ćemo nakon svake 10. ponavljanja 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 za prisilni izlazak iz petlje.

Izjava o nastavku 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 kad 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 ("

suma= "+ suma +"

"); // suma = 64

Spremamo dokument, otvaramo ga u pregledniku i gledamo rezultat.

Za vježbu pokušajte promijeniti napisano pismo tako da izračunava zbroj parnih brojeva.

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

U ovom članku govorit ću o for and while petlje, operateri pauza i nastaviti a također i o riječi drugošto, kada se koristi s petljom, može učiniti programski kod nešto razumljivije.

Dok petlja

While je jedna od najsvestranijih petlji u Pythonu i stoga 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 već malo složenija, nešto manje svestrana, ali radi puno brže od while petlje. Ova petlja ponavlja bilo koji objekt koji se može ponavljati (kao što je niz ili popis) i izvršava tijelo petlje tijekom svakog prolaza.

>>> za i u "hello world": ... ispis (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 ... ispiši (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

Čarobna riječ drugo

Druga riječ primijenjen u za petlju ili while, provjerava je li petlja izašla s naredbom break ili na "prirodni" način. Blok izraza unutar else će se izvršiti samo ako je petlja napuštena 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 neovisni operater... Ali nije, if else je samo zapis naredbe za odabir if. Naredba if else omogućuje programeru da definira akciju kada je uvjet istinit i alternativnu akciju kada je uvjet lažan. Dok ako je dopušteno definirati radnju pod istinitim uvjetom.

Sintaksa za pisanje naredbe select ako je drugačije:

Ako (/ * provjereni uvjet * /) (/ * tijelo operatora odabira 1 * /;) else (/ * tijelo operatora odabira 2 * /;)

Ona glasi ovako: „Ako je provjereni uvjet istinit, onda odaberite tijelo izjave 1, inače (to jest, provjereni uvjet je netočan) je ispunjen 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. Dopustite mi da vas podsjetim na uvjet zadatka: "Dana su vam dva broja, trebate ih usporediti."

// if_else.cpp: definira ulaznu točku za konzolnu aplikaciju. #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, tada (cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

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

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

inače izvršite izlazni izraz u redak 19

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

U ovom ife-u koristimo operacije relacija> = i<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, redak 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 koju tipku za nastavak. ... ...

Slika 1 - Operater po izboru ako nije

Dopustite mi da vam pokažem još jedan primjer korištenja naredbi za odabir if else (tzv. ugniježđeni if ​​else iskazi 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 konzolnu aplikaciju. #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ći ili jednak 30.

Obratite pažnju na inovaciju!! V 17 redak zapis ovako: ako je ((x> = 0) && (x< 30)) , koristio sam simbole && - ovo. Booleova operacija I&& je potreban za kombiniranje nekoliko jednostavnih uvjeta u jedan spoj. 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 redak 12, uvjeti su provjereni. Ona glasi ovako: „Ako je x (31 u našem slučaju)< 0, то выполнить оператор в redak 14". Ali budući da je 31> 0 uvjet netačan, idemo na riječ else (inače) redak 15... Zatim provjeravamo nalazi li se broj 31 u navedenom intervalu. Ona glasi ovako: ako je x> = 0 i x<30zatim izvršite naredbu u retku 19 ... Ali budući da broj 31 nije uključen u navedeni interval, uvjet je netočan. Detaljno redak 17: program će prvo provjeriti prvi jednostavni uvjet x> = 0 - to je istina, a ako je prvi istinit, program će nastaviti provjeravati drugi jednostavan uvjet x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (redak 22). Provjerava se x> = 30. Ona glasi ovako: Ako je x> = 30, onda izvršite operator u retku 24 ... Konačno, uvjet je istinit, pa je izjava u redak 24... I redak 28 ispisuje rezultirajuću vrijednost. Pa, svi, proučili program do najsitnijih detalja. Rezultat programa, ako je korisnik unio broj 31 (vidi sliku 2)

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

Podsjećamo vas da ova stranica ne tvrdi da predstavlja potpuni prikaz informacija o ovoj temi. Svrha portala je pružiti mogućnost asimilacije gradiva na temelju gotovih riješenih primjera na temu „Programski jezik Pascal“ s praktičnim zadacima za konsolidaciju gradiva. Pascal zadaci predstavljeni na web-mjestu poredani su uzastopno kako njihova složenost raste. Stranicu mogu koristiti učitelji i učitelji kao pomoćno vizualno 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 uzastopno, jedna za drugom. Složeniji algoritmi uključuju korištenje konstrukcije grananja.

Blok dijagram uvjetnog operatora:

Pascal uvjetni operator ima sljedeću sintaksu:

Skraćena verzija:

ako uvjet onda izjava;

Puna verzija:

if uvjet then statement else izjava;

Uvjetni operator u Pascalu - if - služi za organiziranje napretka zadatka na takav način da se slijed izvršavanja naredbi mijenja ovisno o bilo kojem logičkom uvjetu. Logički uvjet može imati jednu od dvije vrijednosti: ili istinito (true) ili false (false), odnosno, može biti istinito ili netočno.

Složeni operater

Ako je pod istinitim uvjetom 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 službenom riječ end. Takav blok se obično naziva zagrade operatera, a ova konstrukcija - složeni operator:

Operatorske zagrade i složeni operator u Pascalu:

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

Prijevod pojmova s ​​engleskog operatera olakšat će razumijevanje njihove upotrebe:

AKO ZATIM DRUGO
AKO ZATIM INAČE


U uvjetu (u logičkom izrazu) koriste se relacijski operatori.
Razmotrite popis operatora Pascal relacija:

  • više>
  • manje
  • veći ili jednak u Pascalu> =
  • manje ili jednako u Pascalu
  • usporedba u Pascalu =
  • nije jednako u Pascalu

Primjer: pronaći najveći od dva broja

opcija 1 Opcija 2


Detaljno razumite posao Možete koristiti uvjetni operator u Pascalu gledajući video tutorial:

Primjer: izračunaj vrijednost varijable y duž jedne od dvije grane

Prikaži rješenje:

var x, y: realna; 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) (ukupni broj će zauzeti 6 pozicija, a u njemu će biti 2 decimalna mjesta) kraj.

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 broj zauzima kada se prikaže na ekranu
- znamenka iza druge dvotočke (2) označava koliko će se znamenki nakon decimalne točke stvarnog broja prikazati

Dakle, korištenje takve notacije u Pascalu praktički omogućuje zaokruživanje na stotinke, tisućinke itd.

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

Cilj 1. U računalo se unose dva broja. Ako je prvi veći od drugog, onda izračunajte njihov zbroj, inače - proizvod. Računalo bi tada trebalo ispisati rezultat i tekst PROBLEM RIJEŠEN

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

Booleove operacije u Pascalu (u booleovim terminima)

Kada je potrebno koristiti dvostruki uvjet u Pascalu, tada su potrebne booleove operacije.

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

Važno: Svaki od jednostavnih uvjeta 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: Tvrtka zapošljava djelatnike od 25 do 40 godina. Unesite dob osobe i odredite je li ona prikladna za danu tvrtku (napišite odgovor "prikladan" ili "neprikladan").
Osobitost: potrebno je provjeriti jesu li istovremeno ispunjena dva uvjeta.

Primjer: Zadan je cijeli broj A. Provjerite istinitost tvrdnje: "Broj A je neparan."

Vrhunski povezani članci