LABB 2: KODA GDSCRIPT
Ht1-2
## SYFTE:
Alla grunder i programmering som övning men som ockås som behövs senare.
##UPPSÄTTNING
* Skapa ett nytt projekt i Godot.
* Spara projektet på en plats på datorn där du hittar koden. Du behöver senare kunna komprimera mappen för att lämna in.
* Skapa en Scen mend en Node2D och spara scenen
* Skapa ett Script genom att klicka på Script-filken och köra File/New Script
* Skapa en Sigleton/Autoload-fil t.ex. med namnet auto.gd och registrera den som Auto. Länk för detta på DOC-sidan och video på VIDEO-sidan.
Vinsten med detta är att alla funktioner och variabler som finns i Auto kan kommas åt överallt med `Auto.`
##RENSA DATAT
Skriv av följande data i auto.gd

Skapa en funktion som heter `numbers_only`. Den ska:
* Ta en array som parameter eller argument - t.ex. med namnet `in_array`.
* Skapa en lokal tom array - t.ex. `var numbers`
* loopa över `in_array` och bara kopiera tal till `numbers`
* Använd array-metoden `append` för tillägg.
* Tips: Vi kan kolla en variables datatyp med is-operatorn. Läs om is-operatorn under variabler i DOCS-sidorna.
* returnera `numbers`
Testa koden genom att skapa en `_ready()`-funktion i auto.gd och anropa `numbers_only` med data och printa resultatet.
##SUMMERA
Skapa nu en funktion `sum_numbers` som:
* tar en Array som parameter
* summerar talen i arrayen utan att använda någon annan funktion, dvs använder en egen for-loop och egna variabler.
* Tips: operatorn +=
* returnera summan
Testa koden genom att i `_ready()`-funktionen i auto.gd anropa `sum_numbers` med värdet av data efter att det körts genom `numbers_only` och printa resultatet.
##MEDELVÄRDE
Skapa nu funktionen, `average` som räknar ut medelvärdet för alla tal som:
* tar en array som parameter.
* använder funktionen `numbers_only` för att få en ren array med bara tal
* använder `sum_numbers` för att räkna ut summan
* använder array-funktionen `size()`för att ta reda på hur många element det finns i den rena tal-arrayen vi fick från anropet till `numbers_only`
* returnerar medelvärdet
##DATAANLYS
Nu ska vi göra en lite störra uppgift. Vi ska sortera och hitta data i en lite mer omfattande datamängd.
Nu får ni tänka lite själv vilka steg som kärvs, funktioner och hur man anropar för att genomföra uppgiften i auto.gd. Men tanken är fortfarande att processen startas via ett anrop i `ready`
Ladda ner filen [skolangd.txt](skolangd.txt) och lägg in i projektet.
Vi läser in datat med FilAcess och använder `str_to_var` som gör om text till en datastruktur. Den datastruklturen blir då en Array fylld med många Dictionary-objekt. Bild för koden att läsa och skriva till och från Fil finns nedan.
* Datat innehåller en databas med längder, skostorlekar och födelseår. Öppna filen för att se hur den ser ut.
* Uppgiften:
* Söka fram den största skostorleken
* Räkna ut medellängd på individer med denna skostorlek
* För att hitta datat behöver vi dela upp problemet.
* Första steget är att identifiera största skostorleken.
* Andra steget är att kopiera alla längder som tillhör individer med denna skostorleken till en egen Array
* Tredje steget är att räkna ut medelvädet för längderna och printa resultatet
Om man gör dessa steg en i taget och inte försöker göra allt samtidigt blir det:
* Mycket enklare
* Vi kan printa resultat på vägen och veta att vi är på rätt väg.
* Lättare att ändra ett steg senare.

##REDOVISNING
För att bli godkänd på labben ska ni visa att ni genomfört stegen och visa att ni förstår koden. Labben visas upp för assistent och lämnas in på [inlämningssidan](https://www.ida.liu.se/~TDDE04/handin/inlamning.sv.shtml)
Sidansvarig: infomaster
Senast uppdaterad: 2024-09-24