Slides:



Advertisements
Verwante presentaties
Optellen en aftrekken tot 20
Advertisements




Voorrangsregels bij rekenen (2)
Standaard-bewerkingen
2/3 betekent; je deelt iets in 3 stukken en jij krijgt er 2 van.

Hoe werkt een rekenmachine?

vergelijkingen oplossen
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Sint Jorisschool Examenvoorlichting Studie & Voorbereiding Examen Uitslag Diploma.
Sint Jorisschool Examenvoorlichting
Ronde (Sport & Spel) Quiz Night !
Gestructureerd programmeren in C
Diagnosticeer uw schouder Dit is een interactieve gids om u te helpen vinden relevante patiënten informatie over uw schouderprobleem. Het is bedoeld als.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
© GfK 2012 | Title of presentation | DD. Month


Passie - Verrijzenis Arcabas
Elke 7 seconden een nieuw getal
Lineaire functies Lineaire functie
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Numerieke Natuurkunde
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 8 Gestructureerd programmeren in C. 101 Array Meerdere variabelen van hetzelfde type kun je samennemen in één array variabele. Stel in een.
GESPRG Les 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
Van de eerste graad in één onbekende
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
Talstelsels, rekenen en rekenschakelingen
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde Lesweek 2
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde, ribPWI Lesweek 01
Standaard-bewerkingen
Vergelijkingen oplossen
ZijActief Koningslust 10 jaar Truusje Trap
1 Syntax JavaLogo. 2 Hoofdstuk 1 Tekenen in Java.
Voorrangsregels bij rekenen (1)
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hoofdstuk 9 havo KWADRATEN EN LETTERS
Hoofdstuk 9 havo KWADRATEN EN LETTERS
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
Basisvaardigheden: Metingen en diagrammen
De financiële functie: Integrale bedrijfsanalyse©
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Regels voor het vermenigvuldigen
ZijActief Koningslust
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
tircms02-p les 1 Operating Systems practicum
Significante cijfers Wetenschappelijke notatie
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Transcript van de presentatie:

Gestructureerd programmeren in C GESPRG Les 2

Rekenen met gehele getallen operator symbool opmerking optellen + aftrekken - vermenigvuldigen * delen / gehele deling zonder rest modulo % de rest van de deling int a = 26, b = 7; printf("%d / %d = %d\n", a, b, a / b); printf("%d %% %d = %d\n", a, b, a % b); Wat is de uitvoer?

Rekenen met floating point operator symbool optellen + aftrekken - vermenigvuldigen * delen / float a = 25.4, b = 2.0; printf("%f / %f = %f\n", a, b, a / b); Wat is de uitvoer? 25.400000 / 2.000000 = 12.700000

Afdrukken van floating point float a = 25.4, b = 2.0; printf("%.1f / %.1f = %.1f\n", a, b, a / b); Wat is de uitvoer? 25.4 / 2.0 = 12.7 float a = 25.4, b = 2.0; printf("%06.2f / %06.2f = %06.2f\n", a, b, a / b); Wat is de uitvoer? 025.40 / 002.00 = 012.70

double versus float Een float wordt opgeslagen in 32 bits en is niet erg nauwkeurig. Minimaal 6 (max 9) significante cijfers. Een double wordt opgeslagen in 64 bits en is 2x zo nauwkeurig. Miniaal 15 (max 17) significante cijfers. #include <stdio.h> int main(void) { float f_derde = 1 / 3.0; double d_derde = 1 / 3.0; printf("%.20f\n", f_derde); printf("%.20f\n", d_derde); getchar(); return 0; } 0.33333334326744080000 0.33333333333333331000

Voorbeeld: F  C Schrijf een programma waarmee een temperatuur in graden Fahrenheit omgerekend kan worden naar graden Celsius. De temperatuur in graden Fahrenheit is een geheel getal. De temperatuur in graden Celcius moet worden afgerond tot een geheel getal. Voorbeelden: TF = 100  TC = 37.7777…  TC = 38 TF = 0  TC = -17.7777…  TC = -18

Wat gaat er verkeerd? Oplossing? Voorbeeld: F  C #include <stdio.h> int main(void) { int C, F; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); C = (F - 32) * (5 / 9); printf("De temperatuur in graden Celcius is: %d\n", C); fflush(stdin); getchar(); return 0; } Wat gaat er verkeerd? Oplossing?

Er wordt afgekapt in plaats van afgerond! Voorbeeld: F  C #include <stdio.h> int main(void) { int C, F; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); C = (F - 32) * 5 / 9; printf("De temperatuur in graden Celcius is: %d\n", C); fflush(stdin); getchar(); return 0; } Er wordt afgekapt in plaats van afgerond! Oplossing?

Voorbeeld: F  C Is het nu goed? #include <stdio.h> int main(void) { int C, F; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); C = (F - 32) * 5.0 / 9 + 0.5; printf("De temperatuur in graden Celcius is: %d\n", C); fflush(stdin); getchar(); return 0; } Is het nu goed?

Rondt niet goed af als C negatief wordt. Voorbeeld: F  C #include <stdio.h> int main(void) { int C, F; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); C = (F - 32) * 5.0 / 9 + 0.5; printf("De temperatuur in graden Celcius is: %d\n", C); fflush(stdin); getchar(); return 0; } Rondt niet goed af als C negatief wordt.

Kan dat niet eenvoudiger? Voorbeeld: F  C #include <stdio.h> int main(void) { int C, F; double Cdouble; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); Cdouble = (F - 32) * 5.0 / 9; if (Cdouble > 0) { C = Cdouble + 0.5; } else { C = Cdouble - 0.5; printf("De temperatuur in graden Celcius is: %d\n", C); fflush(stdin); getchar(); return 0; Kan dat niet eenvoudiger?

Werkt C = (F - 32) * 5 / 9; ook goed? Voorbeeld: F  C #include <stdio.h> int main(void) { int F; double C; printf("Geef de temperatuur in graden Fahrenheit: "); scanf("%d", &F); C = (F - 32) * 5.0 / 9; printf("De temperatuur in graden Celcius is: %.0f\n", C); fflush(stdin); getchar(); return 0; } Werkt C = (F - 32) * 5 / 9; ook goed?

Huiswerk: F  C Schrijf een programma waarmee een temperatuur in graden Fahrenheit omgerekend kan worden naar graden Celsius. De temperatuur in graden Fahrenheit is een floating point getal met 2 cijfers achter de decimale punt. De temperatuur in graden Celcius moet worden afgerond op 2 cijfers achter de decimale punt.

Uitwerking huiswerk: F  C #include <stdio.h> int main(void) { float C, F; printf("Geef de temperatuur in graden Fahrenheit:"); scanf("%f", &F); C = (F - 32) * 5 / 9; printf("De temperatuur in graden Celcius is: %.2f\n", C); getchar(); fflush(stdin); return 0; } Waarom werkt C = (F – 32) * 5 / 9 nu wel goed? Werkt C = 5 / 9 * (F – 32) ook goed?

Huiswerk Bestudeer C boek: Maak opdrachten: paragrafen 2.2 t/m 2.6. paragraaf 3.1. paragraaf 3.4. paragraaf 3.6. Maak opdrachten: 5, 7 en 9 van paragraaf 2.15. 1 van paragraaf 3.13.