MaA 12 Algoritmer i matematiken

1. Algoritmer

Vad betyder Algoritm? Ta reda på olika definitioner genom att se vad SAOL, Wikipedia på svenska, finska och engelska och synonymer.se skriver.

När vi arbetar med algorimter så gör vi ett resept över vad som skall hända. Man kan tala om att man använder sig av programmering på meta nivå, en abstrakt nivå där vi inte ser på de exakta kommandorna.

Exempel 1 Gör en algoritm över hur man går framåt.

Lösning

Det beror på hur noggrannt vi vill beskriva men på en metanivå har vi något i stil med

  1. Lyft upp ena foten
  2. Luta dig framåt tills foten som är i luten tar i marken.
  3. Lyft upp andra fonten.
  4. Luta dig framåt tills foten som är i luten tar i marken.

och så fortsätter vi. Du märker att beroende på hur nogrann man vill vara så kan man beskriva tex "Lyft upp foten" med "Lyft upp foten och gör en liten cirkelformad rörelse framåt".

I uppgifterna så försök vara så noggrann som möjlig utan att vara allt för petnoga. Kursen handlar om numeriska metoder där vi bestämmer nollställen för funktioner eller areor under funktioner och då gör vi flera gånger samma steg. Därför börjar vi med att öva med att skapa algoritmer.

När vi skapar algoritmer, funderar på en metanivå vad som skall hända, börjar vi snabbt tänka i banor där vi har uttryck som

  • när eller då, (if)
  • om... så, (if ... then)
  • annars, (else)
  • upprepa (loop eller while)
dessa bildar grunder för tankesättet då man skapar algoritmer.

Använd dig av dessa då du löser uppgifterna.

Uppgifter

  1. Formulera en algoritm för följande
    1. Koka potatis.

      Något i stil med

      1. Tag fram potatis.
      2. Skala eller tvätt potatisen.
      3. Tag fram en kastrull, mät vatten och koka upp vattnet.
      4. När vattnet kokar så lägg i potatisen.
      5. Koka potatisen tills den är färdig.
      6. Häll vattnet från kastrullen.

      Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med. Hur skiljer sig algortimen från den som du skapar i nästa uppgift?

    2. Tillred potatis för fyra personer till middag.

      Något i stil med

      1. Tag fram potatis.
      2. Beräkna hur många potatisar som går åt

      3. Skala eller tvätt potatisen.
      4. Tag fram en kastrull, mät vatten och koka upp vattnet.
      5. När vattnet kokar så lägg i potatisen.
      6. Koka potatisen tills den är färdig.
      7. Häll vattnet från kastrullen.
      8. Meddela de som skall äta att potatisen är färdig.

      OBS! Du märker att här är endast då vi kokar potatis. För olika sätt att tillreda den så börjar vi med en om... så sats.

      Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med. Här får du gärna vara så noggrann av dig som du bara vill vara.

    3. Äta morgonmål hemma.

      Något i stil med

      1. Fundera vad du skall äta.
      2. Plockar farm ingredienserna.
      3. Plocka fram kärl.
      4. Tillred morgonmålet.
      5. Ät morgonmålet.
      6. Städa undan och lägg kärlen i diskmaskinen.

      Beroende på hur ditt morgonmål ser ut så ser det olika ut från detta. Försök att göra det så noggrannt som möjligt.

    4. Gå upp för en trappa med 16 steg.

      Något i stil med

      1. Ställ dig vid trappan.
      2. Upprepa 16 gånger:
        1. Lyft ena benet snett framåt.
        2. Luta dig framåt och sätt foten på trappsteget.
        3. Lyft andra foten så att den blir övanför nästa trappsteg.
        4. Luta dig framåt och sätt foten på trappsteget.
      3. När du är framme så stanna upp.

      Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med.

  2. Formulera en algoritm över hur du löser en ekvation av första grad.

    Något i stil med

    1. Sortera uttrycket så att du får termer med den variabeln som du vill lösa ut på vänster sida och annat på höger sida.
    2. Om möjligt, addera ihop termeran på vänster sida. Gör motsvarande på höger sida.
    3. Identifiera koefficienten framför variabeln.
    4. Multiplicera med det inverterade talet.
    5. Markera svaret.

    Eller som

    1. Addera till motsatta termer så att termer mex \(x\) är till vänster och andra till höger.
    2. Förenkla.
    3. Multiplicera med det inverterade talet som finns framför \(x\):et.
    4. Förenkla.

    Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med.

  3. Formulera en algoritm över hur du löser en andragradsekvation.

    Något i stil med

    1. Sortera uttrycket så att du får termerna i fallande grad på vänster sida.
    2. Identiefiera koefficienterna framför \( x^2 \), \( x \) och termen utan variabler.
    3. Använd dig av rotformeln.
    4. Markera svaret.

    Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med.

  4. Formulera en algoritm över hur du löser en olkihet av första grad.

    Något i stil med

    1. Sortera uttrycket så att du får termer med den variabeln som du vill lösa ut på vänster sida och annat på höger sida.
    2. Om möjligt, addera ihop termeran på vänster sida. Gör motsvarande på höger sida.
    3. Identifiera koefficienten framför variabeln.
    4. Multiplicera med det inverterade talet.
    5. Om det är negativt så byt rikting för olikheten, annars så fortsätter du räkna.
    6. Markera svaret.

    Följande är inte perfekt, men det ger dig en fingervisning över vad som du kan ha med.

  5. Formulera en algoritm över hur du undersöker en funktion.

    Något i stil med

    1. Derivera funktionen.
    2. Bestäm nollställena för derivatafunktionen.
    3. Bilda ett teckenschema.
    4. Analysera och svara.

    Då har vi inte beaktat om vi undersöker en funktion som är definierad i ett intervall, eller en rationell funktion som kan ha punkter där den inte är definierad.

  6. Algorimter är grunden då man programmerar. Klicka dig till Code.org och jobba med Hour of Code.
  7. Formulera en algoritm hur man dividerar i trappa, typ \( \dfrac{2112}{8} \).

    Något i stil med