Den här uppgiften går ut på att skriva några olika matematiska funktioner
Förmågor | E | C | A |
---|---|---|---|
Aktivitetsdiagram och pseudokod | Du använder pseudokod och/eller aktivitetsdiagram för att planera dina uppgifter utifrån exempel, eller i samråd med utbildaren. | Som för E, men utan exempel eller handledning | |
Utvärdering | Du utvärderar, med viss säkerhet, med enkla omdömen, programmets prestanda, använder datalogiska begrepp, och bedömer din egen förmåga | som för E, men med nyanserade omdömen | Som för C, men med säkerhet, och med förbättringsförslag |
Förmågor | E | C | A |
---|---|---|---|
Datatyper | Du kan redogöra för och använda de vanligaste datatyperna | ||
Grundläggande syntax | Du kan redogöra för och använda programmeringsspråkets grundläggande syntax |
Förmågor | E | C | A |
---|---|---|---|
Komplexitet | Du kan skriva enkla program | Du kan skriva lite mer avancerade program | Du kan skriva komplexa program |
Sekventiell- & funktionsbaserad programmering | Du använder dig av sekventiell programmering och fördefinerade funktioner | Du skapar och använder enkla funktioner | Du skapar mer komplexa funktioner |
Struktur | Du skriver kod som är delvis strukturerad, har en konsekvent kodningsstil och tydlig namngivning | Som för E, men du skriver kod som är helt strukturerad | |
Felsökning | Du felsöker på egen hand enkla syntaxfel | Som för E, men systematiskt, och dessutom även körtidsfel och programmeringslogiska fel | Som för C, men med effektivitet |
Undantagshantering | Du validerar användardata | Som för C, men du skriver även kod som använder undantagshantering | |
Dokumentering | Du skriver kod som är delvis dokumenterad | Du skriver kod som är utförligt dokumenterad |
Du ska skriva några olika matematiska funktioner: halve
, add
, subtract
, multiply
, square
och square_of_square_root
halve
tar ett tal som argument, och returnerar det halverade taletadd
tar två termer som argument, adderar de två talen, och returnerar summansubtract
tar två termer som argument, och returnerar differensenmultiply
tar två faktorer som argument och returnerar produktensquare
tar ett tal som argument, och returnerar kvadraten av taletsquare_of_square_root
tar ett tal som argument och returnerar kvadraten av kvadratroten av talet
halve(value: 4) #=> 2
halve(value: 9) #=> 4.5
add(term1: 3, term2: :2) #=> 5
add(term1: 3, term2: -6) #=> -3
subtract(term1: 9, term2: 3) #=> 6
subtract(term1: 3, term2: 5) #=> -2
multiply(factor1: 3, factor2: 5) #=> 15
multiply(factor1: 3, factor2: -2) #=> -6
square(value: 4) #=> 16
square(value: 16) #=> 256
square_of_square_root(value: 4) #=> 4
square_of_square_root(value: 256) #=> 256
Gör en fork
av repot. Klona sen ner till din dator. Kom ihåg att checka in dina ändringar och synka med GitHub.
Skapa en funktion åt gången. Innan du börjar koda ska du skapa ett flödesschema för funktionen. När du känner att du har ett fungerande flödesschema, be läraren att kolla på det.
Programmet skall utvecklas med hjälp av testerna.
Kör bundle install
för att installera alla dependencies.
Skapa funktionerna i lib/maths_helpers.rb.rb
Testerna finns i spec/funktionens_namn_spec.rb
Kör ruby spec/funktionens_namn_spec
för att köra testerna för den specifika funktionen.
- Om du inte kan beskriva lösningen i ord kommer det vara så gott som omöjligt att skapa ett flödesschema
- Fundera på vilka variabler som behövs
- Testa flödesschemat med hjälp av penna och papper