Kontrollstrukturer (Kapittel 3)

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Trykk på mus eller tastatur for neste bilde…
Etablering av effektiv produksjon på tvers av landegrenser
Hva er migrasjon og hva gjør Røde Kors Ungdom?
Litt mer om PRIMTALL.
Hjemmeoppgave 1: Å høre etter NAVN: ……………………………….. DATO: ……………………….
Grafisk design Visuell kommunikasjon
Filbehandling (Kapittel 8)
Høgskolen i Oslo Webprogrammering Grunnleggende PHP.
Gjenfinningssystemer og verktøy II
Matematisk Induksjon.
Seksjon psykoser, sykehuset Levanger
Monopolistisk konkurranse og oligopol
Rettigheter og plikter i arbeidslivet
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
TEK kap. 11 Sikkerhet ved brann
Gjenfinningssystemer og verktøy II
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
1 Øvingsforelesning Andreas Knudsen Nils Grimsmo
Generelt I/O if/else Funksjoner Lists Løkker Dictionaries Annet Listebehandling Klasser Python med noen algdat-anvendelser Åsmund Eldhuset asmunde *at*
Kvalitetssikring av analyser til forskningsbruk
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
INF150 Programmering mandag 11.9
PHP oversikt. Basis egenskaper Grensesnitt med web tjener Skripttaggene Kommentartegn Ikke case sensitiv Avslutningstegn for instruksjoner.
1 Kap 08 Kø. 2 Kø - Definisjon En kø (eng queue) er en lineær struktur hvor elementer kan innsetttes kun i den ene enden av listen, kalt bak, og fjernes.
Kap 02 Tabeller / Tabelloperasjoner. Enkeltvariable Les inn nedbørmengde for årets 12 måneder: Les n1 Les n2 … Les n12 n1 n2 n12.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Post 4, sykehuset Levanger
Skriv om slik at setningene betyr omtrent det samme
Kapittel 4 oppgave i Sett inn preposisjoner eller adverb som passer.
Kapittel 1 oppgave b Sett inn adjektivene i riktig form
Kapittel 1, oppgave b) å kaste loss å seile uvær (n) kuling (m)
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
GRØNNALGER BRUNALGER RØDALGER
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Grunnleggende PHP - Ronny Mandal1 Grunnleggende PHP.
Regulære uttrykk.
Stringmanipulasjon, RegEx og validering
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
1.Blir Gud æret gjennom det? 1Kor 10:31 2.Kommer jeg til å skamme meg over å gjøre dette når Herren kommer tilbake? 1Joh 2:28 3.Er det ”av verden”?Joh.
Figur 1 Behov. Figur 2 Behov Figur 3 Prioritering/ressursinnsats.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Samdata 2012 Somatikk.
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
Sett inn preposisjoner eller adverb som passer
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Java 5 Litt mer om løkker Arrayer Metoder Ole Christian Lingjærde
Dagligbankundersøkelsen 2014
Thon Hotel Backlund, Levanger
Telenors satsing på fri programvare Paul Skrede - GoOpen 2009.
Kapittel 1, oppgave i) Sett inn preposisjoner eller adverb som passer.
Dagligbankundersøkelsen Fakta Dagligbankundersøkelsen intervju Befolkning 15 år + TNS Gallup Forfatter Bente Pettersen Roar Thorvaldsen.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Sett inn preposisjoner eller adverb som passer.
Kapittel 6 Kveldsmat hos familien Dalilah.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Basisgrupper en nær professoren-opplevelse Knut Kaasen Nordisk institutt for sjørett Det juridiske fakultet Knut Kaasen 1.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
TDT4105 Informasjonsteknologi, grunnkurs
For, While, prosedyrer m/ parametere, funskjoner
Utskrift av presentasjonen:

Kontrollstrukturer (Kapittel 3)

Mål Forstå kontrollstrukturer i PHP Vite forskjell på ulike typer løkker og beslutninger Være klar over noen kilder til feil

Hvordan utføres et script? Fra topp til bunn Kontrollstrukturer brukes til å bestemme flyten til et script To kategorier Beslutninger Løkker

Kontrollstruktur Hode Kropp Består av et kodeord og et uttrykk kodeord(uttrykk) { kroppen inneholder koden som skal kjøres dersom uttrykket er sant } Eksempel: if($a == $b) { echo “$a er lik $b”; Hode Består av et kodeord og et uttrykk Kropp Inneholder koden som skal utføres dersom uttrykket i hodet evalueres til sant

Beslutninger Kontrollerer hvorvidt noe skal utføres eller ikke To hovedstrukturer if switch

if Består av et hode med en betingelse Kropp med kode som kjøres dersom betingelsen er sann if(betingelse) { // Utføres hvis betingelsen // er sann } Eksempel: <?php $a = true; if($a) { echo $a; $b = “Petter Solberg”; if($b) { echo $b; ?>

if-else Alternativ dersom betingelsen er usann if(betingelse) { // Utføres hvis betingelsen // er sann (true) } else { // er usann (false) } Eksempel: <?php $a = true; if($a) { echo “$a er sann<br/>\n”; echo “$a er usann<br/>\n”; ?>

if-elseif-else Kombinasjon av flere uttrykk som kan slå til if(uttrykk 1) { // Utføres hvis uttrykk 1 // er sann } else if(uttrykk 2) { // Utføres hvis uttrykk 2 } else if(uttrykk 3) { // Utføres hvis uttrykk 3 } else { // Utføres hvis ingen av // uttrykkene er sanne }

Stalltips - Bruk av else Det kan være vanskelig å forutsi under hvilke forhold et script kjører Alltid lurt å legge inn kode i else-blokker selv om kontrollen lite sannsynlig kommer til å ende opp i else-blokken Kan spare deg for timer med leting etter hva som er galt med scriptet ditt

Alternativ til if-else if-else er den definitivt mest brukte kontrollstrukturen Kan skrives på en linje med en alternativ syntaks $verdi = (uttrykk) ? “sant” : “usant”; Eksempel: <?php $svaret = ($alder >= 18) ? “myndig” : “ikke myndig”; echo “Du er $svaret”; ?>

Sammensatte uttrykk Uttrykk av delbetingelser satt sammen med de logiske operatorene && og || (and og or) Bruk paranteser rundt hver delbetingelse for å være sikker på at alle delene blir evaluert i riktig rekkefølge

Eksempel på et sammensatt uttrykk if( ($alder < 18) or ($alder >= 67) ) { echo “Rabatt, du er pensjonist eller umyndig”; } else { echo “Du er voksen og får ikke rabatt”; } // eller if( ($alder < 18) || ($alder >= 67) ) {

Tilsvarende med and (&&) if( ($alder >= 18) and ($alder < 67) ) { echo “Du er voksen og får ikke rabatt”; } else { echo “Rabatt, du er pensjonist eller umyndig”; } // eller if( ($alder >= 18) && ($alder < 67) ) {

switch Alternativ til if-elseif-else switch(uttrykk) { case verdi 1: // utføres hvis uttrykket er lik verdi1 break; case verdi 2: // utføres hvis uttrykket er lik verdi2 case verdi 3: // utføres hvis uttrykket er lik verdi3 default: // utføres hvis ingen case'er slår til } Alternativ til if-elseif-else Sammenligner ett uttrykk mot en rekke mulige verdier

Eksempel på bruk av switch <?php switch(date(“l”)) { case “Monday”: $dag = “mandag”; break; case “Tuesday”: $dag = “tirsdag”; break; case “Wednesday”: $dag = “onsdag”; break; case “Thursday”: $dag = “torsdag”; break; case “Friday”: $dag = “fredag”; break; default: $dag = “endelig helg!!!”; } echo “Hvilken dag er det i dag?<br/>\n”; echo “Det er $dag<br/>\n”; ?>

Løkker Repeterer en kodeblokk et visst antall ganger Gjenntas så lenge betingelsen som kontrollerer strukturen evalueres til sann (true) Tre hovedtyper for while foreach

Hvorfor løkker? Kan gjøre scriptet ditt mer konsist Hvis du har lignende sekvenser av kode kan det lønne seg å legge dem i en løkke for å redusere antall kodelinjer Kan gjøre scriptet ditt mer fleksibelt Løkker gjør deg istand til å repetere en sekvens med kode til du når enden av en datastruktur som for eksempel et array eller en fil Uten en løkke må du vite antall elementer i et array eller lengden på en fil på forhånd

while Utfører en blokk med kode så lenge uttrykket er sant while(uttrykk er sant) { gjør det som står i kroppen } Eksempel: <?php $i = 0; while($i < 10) { echo $i.”<br/>\n”; $i++; // øk $i med 1 ?> Utfører en blokk med kode så lenge uttrykket er sant

do-while do { Gjør det som står i kroppen minst en gang } while(uttrykk er sant); Eksempel: <?php $i = 10; echo “Tallet er $i<br/><\n”; } while(0 < $i--); ?> Brukes til å forsikre seg om at kodeblokken minst evalueres en gang

for-løkker Organiserer alle uttrykk som styrer løkka i hodet for(initieringsuttrykk; testuttrykk; modifikasjonsuttrykk) { Gjør det som står i kroppen så lenge “testuttrykk” er sant } Eksempel: <?php for($i = 0; $i < 10; $i++) { echo “Tallet er $i<br/>\n”; ?>

Eksempler på for-løkker <?php // Skriv ut hvert tredje tall for($i = 0; $i < 20; $i++) { if($i % 3 == 0) { echo “Tallet er $i<br/>\n”; } // Skriv ut hvert tredje tall med å endre // modifikasjonsuttrykket istedet for($i = 0; $i < 20; $i += 3) { ?>

Flere eksempler på for-løkker <?php // Modifikasjonsuttrykket kan // være mer komplekst for($i=0; $i<20; print “$i<br/>\n”, $i++); // Uttrykkene kan også være tomme $i = 0; for(;;) { if($i >= 20) { break; } $i++; ?>

Tilsvarende med while-løkke <?php // Skriv ut hvert tredje tall med while $i = 0; while($i < 20) { echo “Tallet er $i<br/>\n”; $i += 3; // øk $i med 3 } ?>

Faremoment Dersom kroppen til en kontrollstruktur består av én setning kan klammene sløyfes Potensiell kilde til feil Dersom du legger til flere linjer til kontrollstrukturen, husk å få på klammeparantesene

Eksempler på faremomenter <?php if( betingelse er sann ) gjør dette; else dette gjøres uansett; while( betingelse er sann ) gjenta dette (og unngå uendelig løkke); men denne linjen gjøres bare en gang; for( startverdi; betingelse; endring ) gjenta dette; ?>

Nøsting Mulig å nøste kontrollstrukturer inn i andre kontrollstrukturer Øker fleksibiliteten

Eksempel på nøsting: Den lille gangetabellen <?php echo “<table border=\”1\”>\n”; for($i=1; $i<=9; $i++) { echo “\t<tr>\n”; // starter på ny rad for($j=1; $j<=9; $j++) { // multipliserer ytre med indre teller $produkt = $i * $j; echo “\t\t<td>$produkt</td>\n”; } echo “\t</tr>\n”; // avslutter rad echo “</table>\n”; ?>

Tvinge frem avslutning av en kontrollstruktur Betingelser for å kontrollere en kontrollstruktur kan bli komplekse To nøkkelord break – tvungen avslutning av en kontrollstruktur continue – flytter kontrollen umiddelbart til starten av en løkke

Eksempel på bruk av break <?php while(true) { echo “<p>Denne setningen skrives ut</p>\n”; break; echo “<p>Dette vil ikke skrives ut</p>\n”; } for($i=0; $i<10; $i++) { echo “Tallet er $i<br/>\n”; if($i == 5) { ?>

Eksempel på bruk av continue <?php for($i = 15; $i < 103; $i += 6) { if( $i % 7 == 0 ) { echo “Tallet er delelig med 7<br/>\n”; continue; } echo “$i<br/>\n”; ?>

Alternativ syntaks for kontrollstrukturer Fjerner nødvendigheten av klammeparanteser vha et kolon (:) og en end<struktur>; Gjelder for alle if(): endif; while(): endwhile; for(;;): endfor; switch(): endswitch; <?php if($a == 5): echo "a er lik 5"; echo "..."; elseif($a == 6): echo "a er lik 6"; echo "!!!"; else: echo "a er hverken 5 eller 6"; endif; ?>