Programmering B PHP Lektion 2 Mahmud Al Hakim Folkuniversitetet mahmud@dynamicos.se 1 1
Repetition Programmeringsspråken brukar delas upp i två grupper efter hur programmen kompileras och körs. Beskriv skillnaden mellan ” Kompilerande språk” och ” Interpreterande språk”! Ge några exempel. Vad är fördelar och nackdelar med respektive grupp? Vad är en kompilator? När man "kompilerar" ett program så utför man egentligen 3 steg. Ett fjärde steg utförs precis innan programmet laddas för att köras. Beskriv dessa steg? PHP - ett skriptspråk för webbservrar. Vad är en webbserver? Ge ett exempel. Vad är en variabel? Hur deklarerar man variabler i PHP? Alla programmeringsspråk arbetar med olika datatyper. Ge Exempel på två skalära datatyper i PHP. 2 Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2010 2
Övningar Skapa en PHP-sida som skriver ut ditt namn i webbläsaren. Skapa ett formulär som innehåller två textfält och en knapp. I textfälten ska för- och efternamn skrivas. Koppla formuläret till en PHP-sida som hämtar data från formuläret och skriver hela namnet i webbläsaren titelrad. Copyright, www.dynamicos.se, Mahmud Al Hakim, mahmud@dynamicos.se, 2010 3
Operatorer En operator är något som verkar på en eller flera termer. Exempel på operatorer är +, - , * och / som gör precis vad ni tror att de gör. Dessa kallas ”Aritmetiska operatorer”. <?php echo 1 + 2; echo 2 - 1; echo 2 * 3; echo 10 / 2; echo 10 % 3; /* % kallas modulus ger Resten av division mellan 10 och 3 */ ?>
Tilldelningsoperatorer Det finns bara en tilldelningsoperator och den heter helt enkelt "tilldelas". Den representeras av ett lika-med-tecken (=). <?php $a = 1; $b = 2; $c = $a + $b; /* Utläses, c tilldelas värdet av a + b */ echo $c; ?>
+= och -= <?php $a += 5; //Samma sak som $a = $a + 5 echo "<br />"; echo $a; $a -= 5; //Samma sak som $a = $a - 5 ?>
Jämförelseoperatorer Jämförelseoperatorer arbetar på tal och returnerar alltid ett värde av typen boolean. Det vill säga true eller false.
Strängoperatorer <?php $a = "Kalle "; //$a tilldelas "Kalle " $t = $a . "Anka"; //$t innehåller nu "Kalle Anka" $s = "Kalle "; $s .= "Anka"; //Samma sak som $s = $s . "Anka" ?>
Selektioner (Villkorssatser) I de allra flesta programmeringsspråk finns det selektionssatster. Precis som namnet antyder handlar det om val. Programmet kan ta olika vägar beroende på olika villkor. Vanliga selektionssatser är if-satsen och if-else-satsen.
If-satsen If-satsen fungerar som så att om något är sant så gör en sak, annars inte. <?php $tal = $_GET['tal']; echo "Du angav tal: $tal\n"; if ($tal > 100) { echo "$tal är större än 100"; } ?>
If-else-satsen <?php $tal = $_GET['tal']; echo "Du angav tal: $tal <br />"; if ($tal > 100) { echo "$tal är större än 100"; }else{ echo "$tal är mindre än 100"; } ?>
if-elseif <?php $tal = $_GET['tal']; echo "Du angav tal: $tal <br />"; if ($tal > 100) { echo "$tal är större än 100"; }elseif ($tal < 100){ echo "$tal är mindre än 100"; }else{ echo "$tal är lika med 100"; } ?>
Iterationer (Upprepningar, Loopar) Iteration är ett annat ord för upprepning Datorprogram är extremt bra på att göra saker om och om igen, utan att ledsna eller göra fel. Till detta använder man någon typ av iterationssats t.ex. while-satsen, do-while- satsen och for-loopen.
While-sats While-satsen är en vanlig iterationssats. Den fungerar så att en sats (som kan vara ett block) körs om och om igen så länge som ett test är sant. <?php $a = 0; while ($a < 1000) { echo "1 "; $a = $a + 1; } ?>
do-while-sats Do-while liknar på många sätt den vanliga while- satsen. Den enda skillnaden är att det som står i satsen alltid kommer att utföras åtminstone en gång. <?php $i = 5; do { echo "$i <br />"; $i = $i + 5; } while ($i <= 50); ?>
for-loop for-loopen skriver man med det reserverade ordet for följt av en parentes. Inom parentesen skall det stå tre stycken uttryck. Dessa tre skall se ut enligt följande. Det första kommer att exekveras en gång innan loopen börjar. Det andra skall vara ett booleskt uttryck. Loopen kommer att gå så länge detta är sant. Det tredje körs efter varje gång som loopen har gått.
for-loop – Exempel 1 <?php for ($i = 0; $i <= 10; $i++) { echo "$i <br />"; } ?>
for-loop – Exempel 2 <?php for($i = 10;$i<=100;$i+=10) { echo "$i <br />"; } ?>
Lite om Algoritmer En algoritm är en metodisk och exakt beskrivning av hur man löser ett problem. En algoritm är i mångt och mycket samma sak som ett program! Skillnaden är att vi kan beskriva algoritmer oberoende av programspråk. Programmering går ut på att beskriva algoritmer så att de kan exekveras av maskiner och dessutom förstås av människor. Källa: http://www.csc.kth.se/utbildning/kth/kurser/DD1340/inda09/algorit hms/algoritmer/
Algoritmer - Exempel Ett exempel på en vanlig typ av algoritm är en sorteringsalgoritm, vars uppgift är att sortera data. Det skulle exempelvis kunna vara en samling personnamn som ska sorteras i bokstavsordning. Läs mer här: http://sv.wikipedia.org/wiki/Sorteringsalgoritm
Pseudokod Pseudokod är en kompakt och informell högnivåbeskrivning av en algoritm avsedd för människor snarare än för maskiner. I pseudokod utelämnar man ofta detaljer som inte är kritiska för förståelsen, till exempel variabeldeklarationer och använder vid behov naturligt språk eller matematisk notation. Pseudokod används ofta för att beskriva algoritmer i texter eller för att diskutera algoritmer innan man kodar dem. Källa: http://www.csc.kth.se/utbildning/kth/kurser/DD1340/inda09/algorit hms/algoritmer/
Pseudokod - Exempel Läs in två tal Beräkna summan av talen Skriv en pseudokod till ett program som ska summera två tal och visa resultatet på skärmen. Exempel på svaret: Läs in två tal Beräkna summan av talen Skriv ut summan