Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 6 Programmeringsteknik och Matlab DD1315 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None.

Liknande presentationer


En presentation över ämnet: "Föreläsning 6 Programmeringsteknik och Matlab DD1315 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None."— Presentationens avskrift:

1 Föreläsning 6 Programmeringsteknik och Matlab DD1315 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None

2 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Program utdata ? 1/20 indata

3 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel def meny(): print( ””” 1. Spela 2. Visa spelregler 3. Avsluta V ä lj: ”””,end= ”” ) meny() definition anrop 2/20

4 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Syntax för funktion def funktionensnamn( ): Kod som ska exekveras när funktionen anropas Indragning är viktigt! 3/20 parametrar

5 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Funktioner Används för att dela upp ett program i lätthanterliga och återanvändbara delar En funktion tar oftast indata och ger utdata, men en funktion kan även utföra operationer Man kan undvika upprepning av kod genom att använda egna funktioner och parametrar Med hjälp av egna funktioner inför man abstraktion i sitt program 4/20

6 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Parametrar En funktion med parametrar har större användningsområde än en funktion utan parametrar. Varför? Vilken av följande har större användningsområde? def calc(): print(2*3+3) calc() def calc(a,b): print(a*b+b) calc(2, 3) 5/20

7 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning return En funktion med parametrar som returnerar ett värde har ännu större användningsområde. def calc(a,b): print(a*b+b) calc(2,3) def calc(a,b): return a*b+b svar=calc(2,3) print(svar) 6/20

8 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning parametrar, return och None Indata skickas till funktioner via funktionens parametrar. Funktioner returnerar utdata med hjälp av return -satsen. Om en funktion inte har return - sats i kroppen kommer då funktionen att returnera None. (None vilket betyder ingenting i python) 7/20

9 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel def calc(a,b): c = a*b + b return c m=calc(2, 3) Variabeln m kommer att få värdet 9 vilket är av typen integer Variabeln m kommer att få värdet None def calc(a,b): c = a*b + b m=calc(2, 3) 8/20

10 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel def calc(a,b): c = a*b + b return c m=calc(2,3.0) def comp(a,b): return a > b m=comp(2, 3) Variabeln m kommer att få värdet 9.0 vilket är av typen float Variabeln m kommer att få värdet False vilket är boolean 9/20

11 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning utdata Program f1() f2() f3() 10/20 indata

12 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exekverings- och logiskt fel Exekverings fel: det är ett fel som gör att programmet kraschar innan det hinner att avslutas Logiskt fel: det är då programmet avslutas men felaktig utdata kommer ut. (denna typ av fel är svårast att spåra) 11/20

13 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Logiskt fel brudgummen brud 12/20

14 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Logiskt fel brudgummen brud 12/20

15 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel på logiskt fel def BMI( height, weight): return weight/(height*height) BMI(65,1.70) BMI(1.70,65) Vilket av följande anrop är fel? 13/20

16 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Globala och lokala variabler En variabel kan antingen vara global eller lokal, kan alltså inte vara både samtidigt: Globala variabler: är variabler som lever tills programmet avslutas: –Globala variabler definieras med nyckelordet global Lokalvariabel: är variabler som oftast lever en kort stund. –Formella parameter –Lokala variabler som skapas i funktioner –Lokala variabler är känd endast i funktionen och har kortare livslängd än globala variabler 14/20

17 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel Följande kod ger fel: def change(): x = x/2 x=10 change() Följande kod är korrekt: def change(): global x x = x/2 x = 10 print(x) change() print(x) 15/20

18 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel Följande kod är rätt: def change(x): x = x/2 x=10 print(x) change(x) print(x) Följande kod ger fel: def change(x): global x x = x/2 16/20

19 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Default-parametrar Vid definition av en funktion kan man ge formella parametrar ett default-värde. De parametrar som får ett default-värde kallas för default-parametrar. Anropsparametrar till en funktion med default- parametrar kan försummas. Funktionen använder sig av default-parametrars värde endast när anropsparametrar utelämnas vid anropet. Om man vill blanda default-parametrar med vanliga default-parametrar måste man se till att default- parametrar kommer senare i definitionen. 17/20

20 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Vilket av följande är fel? def correction(penColor=”röd”,type): print(type+” har rättats med” + penColor+” penna”) def correction(type,penColor=”röd”): print(type+” har rättats med”+ penColor+” penna”) 18/20

21 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Exempel def correction(penColor=”röd”): print (”Tentamen har rättats med ” +penColor+” penna”) Kan anropas p å f ö ljande s ä tt: utan anropsparameter : correction() med anropsparameter: correction(”svart”) 19/20

22 Översikt Program Egen funktion Logiskt fel Global/ lokal Default parameter Sammanfattning Genom att deklarera egna funktioner inför man abstraktion i sitt program, vilket gör att programmet blir lättare att läsa och förstå, dessutom koden blir mer överskådlig Man kan undvika kod upprepning genom att deklarera egna funktioner Se till att dina funktioner är fristående och självständiga Beroende mellan funktioner gör det svårt att modifiera programmet Undvik att använda globala variabler 20/20


Ladda ner ppt "Föreläsning 6 Programmeringsteknik och Matlab DD1315 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None."

Liknande presentationer


Google-annonser