10.2 CASE ULAM

Top  Previous  Next

Een jonge sporter komt bij je babbelen en zegt dat hij voor wiskunde strafwerk heeft gekregen. Hij moet van zijn docent alle getallen van ULAM berekenen van 1 – 100.

Jij had er nog nooit van gehoord maar ULAM heeft een soort reeks bedacht voor een getal:
Is een getal oneven, dan vermenigvuldig je dit met 3 en je telt er 1 bij op.
Is het getal even dan deel je het door twee.

De ene keer duur het langer dan de andere keer maar uiteindelijk eindigt de reeks altijd bij 1.

Jij denkt even na en vermoed dat je wel een programma kunt schrijven dat deze jonge sporter kan helpen.

A.Maak een formulier dat om een getal vraagt. Noem dit ulam.html.
 
B.Maak een programma ULAM.php dat dit getal opvang en de reeks van ULAM laat zien voor het ingevoerde getal..
Tip: Om te kijken of een getal even of juist oneven is kun je het door 2 delen en dan kijken of er een rest van 1 is (oneven) of een rest van 0 (dan is het getal even).
PHP kent naast * / + en – ook de %. Dit % bepaalt de rest van een deling.
Voor dit programma heb je dus een lus nodig die net zolang doorgaat totdat het getal 1 is.
Verder kijk je in de herhaling steeds of het even of oneven is om de juiste bewerking te kiezen.
Toon alle getallen op het scherm.
 
C.Het wordt nog veel mooier als de getallen in een tabel worden getoond.
Geef de tabel een breedte van 8 kolommen.
Je moet dus bijhouden, of er gewoon een <td></td> wordt gebruikt of dat er ook een nieuwe tabel regel nodig is. </tr><tr>.
 
D.Toon na afloop van de reeks hoeveel getallen er nodig waren.
Is dit aantal groter dan 50, dan wordt dit in groen getoond.
Is het kleiner dan 10, dan in rood, en daar tussen wordt de regel in het geel getoond.
 
E.Je kunt, in plaats van steeds een getal te maken ook zelf een loop maken van 1 t/m 100.
Op die manier kan je 100 keer de reeks berekenen.
Laat nu niet de getallen zien maar alleen de uitkomst,  1 à xx,  2à yy enz.
 
F.Neem dit ook op in een tabel. Gebruik daarvoor de kleurcodering van opgave D.