Algoritmen en programmeren: deel 2 - basis

Maat: px
Weergave met pagina beginnen:

Download "Algoritmen en programmeren: deel 2 - basis"

Transcriptie

1 Algoritmen en programmeren: deel 2 - basis Ruud van Damme Creation date: 25 april 2005 Update: 16 november 2006, 9 september 2007

2 Overzicht 1 Basisbenodigdheden voor alle problemen 2

3 Alles in stukjes op een rij ALS N>1 DAN ANTWOORD = N * FACTORIAL(N-1) ANDERS ANTWOORD = 1 ZOLANG ER IETS VERANDERT KLEUR DE BUREN VAN ALLE RODE ROOD VOOR K=1,..,N Z = Z * K

4 Herhalen en wel te weten wanneer je stopt k=0; for i=1:3 k=k+i; Doe wat er staat

5 Herhalen zonder te weten wanneer je stopt i=1; while(i<100) i=10*i; end Zo lang het waar is, doe wat er staat Gevaarlijk

6 Logische berekeningen == is gelijk? ~ niet > (<) groter (kleiner)? >= groter (kleiner) dan? && en of : if(i==1) als i gelijk is aan 1 if((i>1)&&(j<0)) als i>1 EN j<0 if((i>1) (j<0)) als i>1 OF j<0 (7==7) true (bool) of ook 1 (1==2) false (bool) of ook 0

7 Als dan (1) if(i==1) j=10; else j=100; end

8 Als dan (2) i=3; if(i==1) j=10; else if(i==2) j=100; else j=1000;

9 Alles op een rij for k=1:5... while(j>100)... if(g>7)... else...

10 Als dan (3) j=3; k=4; if (j==k) for i=1:3 if (s(i)>0) s(i)=-s(i); else j++; Wat is j geworden?

11 Als dan (4) j=3; k=4; if (j==k) for i=1:3 if (s(i)>0) s(i)=-s(i); else j++;

12 Lijsten, vectoren (1) Soms is één of een klein aantal antwoorden niet genoeg Bijvoorbeeld: bereken de eerste 1000 priemgetallen a=2; b=3; c=5; Daarom kan je lijsten (of vectoren) definiëren en gebruiken p=zeros(1000,1); p(1)=2; p(2,1)=3;...; p(1000)=7919; % niet verplicht

13 Functies function output=functienaam(input) output=... Erg belangrijk: splits je probleem op in deelproblemen: elk subprobleem behandel je apart én test je apart (Niemand maakt geen fouten...). Een programma wordt dan een wisselwerking tussen allerlei functies én het hoofdprogramma: een script. input en output kan van alles zijn: function [X,u,W]=nootmuskaat(z,w) X=z.*w; u=2*x(1); W=200;

14 Functies function z=kwad(x) z=x.*x; Bewaar deze in een file kwad.m! Maak een andere m-file die de functie gebruikt: z=0; for k=1:10 z=z+kwad(k); Flexibiliteit; alles opsplitsen in kleinere problemen maakt alles overzichtelijker

15 Dus... 1 Probleem naar algoritme: op papier en nadenken

16 Dus... 1 Probleem naar algoritme: op papier en nadenken 2 Schrijf het algoritme in je moers taal

17 Dus... 1 Probleem naar algoritme: op papier en nadenken 2 Schrijf het algoritme in je moers taal 3 En dan pas denk je aan de implementatie

18 Overzicht 1 Basisbenodigdheden voor alle problemen 2

19 Opgaven Een sommatie 1 Priemtesters 2 Sudoku s 3 Het grootste priemgetal 4 Februari 5 Kieswet 6

20 Opgave 1: Sommatie Bereken S = k=1 ( 1) k+1 k 2 en daarme T = 12S.

21 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 k 2

22 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 Een herhaalde uitvoering van bekende lengte: k 2

23 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 Een herhaalde uitvoering van bekende lengte: k 2 VOOR K=1,..,N S = S + (-1)^(K+1)/K^2

24 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 Een herhaalde uitvoering van bekende lengte: k 2 S = 0 VOOR K=1,..,N S = S + (-1)^(K+1)/K^2

25 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 Een herhaalde uitvoering van bekende lengte: k 2 S = 0 VOOR K=1,..,N S = S + (-1)^(K+1)/K^2 ANTWOORD = WORTEL(12*S)

26 Opgave 1: Sommatie Bereken S = ( 1) k+1 k=1 en daarme T = 12S. k 2 Eerst S uitrekenen. De som tot oneindig kan niet op een computer: N ( 1) k+1 S N = k=1 Een herhaalde uitvoering van bekende lengte: k 2 S = 0 VOOR K=1,..,N S = S + (-1)^(K+1)/K^2 ANTWOORD = WORTEL(12*S) En nou maar hopen dat N groot genoeg is gekozen! (Hoe zou je kunnen wat een goede N is?)

27 Opgave 1 function S=sn(N) S = 0; for K=1:N S = S + (-1)^(K+1)/K/K; S = sqrt(12*s);

28 Opgave 1 function S=sn(N) S = 0; for K=1:N S = S + (-1)^(K+1)/K/K; S = sqrt(12*s); Sla deze file als functie op (als sn.m); en:

29 Opgave 1 function S=sn(N) S = 0; for K=1:N S = S + (-1)^(K+1)/K/K; S = sqrt(12*s); Sla deze file als functie op (als sn.m); en:» format long» sn(100) ans =

30 Opgave 1 function S=sn(N) S = 0; for K=1:N S = S + (-1)^(K+1)/K/K; S = sqrt(12*s); Sla deze file als functie op (als sn.m); en:» format long» sn(100) ans = » sn(1000) ans =

31 Opgave 1 function S=sn(N) S = 0; for K=1:N S = S + (-1)^(K+1)/K/K; S = sqrt(12*s); Sla deze file als functie op (als sn.m); en:» format long» sn(100) ans = » sn(1000) ans = Go back

32 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst

33 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst Definitie: P is priem als hij alleen deelbaar is door 1 en door P zelf

34 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst Definitie: P is priem als hij alleen deelbaar is door 1 en door P zelf Definitie: P is priem als niet deelbaar is k = 1,..., P 1

35 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst Definitie: P is priem als hij alleen deelbaar is door 1 en door P zelf Definitie: P is priem als niet deelbaar is k = 1,..., P 1 GEGEVEN P

36 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst Definitie: P is priem als hij alleen deelbaar is door 1 en door P zelf Definitie: P is priem als niet deelbaar is k = 1,..., P 1 GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K

37 Opgave 2: Priemtesters Bepaal de kleinste N = 1000 priemgetallen en sla die op in een lijst Definitie: P is priem als hij alleen deelbaar is door 1 en door P zelf Definitie: P is priem als niet deelbaar is k = 1,..., P 1 GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K ALS ALLE TESTS DOORSTAAN: PRIEM ANDERS: NIET PRIEM

38 Opgave 2 Algoritme in het Nederlands: GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K ALS TESTS DOORSTAAN: PRIEM ANDERS: NIET PRIEM

39 Opgave 2 Algoritme in het Nederlands: GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K ALS TESTS DOORSTAAN: PRIEM ANDERS: NIET PRIEM Implementatie in Matlab: ispriem.m met de definitie

40 Opgave 2 Algoritme in het Nederlands: GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K ALS TESTS DOORSTAAN: PRIEM ANDERS: NIET PRIEM Implementatie in Matlab: ispriem.m met de definitie function isp=ispriem(p) %ispriem.m

41 Opgave 2 Algoritme in het Nederlands: GEGEVEN P VOOR K=2,..,P-1 P IS OOK NIET DEELBAAR DOOR K ALS TESTS DOORSTAAN: PRIEM ANDERS: NIET PRIEM Implementatie in Matlab: ispriem.m met de definitie function isp=ispriem(p) %ispriem.m isp=true; for k=2:p-1 if(isdeelbaar(p,k)) isp=false; end end

42 Opgave 2 Implementatie in Matlab: ispriem.m met de definitie for k=2:p-1 if(isdeelbaar(p,k)) isp=false; end

43 Opgave 2 Implementatie in Matlab: ispriem.m met de definitie for k=2:p-1 if(isdeelbaar(p,k)) isp=false; end Alternatief voor ispriem.m

44 Opgave 2 Implementatie in Matlab: ispriem.m met de definitie for k=2:p-1 if(isdeelbaar(p,k)) isp=false; end Alternatief voor ispriem.m function isp=ispriem2(p) % ispriem2.m

45 Opgave 2 Implementatie in Matlab: ispriem.m met de definitie for k=2:p-1 if(isdeelbaar(p,k)) isp=false; end Alternatief voor ispriem.m function isp=ispriem2(p) % ispriem2.m isp=~isdeelbaar(p,2); k=3; while((k<sqrt(p))&&(isp==true)) if(isdeelbaar(p,k)) isp=false; end k=k+2; end

46 Opgave 2 Implementatie in Matlab: behalve ispriem.m ook isdeelbaar.m function isp=ispriem(p) of ispriem2 File isdeelbaar.m kan er als volgt uitzien

47 Opgave 2 Implementatie in Matlab: behalve ispriem.m ook isdeelbaar.m function isp=ispriem(p) of ispriem2 File isdeelbaar.m kan er als volgt uitzien function isd=isdeelbaar(p,k) if(mod(p,k)==0) isd=true; else isd=false; end

48 Opgave 2 Implementatie in Matlab: behalve ispriem.m ook isdeelbaar.m function isp=ispriem(p) of ispriem2 File isdeelbaar.m kan er als volgt uitzien function isd=isdeelbaar(p,k) if(mod(p,k)==0) isd=true; else isd=false; end function isd=isdeelbaar2(p,k) isd=mod(p,k)==0;

49 Bepaal nu de eerste N = 1000 priemgetallen function isd=isdeelbaar(p,k)... end function isp=ispriem(p)..isdeelbaar.. end

50 Bepaal nu de eerste N = 1000 priemgetallen function isd=isdeelbaar(p,k)... end function isp=ispriem(p)..isdeelbaar.. end %save bv. als script runpriem.m np=0; N=1000; k=2; % aantal gevonden priemen while(np<n) if(ispriem(k)) np=np+1; priem(np)=k; k=k+1;

51 Bepaal nu de eerste N = 1000 priemgetallen function isd=isdeelbaar(p,k)... end function isp=ispriem(p)..isdeelbaar.. end %save bv. als script runpriem.m np=0; N=1000; k=2; % aantal gevonden priemen while(np<n) if(ispriem(k)) np=np+1; priem(np)=k; k=k+1; NB: let op het gebruik van functies; alles wordt veel gemakkelijker (om te veranderen, overzicht te bewaren, etc.)

52 Bepaal nu de eerste N = 1000 priemgetallen function isd=isdeelbaar(p,k)... end function isp=ispriem(p)..isdeelbaar.. end %save bv. als script runpriem.m np=0; N=1000; k=2; % aantal gevonden priemen while(np<n) if(ispriem(k)) np=np+1; priem(np)=k; k=k+1; NB: let op het gebruik van functies; alles wordt veel gemakkelijker (om te veranderen, overzicht te bewaren, etc.) Go back

53 Opdracht 3: Sudoku s Bepaal of een Sudoku legitiem is Een Sudoku is een spel van 9 keer 9 hokjes Legitiem: in elke kolom, in elke rij, in elk blok staat precies elk getal van 1 tot 1 keer Algoritme: ga dit na...

54 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9

55 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9 Tel het aantal keer 1 in rij 1, etc. : tel het aantal keer k in rij m.

56 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9 Tel het aantal keer 1 in rij 1, etc. : tel het aantal keer k in rij m. function z=getalinrij(k,c,m)

57 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9 Tel het aantal keer 1 in rij 1, etc. : tel het aantal keer k in rij m. function z=getalinrij(k,c,m) z=0;

58 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9 Tel het aantal keer 1 in rij 1, etc. : tel het aantal keer k in rij m. function z=getalinrij(k,c,m) z=0; for j=1:9

59 Opdracht 3 in Matlab (1) Sudoku: C(i,j) is gevuld met getallen van 1 tot 9 Tel het aantal keer 1 in rij 1, etc. : tel het aantal keer k in rij m. function z=getalinrij(k,c,m) z=0; for j=1:9 if(c(m,j)==k) z=z+1; Schrijf zelf getalinkolom.m en blok -functie

60 Opdracht 3 in Matlab (2) runsudoku.m

61 Opdracht 3 in Matlab (2) runsudoku.m C=load( sudokuaf.txt ); res=true;

62 Opdracht 3 in Matlab (2) runsudoku.m C=load( sudokuaf.txt ); res=true; for k=1:9 for m=1:9 x(m)=getalinrij(k,c,m);

63 Opdracht 3 in Matlab (2) runsudoku.m C=load( sudokuaf.txt ); res=true; for k=1:9 for m=1:9 x(m)=getalinrij(k,c,m); if(x~=ones(1,9)) res=false;

64 Opdracht 3 in Matlab (2) runsudoku.m C=load( sudokuaf.txt ); res=true; for k=1:9 for m=1:9 x(m)=getalinrij(k,c,m); if(x~=ones(1,9)) res=false;... ook x(m)=getalinkolom(k,c,m);... ook x(m)=getalinblok(k,c,m);

65 Opdracht 3 in Matlab (2) runsudoku.m C=load( sudokuaf.txt ); res=true; for k=1:9 for m=1:9 x(m)=getalinrij(k,c,m); if(x~=ones(1,9)) res=false;... ook x(m)=getalinkolom(k,c,m);... ook x(m)=getalinblok(k,c,m); Go back

66 Opgave 4: Grootste priem Grootst bekende priem is p = heeft cijfers

67 Opgave 4: Grootste priem Grootst bekende priem is p = heeft cijfers Maar dat gaan we niet redden. We gaan zeven (ca. 200 vchr)

68 De zeef van Eratosthenes (1) -Z- -E- -E- -F Schrijf alle getallen in een lijst

69 De zeef van Eratosthenes (2) -Z- -E- -E- -F Pak de kleinste in de lijst, 2

70 De zeef van Eratosthenes (3) -Z- -E- -E- -F Gooi alle veelvouden van 2 uit de lijst

71 De zeef van Eratosthenes (4) -Z- -E- -E- -F Pak de volgende kleinste in de lijst, 3

72 De zeef van Eratosthenes (5) -Z- -E- -E- -F Pak de volgende kleinste in de lijst, 3

73 De zeef van Eratosthenes (6) -Z- -E- -E- -F Pak de volgende kleinste in de lijst, 3

74 De zeef van Eratosthenes (7) -Z- -E- -E- -F en 2 Enzovoorts...

75 Nu in woorden In woorden: we maken een lijst met 0 (geen priem), 1 (onbekend), 2 (zeker priem)

76 Nu in woorden In woorden: we maken een lijst met 0 (geen priem), 1 (onbekend), 2 (zeker priem) 0) zet een lijst(2:n)=1, lijst(1)=0

77 Nu in woorden In woorden: we maken een lijst met 0 (geen priem), 1 (onbekend), 2 (zeker priem) 0) zet een lijst(2:n)=1, lijst(1)=0 1) zolang we niet klaar zijn

78 Nu in woorden In woorden: we maken een lijst met 0 (geen priem), 1 (onbekend), 2 (zeker priem) 0) zet een lijst(2:n)=1, lijst(1)=0 1) zolang we niet klaar zijn 2a) waar staat de kleinste 1? (antwoord k)

79 Nu in woorden In woorden: we maken een lijst met 0 (geen priem), 1 (onbekend), 2 (zeker priem) 0) zet een lijst(2:n)=1, lijst(1)=0 1) zolang we niet klaar zijn 2a) waar staat de kleinste 1? (antwoord k) 2b) zet lijst van alle veelvouden van k (2k,3k,...) op 0

80 Matlab implementatie (1) 0) zet een lijst(2:n)=1, lijst(1)=0 N=50; of

81 Matlab implementatie (1) 0) zet een lijst(2:n)=1, lijst(1)=0 of N=50; lijst(1)=0; for k=2:n lijst(k)=1;

82 Matlab implementatie (1) 0) zet een lijst(2:n)=1, lijst(1)=0 of N=50; lijst(1)=0; for k=2:n lijst(k)=1; N=50; lijst=zeros(n,1); lijst(1)=0;

83 Matlab implementatie (2) 1) zolang we niet klaar zijn k=1; while(k<n/2)

84 Matlab implementatie (2) 1) zolang we niet klaar zijn k=1; while(k<n/2)

85 Matlab implementatie (3) 2a) waar staat de kleinste 1? (antwoord k) k=1; while(k<n/2)

86 Matlab implementatie (3) 2a) waar staat de kleinste 1? (antwoord k) k=1; while(k<n/2) while(lijst(k)~=1) k=k+1;

87 Matlab implementatie (3) 2a) waar staat de kleinste 1? (antwoord k) k=1; while(k<n/2) while(lijst(k)~=1) k=k+1;

88 Matlab implementatie (4) 2b) streep de veelvouden van k weg k=1; while(k<n/2) while(lijst(k)~=1) k=k+1;

89 Matlab implementatie (4) 2b) streep de veelvouden van k weg k=1; while(k<n/2) while(lijst(k)~=1) k=k+1; lijst(k)=2; m=2*k;

90 Matlab implementatie (4) 2b) streep de veelvouden van k weg k=1; while(k<n/2) while(lijst(k)~=1) k=k+1; lijst(k)=2; m=2*k; while(m<=n) lijst(m)=0; m=m+k;

91 Matlab implementatie (4) 2b) streep de veelvouden van k weg k=1; while(k<n/2) while(lijst(k)~=1) k=k+1; lijst(k)=2; m=2*k; while(m<=n) lijst(m)=0; m=m+k; Go back

92 Opgave 5: Februari Als een jaartal deelbaar is door 4, dan is het een schrikkeljaar

93 Opgave 5: Februari Als een jaartal deelbaar is door 4, dan is het een schrikkeljaar Echter: Als een jaartal deelbaar is door 100, dan is het geen schrikkeljaar

94 Opgave 5: Februari Als een jaartal deelbaar is door 4, dan is het een schrikkeljaar Echter: Als een jaartal deelbaar is door 100, dan is het geen schrikkeljaar Maar de uitzobndering daar op is als een jaartal deelbaar is door 400, want dan is het weer wel een schrikkeljaar

95 Februari Nu in Matlab: function aantaldagen=februari(jaar)

96 Februari Nu in Matlab: function aantaldagen=februari(jaar) aantaldagen=28;

97 Februari Nu in Matlab: function aantaldagen=februari(jaar) aantaldagen=28; if(mod(jaar,4)==0) aantaldagen=29;

98 Februari Nu in Matlab: function aantaldagen=februari(jaar) aantaldagen=28; if(mod(jaar,4)==0) aantaldagen=29; if(mod(jaar,100)==0) aantaldagen=28;

99 Februari Nu in Matlab: function aantaldagen=februari(jaar) aantaldagen=28; if(mod(jaar,4)==0) aantaldagen=29; if(mod(jaar,100)==0) aantaldagen=28; if(mod(jaar,400)==0) aantaldagen=29;

100 Februari Nu in Matlab: function aantaldagen=februari(jaar) aantaldagen=28; if(mod(jaar,4)==0) aantaldagen=29; if(mod(jaar,100)==0) aantaldagen=28; if(mod(jaar,400)==0) aantaldagen=29; Go back

101 Verkiezingen Er zijn partijen 1 tot en met P Er zijn Z zetels beschikbaar

102 Verkiezingen Er zijn partijen 1 tot en met P Er zijn Z zetels beschikbaar Partij k heeft a(k) stemmen behaald Hoeveel zetels krijgt elke partij?

103 Opgave 6: Kieswet, wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd.

104 Opgave 6: Kieswet, wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd. Voor de verdeling van de restzetels wordt het aantal stemmen dat een lijst heeft behaald, gedeeld door het aantal bij de eerste verdeling toegekende zetels plus 1. De partij of lijst met de grootste uitkomst van deze deling krijgt de eerste restzetel. Voor deze partij wordt daarop weer het gemiddelde bepaald. De lijst die dan het grootste gemiddelde heeft, krijgt de tweede restzetel. Deze berekening wordt steeds herhaald, totdat alle restzetels zijn toegewezen.

105 Wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd.

106 Wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd. P=3; Z=150; a(1)= ; a(2)=123456; a(3)=66; kiesdeler=round(sum(a)/z);

107 Wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd. P=3; Z=150; a(1)= ; a(2)=123456; a(3)=66; kiesdeler=round(sum(a)/z); for k=1:p z(k)=round(a(k)/kiesdeler);

108 Wetsartikel P 15 Vervolgens wordt het aantal stemmen, dat elke partij of lijst heeft behaald, gedeeld door de kiesdeler en de uitkomst daarvan geeft het hele aantal zetels aan dat een lijst bij de eerste verdeling heeft behaald. Na deze eerste verdeling blijft er nog een aantal zetels over, die restzetels worden genoemd. P=3; Z=150; a(1)= ; a(2)=123456; a(3)=66; kiesdeler=round(sum(a)/z); for k=1:p z(k)=round(a(k)/kiesdeler); zetelsover=z-sum(z);

109 Wetsartikel P 15 Voor de verdeling van de restzetels wordt het aantal stemmen dat een lijst heeft behaald, gedeeld door het aantal bij de eerste verdeling toegekende zetels plus 1. De partij of lijst met de grootste uitkomst van deze deling krijgt de eerste restzetel. Deze berekening wordt steeds herhaald, totdat alle restzetels zijn toegewezen. for k=1:p q(k)=a(k)/(z(k)+1);

110 Wetsartikel P 15 Voor de verdeling van de restzetels wordt het aantal stemmen dat een lijst heeft behaald, gedeeld door het aantal bij de eerste verdeling toegekende zetels plus 1. De partij of lijst met de grootste uitkomst van deze deling krijgt de eerste restzetel. Deze berekening wordt steeds herhaald, totdat alle restzetels zijn toegewezen. for k=1:p q(k)=a(k)/(z(k)+1); [y,wp]= max(q); z(wp)=z(wp)+1;

111 Wetsartikel P 15 Voor de verdeling van de restzetels wordt het aantal stemmen dat een lijst heeft behaald, gedeeld door het aantal bij de eerste verdeling toegekende zetels plus 1. De partij of lijst met de grootste uitkomst van deze deling krijgt de eerste restzetel. Deze berekening wordt steeds herhaald, totdat alle restzetels zijn toegewezen. for m=1:zetelsover for k=1:p q(k)=a(k)/(z(k)+1); [y,wp]= max(q); z(wp)=z(wp)+1;

112 Wetsartikel P 15 Voor de verdeling van de restzetels wordt het aantal stemmen dat een lijst heeft behaald, gedeeld door het aantal bij de eerste verdeling toegekende zetels plus 1. De partij of lijst met de grootste uitkomst van deze deling krijgt de eerste restzetel. Deze berekening wordt steeds herhaald, totdat alle restzetels zijn toegewezen. for m=1:zetelsover for k=1:p q(k)=a(k)/(z(k)+1); [y,wp]= max(q); z(wp)=z(wp)+1; Go back

Algoritmen en programmeren: deel 1 - overzicht

Algoritmen en programmeren: deel 1 - overzicht Algoritmen en programmeren: deel 1 - overzicht Ruud van Damme Creation date: 15 maart 2005 Update: 3: september 2006, 5 november 2006, 7 augustus 2007 Overzicht 1 Inleiding 2 Algoritmen 3 Programmeertalen

Nadere informatie

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet. Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven

Nadere informatie

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

Informatica: C# WPO 7

Informatica: C# WPO 7 Informatica: C# WPO 7 1. Inhoud 1D-arrays, Lijsten 2. Oefeningen Demo 1: Vul de 1D-array Demo 2: Stringreplace Demo 3: Vul de lijst Demo 4: Debug oplossingen demo s 1, 2 en 3 A: Array reversal A: Gemiddelde

Nadere informatie

1. REGELS VAN DEELBAARHEID.

1. REGELS VAN DEELBAARHEID. REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden

Nadere informatie

Les C-01: Algoritmen. 2005 David Lans

Les C-01: Algoritmen. 2005 David Lans 2005 David Lans Les C-01: Algoritmen 1.0 Inleiding Moeilijke problemen pakken we vaak stapsgewijs aan: Een olifant eet je met kleine hapjes. Het is van belang om de stappen waarmee we een probleem oplossen

Nadere informatie

PG blok 4 werkboek bijeenkomst 4 en 5

PG blok 4 werkboek bijeenkomst 4 en 5 2015-2015 PG blok 4 werkboek bijeenkomst 4 en 5 Inhoud Kenmerken van deelbaarheid (herhaling)...1 Ontbinden in factoren...1 Priemgetallen (herhaling)...2 Ontbinden in priemfactoren...2 KGV (Kleinste Gemene

Nadere informatie

regel: de som van de cijfers op de even plaatsen min de som van de cijfers op de oneven plaatsen moet 0 of 11 zijn.

regel: de som van de cijfers op de even plaatsen min de som van de cijfers op de oneven plaatsen moet 0 of 11 zijn. Rekenperiode 5e klas januari - februari 1998 1. deelbaarheid door 2 2. deelbaarheid door 4 3. deelbaarheid door 8 4. opgave 5. deelbaarheid door 3 6. deelbaarheid door 9 7. opgave 8. deelbaarheid door

Nadere informatie

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0. REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door

Nadere informatie

Examen VWO. wiskunde A1 Compex. Vragen 14 tot en met 19. In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt.

Examen VWO. wiskunde A1 Compex. Vragen 14 tot en met 19. In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt. Examen VWO 2007 tijdvak 1 vrijdag 1 juni totale examentijd 3,5 uur wiskunde A1 Compex Vragen 14 tot en met 19 In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt. Het gehele

Nadere informatie

algoritmiek - antwoorden

algoritmiek - antwoorden 2016 algoritmiek - antwoorden F. Vonk versie 1 28-8-2016 inhoudsopgave eenvoudige algoritmes... - 3 - complexe algoritmes... - 7 - zoeken (vwo)... - 10 - sorteren (vwo)... - 12 - Dit werk is gelicenseerd

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht

Nadere informatie

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 5: Functies voor getallen en teksten Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2001 Hoofdstuk 5: Functies voor getallen en teksten

Nadere informatie

1.5.1 Natuurlijke, gehele en rationale getallen

1.5.1 Natuurlijke, gehele en rationale getallen 46 Getallen 1.5 Getaltheorie 1.5.1 Natuurlijke, gehele en rationale getallen De getallen 0,1,2,3,4,... enz. worden de natuurlijke getallen genoemd (de heleverzamelingvanaldezegetallenbijelkaarnoterenwemethetteken:

Nadere informatie

priemrecords? Jaap Top

priemrecords? Jaap Top priemrecords? Jaap Top JBI-RuG & DIAMANT j.top@rug.nl 18-23 april 2013 (Collegecaroussel, Groningen) 1 priemrecords?! over priemgetallen 2, 3, 5, 7,..., 101,..., 2017,...... p priem: niet deelbaar door

Nadere informatie

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie

Eindexamen wiskunde A1 compex vwo 2007-I

Eindexamen wiskunde A1 compex vwo 2007-I Gemeenteraadsverkiezingen Op 2 maart 1994 vonden er in Nederland gemeenteraadsverkiezingen plaats. In de gemeente Enschede werden 67 787 stemmen uitgebracht. Open GEMEENTERAADSVERKIEZINGEN.XLS Vraag 14,15.

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Lezing 4e Gymnasium, 19 november 2015 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

opdrachten algoritmiek - antwoorden

opdrachten algoritmiek - antwoorden opdrachten algoritmiek - antwoorden Dit zijn de voorbeelduitwerkingen behorende bij de oefeningen algoritmiek. Er zijn altijd veel mogelijke manieren om hetzelfde probleem op te lossen. De voorbeelduitwerking

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def

Nadere informatie

II. ZELFGEDEFINIEERDE FUNCTIES

II. ZELFGEDEFINIEERDE FUNCTIES II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015 Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen

Nadere informatie

Pascal uitgediept Data structuren

Pascal uitgediept Data structuren Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur

Nadere informatie

POD1 - Hoofdstuk 1: Inleiding

POD1 - Hoofdstuk 1: Inleiding POD1 - Hoofdstuk 1: Inleiding 2/59 POD1 - Hoofdstuk 1: Inleiding Stijn Lievens (Stijn.Lievens@hogent.be) Noemie Slaats (Noemie.Slaats@hogent.be) Lieven Smits (Lieven.Smits@hogent.be) Martine Van Der Weeen

Nadere informatie

DomJudge-Practicum. Open Dag UU

DomJudge-Practicum. Open Dag UU 1 Introductie DomJudge-Practicum Open Dag UU Bij veel vakken die je volgt tijdens je studie informatica aan de UU, moet je programmeeropdrachten maken. Soms moet je die inleveren zodat ze door de docent

Nadere informatie

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 = 45

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 = 45 15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een

Nadere informatie

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495.

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495. Bij vermenigvuldigen van twee grote getallen onder elkaar staan de rijen onder de streep elk voor een tussenstap. De eerste rij staat voor het vermenigvuldigen met het cijfer dat de eenheden van het onderste

Nadere informatie

Seven segments of Pi

Seven segments of Pi Seven segments of Pi Seven segments of pi Aan de slag met seven segments of Pi! Seven segments is een klein add-on boardje voor de raspberry pi. Deze add-on bestaat uit een display en een knopje. Meer

Nadere informatie

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma: Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 20 mei 2008 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

Rekentijger - Groep 7 Tips bij werkboekje A

Rekentijger - Groep 7 Tips bij werkboekje A Rekentijger - Groep 7 Tips bij werkboekje A Omtrek en oppervlakte (1) Werkblad 1 Van een rechthoek die mooi in het rooster past zijn lengte en breedte hele getallen. Lengte en breedte zijn samen gelijk

Nadere informatie

Extra oefeningen hoofdstuk 4: Deelbaarheid

Extra oefeningen hoofdstuk 4: Deelbaarheid Extra oefeningen hoofdstuk 4: Deelbaarheid 4.1 Delers en veelvouden 1 Bepaal door opsomming. a) del 84 =... b) del 13 =... c) del 44 =... d) del 89 =... e) del 1 =... f) del 360 =... 2 Bepaal de eerste

Nadere informatie

OEFENINGEN PYTHON REEKS 6

OEFENINGEN PYTHON REEKS 6 OEFENINGEN PYTHON REEKS 6 1. A) Schrijf een functie die een getal x en een getal y meekrijgt. De functie geeft de uitkomst van volgende bewerking als returnwaarde terug: x y x als x y x y y als x < y B)

Nadere informatie

Haskell: programmeren in een luie, puur functionele taal

Haskell: programmeren in een luie, puur functionele taal Haskell: programmeren in een luie, puur functionele taal Jan van Eijck jve@cwi.nl 5 Talen Symposium, 12 juli 2010 Samenvatting In deze mini-cursus laten we zien hoe je met eindige en oneindige lijsten

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (  15 x 3 = 45 15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een

Nadere informatie

Oefening: Markeer de getallen die een priemgetal zijn.

Oefening: Markeer de getallen die een priemgetal zijn. Getallenkennis : Priemgetallen. Wat is een priemgetal? Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. (m.a.w. een priemgetal is een natuurlijk getal

Nadere informatie

Informatica: C# WPO 10

Informatica: C# WPO 10 Informatica: C# WPO 10 1. Inhoud 2D arrays, lijsten van arrays, NULL-values 2. Oefeningen Demo 1: Fill and print 2D array Demo 2: Fill and print list of array A: Matrix optelling A: Matrix * constante

Nadere informatie

2. Ga voor volgende relaties na of het al dan niet functies, afbeeldingen, bijecties, injecties, surjecties zijn :

2. Ga voor volgende relaties na of het al dan niet functies, afbeeldingen, bijecties, injecties, surjecties zijn : HOOFDSTUK. VERZAMELINGEN, RELATIES EN FUNCTIES Opgaven verzamelingen, relaties en functies. Toon aan : a) (A B) C = A (B C) b) A (B C) = (A B) (A C) c) (A B) c = A c B c d) A B B c A c. Ga voor volgende

Nadere informatie

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Herkansingstentamen Algoritmiek voor Biologen

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Herkansingstentamen Algoritmiek voor Biologen Opgave 1. (4 punten) Elk jaar verliest een boom al z'n bladeren. Een boom begint op dag D met B bladeren. Op de eerste dag is voor elk blad dat aan de boom zit de kans op afvallen 0.03. Voor elke volgende

Nadere informatie

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken.

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken. Rood-wit-blauw werkblad 1 Bij het hele werkblad: Alle rode getallen zijn deelbaar door hetzelfde getal. Elk wit getal is gelijk aan een rood getal + 1, elk blauw getal aan een rood getal + 2 Russisch vermenigvuldigen

Nadere informatie

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen

Opgave 1. (4 punten) Inleiding: Vraag: Hints: (maximaal 2 bonuspunten) Tentamen Algoritmiek voor Biologen Opgave 1. (4 punten) Elk jaar verliest een boom al z'n bladeren. Een boom begint op dag D met B bladeren. Op de eerste dag is voor elk blad dat aan de boom zit de kans op afvallen 0.03. Voor elke volgende

Nadere informatie

Hoofdstuk 6 : DEELBAARHEID

Hoofdstuk 6 : DEELBAARHEID 1 H6. Deelbaarheid Hoofdstuk 6 : DEELBAARHEID 1. Wat moet ik leren? (handboek p. 203-230 ) 6.1 Delers en veelvouden Verklaren waarom een natuurlijk getal (wel of geen) deler is van een ander natuurlijk

Nadere informatie

Informatica: C# WPO 13

Informatica: C# WPO 13 Informatica: C# WPO 13 1. Inhoud Bestanden uitlezen, bestanden schrijven en data toevoegen aan een bestand, csv-bestanden 2. Oefeningen Demo 1: Notepad Demo 2: Read CSV-file Demo 3: Write CSV-file A: Plot

Nadere informatie

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

Hoofdstuk 6 : DEELBAARHEID

Hoofdstuk 6 : DEELBAARHEID 1 H6. Deelbaarheid Hoofdstuk 6 : DEELBAARHEID 1. Wat moet ik leren? (handboek p. 203-230 ) 6.1 Delers en veelvouden Verklaren waarom een natuurlijk getal (wel of geen) deler is van een ander natuurlijk

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x

Nadere informatie

Small Basic Console Uitwerking opdrachten

Small Basic Console Uitwerking opdrachten Opdracht 1 3 getallen => inlezen Gemiddelde uitrekenen Resultaat afdrukken TextWindow.WriteLine("Dit programma berekend het gemiddelde van drie door U in te voeren getallen.") TextWindow.Write("Voer getal

Nadere informatie

1 Kettingbreuken van rationale getallen

1 Kettingbreuken van rationale getallen Kettingbreuken van rationale getallen Laten we eens starten met een breuk bijvoorbeeld 37/3 Laten we hier ons kettingbreuk algoritme op los, We concluderen hieruit dat 37 3 3 + 3 + + 37 3 + + + hetgeen

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

FACTORISATIE EN CRYPTOGRAFIE FACTORISATIE EN CRYPTOGRAFIE COMPUTERPRACTICUM UvA-MASTERCLASS WISKUNDE 1993 G.C.M. Ruitenburg Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In dit computer prakticum volgen

Nadere informatie

WISKUNDE 1. Aansluitmodule wiskunde MBO-HBO

WISKUNDE 1. Aansluitmodule wiskunde MBO-HBO WISKUNDE 1 Aansluitmodule wiskunde MBO-HBO Wat moet je aanschaffen? Basisboek wiskunde tweede editie Jan van de Craats en Rob Bosch isbn:978-90-430-1673-5 Dit boek gebruikt men ook op de Hanze bij engineering.

Nadere informatie

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens Info-books AL20 Toegepaste Informatica Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) Jos Gils Erik Goossens Hoofdstuk 6 Lusstructuren of iteraties 6.1 Probleemstelling Het gebeurt dikwijls

Nadere informatie

Optellen van twee getallen onder de 10

Optellen van twee getallen onder de 10 Splitsen tot 0 uit het hoofd 2 Optellen 2 7 6 2 5 3 4 Splitsen tot 20 3 2 8 7 2 6 3 5 4 4 4 3 2 2 9 8 2 7 3 6 4 5 5 4 2 3 0 9 2 8 3 7 4 6 5 5 6 5 2 4 3 3 Bij een aantal iets erbij doen heet optellen. Je

Nadere informatie

9. Strategieën en oplossingsmethoden

9. Strategieën en oplossingsmethoden 9. Strategieën en oplossingsmethoden In dit hoofdstuk wordt nog even terug gekeken naar alle voorgaande hoofdstukken. We herhalen globaal de structuren en geven enkele richtlijnen voor het ontwerpen van

Nadere informatie

Hoofdstuk 5: Functies voor getallen en teksten

Hoofdstuk 5: Functies voor getallen en teksten Programmeren in Microsoft Visual Basic 2010 Express, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Vespucci College, Marnix Gymnasium Rotterdam, december 2011 Hoofdstuk

Nadere informatie

Wiskundige Analyse I. Hoofdstuk 1. Vraag 1.1 Het beginvoorwaardenprobleem. x 2 y + xy + x 2 y = 0, y(0+) = 1, y (0+) = 0. bezit een unieke oplossing.

Wiskundige Analyse I. Hoofdstuk 1. Vraag 1.1 Het beginvoorwaardenprobleem. x 2 y + xy + x 2 y = 0, y(0+) = 1, y (0+) = 0. bezit een unieke oplossing. Hoofdstuk 1 Wiskundige Analyse I Vraag 1.1 Het beginvoordenprobleem x 2 y + xy + y = 0, y(0+) = 1, y (0+) = 0 bezit een unieke oplossing. vals Vraag 1.2 Het beginvoordenprobleem x 2 y + xy + x 2 y = 0,

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

1 Rekenen met gehele getallen

1 Rekenen met gehele getallen 1 Inhoudsopgave 1 Rekenen met gehele getallen... 1.1 De gehele getallen... 1. Optellen... 1. Opgaven... 1. Aftrekken... 1. Opgaven... 1. Vermenigvuldigen... 1. Opgaven... 1.8 Delen... 9 1.9 Opgaven...9

Nadere informatie

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1 WIS7 1 7 Deelbaarheid 7.1 Deelbaarheid Deelbaarheid Voor geheeltallige d en n met d > 0 zeggen we dat d een deler is van n, en ook dat n deelbaar is door d, als n d een geheel getal is. Notatie: d\n k

Nadere informatie

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting? Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.

Nadere informatie

Wiskunde in vierde, vijfde en zesde klas Lezing

Wiskunde in vierde, vijfde en zesde klas Lezing Wiskunde in vierde, vijfde en zesde klas Lezing 14-02-2006 BREUKEN Nog eenmaal pannenkoeken verdelen. De cirkel als meest gebruikte beeld bij de breuken Breukentafels: ½ - 2/4 3/6 4/8 enz. De breukenregels:

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Rekenkundige rijen. WISNET-HBO update aug. 2013

Rekenkundige rijen. WISNET-HBO update aug. 2013 Rekenkundige rijen WISNET-HBO update aug. 2013 1 Inleiding Een rij (sequtentie) is een serie getallen achter elkaar opgeschreven met komma's ertussen. Ieder getal in zo'n rij noemen we een term. Het is

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Artikel 1 Begripsbepalingen. Artikel 2 Zetels A en B. Artikel 3 Kiesgerechtigd. Artikel 4 Profielschets

Artikel 1 Begripsbepalingen. Artikel 2 Zetels A en B. Artikel 3 Kiesgerechtigd. Artikel 4 Profielschets Verkiezingsreglement voor Verkiezingen van leden van het verantwoordingsorgaan van Pensioenfonds Metaal en Techniek (PMT) die de deelnemers, gewezen deelnemers of pensioengerechtigden vertegenwoordigen

Nadere informatie

Programmeermethoden NA. Week 3: Controlestructuren

Programmeermethoden NA. Week 3: Controlestructuren Programmeermethoden NA Week 3: Controlestructuren Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Inleveren opdracht 1 Lever digitaal sxxxxxxx-syyyyyyy-opdr1.py

Nadere informatie

PC les 1: MATLAB gebruiken

PC les 1: MATLAB gebruiken PC les 1: MATLAB gebruiken In deze les frissen we het gebruik van MATLAB op. We herhalen enkele commando s, en de basisbegrippen om numerieke algorithmen via MATLAB te schrijven. We doen dit aan de hand

Nadere informatie

Project Dynamica: oefenopgaven met R

Project Dynamica: oefenopgaven met R Project Dynamica: oefenopgaven met R De onderstaande opgaven dienen in R gemaakt te worden; uitwerkingen hoeven niet ingeleverd te worden. Zie de website http://www.r-project.org/ voor R manuals. Start

Nadere informatie

Klok dag en nacht. Hulpkaart OPTELLEN/AFTREKKEN

Klok dag en nacht. Hulpkaart OPTELLEN/AFTREKKEN OPTELLEN/AFTREKKEN Zet de getallen onder elkaar in je schrift eerst zelf proberen uit te rekenen bij aftrekken: denk om lenen bij optellen: denk om doorschuiven geen vergissingen? bij lang nadenken: rekenmachine

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

Opgeloste en onopgeloste mysteries in de getaltheorie Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste

Nadere informatie

Programmeermethoden. Arrays (vervolg 2) Walter Kosters. week 9: 5 9 november kosterswa/pm/

Programmeermethoden. Arrays (vervolg 2) Walter Kosters. week 9: 5 9 november kosterswa/pm/ Programmeermethoden Walter Kosters week 9: 5 9 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Derde programmeeropgave Nonogram:... citatie/referentie: Tja~\cite{abc} levert Tja [1], met \begin{thebibliography}{xx}

Nadere informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

OPLOSSINGEN VAN DE OEFENINGEN

OPLOSSINGEN VAN DE OEFENINGEN OPLOSSINGEN VAN DE OEFENINGEN 1.3.1. Er zijn 42 mogelijke vercijferingen. 2.3.4. De uitkomsten zijn 0, 4 en 4 1 = 4. 2.3.6. Omdat 10 = 1 in Z 9 vinden we dat x = c 0 +... + c m = c 0 +... + c m. Het getal

Nadere informatie

Geldwisselprobleem van Frobenius

Geldwisselprobleem van Frobenius Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme

Nadere informatie

REKENVAARDIGHEID BRUGKLAS

REKENVAARDIGHEID BRUGKLAS REKENVAARDIGHEID BRUGKLAS Schooljaar 008/009 Inhoud Uitleg bij het boekje Weektaak voor e week: optellen en aftrekken Weektaak voor e week: vermenigvuldigen Weektaak voor e week: delen en de staartdeling

Nadere informatie

Informatica: C# WPO 12

Informatica: C# WPO 12 Informatica: C# WPO 12 1. Inhoud Datacontainers, bestanden uitlezen, bestanden schrijven en data toevoegen aan en bestand, csv-bestanden 2. Oefeningen Demo 1: Point2D Demo 2: Notepad Demo 3: Read CSV-file

Nadere informatie

Dan komt er informatie over de aantallen koeien. Over de witte koeien zien we in regels dit w = ( 1 / / 4

Dan komt er informatie over de aantallen koeien. Over de witte koeien zien we in regels dit w = ( 1 / / 4 Dan komt er informatie over de aantallen koeien. Over de witte koeien zien we in regels 7 9 dit w = ( / 3 + / 4 )(Z + z), in regels 0 staat over de zwarte koeien dit z = ( / 4 + / 5 )(* + g), over de gevlekte

Nadere informatie

Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen

Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen Worteltrekken modulo een priemgetal: van klok tot cutting edge Roland van der Veen Modulorekenen Twee getallen a en b zijn gelijk modulo p als ze een veelvoud van p verschillen. Notatie: a = b mod p Bijvoorbeeld:

Nadere informatie

Priemontbinding en ggd s

Priemontbinding en ggd s Hoofdstuk 3 Priemontbinding en ggd s 3.1 Priemgetallen Een getal > 1 dat alleen 1 en zichzelf als positieve deler heeft noemen we een priemgetal. De rij priemgetallen begint als volgt, 2, 3, 5, 7, 11,

Nadere informatie

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6 Breuken Breuk betekent dat er iets gebroken is. Het is niet meer heel. Als je een meloen doormidden snijdt, is die niet meer heel, maar verdeeld in twee stukken. Eén zo n stuk is dan een halve meloen,

Nadere informatie

7.1 Het aantal inverteerbare restklassen

7.1 Het aantal inverteerbare restklassen Hoofdstuk 7 Congruenties in actie 7.1 Het aantal inverteerbare restklassen We pakken hier de vraag op waarmee we in het vorige hoofdstuk geëindigd zijn, namelijk hoeveel inverteerbare restklassen modulo

Nadere informatie

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps

Introductie in R. http://www.math.montana.edu/stat/tutorials/r-intro.pdf http://www.math.montana.edu/stat/docs/splus_notes.ps Introductie in R R is een programmeer taal met een groot aantal voorgeprogrammeerde statistische functies. Het is de open source versie van S-plus. Wij gebruiken R dan ook omdat het gratis is. Documentatie

Nadere informatie

Inleiding Statistiek

Inleiding Statistiek Inleiding Statistiek Practicum 1 Op dit practicum herhalen we wat Matlab. Vervolgens illustreren we het schatten van een parameter en het toetsen van een hypothese met een klein simulatie experiment. Het

Nadere informatie

Getaltheorie II. ax + by = c, a, b, c Z (1)

Getaltheorie II. ax + by = c, a, b, c Z (1) Lesbrief 2 Getaltheorie II 1 Lineaire vergelijkingen Een vergelijking van de vorm ax + by = c, a, b, c Z (1) heet een lineaire vergelijking. In de getaltheorie gaat het er slechts om gehele oplossingen

Nadere informatie

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 ) OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................

Nadere informatie

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

Nadere informatie

Beste deelnemer, Wanneer we vanmiddag op het kampterrein aankomen, zullen we beginnen met een verkenningsrondje over het terrein. Dat is op zichzelf

Beste deelnemer, Wanneer we vanmiddag op het kampterrein aankomen, zullen we beginnen met een verkenningsrondje over het terrein. Dat is op zichzelf Beste deelnemer, Wanneer we vanmiddag op het kampterrein aankomen, zullen we beginnen met een verkenningsrondje over het terrein. Dat is op zichzelf al best leuk, maar het wordt nog veel leuker als we

Nadere informatie

= (antwoord )

= (antwoord ) Rekenkunde Nadruk verboden 1 Opgaven 1. 2. 3. 4. = (antwoord 10.) 10 10 10 = (antwoord: 10.) 10 10 = (antwoord: 10.).,,, = (antwoord 15. 10.),,, 5. 7 7 7 7 7 = (antwoord: 7.) 6. 10 10 10 10 10 10 = 7.

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Proces-verbaal van de verkiezingsuitslag van de Tweede Kamer / het Europees Parlement / provinciale staten

Proces-verbaal van de verkiezingsuitslag van de Tweede Kamer / het Europees Parlement / provinciale staten Model P 22-1 Proces-verbaal van de verkiezingsuitslag van de Tweede Kamer / het Europees Parlement / provinciale staten Met dit formulier doet het centraal stembureau verslag van de zitting waarin de uitslag

Nadere informatie

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen Opmerking TI1300 Redeneren en Logica College 2: Bewijstechnieken Tomas Klos Algoritmiek Groep Voor alle duidelijkheid: Het is verre van triviaal om definities te leren hanteren, beweringen op te lossen,

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

Nadere informatie

Dossier 3 PRIEMGETALLEN

Dossier 3 PRIEMGETALLEN Dossier 3 PRIEMGETALLEN atomen van de getallenleer Dr. Luc Gheysens Een priemgetal is een natuurlijk getal met twee verschillende delers, nl. 1 en het getal zelf. De priemgetallen zijn dus 2, 3, 5, 7,

Nadere informatie

1.Tijdsduur. maanden:

1.Tijdsduur. maanden: 1.Tijdsduur 1 etmaal = 24 uur 1 uur = 60 minuten 1 minuut = 60 seconden 1 uur = 3600 seconden 1 jaar = 12 maanden 1 jaar = 52 weken 1 jaar = 365 (of 366 in schrikkeljaar) dagen 1 jaar = 4 kwartalen 1 kwartaal

Nadere informatie

ALGORITMIEK: antwoorden werkcollege 5

ALGORITMIEK: antwoorden werkcollege 5 1 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit

Nadere informatie