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