Kako rade petlje u računalnom programiranju

  • Michael Cain
  • 0
  • 3307
  • 589
Oglas

Kad učite programirati Kako naučiti programiranje bez svih stresova Kako naučiti programiranje bez ikakvog stresa Možda ste se odlučili baviti programiranjem bilo za karijeru ili samo kao hobi. Sjajno! Ali možda se počinjete osjećati preplavljeno. Nije tako sjajno. Evo pomoći da vam olakša putovanje. Razumijevanje osnovnih građevnih elemenata ključno je za rani uspjeh. Teške teme hvatate kasnije, ali ako ne razumijete varijable, petlje i funkcije, teško je doći daleko.

Većina novih programera saznaje više ako-drugo izjave, dok petlje, i za petlje prije dugo. Ali jedna od tipova petlje koju možda ne razumijete je do-while petlja. Razgovarajmo o tome kako radi ova petlja, kada ćete je htjeti upotrijebiti, i pogledajmo nekoliko primjera.

Osnove

Petlja dok radi najmanje jedanput izvršava blok koda, provjerava je li uvjet istinit, a zatim nastavlja izvoditi kôd unutra, ovisno o stanju. Pogledajmo jednostavan primjer pseudokoda (budući da vam pomažu u učenju! 10 osnovnih primjera Pythona koji će vam pomoći da brzo naučite 10 osnovnih primjera Pythona koji će vam pomoći da brzo naučite Ovaj članak osnovnih primjera pythona namijenjen je onima koji već imaju neko programiranje iskustvo i jednostavno želite prijeći na Python što je brže moguće.):

do izlaz "Varijabla x jednaka" + x; x ++;  dok (x < 5); output "The loop has ended."; 

U ovom bitnom kodu nalaze se crte unutar čini nosači uvijek izvode barem jedanput. Ovo znači to x mogla biti bilo koja vrijednost na početku petlje.

Ako x jednaka je 1 kada se petlja pokrene, ponavljat će se dok x ne zadovoljava uvjet pored dok. Tako bi se pokrenuo ukupno 5 puta. Kada x nije manje od 5, petlja se završava i nastavlja na kod nakon nje. Izlaz bi izgledao na sljedeći način:

Varijabla x jednaka je 1 promjenjivoj x jednakoj 2 varijabli x jednakoj 3 promjenjivoj x jednakoj 4 promjenjivoj x jednakoj 5 petlji je završeno.

Obrnuto, ako x bila jednaka 20 kada se pokreće ova petlja, pokrenula bi se samo jednom. Pa biste vidjeli jednu izjavu izlaza, x koracima na 21, a petlja bi završila jer 21 nije manja od 5. Izlaz bi mu bio:

Promjena x je jednaka 20 Petlji je završio. 

Kontrast s petljom dok i za

Kako se do-a petlja se razlikuje od ostalih petlji? Najvažnija razlika je u tome što petlje dok traje dok testiramo stanje nakon izvršavanje bloka koda, dok ostale petlje provjeravaju stanje prije izvođenje koda unutra.

Razmotrite ovaj osnovni pseudo kod dok petlja za usporedbu:

x = 10; dok je (x < 5)  output "The loop has run!"; x++;  

Ovdje, x je postavljeno na 10 i dok petlja to provjerava x je manje od 5 prije nego što se pokrene. Zbog toga se kod unutra nikad ne pokreće. Primjena iste logike na petlju "do dok" daje nam nešto poput ovoga:

x = 10; do output "Petlja se pokrenula!"; x ++;  dok (x < 5) 

Ova petlja ispisuje tekst jednom, u koracima x, a zatim nastavite dalje.

Imajte na umu da možete ponovo stvoriti funkcionalnost dok traje dok dodatni izraz ispred a dok petlja, ovako:

izlaz "Pozdrav!"; x ++; dok je (x < 5)  output "Hello!"; x++;  

Međutim, ovo je nespretno i nema razloga da to činite kada postoje petlje do-dok.

Za petlje

Petlje do-dok imaju sličnu razliku sa za petlje, za petlja definira varijablu, određuje koliko dugo treba petlja raditi i postavlja ponašanje za kraj svake iteracije.

Evo jednostavnog za petlja za usporedbu:

za (int i = 0; i < 5; i++)  output "The loop has run " + i + " times.";  

Ovo ističe dobar kontrast između do-a i za petlje - točno znate koliko puta za petlja će se pokrenuti jer ste postavili uvjete na početku. Ako gornji kôd izmijenite u petlju za vrijeme dok radite:

do output "Petlja se pokrenula" + i + "puta."; i ++;  dok ja < 5); 

Mogli biste završiti s problemom kada se petlja pokrene. Ako se niste inicijalizirali ja negdje drugdje, ne znate koja će mu biti vrijednost kad čini porcija traje - i pokrenut će se barem jednom. Ako ja bilo 500 kada bi se ta petlja pokrenula, izlaz ovdje bi bio netočan.

U sažetku:

  • do-while petlja je korisno kada želite izvršiti naredbu barem jednom i kontinuirano dok uvjet nije lažan.
  • dok petlje omogućuje vam da ponovite blok koda sve dok je uvjet istinit i zaustavite čim uvjet više nije istinit.
  • za petlju omogućuje vam da točno odredite koliko puta petlja treba pokrenuti postavljanjem vlastitih parametara.

Ostavljajući petlju do-dok

Naravno, morate imati uvjet izlaska za petlje do-while, kao i sve druge. Ako ne, mogli biste završiti s beskonačnom petljom. Razmotrite sljedeći isječak:

x = 5; do output "Ovo se nikad ne završava!";  dok (x < 10); 

Ako ne povećavate x bilo gdje drugdje u kodu, tada će se ta petlja pokrenuti zauvijek. Sada su ponekad beskonačne petlje korisne jer programer postavlja kôd da bi se drugdje izvukao iz petlje. No, češće od toga, početnici koderi slučajno upadaju u beskonačne petlje. 10 najgorih grešaka u programiranju u povijesti 10 najgorih grešaka u programiranju u svojoj povijesti, a kodirano je i uništenje u kovanima. Primjeri malo lošeg koda uzrokovali su katastrofu na velikoj razini. Slijedi 10 najgorih programskih pogrešaka u povijesti. .

Evo primjera prikladne beskonačne petlje. Recimo da dizajnirate igru ​​5 besplatnih alata za razvoj igara za igru ​​kako biste napravili vlastite igre 5 besplatnih alata za razvoj igara za izradu vlastitih igara Besplatni softver za razvoj igara odličan je način za pokretanje izrade videoigara. Sastavili smo najbolji softver za igre na tržištu. gdje korisnik kotrlja matricu i mora dobiti 6 da napusti matičnu bazu. Želite i dalje kotrljati matricu dok ne sleti na 6, a očito je morate bar jednom valjati. Tako biste mogli koristiti ovaj kod:

do int roll = slučajno (1, 2, 3, 4, 5, 6); ako (roll == 6) prijelom;  while (istina); 

dok (istina) uvjet znači da će se ta petlja pokrenuti zauvijek, što i želimo jer se korisnik mora valjati dok ne dobije 6. Bez pauza izjava, zaglavila bi se. Ali jednom kada korisnik izvrši 6, the ako Izjava postaje istinita i slijed ispadne iz petlje i prelazi na ono što slijedi.

Ne morate koristiti izjavu o prekidu ako to ne želite. Zapravo, vjerojatno je bolje izbjeći iskaze izjava ako možete. Oni otežavaju održavanje vašeg koda, a završavanje stanja je lakše pratiti. Dakle, dolje modificirani kod postiže istu svrhu:

do int roll = slučajno (1, 2, 3, 4, 5, 6);  dok (roll! = 6); 

Loša beskonačna petlja

Beskonačna petlja koju imate plan za izlazak je u redu. Ali ponekad ćete slučajno stvoriti beskonačnu petlju, kao u donjem primjeru:

int x = 7; učiniti x = 1; x = x + 2; izlaz "x jednak" + x;  dok (x < 10); 

Ovo može izgledati u koracima x po 2 svaka petlja i ponavlja se sve dok x ne bude manji od 10, ali pogledajte bliže. Jer petlja se postavlja x jednak 1 svaki put kad se pokrene, to je beskonačna petlja. Primijeti da x = 1 i x = x + 2 znači da x je uvijek 3 na kraju bloka bez obzira koliko puta se ovo izvodi, što znači x nikad nije manja od 10.

Pazite na izjave unutar svoje petlje koje nenamjerno mijenjaju varijablu svaki put kada se pokrene kako bi se izbjegle takve situacije.

Primjeri iz stvarnog svijeta

Gore smo raspravljali o nekim hipotetičkim primjerima, ali pogledajmo nekoliko korisnih primjera iz stvarnog svijeta petlje "do dok".

Ako stvarate petlju za čitanje podataka iz datoteke dok ne dođe do kraja, upotrijebili biste petlju dok ne radite. Očito morate zgrabiti barem jedan znak ako planirate čitati iz datoteke, tako da možete upotrijebiti petlju dok ne radite, poput ove (zahvaljujući korisniku Stack Exchangea Stevenu Burnapu na ovom primjeru):

do rezultat = readData (međuspremnik);  while (rezultat! = EOF); 

Bez vremena za rad, morat ćete upotrijebiti malo ružnije rješenje:

dok je (istina) rezultat = readData (međuspremnik); ako (rezultat == EOF) prekid;  

Drugi primjer uključuje prikupljanje ulaznih podataka od korisnika. Recimo da pišete program koji od korisnika traži da unese pozitivan broj. Koristeći vreme odmora, možete osigurati da je njihov unos prikladan:

do output "Unesite pozitivan broj:"; int input = getInput ();  while (ulaz) < 0); 

Pomoću ove petlje korisnik vidi upit za unos broja i jedanput unosi vrijednost. Ako upišu negativan broj, petlja se pokreće ponovo i od njih će se tražiti da upišu pozitivan broj dok ne udovolje. Ostale petlje jednostavno nemaju smisla za ovu vrstu akcije.

Spremni za upotrebu petlje do-dok?

Ispitali smo ankete o petljama "do-while", uključujući njihove osnovne principe, kako ih najbolje koristiti i kako ih usporediti s ostalim petljama. Ako se ne sjećate ničega drugoga iz ovog članka, znajte da su to petlje do-while kada nešto morate pokrenuti barem jednom, ali ne znate koliko će vam trebati prije pokretanja petlje.

Razmislite o situacijama poput ove u svojim programima i lako ćete pronaći mjesta na kojima se uklapaju petlje koje rade. Skoro svi najbolji jezici početnika 6 Najlakši programski jezici za učenje za početnike 6 Najlakši programski jezici za učenje za početnike Učenje za program znači pronalaženje pravog jezika jednako koliko i o procesu jedifikacije. Slijedi prvih šest najlakših programskih jezika za početnike. podržavajte petlje do-while, tako da ne biste trebali imati problema s njihovim provođenjem.

Ako učite osnove, obavezno pregledajte naše vrhunske trikove za savladavanje novog programskog jezika 7 Korisni trikovi za savladavanje novog programskog jezika 7 Korisni trikovi za savladavanje novog jezika programiranja U redu je biti pretjeran kada učite kodirati , Vjerojatno ćete zaboraviti stvari čim ih naučite. Ovi savjeti mogu vam pomoći da bolje zadržite sve te nove informacije. .

Koje biste druge situacije mogli razmišljati o tome gdje je vrijeme dogovora smisla? Raspravite i javite nam ako upotrebljavate petlje do-while u svojim programima u odjeljku za komentare!

Kreditna slika: Aaban preko Shutterstock.com




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.