Till KTH:s startsida Till KTH:s startsida

Laboration 1

Laboration 1 (av 6 inledande laborationer)

Innehåll: 

  • Python - kapitel 1-3 i kursboken: kommentarer, datatyper, variabler, villkor, print, input, if-else

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.

Parprogrammering

Laborationerna görs i grupper om två. Vid första labbtillfället blir du placerad i en grupp och tilldelad en labbkompis. (Efter ett par veckor kommer vi att ordna om i grupperna så att du får en ny labkompis.)

  1. Läs på om parprogrammering på sidan http://www.csc.kth.se/tcs/projects/cerise/parprogrammering/riktlinjer.html (men bortse från avsnittet om parkour).
  2. Byt roller ungefär var 20:e minut.

Hederskodex

På CSC används en gemensam hederskodex för alla kurser. 

  1. Läs igenom hederskodexen.
  2. Skriv ett inlägg här där du bekräftar att du läst hederskodexen ((ska göras av varje kursdeltagare).
  3. Diskutera följande situationer med din labbkompis. Bryter agerandet mot någon av reglerna i hederskodexen? Vilken regel? Vad kan det få för konsekvenser?
    • Carina har influensa så Fuad gör labben på egen hand. Sen redovisar dom labben tillsammans.
    • Shirin har gjort en extra smart lösning till sin P-uppgift. Hon lägger upp den på webben så att andra kan lära sig av den.
    • Charlie och Kim pluggar tillsammans inför provet. Dom löser varannan uppgift och diskuterar sedan lösningarna med varandra.

Resultat

Gå till rapp och kolla att kursen DD1314 finns med i din kurslista. Logga in med ditt kth-konto (som för Mina Sidor).

Dropbox

I denna kursomgång använder vi Dropbox för att skapa en gemensam mapp för gruppen. När du är klar med en labbuppgift ska du lägga in programmet i den gemensamma mappen, så att din assistent och dina gruppkompisar kan titta på det.

Python (i IDLE)

Starta IDLE för Python 3 (se Unixlathunden kap 9.2). 
Fönstret "Python Shell" som öppnas är en Python-interpretator, där du direkt kan skriva in en sats och se vad som händer.

Längst upp i fönstret kan du välja bland menyerna File, Edit, Windows och Help. 
Välj 
     File -> New Window 
så öppnas ett nytt fönster där du kan skriva in, redigera, spara, och köra Python-program. 

För att spara det program du skrivit in väljer du 
    File -> Save As

Ge alltid dina program suffixet .py (t ex Layton.py).

När du är redo att provköra programmet väljer du 
    Edit -> Run Script

eller snabbtangent F5. 

Utmatningen från programmet kommer att synas i Shell-fönstret.

Python - Uppgifter och frågor

Vilket är billigast - månadskort eller reskassa?

  • Titta på SL:s biljettpriser
  • Skriv ett program där man kan ta reda på vilken typ av biljett som är billigast!
  • Du får själv bestämma hur avancerat programmet ska vara (se Krav nedan för minimikrav).
  • Börja med att planera (på papper):
    1. Vad är indata respektive utdata till ditt program? Vilka typer av data är det?
    2. Vilka beräkningar behöver du göra? Skriv upp formlerna!
    3. Villket villkor ska du använda för att avgöra vad som är billigast?
    4. I vilken ordning ska alltihopa göras?
  • Nu är det dags att skriva programmet!
  • Tips: Skriv in en sats i taget, spara och provkör.

Testning

Nu ska du testa att ditt program fungerar som det ska. Lägg in en kommentar längst ner i programmet där du skriver upp vilka indata du provkört programmet med och vad de gav för utdata.

Krav

  • Variabler, input, print, if-else och kommentarer måste användas i programmet.
  • Programmet ska ha en kommentarer ö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 Dropbox-katalog.

Instuderingsfrågor

  1. Vilka är de sex reglerna i hederskodexen?
  2. Vilken roll har navigatören i parprogrammering?
  3. Hur skriver man en kommentar i Python (två olika sätt)?
  4. Ge exempel på två olika datatyper. Hur tar man reda på vilken datatyp en variabel har?
  5. Vad är en variabel?
  6. Hur ger man en variabel ett värde?
  7. Hur läser man in ett tal till programmet?
  8. Hur får man programmet att skriva ut text på skärmen?
  9. Hur får man programmet att skriva ut ett variabelvärde på skärmen?
  10. Vad är det för vits med att låta programmet läsa in värden?
  11. På vilket sätt anger man vilka satser som ingår i if-satsens block?
  12. Måste man ha med else-delen i en if-sats?

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!

Frivilliga extrauppgifter

Fler villkor

Ändra ditt program så att det tar hänsyn till rabatter och reslängd (zoner)

GUI - grafiskt gränssnitt

Ladda ner programmet konvertera.py och provkör. 
Ändra sedan så att programmet istället räknar ut kostnaden för ett antal resor.
Glöm inte att byta titeln!