Alle programmeringsspråk må ha konstruksjoner for å lage gjentagelser, de vanligste er for-, while og do-sløyfer:
var i:int; for(i=0;i<5;i++){ //startverdi: i=0, betingelse: i<5, opptelling: i++ trace("Dette kommer 5 ganger"); }
var i:int = 0; //startverdi while(i<5){ trace("Dette kommer 5 ganger"); i++; }
While-sløyfer er mer fleksible og generelle enn For-sløyfer, men krever litt mer tenkning...
var i:int = 0; do{ trace("dette kommer 5 ganger"); i++; }while(i<5);Do-while-sløyfer vil alltid bli gjort minst en gang.
I kapittel 3: Variabler, tilordning og fundamentale datatyper, hadde vi et eksempel:
var tabell:Array=["Hansen","Olsen","Jensen","Karlsen"];Her skjøter vi sammen innholdet i alle boksene i tabellen til en ny streng tekst,
som får innholdet "Hansen, Olsen, Jensen, Karlsen":var tekst: String = tabell[0] + ", " + tabell[1] + ", " + tabell[2] + ", " + tabell[4];
Nå, når vi har lært kontrollstrukturer for gjentagelser, kunne vi gjort dette med kode:
var tekst: String = ""; // Setter tekst som en tom streng for(var i: int = 0; i < 4; i++) { // Gjentar for hver boks i tabellen: tekst += tabell[i]; // Legger til innhold i boks nr. i if(i<3) { // Legger til komma, unntatt til slutt tekst += ", "; }//if }//forDet ser mer komplisert ut å gjøre med kode, men tenk deg hvordan det ville blitt hvis tabellen hadde
hatt 100 bokser istedenfor 4!
Bruk gentagelser og så få programlinjer som mulig!
Teknikkene i oppgave 5 er spesielt viktig!
Legg inn en tabell med navn:
var tabell: Array = ["Olsen", "Karlsen", "Hansen", "Jensen"];
Skriv ut alle navnene i tabellen i en for-sløyfe.
Skriv ut alle navnene i tabellen i en while-sløyfe(Innholdet i hver boks i tabellen får man tak i ved hjelp av indekstallet, eksempelvis vil
tabell[2]inneholde strengen "Hansen". Obs: Indeksen går fra 0 til 3, ikke 1 til 4!
Lag kode som skriver ut mønsteret:
* ** *** **** ***** ****** ******* ******** *********
Lag kode som skriver ut "flagget":
* * * * * *======================================== * * * * * ======================================== * * * * * *======================================== * * * * * ======================================== * * * * * *======================================== * * * * * ======================================== * * * * * *======================================== ============================================================= ============================================================= ============================================================= ============================================================= ============================================================= ============================================================= =============================================================
Innled et program med:
var celcius: Number = 20;Regn ut hva dette tilsvarer i Fahrenheitgrader med omregnignsformelen: f= c*9/5+32
og skriv ut svaret.
Lag deretter et program som skriver ut tabellen:
Celcius: Fahrenheit 0 32 10 ? 20 ? 30 ? 40 ? 50 ? 60 ? 70 ? 80 ? 90 ? 100 212
Legg inn en del tall i en tabell:
var tall: Array=[22,33,12,32,25,44,9,7,17,43];Lag deretter kode som finner og skriver ut:
- Summen av tallene.
- Det største tallet.
- Det minste tallet.
- Gjennomsnittet av tallene.
- Finner ut hvilken plass tallet 44 er på.
Disse tre problemene (summere tabell, finne største/minste element i en tabell og søke etter et element i en tabell) er grunnleggende og forekommer ofte i nesten alle dataprogrammer. Når vi forstår og kan skrive slike rutiner har vi kommet opp på et nytt nivå i programmeringsfaget!
Fibonaccis tallfølge er slik: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, osv.
Lag et program som finner tall nummer 100 og tall nummer 1000 i Fibonacci-tallfølgen.
Lag et kalkulatorprogram for en kunderådgiver i en bank, som regner ut hvor mye som står på konto
etter et visst antall år når du setter inn et fast beløp i starten av hvert år.Skal se omtrent slik ut:
Lag et program som skriver ut gangetabellen. (Se eksempel side 92)
Lag et program som tegner mønstreret: