Numerieke Natuurkunde
Opzet van het practicum Programmeer vaardigheden De taal C leren gebruiken (1-2 dagen) Introductie in numerieke algoritmen (rest) Groot stuk “doe-het-zelf” Zelf code schrijven Zelf debuggen Ergo: aanwezigheids ‘wenselijkheid’
De programmeertaal C Ontwikkeld door Brian Kernighan in 1979 C werd door Bell Labs ontwikkeld om UNIX te kunnen maken In 1983 is er een ANSI standaard ontwikkeld Er is dus slechts 1 versie van C! C is een functionele taal Geen Object Oriented taal zoals C++ & Java
main geeft het getal 0 terug Minimaal programma int main(void) { return 0; } het hoofdprogramma: daar begint “het” De ‘scope’ van het programma main wordt afgebakkend met de accolades Elke ‘uitvoerbare’ regel wordt afgesloten met punt-komma het programma gaat een integer getal terug geven main geeft het getal 0 terug
Print het volgende naar het scherm Iets minder triviaal: #include <stdio.h> int main(void) { printf(“Hallo, Wereld!\n”); return 0; } Geef aan dat we functies uit de standaard I/O bibliotheek gebruiken Print het volgende naar het scherm
Een reken-voorbeeld int main(void) { int i; i = 2; i = i*i; printf(“i is %d\n”,i); return 0; } Er gaat een integer getal gebruikt worden: we noemen het ‘i’ ‘i’ krijgt de waarde 2 ‘i’ krijgt de waarde van i*i we printen de waarde van i uit
Variabelen De integer ‘i’ is een variabele Er zijn vier typen van variabelen int integer float floating point met 1/107 precisie double floating point met 1/109 precisie char basis (asci) character Namen van variabelen moet worden opgebouwd uit gewone letter & cijfers namen mogen nooit beginnen met een cijfer!
Inlezen van variabelen #include <stdio.h> int main(void) { int i; scanf(“geef een integer %d”,&i); print(“Ingevoerde integer is %d”,i); return 0; } De inlees funtie uit stdio Let op het ‘&’ teken!
Rekenkundige operatoren Binnen de taal C zijn de volgende rekenkundige operatoren gedefinieerd + voor optellen - voor aftrekken * voor vermenigvuldigen / voor delen % voor remainder – vb 13%2 levert 1 op Er is dus geen operator voor machtsverheffen of worteltrekken
Operator precedence Rekenkundige ‘regels’ worden volgens een vast patroon afgehandeld Hierbij hebben bepaalde operatoren voorrang op andere *,/ en % gaan eerst + en – komen later de toekennings operator (=) komt altijd als laatste
Een voorbeeld neem i = 3, j = 4, k = 5 j+k/i = 4 + (5/3) = 5.666….. In geval van twijfel – gebruik (…) om te groeperen Met (…) gegroepeerde operaties worden altijd eerst afgehandeld (j+k)/i = (4+5)/3 = 9/3 = 3
Wiskunde functies De taal C heeft veel wiskundige functies in de standaard math bibliotheek sqrt(x),log(x),log10(x),exp(x),pow(x,y),sin(x),cos(x),tan(x),……. Deze komen beschikbaar door voor de main de volgende regel toe te voegen #include <math.h> int main(void)….
Etiquette met code Er zijn een aantal standaard opmaak regels in C: Structureer de code met behulp van inspringen Kies de namen van variabelen zo dat de logisch zijn (maar niet te lang!) Gebruik blanco regels om de leesbaarheid te verhogen Becommentarieer de code tusses /* …. */ Dit helpt de ons bij het bekijken van jullie code Het helpt jou als je na een week terug komt om verder te gaan!