Till KTH:s startsida Till KTH:s startsida

Labb 1

Laboration 1

Innehåll:
Denna labb omfattar 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.

Inloggning

De inledande fem labbarna gör ni i grupper om två. Ni bör båda ha var sitt användarkonto (användarnamn och tillhörande lösenord). Kontakta annars IT SupportCenter.

Hederskodex

På CSC används en gemensam hederskodex för alla kurser. Du ansvarar själv för att läsa igenom och följa den.

Resultat

Gå till rapp och kolla att kursen finns med i din kurslista. Logga in med ditt kth-konto (som för Mina Sidor). Här kommer du att kunna kontrollera att dina delresultat är inrapporterade.

Dropbox

I denna kursomgång provar vi att använda 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 Python 3.3: IDLE från programmenyn. Skärmbild V-salarna
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.

Parprogrammering

Laborationerna görs i grupper om två. Här finns tips på hur man arbetar i par på ett effektivt sätt: http://www.csc.kth.se/tcs/projects/cerise/parprogrammering/riktlinjer.html

Labbuppgift: 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!
  • 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 fem reglerna i hederskodexen?
  2. Hur skriver man en kommentar i Python (två olika sätt)?
  3. Ge exempel på två olika datatyper.
  4. Vad är en variabel?
  5. Hur ger man en variabel ett värde?
  6. Hur läser man in ett ord till programmet?
  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!