Presentation laddar. Vänta.

Presentation laddar. Vänta.

DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.

Liknande presentationer


En presentation över ämnet: "DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation."— Presentationens avskrift:

1 DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation

2 meddelanden Kursregistrering Kursanmälan – din studievägledare fixar Kursregistrering – gör du själv på KTH Social/hos SVL För sent? Maila exp@csc.kth.se (KTH) eller kontakta Caroline (SU) Övningen – vilken sal? Se lista över ”Assistenter och salar” på KTH Social.

3 funktioner (kap 6) Kap 6 i Dawson. Läs även resten av kap 3! Inbyggda funktioner Anropa funktioner Definiera egna funktioner Parameter & returvärde While-slingan

4 while-slingan En while-slinga upprepar ett antal satser så länge som ett villkor är uppfyllt. Så länge som kannan inte rinner över: Häll i mer vatten! Så länge som du inte fått ett riktigt svar: Fråga igen! Så länge som du inte hittat rätt värde: Läs in ett nytt!

5 exempel kanna = 0 while kanna < 1.5: kanna = kanna + 0.2

6 exempel med if/while zoner = int(input("Hur många zoner? ")) if zoner 4: print("Måste vara mellan 1 och 4") zoner = int(input("Antal zoner: ")) zoner = int(input("Hur många zoner? ")) while zoner 4: print("Måste vara mellan 1 och 4") zoner = int(input("Antal zoner: "))

7 oändlig slinga Om villkoret aldrig uppfylls får man en slinga som upprepas i all oändlighet. Kan yttra sig som att programmet "hänger sig" - inget händer Eller att massor av text rusar förbi på skärmen (om man har utskrift i slingan). Avbryt programmet genom att trycka Ctrl-C (Ctrl och C samtidigt).

8 uppgift Vilken/vilka av följande blir en oändlig slinga? n = 0 while n > 5: n = n + 1 A n = 0 while n < 5: n = n + 1 B n = 5 while n >= 5: n = n + 1 C n = 5 while n <= 5: n = n + 1 D

9 Gör programmet mer överskådligt och lättläst. Enklare att testa delarna var för sig. Man slipper skriva om samma satser på flera ställen. Kan återanvändas i nästa program Funktioner

10 inbyggda funktioner, exempel FunktionIndataUtdata type typ=type(variabel) variabeltypen print print("Oj!") strängNone int antal=int(nr) nrheltal

11 inbyggda funktioner, alla http://docs.python.org/3/library/functions.html Hur vet man vilka inbyggda funktioner som finns?

12 anropa funktioner Indata skickas in via parametrar till funktionen utdata = funktion(indata) Funktionen returnerar utdata Indata Utdata

13 Hur SKRIVER man en funktion? Funktionshuvud: def funktionsnamn(parametrar): Kommentarrad - docstring """ Förklaring till funktionen """ Satserna som funktionen ska utföra (beräkningar mm). Allra sist return returvärde/returvärden Anger man inget returvärde returneras None

14 funktionshuvud beskrivande kommentar satser retur def f(x,y): """Beräknar x+y""" summa = x + y return summa

15 parameter & returvärde def ränta(pengar): """Beräknar och returnerar räntan.""" if pengar > 100000: r = pengar*0.75/100 else: r = pengar*0.40/100 return r vinst = ränta(saldo) Funktionen anropas så här: Funktionen definieras så här: parameter pengar returvärde r

16 Hitta felet! def f(x): y = 2*x+4 return y x = int(input("Ge x: ")) f(x) print(f)

17 flera parametrar def f(a, b, c): Anrop f(x, y, z)

18 def egetArbete(hp, veckor, schemalagt): """ Räknar ut hur många timmar eget arbete man bör räkna med per vecka """ totaltimmar = hp/1.5*40 egnaTimmar = totaltimmar - schemalagt perVecka = egnaTimmar/veckor return perVecka csamh = egetArbete(6, 11, 60) print(csamh) clgym_lingv = egetArbete(8, 13, 73) print(clgym_lingv)

19 uppgift Du vill skriva en funktion som avgör om en låneansökan ska beviljas. 1.Vad är indata (parametrar)? 2.Vad är utdata (returvärden)?

20 Läxa Till nästa labb: Skriv och testa en funktion, som beräknar någon kostnad för en lokal (eller en skola), t ex lokalhyra, el, internet, städning,vatten, värme, försäkring, kontorsmaskiner, telefon,... Mer info på övningen!


Ladda ner ppt "DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation."

Liknande presentationer


Google-annonser