DSDS - ps, Opgavesæt 3

Sidst opdateret 20-02-2008

DSDS

Opgavesæt 3: Programmering med PHP

I denne øvelse skal du udvikle en multiplikationstabelservice, en body-mass-index service og en terningkastservice.

Ved bedømmelsen lægges der blandt andet vægt på:

Opgave A (20 procent) - Multiplikationstabel

Skriv en funktion multabel() som der modtager et tal og udskriver en multiplikationstabel for dette tal. Skriv også kaldet til funktionen i samme fil multabel.php. Det kan antages at tallet for tabellen gives som en formvariabel (tal) til filen.

I browseren skal følgende tabel returneres ved forespørgslen multabel.php?tal=3:

0 gange 3 er 0
1 gange 3 er 3
2 gange 3 er 6
3 gange 3 er 9
4 gange 3 er 12
5 gange 3 er 15
6 gange 3 er 18
7 gange 3 er 21
8 gange 3 er 24
9 gange 3 er 27
10 gange 3 er 30

Husk: multabel.php?tal=3 er tilgængelig som $_REQUEST['tal']

Kopier besvarelsen til W:\f2008\DSDS\login\ps3\multabel.php.

Opgave B (20 procent) - Omvendt multiplikationstabel

Tilret løsningen til Opgave B således at multiplikationstabellen udskrives i omvendt rækkefølge:

10 gange 3 er 30
9 gange 3 er 27
8 gange 3 er 24
7 gange 3 er 21
6 gange 3 er 18
5 gange 3 er 15
4 gange 3 er 12
3 gange 3 er 9
2 gange 3 er 6
1 gange 3 er 3
0 gange 3 er 0

Kopier filen til W:\f2008\DSDS\login\ps3\multabel2.php.

Konstruer en fil multabel.html indeholdende to formularer <form>...</form> til indtastning af data til henholdsvis multabel.php og multabel2.php. Kopier filen til W:\f2008\DSDS\login\ps3\.

Lav et sitemap/flowchart for applikationen. dvs multabel.html, multabel.php og multabel2.php

Opgave C (30 procent) - Body mass index

I denne opgave skal du modificere body mass index eksemplet fra forelæsning 2 således at det er muligt for en bruger at indtaste vægt og højde i en formular og få beregnet sit body mass index. Servicen skal bestå af to filer bmi.html, indeholdende en formular med to indtastningsfelter, og filen bmi.php der beregner brugerens body mass index.

Kopier filerne bmi.html og bmi.php til W:\f2008\DSDS\login\ps3\.

Lav et sitemap/flowchart for applikationen. dvs bmi.html og bmi.php

Opgave D (30 procent) - Terningservice

Terninger

I denne opgave skal du implementere en webservice der kan kaste en terning med et vilkårligt antal sider og vise resultatet i en browser. Servicen skal benytte et kald til funktionen rand(1,N), som returnerer et tal mellem 1 og N (begge inklusive) - se forelæsning 4. Servicen skal implementeres som to filer, en HTML-fil terning.html, indeholdende en formular til indtastning af antallet af sider på terningen, og en PHP-fil terning.php til beregning og præsentation af udfaldet. PHP-siden med præsentationen af udfaldet skal indeholde et link tilbage til HTML-siden.

Benyt eventuelt value="6" i input-feltet i formularen til at foreslå et slag med en 6-sidet terning.

Kopier filerne terning.html og terning.php til W:\f2008\DSDS\login\ps3\.

Og den avancerede løsning.... For dem der har lyst

Modulus operatoren (%) fortæller os hvad resten er når to tal divideres

Kan man bruge den til at tjekke at det er et lige tal der er indtastet? Tre sidede terninger er så mærkelige.


Martin Elsman - mael@itu.dk
Jonas Holbech - holbech@itu.dk

Valid HTML 4.01 Transitional