Argumenter

Et kvadrat

Firkanten vi tegnet tidligere hadde en fast størrelse. Vi kan bruke et argument til å bestemme hvor stor firkanten skal være.

Argumentet skal stå inne i parantesen som følger etter funksjonens navn.

Script

t.kvadrat = function(lengde)
{
 for(i=0;i<4;i++)       // Gjenta fire ganger
 {                   
  t.forward(lengde);    // tegne strek, la argumentet bestemme lengden
  t.right(90);          // snu til høyre
 } 
}

t.kvadrat(10);          // Et kvadrat der alle sider har lengde 10
t.kvadrat(40);          // Et kvadrat der alle sider har lengde 40
 

Et rektangel

En funksjon kan ha flere argumenter. La oss lage en rektangel-funksjon, der sidene har parvis samme lengde.

Script

t.rektangel = function(lengde,bredde)
{
  t.forward(bredde);    // tegne vertikal strek, bruk argument
  t.right(90);          // snu til høyre
  t.forward(lengde);    // tegne horisontal strek, bruk det andre argumentet
  t.right(90);          // snu til høyre
  t.forward(bredde);    // tegne vertikal strek 
  t.right(90);          // snu til høyre
  t.forward(lengde);    // tegne horisontal strek 
  t.right(90);          // snu til høyre
}

t.rektangel(50,30);     // Et rektangel med lengde 50 og bredde 30
 

Når vi definerer funksjonen, bruker vi navn på argumentene. Dette kalles formelle argumenter. Vi kan benytte disse navnene inne i funksjonen. Når vi kaller funksjonen, setter vi inn verdier på plassen til argumentet. Disse verdiene erstatter navnene. Dette kaller vi aktuelleargumenter. I dette eksemplet var de formelle argumentene lengde og bredde. De aktuelle var 50 og 30.

Oppgaver

  1. Lag funksjoner for

    • Likesidede trekanter med varierende størrelse
    • Paralellogram med vinkel og lengde som argument
    • Stjerner med varierende størrelse
    • Ei trapp med n trinn, der n er et argument
  2. Litt vanskeligere:

    • Et likesidet polygon der argumentet er antall sider
    • En sirkel der omkretsen er argument
    • En sirkel der diameter er argument
    • Et kakestykke, (sirkelsektor) der radius og andel av kaka er argument.