Numerieke Natuurkunde Opzet van het practicum Programmeer vaardigheden

  • Slides: 13
Download presentation
Numerieke Natuurkunde

Numerieke Natuurkunde

Opzet van het practicum Programmeer vaardigheden n n De taal C leren gebruiken (1

Opzet van het practicum Programmeer vaardigheden n n De taal C leren gebruiken (1 -2 dagen) Introductie in numerieke algoritmen (rest) Groot stuk “doe-het-zelf” n n Zelf code schrijven Zelf debuggen Ergo: aanwezigheids ‘wenselijkheid’

De programmeertaal C Ontwikkeld door Brian Kernighan in 1979 C werd door Bell Labs

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 n Er is dus slechts 1 versie van C! C is een functionele taal n Geen Object Oriented taal zoals C++ & Java

Minimaal programma int main(void) { return 0; } het hoofdprogramma: daar begint “het” het

Minimaal programma int main(void) { return 0; } het hoofdprogramma: daar begint “het” het programma gaat een integer getal terug geven main geeft het getal 0 terug De ‘scope’ van het programma main wordt afgebakkend met de accolades Elke ‘uitvoerbare’ regel wordt afgesloten met punt-komma

Iets minder triviaal: #include <stdio. h> Geef aan dat we functies uit de standaard

Iets minder triviaal: #include <stdio. h> Geef aan dat we functies uit de standaard I/O bibliotheek gebruiken int main(void) { printf(“Hallo, Wereld!n”); return 0; } Print het volgende naar het scherm

Een reken-voorbeeld int main(void) { Er gaat een integer getal gebruikt int i; worden:

Een reken-voorbeeld int main(void) { Er gaat een integer getal gebruikt int i; worden: we noemen het ‘i’ krijgt de waarde 2 i = 2; ‘i’ krijgt de waarde van i*i i = i*i; printf(“i is %dn”, i); return 0; } we printen de waarde van i uit

Variabelen De integer ‘i’ is een variabele Er zijn vier typen variabelen n n

Variabelen De integer ‘i’ is een variabele Er zijn vier typen variabelen n n integer floating point met 1/107 precisie double floating point met 1/109 precisie char basis (asci) character Namen variabelen moet worden opgebouwd uit gewone letter & cijfers n namen mogen nooit beginnen met een cijfer!

Inlezen variabelen #include <stdio. h> De inlees funtie uit stdio int main(void) Let op

Inlezen variabelen #include <stdio. h> De inlees funtie uit stdio int main(void) Let op het ‘&’ teken! { int i; scanf(“geef een integer %d”, &i); print(“Ingevoerde integer is %d”, i); return 0; }

Rekenkundige operatoren Binnen de taal C zijn de volgende rekenkundige operatoren gedefinieerd n n

Rekenkundige operatoren Binnen de taal C zijn de volgende rekenkundige operatoren gedefinieerd n n n + 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

Operator precedence Rekenkundige ‘regels’ worden volgens een vast patroon afgehandeld Hierbij hebben bepaalde operatoren voorrang op andere n n n *, / en % gaan eerst + en – komen later de toekennings operator (=) komt altijd als laatste

Een voorbeeld neem i = 3, j = 4, k = 5 n n

Een voorbeeld neem i = 3, j = 4, k = 5 n n i+j*k = 3 + (4*5) = 23 j+k/i = 4 + (5/3) = 5. 666…. . In geval van twijfel – gebruik (…) om te groeperen n n 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

Wiskunde functies De taal C heeft veel wiskundige functies in de standaard math bibliotheek n sqrt(x), log 10(x), exp(x), pow(x, y), sin(x), c os(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

Etiquette met code Er zijn een aantal standaard opmaak regels in C: Structureer de code met behulp van inspringen Kies de namen variabelen zo dat de logisch zijn (maar niet te lang!) Gebruik blanco regels om de leesbaarheid te verhogen Becommentarieer de code tusses /* …. */ n n Dit helpt de ons bij het bekijken van jullie code Het helpt jou als je na een week terug komt om verder te gaan!