Table of Contents

Repetition

Villkor och inmatning

1. Gör en sida med ett formulär där du matar in två namn via ett formulär. Om namnen är lika ska det skrivas ut “LIKA. Namnet är ” + namnet. Annars skrivs det ut “OLIKA. Namnen är ” + namn1 + “ och ” + namn2.

2. Gör en sida med ett formulär där man matar in ett tal i ett formulär. Om talet är större än 1000 så skrivs det ut “STORT”, annars skrivs det ut “LITET”.

3. Gör en sida där man matar in ett tal i ett formulär. Om talet är större än 20 och mindre är 30 så skrivs det ut “HEJ”. Lös uppgiften med endast en if-sats (förutom if-satsen för isset).

4. Gör en sida där man matar in ett tal i ett formulär. Om talet är mindre än 20 eller större än 30 så skrivs det ut “HEJ”. Lös uppgiften med endast en if-sats (förutom if-satsen för isset).

Loopar

5. Gör en sida som använder sig av en while-sats per deluppgift för att skriva ut talen:
a) 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
b) 10 9 8 7 6 5 4 3 2 1 0
c) 5 20 35 50 65 80 95 110

6. Gör en sida där man matar in ett tal i ett formulär. Programmet ska sedan skriva ut alla tal från 1 till och med det inmatade talet. Talen ska skrivas ut på samma rad med mellanrum mellan talen.

7. Gör en sida där man matar in ett tal i ett formulär. Om talet är större än 100 så ska programmet beräkna summan av alla tal från 100 till det inmatade talet. Skriv sedan ut svaret.

8. Gör en sida där man matar in ett tal i ett formulär. Om talet är mellan 5 och 15 så ska programmet beräkna produkten av alla tal från 4 till det inmatade talet. Skriv sedan ut svaret.

Arrayer

9. Gör ett program där man matar in ett tal från 1 till 7 i ett formulär. Numren motsvarar dag under en vecka.
Programmet ska kontrollera så att det inmatade talet verkligen är mellan 1 och 7.
Lägg in arrayen $days = ['måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag', 'söndag'] i ditt program.
Programmet ska sedan, med hjälp av arrayen, skriva ut namnet på dagen som motsvarar siffran.

10. Gör ett program där du lägger in arrayen $tal = [5,9,13,7,6,4,6,7,4,1,6,9]
a) Sortera arrayen med det största talet först och skriv ut talen med hjälp av en loop.
b) Beräkna summan av talen i arrayen och skriv ut svaret. Du får inte använda array-funktioner som array_sum().

11. Lägg in arrayen $bilar = ['Volvo', 'Ford', 'BMW', 'Saab', 'Opel', Volkswagen', 'Rolls-Royce', 'Ferrari', 'Skoda'] i ett program.
Använd arrayen för att skriva ut bilnamnen i bokstavsordning där varje bilnamn hamnar på en ny rad.

12. Gör en sida med ett formulär där du matar in ett heltal.
Slumpa så många tal mellan 1 och 1000 och lägg in dem i en array.
a) Skriv ut vartannat tal från arrayen.
*b) Ta sedan reda på och skriv ut det största talet ur arrayen. Gör detta utan att sortera arrayen och utan att använda dig av array-funktioner för max.

13. Gör en webbsida med ett formulär där man kan mata in en text med en massa heltal.
Mellan varje tal ska det skrivas *.
Exempel på inmatning: 3*4*6*4*1*7
Beräkna produkten av talen som matas in. Du får inte använda array-funktioner som array_product().

Textfiler

14. Gör en sida med en knapp. När man trycker på knappen ska ett tal slumpas (mellan 1 och 100) och sparas sist i en textfil.
Varje nytt tal ska hamna på en ny rad i textfilen.

15. Gör en sida där man läser in talen från textfilen (i föregående uppgift) och lägger in dem i en array.
Därefter ska arrayen sorteras med det minsta talet först och sedan ska talen skrivas ut på sidan i samma ordning.

16. Skapa en textfil med några rader text.
Gör sedan en sida som läser in texten från textfilen, byter ut alla 'e' mot 'ö' och skriver ut den nya texten på sidan.
Radbrytningar som fanns i textfilen ska finnas kvar i det som skrivs ut.

Funktioner

17. Skriv en funktion med namnet max2 som tar emot två tal som parametrar.
Funktionen ska returnera det största av talen.
Funktionen ska testas av ett huvudprogram där talen läses in i ett formulär.
Utskriften av svaret ska ske i huvudprogrammet.

18. Skriv en funktion som tar ett namn som parameter. Funktionen ska skriva ut namnet på skärmen och spara namnet sist på en ny rad i en textfil.
Funktionen ska testas av ett huvudprogram där namnet läses in i ett formulär.
Utskrifterna ska ske i funktionen.

19. Skriv en funktion som tar en array som parameter.
Funktionen ska returnera summan av värdena i arrayen.
Lägg in arrayen $arr = [1,2,3,4,5,6,7,8,9,10] i ditt huvudprogram och skicka den till funktionen.
Svaret ska returneras till huvudprogrammet och skrivas ut där.
Lägg in arrayen $arr = [1,2,3,4,5] i ditt huvudprogram och skicka den till funktionen.
Svaret ska returneras till huvudprogrammet och skrivas ut där.

20. Skriv en funktion exchange som tar två tal som parameterar och byter värde mellan talen.
Funktionen ska fungera för följande kodrader i huvudprogrammet.
Ändringar får ej göras i dessa rader.

$tal1 = 3;
$tal2 = 7;
exchange($tal1, $tal2);
echo $tal1 . ' ' . $tal2;

Utskriften ska då bli: 7 3

Sortering

21.
a. Beskriv hur insättningssortering fungerar.

b. Beskriv hur urvalssortering fungerar.

c. Beskriv hur bubbelsortering fungerar.

Rekursion

22. Använd talföljden i uppgift 2214 c) på matematikbladet. Skriv en rekursiv funktion a($n) som beräknar det tal i talföljden som har ordningsnummer $n.
I huvudprogrammet ska svaret på beräkningen skrivas ut. n matas in från ett formulär.

23. Skriv en rekursiv funktion calculate3($tal) som anropar sig själv och på så sätt först räknar ner heltalen från $tal till 1, sedan skriver ut ”NU VÄNDER VI” och sedan räknar upp från 1 till $tal.
Samtliga tal ska skrivas ut i funktionen.