Kurt Nørmark ©
Institut for Datalogi, Aalborg Universitet
Sammendrag Forrige lektion Næste lektion Stikord Referencer Indhold | I denne lektion gennemgår vi funktions- og procedure begrebet, herunder lokale variable og parametre. Vi ser naturligvis også på detaljer omkring funktioner i C. |
Funktioner - Lasagne |
Lasagne al forno Slide Indhold Stikord Referencer Lærebog |
|
|
Struktureret lasagne Slide Indhold Stikord Referencer Lærebog |
|
Program: Lasagne. |
|
Program: Lav en dobbelt portion lasagneplader. |
|
Program: Lav en portion hvid sovs. |
|
Program: Lav en portion kødsovs. |
|
|
Lasagne ala C Slide Indhold Stikord Referencer Lærebog |
Program: Et pseudo C program som laver lasagne. |
|
Tændstikgrafik abstraktioner |
Eksempel: En tændstikpige (1) Slide Indhold Stikord Referencer Lærebog |
|
Program: Udskrivning af tændstikpige i termer af udskrivning af hoved, arme, krop og ben. |
|
Program: Det ønskede program output. |
|
|
Eksempel: En tændstikpige (2) Slide Indhold Stikord Referencer Lærebog |
|
Program: Udskrivning af hoved, arme, krop og ben i termer af generelle geometriske figurer. |
|
|
Eksempel: En tændstikpige (3) Slide Indhold Stikord Referencer Lærebog |
|
Program: Udskrivning af cirkler, linier og andre geometriske figurer. |
|
Eksempel: En tændstikpige (4) Slide Indhold Stikord Referencer Lærebog |
|
Figur. En illustration of problemer og delproblemer i forbindelse med tegning af en tændstikpige | ![]() |
Eksempel: En tændstikpige (5) Slide Indhold Stikord Referencer Lærebog |
|
Program: Tændstikpige programmet. |
|
Program: Filen char-graphics.h - header fil med prototyper af de grafiske funktioner. |
|
Program: Filen char-graphics.c - implementationen af de grafiske funktioner. |
|
Program: Oversættelse af programmerne. |
|
Program: Oversættelse af programmerne - med mange warnings. |
|
|
|
Del og hersk Slide Indhold Stikord Referencer Lærebog |
|
Figur. Opdelning af et kompleks problem i delproblemer | ![]() |
|
Procedurer og funktioner |
Procedurer og funktioner Slide Indhold Stikord Referencer Lærebog |
Begrebet procedure: En procedure er en abstraktion over en sekvens af kommandoer | ||
Begrebet funktion: En funktion er en abstraktion over et udtryk |
|
|
Funktionsdefinitioner i C Slide Indhold Stikord Referencer Lærebog |
|
Syntax: En funktionsdefinition i C |
|
|
|
Funktionskald i C Slide Indhold Stikord Referencer Lærebog |
Syntax: Et funktionskald i C |
|
|
|
Eksempel: Temperaturomregninger Slide Indhold Stikord Referencer Lærebog |
|
Program: Et program som omregner frysepunkt og kogepunkt til Fahrenheit grader. |
|
Figur. To kald af fahrenheit_temperature funktionen | ![]() |
Program: Et program som udskriver en nyttig temperaturkonverteringstabel. |
|
Program: Output fra ovenstående program. |
|
Eksempel: Antal dage i en måned Slide Indhold Stikord Referencer Lærebog |
|
Program: Et program der beregner antal dage i en måned med en funktion. |
|
|
|
Eksempel: GCD Slide Indhold Stikord Referencer Lærebog |
|
Program: Et program der beregner største fælles divisor med en funktion. |
|
|
Parametre til C funktioner Slide Indhold Stikord Referencer Lærebog |
|
Begrebet formel parameter: En parameter, som optræder i en funktionsdefinition, kaldes en formel parameter. En formel parameter er et navn. | ||
Begrebet aktuel parameter: En parameter, som optræder i et kald af en funktion, kaldes en aktuel parameter. En aktuel parameter er et udtryk, som beregnes inden det overføres. |
|
Eksempel: Rodsøgning |
Rodsøgning (1) Slide Indhold Stikord Referencer Lærebog |
|
Figur. En kontinuert funktion f med en rod mellem l og u | ![]() |
|
Rodsøgning (2) Slide Indhold Stikord Referencer Lærebog |
Program: Rodsøgningsfunktionen. |
|
Program: Funktionerne sameSign, middleOf og isSmallNumber. |
|
Program: Hele rodsøgningsprogrammet. |
|
Rekursive funktioner |
Rekursive funktioner Slide Indhold Stikord Referencer Lærebog |
|
|
Program: Et program med en rekursivt defineret fakultetsfunktion. |
|
Program: Output fra ovenstående program. |
|
|
Program: En rekursiv version af funktionen findRootBetween. |
|
Program: Hele rodsøgningsprogrammet. |
|
Korrekthed af programmer |
Assertions Slide Indhold Stikord Referencer Lærebog |
|
|
Program: En forkert implementation af my_sqrt. |
|
Program: En brugbar implementation af my_sqrt implementeret via rodsøgningsfunktionen. |
|
Program: En udgave af findRootBetween med præbetingelse og postbetingelse. |
|
Samlede referencer Indhold Stikord |
|
Kapitel 3: Funktioner
Kursets hjemmeside Forfatteren's hjemmeside Om frembringelsen af disse sider Forrige lektion (top) Næste lektion (top) Forrige lektion (bund) Næste lektion (bund)
Genereret: 7. Juli 2010, 15:10:30