Algoritmer och datastrukturer TF3 Sy

samt
Algoritmer och datastrukturer med objektorienterad programmering, fristående kurs


Veckouppgift för vecka 6

  1. Skriv en klass Rational för hantering av rationella tal. (Du minns att rationella tal skrivs som en täljare och nämnare, exvis 5/8, eller hur?) De rationella talen skall kunna Adderas, Subtraheras, Multipliceras, Förenklas (här finns algoritmen) och Skrivas ut.

    Ledning 1: Klassen kommer förmodligen att likna de komplexa talen i kompendiet.

    Ledning 2: Uppgiften är m a o ganska enkel.

    Det är tillfyllest även om utskriften av ett tal blir "ful".

  2. Gör färdigt uppgiften från föreläsningen bool finns(char[],char)

  3. I Fibonacci-serien är varje tal summan av de två tidigare. De två första talen i serien är 1. Serien ser således ut på följande sätt: 1,1,2,3,5,8,13,21,... Skriv en funktion int fib(int n) som returnerar det n-te talet ur serien.

    Funktionen skall skrivas rekursivt.

    För denna uppgift ska du i detalj redovisa samtliga steg enligt arbetsmetodiken i föreläsningsanteckningarna.

  4. Skriv en funktion int summa(char str[]), där str är en sträng som innehåller tecknen '0' till '9'. Funktionen ska returnera summan av dessa "ensiffriga tal".

    Exempel om t = "2748" blir summa(t) => 21

    Funktionen skall skrivas iterativt (evis med en for-loop).

  5. Lös funktionen ovan (summa) - men i denna deluppgift skall funktionen skrivas rekursivt.

    För denna uppgift ska du i detalj redovisa samtliga steg enligt arbetsmetodiken i föreläsningsanteckningarna.

  6. Skriv ett huvudprogram som testar funktionerna och klasserna i deluppgift 1 - 5.


    För handledning hänvisas till DoCS jourhavande handledare
    Uppgifterna lämnas in enligt anvisningarna i kursplanen i Johan Bengtssons postfack med rätt försättsblad

    OBS: Sökväg till källkod och körbar fil skall gälla på Datortekniks undervisningssystem, d.v.s. systemen i hus 1.


    Anders Berglund
    Last modified: Tue Feb 6 17:54:01 1996