DD1310/DD1314/DA3009 Programmeringsteknik 2012
Laboration 2
Läs kapitel 6 i kursboken, och även resten av kapitel 3 (om while).
Labben redovisas på veckans övning. Det Pythonprogram du skriver
kan ge 0-2 bonuspoäng (beroende på hur väl det uppfyller kraven).
Instuderingsfrågorna redovisas med ett prov, som också kan ge max 2 bonuspoäng.
Till Åre-resenärer
För att göra denna labb behöver du vara med i en Wuala-grupp. Om du var borta första veckan:
- Logga in på ditt Wuala-konto (från Labb 1).
- Högerklicka på "Groups" i menyn och välj "Find Groups..."
- Sök efter gruppen "Skidorna" (CSAMH) eller "prgcl-alto" (CLGYM)
- Välj "Join"
- På frågan "Why" svarar du "Följer DD1310 prgs" eller "Följer DD1314 prgcl"
Program
- Ladda ner alla dina gruppkompisars funktioner.
- Skriv ett huvudprogram som anropar varje funktion och skriver ut kostnaden.
Du behöver inte läsa in värden för parametrarna.
- Summera alla kostnader och skriv ut den totala kostnaden.
- Extrauppgift 1
- Skriv en funktion för beräkningen av totalkostnad.
- Extrauppgift 2
- Läs i kap 4-5 om strängar och listor (speciellt metoderna
split()
och append()
).
- Skriv en funktion
läsIn
som frågar efter och läser värden.
Inparameter: en sträng med ledtexter åtskilda av komma, t ex "gardinlängd, gardinbredd, antal gardiner"
Utparameter: en lista med tal eller strängar (de inlästa värdena).
- Använd funktionen
läsIn
i ditt program för att läsa in de värden som ska skickas som parametrar till funktionerna.
Testning
Glöm inte att testa att ditt program fungerar som det ska.
Krav
- Kraven från första labben måste vara uppfyllda:
- Programmet ska ha en kommentar överst med författarnas namn och datum.
- Variabelnamnen ska göra programmet lättare att förstå.
- Testdata ska finnas med i kommentar sist i programmet.
- Programfilen ska kopieras till gruppens Wuala-katalog.
och dessutom följande:
- Varje funktion ska ha en förklarande kommentar.
- Inga globala variabler får förekomma.
- Alla utskrifter måste ligga i huvudprogrammet (inte i funktionerna).
Instuderingsfrågor
- Vad är det för skillnad på if-satsen och while-slingan? Ge exempel!
- Vad är en oändlig slinga? Hur avbryter man den?
- Ge ett exempel på ett villkor. Vilka värden kan ett villkor anta?
- Vilka operatorer kan man använda i ett villkor?
- Hur definierar man en funktion?
- Vad händer om man glömmer att anropa en funktion?
- Vad innebär abstraktion?
- Hur tar en funktion emot indata? Visa med ett exempel!
- Hur skickar man utdata från en funktion? Visa med ett exempel!
- Vad är det för skillnad mellan lokala och globala variabler?
- Vad är en default-parameter?
- Hur ser man att en funktion är rekursiv?
Efter labben
Hur tycker du att ditt eget arbete med labben fungerade?
Borde du ha gjort något annorlunda?
Fundera en stund, och skriv upp några tips till dig själv inför nästa labb!