Oppgave 1 - Teori for-løkker

  1. Hvordan er syntaksen til en for–løkke?
  2. Når bruker man helst for-løkker? Er det når antall iterasjoner (runder i for-løkken) er kjent, eller når antallet er ukjent?

Oppgave 2 - Løkker
Lag en løkke som skriver ut “x. Bolton Wanderers” til skjermen 20 ganger, der x viser hvor mange ganger løkken har kjørt.

Oppgave 3 - While-løkke

Lage en while-løkke som genererer et tilfeldig tall mellom 0 og 10. Tallet som genereres skal skrives ut til skjermen, og while-løkken skal stoppe hvis det tilfeldige tallet blir 7.

Oppgave 4 - Repetisjon av for-løkker

  1. Lag en for-løkke som går igjennom en liste, og som gjør om alle negative tall (inkl. 0) til 1.
  2. Lag en for-løkke som summerer alle tallene i en tabell, og som legger de foreløpige resultatene i en annen.
    Eks:
    tabell_som_skal_summeres = [2 4 7 8 4 2]
    forelopig_sum_tabell = [2 6 13 21 25 27]

Oppgave 5 - Passord

I en uendelig løkke, be brukeren om å skrive inn et passord, og deretter om å skrive inn det samme passordet igjen. Gi så brukeren beskjed om at enten:

  • Passordet ble gjentatt riktig, eller
  • Passordene har ulik lengde, eller
  • Det andre passordet kommer alfabetisk før det første, eller
  • Det andre passordet kommer alfabetisk etter det første.

Hopp deretter tilbake til starten av løkken.

Oppgave 6 - Produkt

Lag en løkke som trekker to tilfeldige tall mellom 1 og 10, multipliserer dem, og skriver ut regnestykket til skjermen. Løkken skal fortsette så lenge produktet er mindre enn 70.

Oppgave 7 - Speedometer

  • Bob har importert bilen sin fra USA, og strever fælt med å følge de norske fartsgrensene. For å hjelpe seg skal kona sitte i passasjersetet med en laptop i fanget og regne om fra kilometer i timen til miles per hour. Skriv en funksjon som tar inn km/t som parameter og returnerer farten i mph (mph = km/t / 1.6). 
  • Kona har ikke alltid tid til å være med Bob på biltur. Skriv ut en oversikt over hver 10. km/t, fra 10 til 110, og hva de tilsvarer i mph. Det vil si:

10 km/t = 6 mph
20 km/t = 13 mph.
Osv…

Gjør dette ved hjelp av en for-løkke.

Oppgave 8 - Doble for-løkker

  1. Opprett den 2-dimensjonale matrisen (tabellen)

    13-3523
    231341332
    3367645-9
    46-66648
    231912-4
  2. Gå igjennom hele denne matrisen, og gjør om alle negative tall til positive tall.

  3. Finn det høyeste tallet i matrisen.

Oppgave 9 - Badekaret

Tenk deg at du har et badekar som skal fylles med vann. Dette er et veldig lite badekar, så det tar bare 20 liter. Tenk deg så at du skal lage et program som kontrollerer vannkranen som fyller opp badekaret.
Det programmet skal gjøre er å sjekke om badekaret er fullt (dvs. 20 liter) – hvis ikke skal det fylle på én liter til med vann. Programmet skal skrive ut antall liter i badekaret etter som  det fylles opp, og “Badekaret er fullt” når vannkranen må lukkes.
Realisér dette ved hjelp av en while-løkke.

Oppgave 10 - Badekarsprodusenten

  1. Tenk deg en badekarsprodusent som lager mange forskjellige badekar. 
    En dag kommer en (litt sær) kunde inn i butikken og spør hvor mange liter vann som ville vært nødvendig for å fylle alle badekarene på en gang.
    Badekarsprodusenten har en oversikt over størrelsen på alle badekarene sine som ser ut som dette:
    badekarTabell =

    20351017453520151740

     

    1. Opprett denne tabellen.

    2. Lag et program som ved bruk av en for-løkke regner ut antall liter vann som trengs forå fylle opp alle badekarene.

  2. Etter at badekarsprodusenten har svart kunden på det foregående spørsmålet, kommer kunden med enda et spørsmål:

    “Hva er summen av alle oddetall mindre enn 20?”

    Dette har ikke badekarsprodusenten noen forutsetning for å svare på, men du kan lage et program som ved bruk av en while-løkke regner ut dette.

Oppgave 11 - Sum av gangetabellen

Bruk nøstede løkker til å summere alle produktene i gangetabellen (opp til 10x10), og skriv ut svaret til skjerm.

Oppgave 12 - Stigende sekvenser

Lag et program som bruker en nøstet for-løkke til å skrive ut det følgende:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10

 

 

 

  • No labels