This is an old revision of the document!


Funktioner

1. Skriv en funktion printname($name, $n)
som tar emot ett namn och skriver ut det n antal gånger.
Utgå från att det endast kommer godkända värden till funktionen.
Du skall använda funktionen i ett program.

2. Skriv en funktion som returnerar medelvärdet av två tal. Inläsning av talen och utskrift av medelvärdet ska ske i huvudprogrammet.

3. Skriv en funktion som tar emot ett värde på en cirkels radie och sedan returnerar arean.

4. Skriv en funktion som tar emot värden på bas och höjd för en triangel och returnerar arean.

5. Skriv en funktion spell19($tal)
Funktionen skall ta emot ett tal i intervallet 1 till 19 och skriva ut talet bokstaverat. Låt filen endast innehålla funktionen. Test av den görs i nästa uppgift.

6. Skriv ett program där man matar in ett heltal i intervallet 1 till 19. Programmet skall kolla så att talet ligger i intervallet. Om det inte gör det skall man vara tvungen att göra ett nytt försök. När ett korrekt tal har matats in skall talet skrivas ut bokstaverat. Obs! du måste använda dig av funktionen spell19 i föregående uppgift. Använd include för att få tillgång till funktionen.

Ex.
Ange ett tal: 22
Felaktig inmating
Ange ett tal: 7
Du skrev in sju

7. Skriv en funktion calc($numb1, $numb2, $op) Funktionen skall ta emot två tal och en operator och returnera värdet av numb1 op numb2. Funktionen skall inte ha någon felkontroll utan man utgår från att det bara kommer godkända tal och endast +, -, *, / som operatorer.

8. Skriv en funktion inc som tar emot ett tal och ökar det med 1. För att det skall fungera måste man använda sig av referensanrop. Så här skall funktionen inc fungera.

$tal = 3;
inc($tal);
echo $tal; // Skriver ut 4

9. Skriv en funktion nameadd som tar emot två strängar. När nedanstående kodsnutt körs ska utskriften bli:

Daniel: Programmering är kul.
$text = 'Programmering är kul.'; 
nameadd($text,'Daniel');
echo $text;

10. Skriv en funktion quadraticequation($a, $b, $c, $r1, $r2) som löser andragradsekvationer på formen: ax^2+bx+c=0
Funktionen skall retunera true om det finns reella rötter annars false.
r1 och r2 skall vara referensparametrar.
Funktionen skall kunna anropas och fungera från följande programsnutt.

if (quadraticequation($a, $b, $c, $r1, $r2)) {
  echo "Lösningarna till ekvationen är x1 = " . $r1 . " och x2 = " . $r2;
} else {
  echo "Det finns inga reella lösningar.";
}

Behöver du hjälp med hur man löser en 2:a gradsekvation?

*11. Skriv en funktion
leapyear($year)
som tar ett årtal som argument och returnerar 1 om det är ett skottår annars returnerar funktionen 0.
Du kan anse att ett skottår inträffar varje år som årtalet är jämnt delbart med 4 med undantag av de sekelår tex 1700, 1800, 1900)där sekeltalet (17, 18, 19) inte är jämt delbara med 4.

*12. Skriv en funktion
days($year, $month, $day)
som retunerar antalet dagar från årets början till angivet datum. ex days(1990,3,12) skall retunera värdet 71.
OBS! Funktionen skall använda sig av funktionen leapyear().

*13. Skriv ett program som använder sig av funktionen days() för att beräkna antalet dagar sedan Elvis Presley föddes.
tips! Använd dig av leapyear och days som du redan har gjort så kommer detta att gå fort och bli enkelt!
Dagar sen Elvis föddes

Uppgifter markerade med * är extra som inte alla behöver göra.