Stavek switch, zanka foreach

Slides:



Advertisements
Similar presentations
Ma.
Advertisements

THE PAST SIMPLE TENSE navadni preteklik.
Click on each of us to hear our sounds.
THE PRESENT SIMPLE TENSE
Miha Pihler MCSA, MCSE, MCT, CISSP, Microsoft MVP
HTML (Hypertekst Markup Language)
Uvod v C# Drugi del. Dedovanje Sintaksa Prirejanje in preverjanje tipov.
1 EDUKACIJA BOLNIKOV pred uvedbo zdravila MAREVAN (tudi Sintrom) Alenka Mavri.
Automation and Drives L Innovative Switching & Control OGO! - The internal qualities count.
TIPI PODATKOV. Načrt Najprej je potrebno dobro premisliti o problemu Katere podatke hranimo, kako podatke razporediti v tabele, kakšne vrste podatkov.
Installfest delavnica mag. Aleš Košir Lugos
SREČNO NOVO LETO 2009 Lara Koren, 2.c.
Števila in izrazi Naslov teme:Spremenljivka, operator, izraz in funkcija ure: 9 in 10 Učna metoda: demonstracija, samostojno delo Učni pripomočki: Računalnik,
Visoka razpoložljivost podatkovnih zbirk
Enosmerni (DC) izmenični (AC) tok, napetost, signal
Programski jezik C funkcije, kazalci, dinamična alokacija,
6. poglavje: Računalniška vezja
Tečaj SPSS in statistike
Delo s podatkovnimi bazami
R V P 2 Predavanje 04 Animacija RVP2 Animacija.
Delo s podatkovnimi bazami
Grafični vmesnik - GUI Izdelava obrazca: lastnosti, odzivne metode
ODBOJKA Projektna naloga iz Multimedije
ODBOJKA Projektna naloga iz Multimedije
Programski jezik C.
DELOVANJE POVEZAV V STANOVANJU
ENERGETIKA IN ENERGETSKE NAPRAVE
THE PAST CONTINUOUS TENSE
Fotografiranje hrane Predmet: Tipografija in reprodukcija.
CheckBox RadioButton RadioGroup
Modulacija in demodulacija signalov (prirejeno po gradivu avtorja N
Mag. Rado Wechtersbach Obdelava podatkov Programiranje.
THE PAST SIMPLE TENSE navadni preteklik.
Programski jezik C Strukture , njihova dinamična tvorba in uporaba WEB.
Uporaba vrtilnih tabel za analizo množice podatkov
Agencija Republike Slovenije za okolje
REPEAT…UNTIL Naredbe ciklusa.
IP naslovi Mojca Ciglarič.
Microsoftove rešitve za šolstvo
MS Excel, Open Office Calc, Gnumeric …
Operacijski sistemi Lucijan Katan, 1.at Mentor: Branko Potisk.
Prvi program, izpisovanje na zaslon (konzolo)
OGM – VAJE RAČUNALNIŠKI PROGRAMI: Amses FRAME 2D
Објектно орјентисано програмирање
Algoritmi.
OPIS RASTLINE NAVADNI MACESEN.
Šalej Mirko Iskraemeco, d.d. Kranj
Variables, Loops, Decision Statements, etc
Arrays and strings -1 (nizovi i znakovni nizovi)
Utišajmo mobilne telefone !
Binarna logistična regresija
UML – je standardno pogoj za univerzalno ?
Ela Reven, Katarina urbančič
Ugani število Napišimo program, ki si “izmisli” naključno število, potem pa nas v zanki sprašuje, katero je izmišljeno število. Če število uganemo, nas.
E-mobilnost in njena integracija v elektroenergetski sistem
Element form Milena Kostadinović.
MessageBox.
CONDITIONAL CLAUSES: TYPE 1 Pogojnik za prihodnost
Obravnava izjem (exception handling).
in osnove programa Microsoft Access
Ključne reči,identifikatori, konstante i promenljive
Razlaga korelacije vzročna povezanost X in Y ???
Informacijska varnost v Oracle okolju
OD ELEKTRARNE DO VTIČNICE
Do While ... Loop struktura
Iteracije in rekurzija
Neža Dolmovič,6.b Mentor: Boštjan Železnik Datum: 11. april
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Welcome back to Software Development!
Presentation transcript:

Stavek switch, zanka foreach Srečo Uranič

Stavek switch Stavek switch uporabimo ko želimo program razvejiti na več vej.  Sintaksa:   switch (spremenljivka) //POZOR: spremenljivka ne more biti poljubnega tipa { case vrednost1: stavek1; break; case vrednost2: stavek2; break; . . . case vrednostN: stavekN; break; default: stavki; }  Stavek break v vsaki veji je obvezen - za razliko od switch stavka v C++, v C# ni dovoljen impliciten prehod iz ene case veje v drugo, razen če je veja prazna. Stavki, ki so zapisani v veji default se izvedejo le v primeru, da ni bil izveden noben case stavek.

Stavek switch Vrednost, ki jo testiramo v switch stavku mora biti tipa bool, char, string, int (števni tipi): dovoljeni so še nekateri drugi tipi, ki pa jih zaenkrat še ne poznamo! Posamezne veje se ne smejo ponavljati: short stevilo = 0; switch (stevilo) { case 0: case 0: //NAPAKA Console.WriteLine("NIČ"); break; . . . }

Stavek switch Vsaka veja switch stavka se mora zaključiti z enim od stavkov break, continue ali pa return short stevilo = 0; switch (stevilo) { case 0: Console.WriteLine("NIČ"); return; case 1: Console.WriteLine("ENA"); }

Switch stavek: primer S pomočjo switch stavka ugotovimo, koliko je v prebranem stavku pik, vejic in dvopičij! Console.Write("Stavek: "); int pike = 0, vejice = 0, dvopicje = 0; string stavek = Console.ReadLine(); for (int i = 0; i < stavek.Length; i++) { switch (stavek[i]) case '.': pike++;break; case ',': vejice++; break; case ':': dvopicje++; break; } Console.WriteLine("Število pik: " + pike + "\nvejice: " + vejice + "\ndvopičja: " + dvopicje); Console.ReadKey();

Switch stavek – gnezdenje Switch stavke lahko tudi gnezdimo: int[] tabela = { 14, 10, 4 }; switch (tabela[0]) { case 4: Console.WriteLine(4); break; case 14: Console.WriteLine(14); // uporaba gnezdenega switch stavka switch (tabela[1]) case 10: Console.WriteLine(10); }

Switch stavek - vaja S switch stavkom lahko testiramo tudi niz string value = "tenis"; // uporaba switch stavka pri nizu switch (value) { case "tenis": Console.WriteLine("TENIS"); break; case "squash": Console.WriteLine("SQUASH"); case "badminton": Console.WriteLine("BADMINTON"); }

Switch - vaja Naslednje zaporedje stavkov spremeni tako, da namesto if stavka uporabiš switch stavek Console.Write("Poljubna cifra: "); int cifra = Convert.ToInt16(Console.ReadLine()); if (cifra == 3) Console.WriteLine("cifra = 3"); else if (cifra>5 && cifra<10) Console.WriteLine ("cifra je med 5 in 10"); else Console.WriteLine("Nisi vnesel cifre!"); //REŠITEV: switch (cifra) { case 3: Console.WriteLine("cifra = 3");break; case 5: case 6: case 7: case 8: case 9: Console.WriteLine ("cifra je med 5 in 10"); break; default: Console.WriteLine("Nisi vnesel cifre!"); break; } Console.ReadKey();

Switch - vaja Z uporabo switch stavka oblikujte izpis: ocena 1 do 5 pomeni nezadostno, ocena 6 pomeni zadostno, ocena 7 pomeni dobro, ocena 8 pomeni prav dobro, cena 9 ali 10 pomeni odlično! Random naklj = new Random(); int ocena = naklj.Next(5, 11); switch (ocena) { case 1: case 2: case 3: case 4: case 5: Console.Write("nezadostno"); break; case 6: Console.Write("zadostno"); break; case 7: Console.Write("dobro"); break; case 8: Console.Write("prav dobro"); break; case 9: case 10: Console.Write("odlično"); break; } Console.ReadKey();

Stavek switch – primer: avtomat za kavo V switch stavku lahko uporabimo tudi stavek goto Console.WriteLine("Vrsta kave: 1=Mala 2=Srednja 3=Velika"); Console.Write("Vnesi ustrezno številko: "); string s = Console.ReadLine(); int n = Convert.ToInt16(s), cost = 0; switch (n) { case 1: cost += 50; break; case 2: cost += 25; goto case 1; case 3: cost += 50; goto case 1; default: Console.WriteLine("Napačen vnos. Izberi 1, 2, al 3."); break; } if (cost != 0) Console.WriteLine("Vstavite prosim {0} centov.", cost); Console.WriteLine("Hvala!");

Zanka foreach foreach je zanka, v kateri se ponavlja množica stavkov za vsak element neke tabele ali množice objektov. V zanki NE uporabljamo indeksov, elementi si sledijo PO VRSTI Zanke ne moremo uporabiti za spremembo elementov tabele, po kateri se sprehajamo, oz. za spremembo objektov. Na začetku foreach zanke je ustvarjena spremenljivka poljubnega tipa, ki avtomatično pridobi vrednost posameznega elementa neke tabele, zaradi česar ima ta oblika zanke prednost pred klasičnim for stavkom za obdelavo neke tabele. Uporabimo jo lahko le za obdelavo cele tabele, ne pa tudi za obdelavo le njenega dela. Iteracija poteka vedno od indeksa 0 do indeksa Length -1, iteracija v obratni smeri pa NI možna.   Splošna oblika foreach zanke: foreach ( tip spremenljivka in tabela) { ..stavki.. //poljuben stavek ali več stavkov }

Foreach - primer Uporaba zanke foreach na tabeli nizov: string[] domačeŽivali = {"pes", "mačka", "papagaj" }; // iteracija s pomočjo zanke foreach foreach (string žival in domačeŽivali) { Console.WriteLine(žival); }

Foreach - primer Primer obdelave tabele s pomočjo zanke foreach: int[] vrednosti = { 1, 2, 3 }; int rezultat = 0; foreach (int vrednost in vrednosti) { rezultat += vrednost; } Console.WriteLine("Rezultat: " + rezultat);

Foreach: obdelava niza Za vsakim znakom v nizu dodajmo po en presledek: string znaki = "abcdefg"; //foreach zanka za dostop do vseh znakov v stringu string znakiSPresledki = "";   foreach (char znak in znaki) znakiSPresledki += znak + " "; //znakiSPresledki dobi vrednost "a b c d e f g "

Foreach: uporaba Zanko foreach uporabljamo za obdelavo tabel (iteracijo skozi tabelo) in nizov, ter za obdelavo kakršnihkoli zbirk podatkov.

Foreach - vaje Ustvarimo enodimenzionalno tabelo 10 decimalnih števil in jo napolnimo z naključnimi decimalnimi števili med 0 in 1, zaokroženimi na 3 decimalke. Vsebino tabele nato izpišimo s pomočjo zanke foreach! decimal[] stevila = new decimal[10]; string stringstevilo = ""; Random naklj = new Random(); for (int i = 0; i < 10; i++) { //generiranje realnega števila med 0 in 1, zaokroženega na 3 decimalke stevila[i] = Math.Round((decimal)naklj.NextDouble(), 3); } Console.WriteLine("Tabela 10 naklj. realnih števil. Za izpis uporabimo foreach zanko)\n\n"); foreach (decimal stevilo in stevila) stringstevilo += stevilo.ToString() + " "; Console.WriteLine("Vsebina tabele:\n" + stringstevilo);