Syntax- (compile), runtime- en logische fouten Binaire operatoren

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

Download "Syntax- (compile), runtime- en logische fouten Binaire operatoren"

Transcriptie

1 Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle Statements Herhaling met while en do-while loop Selectie met switch statement Arrays Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

2 Syntaxfout bij compileren / Fout1. j a v a / p u b l i c c l a s s Fout1 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t n = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( n ) ; ] % j a v a c Fout1. j a v a Fout1. j a v a : 7 : i l l e g a l s t a r t o f t y p e ] ˆ Fout1. j a v a : 7 : r e a c h e d end o f f i l e w h i l e p a r s i n g ] ˆ 2 e r r o r s Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

3 Fouten bij compileren / Fout2. j a v a / p u b l i c c l a s s Fout1 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t n = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( n ) ; % j a v a c Fout2. j a v a Fout2. j a v a : 2 : c l a s s Fout1 i s p u b l i c, s h o u l d be d e c l a r e d i n a f i l e named Fout1. j a v a p u b l i c c l a s s Fout1 { ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

4 Fouten bij compileren / Fout3. j a v a / p u b l i c c l a s s Fout3 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t n = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; System. out. p r i n t l n ( n ) % j a v a c Fout3. j a v a Fout3. j a v a : 5 : ; e x p e c t e d System. out. p r i n t l n ( n ) ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

5 Fouten bij compileren / Fout4. j a v a / p u b l i c c l a s s Fout4 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t n = n + 1 ; System. out. p r i n t l n ( n ) ; % j a v a c Fout4. j a v a Fout4. j a v a : 4 : v a r i a b l e n might not have been i n i t i a l i z e d i n t n = n + 1 ; ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

6 Te grote double p u b l i c c l a s s Fout5 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t a = 6 ; double d ; i f (! a > 0) System. out. p r i n t l n ( a + i s > 0 ) ; i f ( a = 2) System. out. p r i n t l n ( a + i s 2 ) ; d = 1. 2 e +345; System. out. p r i n t l n ( d ) ; % j a v a c Fout5. j a v a Fout5. j a v a : 1 0 : f l o a t i n g p o i n t number too l a r g e d = 1. 2 e +345; ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

7 Twee syntax fouten p u b l i c c l a s s Fout5 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t a = 6 ; double d ; i f (! a > 0) System. out. p r i n t l n ( a + i s > 0 ) ; i f ( a = 2) System. out. p r i n t l n ( a + i s 2 ) ; //d = 1. 2 e +345; // System. out. p r i n t l n ( d ) ; % j a v a c Fout5. j a v a Fout5. j a v a : 6 : o p e r a t o r! cannot be a p p l i e d to i n t i f (! a > 0) ˆ Fout5. j a v a : 8 : i n c o m p a t i b l e t y p e s found : i n t r e q u i r e d : b o o l e a n i f ( a = 2) ˆ 2 e r r o r s Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

8 Fouten bij runnen / Fout6. j a v a / p u b l i c c l a s s Fout6 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { System. out. p r i n t l n ( 1 / 0 ) ; % j a v a Fout6 E x c e p t i o n i n t h r e a d main j a v a. l a n g. A r i t h m e t i c E x c e p t i o n : / by z e r o at Fout6. main ( Fout6. j a v a : 4 ) Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

9 Fouten bij runnen p u b l i c c l a s s TestArgument { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { S t r i n g a ; a = a r g s [ 0 ] ; // 1 s t e argument System. out. p r i n t l n ( a i s + a ) ; % j a v a TestArgument E x c e p t i o n i n t h r e a d main j a v a. l a n g. ArrayIndexOutOfBoundsExcept at TestArgument. main ( TestArgument. j a v a : 4 ) Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

10 Logische fout import j a v a. u t i l. ; p u b l i c c l a s s Fout7 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { Scanner i n p u t = new Scanner ( System. i n ) ; System. out. p r i n t ( Geef t e m p e r a t u u r i n graden C e l s i u s ) ; i n t tempc = i n p u t. n e x t I n t ( ) ; i n t tempf = 9 / 5 tempc ; System. out. p r i n t ( Temperatuur i n graden F a h r e n h e i t ) ; System. out. p r i n t l n ( tempf ) ; Geef t e m p e r a t u u r i n graden C e l s i u s 35 Temperatuur i n graden F a h r e n h e i t 67 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

11 Tweeplaatsige (binaire) operatoren op getallen Voorgedefinieerde binaire operatoren op getallen: operator argument types resultaat type verschil - getallen getal optelling + getallen getal vermenigvuldiging * getallen getal deling / getallen getal rest-bij-deling % getallen getal Machtsverheffen is bijvoorbeeld geen voorgedefinieerde operatie. Bij het practicum definieer je deze operatie in termen van de voorgedefinieerde operaties. Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

12 Operaties op getallen en typeconversie (1) bij operaties ordening op de primitive datatypes: byte < s h o r t < i n t < long? f l o a t < double Wanneer argumenten van operatie van verschillende types, wordt argument kleinste type bij evaluatie geconverteerd naar grotere type, maar altijd tenminste naar int Er wordt gerekend in int s!!!!!!!!!!!!! Voorbeeld: 13 / 4 = 3 13 % 4 = 1 13 / 4. 0 = % 4. 0 = 1. 0 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

13 Operaties op getallen en typeconversie (2) byte b = 2 0 ; System. out. p r i n t l n ( b b ) ; // 400 System. out. p r i n t l n ( ( byte ) ( b b ) ) ; // 112 i n t intmax = I n t e g e r. MAX VALUE ; // 2,147,483,647 System. out. p r i n t l n ( intmax + 1 ) ; // 2,147,483,648 System. out. p r i n t l n ( ( long ) intmax + 1 ) ; // 2,147,483,648 f l o a t fmax = F l o a t. MAX VALUE ; // E38 System. out. p r i n t l n (100 fmax ) ; // I n f i n i t y System. out. p r i n t l n (100 ( double ) fmax ) ; // E40 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

14 Evaluatie van expressies: volgorde (1) Hoe verloopt, stap-voor-stap, de evaluatie van een expressie? Voorbeeld: stel a = 10, b = 5, en c = 25.! ( ( a > b ) ( c <= a ) ) =>! ( ( true ) ( f a l s e ) ) =>! ( true f a l s e ) =>! ( true ) =>! true => f a l s e Eerste regel: innermost first. De argumenten van een operator moeten worden geëvalueerd voordat de waarde van de operatie bepaald kan worden. Haakjes geven structuur aan. Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

15 Evaluatie van expressies: volgorde (2) Wanneer meerdere operaties zonder haakjes, geldt de regel: Links naar rechts, hoogste prioriteit eerst Prioriteit wordt bepaald door bindingssterkte / 3 4 / 2 => / 3 4 / 2 => 9 6 / 3 4 / 2 => / 2 => 7 4 / 2 => 7 2 => 9 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

16 Bindingssterkte Een ordening voor de operaties die we tot nu toe gezien hebben: ======================================================= + ( t ) + < == && = / <=!=! % > un. >= Voorbeeld: de structuur van a b + c == a / b &&! d is ( ((a b) + c ) == (( a)/b) ) &&(!d) Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

17 Assignment operatie De assignment statement i = j = k = 1 ; is equivalent met k = 1 ; j = k ; i = j ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

18 Meer assignment operaties Voor een variabele v en expressie E de volgende short-cut operatoren: v = E v = v E v /= E v = v / E v %= E v = v % E v += E v = v + E v = E v = v E Dit zijn afkortingen Voorbeelden Laat a = 2, b = 3, en n = 10 n = a + b ; b e t e k e n t n = n ( a + b ) ; // 50 n = a += b ; b e t e k e n t a = a + b ; n = n a ; // 50 a = b += c = d b e t e k e n t c = c d ; b = b + c ; a = b ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

19 Post- en pre- increment/decrement operatoren Nog twee short-cut operatoren: increment (++) en decrement (--) Increment: hoog het argument op met 1 Decrement: verlaag het argument met 1 Plaatsing ten opzichte van argument: ervoor (prefix) of erachter (suffix) Plaatsing kan gevolgen hebben voor de evaluatie van expressies waarin deze operaties voorkomen n++ // p o s t i n c r e m e n t n // p o s t decrement ++n // p r e i n c r e m e n t n // p r e decrement Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

20 Increment/decrement Bij gebruik als assignment statement maakt de plaatsing niet uit: i++; en ++i; hebben beiden hetzelfde effect als i = i + 1; Bij gebruik in assignment expressie: Prefix: eerst ++n; dan evaluatie van expressie Suffix: eerst evaluatie van expressie, dan n++ v = ++n + 1 ; i s eq. met n = n + 1 ; v = n + 1 ; v = n ; i s eq. met v = n + 1 ; n = n + 1 ; Voorbeeld (k krijgt waarde 50) i n t i = 1 0 ; i n t i = 1 0 ; i n t k = 5 i ++; i n t k = 5 i ; i = i + 1 ; Voorbeeld (k krijgt waarde 55) i n t i = 1 0 ; i n t i = 1 0 ; i n t k = 5 ++i ; i = i + 1 ; i n t k = 5 i ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

21 Side effect van short-circuit operatoren && en c l a s s Example { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t i = 0 ; boolean c o n d i t i o n = f a l s e ; i f ( c o n d i t i o n & (++ i < 100)) System. out. p r i n t l n ( t h i s won t be d i s p l a y e d ) ; System. out. p r i n t l n ( i i s : + i ) ; // i i n c r e m e n t e d i f ( c o n d i t i o n && (++ i < 100)) System. out. p r i n t l n ( t h i s won t be d i s p l a y e d ) ; i i s : 1 i i s : 1 System. out. p r i n t l n ( i i s : + i ) ; // i not i n c r e m e n t e d Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

22 Verkorte operatoren &= en = i n t m = 1 ; boolean b = true ; System. out. p r i n t l n ( b i s + b + en m i s + m) ; b = b (m++ > 1 ) ; System. out. p r i n t l n ( b i s + b + en m i s + m) ; b = b (m++ > 1 ) ; System. out. p r i n t l n ( b i s + b + en m i s + m) ; b = (m++ > 1 ) ; System. out. p r i n t l n ( b i s + b + en m i s + m) ; b i s t r u e en m i s 1 b i s t r u e en m i s 1 b i s t r u e en m i s 2 b i s t r u e en m i s 3 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

23 Block statement en scope van variabele Samengesteld statement (block): {... Nul of meer statements tussen accolades Opmerking Let op: { i n t k ; k = 1 ; { i n t k ; i n t k = 1 ; leveren beiden foutmelding Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

24 Voorbeeld 1 p u b l i c c l a s s Test1 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { { i n t k ; k = 1 ; % j a v a c Test1. j a v a Test1. j a v a : 6 : cannot f i n d symbol symbol : v a r i a b l e k l o c a t i o n : c l a s s Test1 k = 1 ; ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

25 Voorbeeld 2 p u b l i c c l a s s Test2 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t k ; i n t k = 1 ; % j a v a c Test2. j a v a Test2. j a v a : 4 : k i s a l r e a d y d e f i n e d i n main ( j a v a. l a n g. S t r i n g [ ] ) i n t k = 1 ; ˆ 1 e r r o r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

26 Herhaling met while loop p u b l i c c l a s s T e s t D e l e r { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t x, i ; x = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; i = 2 ; w h i l e ( i < x ) { i f ( x % i == 0) System. out. p r i n t l n ( een d e l e r i s : + i ) ; i = i + 1 ; % j a v a T e s t D e l e r 93 een d e l e r i s : 3 een d e l e r i s : 31 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

27 While loop met foute conditie p u b l i c c l a s s TestWhile { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { boolean b = f a l s e ; i n t ans = 3 ; % j a v a TestWhile do { System. out. p r i n t l n ( ans ) ; ans = ans + 1 ; w h i l e ( b = true ) ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

28 while en do while while: (nul of meer keer uitgevoerd) i n t count = 0 ; w h i l e ( count < 5) { System. out. p r i n t l n ( We z i j n b i j : + count ) ; count++; do-while: (tenminste één keer uitgevoerd) i n t count = 0 ; do { System. out. p r i n t l n ( We z i j n b i j : + count ) ; count++; w h i l e ( count < 5 ) ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

29 Meervoudige selectie statements: switch Type van expression is char, byte, short, of int switch ( e x p r e s s i o n ) { case v a l u e 1 : b l o c k 1 break ; case v a l u e 2 : b l o c k 2 break ;... case valuen : blockn break ; d e f a u l t : d e f a u l t B l o c k break ; switch ( a a n t a l ) { case 0 : System. out. p r i n t l n ( n u l ) ; break ; case 1 : System. out. p r i n t l n ( een ) ; break ; d e f a u l t : System. out. p r i n t l n ( v e e l ) ; break ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

30 Meervoudige selectie statements: switch break is optioneel: i n t a a n t a l = 1 ; switch ( a a n t a l ) { case 0 : System. out. p r i n t l n ( n u l ) ; case 1 : System. out. p r i n t l n ( een ) ; case 2 : System. out. p r i n t l n ( twee ) ; d e f a u l t : System. out. p r i n t l n ( v e e l ) ; Uitvoer: een twee v e e l Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

31 Voorbeeld switch i n t a a n t a l = 2 ; switch ( a a n t a l ) { case 0 : System. out. p r i n t l n ( n u l ) ; break ; case 1 : System. out. p r i n t l n ( een ) ; break ; case 2 : case 3 : case 4 : System. out. p r i n t l n ( meer dan 1 maar minder dan 5 ) ; break ; d e f a u l t : System. out. p r i n t l n ( meer dan 4 ) ; break ; meer dan 1 maar minder dan 5 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

32 Beschrijving probleem Gebaseerd op Introduction to Computer Science and Programming van MIT gegeven door prof. Eric Grimson en prof. John Guttag, MIT course number Licentie: Gegeven: Boer met kippen en varkens ziet op zijn erf 20 koppen en 56 poten. Vraag: Hoeveel kippen en hoeveel varkens? Oplossing: 2 lineaire vergelijkingen met 2 onbekenden x is aantal kippen, y is aantal varkens x + y = 20 2 x + 4 y = 56 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

33 Andere oplossing met computer Alle mogelijkheden testen tot oplossing gevonden:brute force 0 k i p p e n 20 v a r k e n s 1 k i p 19 v a r k e n s 2 k i p p e n 18 v a r k e n s k i p p e n 1 v a r k e n 20 k i p p e n 0 v a r k e n s 1 aantal koppen en aantal poten moeten ingevoerd worden 2 dan loop die alle gevallen test Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

34 Invoer en aanroep solve methode import j a v a. u t i l. ; p u b l i c c l a s s TestFarm { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { Scanner s c = new Scanner ( System. i n ) ; System. out. p r i n t l n ( E n t e r number o f heads : ) ; i n t heads = s c. n e x t I n t ( ) ; System. out. p r i n t l n ( E n t e r number o f l e g s : ) ; i n t l e g s = s c. n e x t I n t ( ) ; s o l v e ( l e g s, heads ) ; s t a t i c void s o l v e ( i n t numlegs, i n t numheads ) {... Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

35 solve methode met for loop s t a t i c void s o l v e ( i n t numlegs, i n t numheads ) { i n t numchicks, numpigs, t o t L e g s ; f o r ( numchicks = 0 ; numchicks <= numheads ; numchicks++) { numpigs = numheads numchicks ; t o t L e g s = 4 numpigs + 2 numchicks ; i f ( t o t L e g s == numlegs ) { System. out. p r i n t l n ( Nr o f p i g s : + numpigs ) ; System. out. p r i n t l n ( Nr o f c h i c k e n s : + numchicks ) ; r e t u r n ; System. out. p r i n t l n ( There i s no s o l u t i o n ) ; numheads = 20 numlegs = 56 numchicks numpigs t o t L e g s gevonden Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

36 Uitvoer TestFarm % j a v a TestFarm E n t e r number o f heads : 20 E n t e r number o f l e g s : 56 Nr o f p i g s : 8 Nr o f c h i c k e n s : 12 % j a v a TestFarm E n t e r number o f heads : 20 E n t e r number o f l e g s : 20 There i s no s o l u t i o n Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

37 10 variabelen van hetzelfde type p u b l i c c l a s s BerekenGemiddelde { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 ; i n t som ; double g e m i d d e l d e ; a1 = 6 ; a2 = 4 ; a3 = 1 ; a4 = 9 ; a5 = 3 ; a6 = 6 ; a7 = 1 ; a8 = 4 ; a9 = 5 ; a10 = 2 ; som = a1 + a2 + a3 + a4 + a5 + a6 + a7 ; som += a8 + a9 + a10 ; g e m i d d e l d e = som / ; System. out. p r i n t l n ( g e m i d d e l d e ) ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

38 10 variabelen van hetzelfde type in array p u b l i c c l a s s BerekenGemiddelde { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t [ ] a = new i n t [ 1 0 ] ; i n t som = 0 ; double g e m i d d e l d e ; System. out. p r i n t l n ( a ) ; a [ 0 ] = 6 ; a [ 1 ] = 4 ; a [ 2 ] = 1 ; a [ 3 ] = 9 ; a [ 4 ] = 3 ; a [ 5 ] = 6 ; a [ 6 ] = 1 ; a [ 7 ] = 4 ; a [ 8 ] = 5 ; a [ 9 ] = 2 ; f o r ( i n t i = 0 ; i < 1 0 ; i ++) som += a [ i ] ; g e m i d d e l d e = som / ; System. out. p r i n t l n ( g e m i d d e l d e ) ; [ 4. 1 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

39 Arrays in Java 1 array maken: declareren, creëren en initialiseren 2 toegang tot i-de element met a[i] 3 array index start met 0 i n t N = 1 0 ; // g r o o t t e van a r r a y i n t [ ] a ; // d e c l a r a t i e van a r r a y a = new i n t [N ] ; // c r e a t i e van a r r a y f o r ( i n t i = 0 ; i < 1 0 ; i ++) // i n i t i a l i s a t i e van a r r a y a [ i ] = 0 ; // op n u l Dit kan compacter: i n t N = 1 0 ; i n t [ ] a = new i n t [N ] ; // d e f a u l t i s 0 Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

40 Compacte initialisatie in Java p u b l i c c l a s s Gemiddelde { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t [ ] a = {6, 4, 1, 9, 3, 6, 1, 4, 5, 2 ; i n t som = 0 ; double g e m i d d e l d e ; f o r ( i n t i = 0 ; i < a. l e n g t h ; i ++) som += a [ i ] ; g e m i d d e l d e = ( double ) som / a. l e n g t h ; System. out. p r i n t l n ( g e m i d d e l d e ) ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

41 Draai elementen in array om p u b l i c c l a s s R e v e r s e { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t [ ] a = {6, 4, 1, 9, 3, 6, 1, 4, 5, 2 ; f o r ( i n t i = 0 ; i < a. l e n g t h / 2 ; i ++) { i n t temp = a [ i ] ; a [ i ] = a [ a. l e n g t h 1 i ] ; a [ a. l e n g t h 1 i ] = temp ; f o r ( i n t i = 0 ; i < a. l e n g t h ; i ++) System. out. p r i n t ( a [ i ] + ) ; System. out. p r i n t l n ( ) ; % j a v a R e v e r s e Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

42 Print random kaart p u b l i c c l a s s PrintRandomKaart { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { S t r i n g [ ] k a a r t = { 2, 3, 4, 5, 6, 7, 8, 9, boer, vrouw, koning, aas ; S t r i n g [ ] k l e u r = { k l a v e r, r u i t e n, h a r t e n, schoppen ; i n t i = ( i n t ) ( Math. random ( ) 1 3 ) ; // t u s s e n 0 en 12 i n t j = ( i n t ) ( Math. random ( ) 4 ) ; // t u s s e n 0 en 3 System. out. p r i n t l n ( k a a r t [ i ] + van + k l e u r [ j ] ) ; % j a v a PrintRandomKaart 2 van k l a v e r Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

43 Twee-dimensionale arrays uit slides 1.4 Arrays van Sedgewick i n t M = 1 0 ; i n t N = 3 ; double [ ] [ ] a = new double [M] [ N ] ; f o r ( i n t = 0 ; i < M; i ++) { f o r ( i n t j = 0 ; j < N; j ++) { a [ i ] [ j ] = 0. 0 ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

44 Array vullen bij compilatie uit slides 1.4 Arrays van Sedgewick double [ ] [ ] a = { {. 0 2,. 9 2,. 0 2,. 0 2,. 0 2, {. 0 2,. 0 2,. 3 2,. 3 2,. 3 2, {. 0 2,. 0 2,. 0 2,. 9 2,. 0 2, {. 9 2,. 0 2,. 0 2,. 0 2,. 0 2, {. 4 7,. 0 2,. 4 7,. 0 2,. 0 2, ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

45 Optellen twee matrices uit slides 1.4 Arrays van Sedgewick double [ ] [ ] c = new double [N ] [ N ] ; f o r ( i n t i = 0 ; i < N; i ++) f o r ( i n t j = 0 ; j < N; j ++) c [ i ] [ j ] = a [ i ] [ j ] + b [ i ] [ j ] ; Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

46 Overzicht Aan de orde gekomen zijn de volgende begrippen: 1 Verschillende soorten fouten 2 Operaties op numerieke datatypen 3 Evaluatie van expressies, bindingssterkte 4 Assignment operaties en short-cut operatoren 5 Herhaling met while en do-while loop 6 Selectie met switch statement 7 Arrays om grote hoeveelheden data op te slaan bijna even makkelijk als primitieve typen elk element toegankelijk via index Jose Lagerberg (UvA) Inleiding Programmeren, College 3 7 september / 46

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

Programmeren in Java les 3

Programmeren in Java les 3 4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

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

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object. een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers

Nadere informatie

Inleiding programmeren

Inleiding programmeren Inleiding programmeren Docent: José Lagerberg Assistenten: Robin de Vries, Jordy Perlee, Dimitri Belfor, Stephen Swatman, Erik Kooistra, Daan Kruis, Daniel Louwrink Cursusinformatie: https://staff.fnwi.uva.nl/j.m.lagerberg

Nadere informatie

Java Les 3 Theorie Herhaal structuren

Java Les 3 Theorie Herhaal structuren Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Java. Basissyllabus. Egon Pas

Java. Basissyllabus. Egon Pas Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109 Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica Samenvatting door een scholier 1809 woorden 28 oktober 2005 6,1 16 keer beoordeeld Vak Methode Informatica Turing informatica samenvatting. hst3: algoritme:een beschrijving van stappen die gedaan moeten

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

extra oefening algoritmiek - antwoorden

extra oefening algoritmiek - antwoorden extra oefening algoritmiek - antwoorden opgave "Formule 1" Maak een programma dat de gebruiker drie getal A, B en C in laat voeren. De gebruiker zorgt ervoor dat er positieve gehele getallen worden ingevoerd.

Nadere informatie

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

Nadere informatie

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd

Nadere informatie

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur) Planning 1. Mini College 2. Introductiecursus Imperatief Programmeren 3. Crash and Compile (vanaf 17:00 uur) Geschiedinis van de Codemonkeys imperatief programmeren voor beginners Geschiedenis van de Codemonkey

Nadere informatie

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur 1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele

Nadere informatie

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

SPOJ oplossingen Gilles Callebaut 7 augustus 2015 SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je

Nadere informatie

import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!

import java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println(Hallo! Voorbeeld Java-programma import java.io.*; één klasse...met één functie...met één opdracht public class Hallo { public static void main (String[] a) { System.out.println("Hallo!"); accolades begrenzen

Nadere informatie

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014 Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 22 april 2014 Inleiding Cursus coördinator e-mail Docent e-mail : Jacco Hoekstra : J.M.Hoekstra@TUDelft.nl : Ingeborg Goddijn : I.A.M.Goddijn@TUDelft.nl

Nadere informatie

Deeltentamen Grammatica s en ontleden 22 december 2005

Deeltentamen Grammatica s en ontleden 22 december 2005 Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,

Nadere informatie

int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ }

int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ } 1 Functies ( ) voorbeeld: int power(int base, int n) int i, p; p = 1; for ( i=1, i

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

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

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen. Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;

Nadere informatie

Programmeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/

Programmeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/ Programmeermethoden Controle-structuren Walter Kosters week 3: 17 21 september 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleveren opgave 1 Inleveren: digitaal clintonobama1.cc en print van mooi.pdf.

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

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016 Informatie over 5VWO DT51: JavaLogo Casper Bezemer Toetsweek 1 13 oktober 2016 1 Informatie Voor toets DT51 wordt jou gevraagd Java(Logo) programma s te schrijven. De eerste opdracht is een Krimpfiguur,

Nadere informatie

EE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college

EE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-201, e college Arjan van Genderen, Computer Engineering 4-12-2012 Delft University of Technology Challenge the future Hoorcollege Arrays, Pointers en Strings

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie

Nadere informatie

Inleiding tot Func.oneel Programmeren les 3

Inleiding tot Func.oneel Programmeren les 3 Inleiding tot Func.oneel Programmeren les 3 Kris Luyten, Jo Vermeulen {kris.luyten,jo.vermeulen}@uhasselt.be Exper.secentrum voor Digitale Media Universiteit Hasselt Currying Currying: een func.e met meerdere

Nadere informatie

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14 Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies

Nadere informatie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,

Nadere informatie

Inleiding C++ Coding Conventions

Inleiding C++ Coding Conventions Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,

Nadere informatie

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser colleges recursieve datastructuren college 9 interpreteren: waarde van bomen bepalen transformeren: vorm van bomen veranderen parseren herkennen van expressie in de tekst herkennen van functies onderwerp

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

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

Instructies en blokken

Instructies en blokken Herhaling 1 Instructies en blokken Naar elke instructie staat een ; puntkomma Verschillende instructies worden door de accolades in een block samengevat. Een blok is het zelfde als een enkele instructie.

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Python voor Natuur- en Sterrenkundigen Week 1

Python voor Natuur- en Sterrenkundigen Week 1 Python voor Natuur- en Sterrenkundigen Week 1 Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pmpy2015/ Wat is Python & Waarom Python? "Scripttaal", ontworpen door Guido van Rossum eind

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: stapels, rijen en binaire bomen Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)

Nadere informatie

4 Visueel programmeren met Java

4 Visueel programmeren met Java Hoofdstuk 4 Visueel programmeren met Java 47 4 Visueel programmeren met Java 1 ALGORITMEN Peter Dijkstra viert morgen zijn verjaardag. Voor de gasten wil hij een appeltaart bakken. Daarvoor zoekt hij een

Nadere informatie

9 Meer over datatypen

9 Meer over datatypen 9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

Hoofdstuk 0. Van Python tot Java.

Hoofdstuk 0. Van Python tot Java. Hoofdstuk 0. Van Python tot Java. In dit eerste hoofdstuk maken we de overstap van Python naar Java. We bespreken de verschillen en geven wat achtergrondinformatie. In het volgende hoofdstuk gaan we dieper

Nadere informatie

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

SEQUENTIE-STRUCTUUR. Oefening: Dichtheid

SEQUENTIE-STRUCTUUR. Oefening: Dichtheid SEQUETIE-STRUCTUUR Oefening: Dichtheid geef diameter vd bol(m) //Declaratie input variabelen double diameter; double soortmassa; //Declaratie variabelen voor tussenresultaten double volume; diameter //Declaratie

Nadere informatie

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

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

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

Een typisch programma in C en C++ bestaat uit een aantal onderdelen: Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde

Nadere informatie

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.

In de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal. 4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

EE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college

EE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 2e college Arjan van Genderen, Computer Engineering 20-11-2012 Delft University of Technology Challenge the future Agenda A.s. woensdagmiddag 14.00

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Hoofdstuk 6: Beslissingen: if-statement en switch-statement. Inleiding: Condities zijn waar (true) of onwaar (false) In C staat het int-getal

Nadere informatie

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

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/ Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Datastructuren en algoritmen

Datastructuren en algoritmen Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift

Nadere informatie

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Software 1 php mysql bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2010-2011 semester 1 Alain Simons alain.simons@artesis.be Basis php 1. Introductie 2.

Nadere informatie

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek

Nadere informatie

Practicum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18

Practicum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18 1/18 VU Numeriek Programmeren 2.5 Charles Bos Vrije Universiteit Amsterdam 3 april 2013 2/18 Overzicht Vlotte intro in Ox Hands on 3/18 Minimale elementen Minimale elementen Ox-programma: voeg de standaard

Nadere informatie

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27 Programmeren 0. (1 punt.) Stel, een "afhankelijk kind" is een persoon is die jonger is dan 18 jaar, en hooguit 8.000 euro verdient. Welke van de onderstaande expressies definieert een afhankelijk kind?

Nadere informatie

Programmeren (1) Examen NAAM:

Programmeren (1) Examen NAAM: Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft

Nadere informatie

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES Onderdeel van SmartProducts INHOUD COLLEGE 2 module4.io.utwente.nl/applicatiebouw Software ontwerpen Gebruikersinterfaces,

Nadere informatie

Datastructuren Programmeeropdracht 3: Expressies. 1 Expressies. Deadline. Dinsdag 8 december 23:59.

Datastructuren Programmeeropdracht 3: Expressies. 1 Expressies. Deadline. Dinsdag 8 december 23:59. Datastructuren 2015 Programmeeropdracht 3: Expressies Deadline. Dinsdag 8 december 23:59. Inleiding. Deze opdracht is losjes gebaseerd op Opdracht 5.13.2 in het boek van Drozdek. U wordt gevraagd expressies

Nadere informatie

Programmeren in C# Samenvatting van C#

Programmeren in C# Samenvatting van C# Programmeren in C# Samenvatting van C# Proceduraal Programmeren Functies (O: void + return, I: referentie of value) Arrays, Lijsten Lussen (for, while, do while) Condities, if-else, switch Variabelen,

Nadere informatie

Online c++ leren programmeren:

Online c++ leren programmeren: Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

4EE11 Project Programmeren voor W. College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Betrokkenen Circa 100 deelnemers (W, 3e-jaars) Joris Remmers (W) Patrick Anderson

Nadere informatie

Arduino Programmeer handleiding

Arduino Programmeer handleiding Arduino Programmeer handleiding G.L.J. Quellhorst V 2.0 Juni 2 0 14 Dit is een kopie van het arduino programming notebook vertaald naar het Nederlands. Arduino Programmeer handleiding Deze informatie is

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

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

Een eenvoudig algoritme om permutaties te genereren

Een eenvoudig algoritme om permutaties te genereren Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden

Nadere informatie

delay(1000); // Eén seconde pauze digitalwrite(pin, LOW); // zet 'pin' uit delay(1000); // Eén seconde pauze }

delay(1000); // Eén seconde pauze digitalwrite(pin, LOW); // zet 'pin' uit delay(1000); // Eén seconde pauze } Structuur Arduino De basisstructuur van de Arduino programmeertaal is erg simpel. Het bestaat uit minstens twee gedeeltes (blokken). Deze twee gedeeltes (blokken), of functies vormen een aantal statements

Nadere informatie

C++ programmeermethoden Bachelor Kunstmatige Intelligentie

C++ programmeermethoden Bachelor Kunstmatige Intelligentie C++ programmeermethoden Bachelor Kunstmatige Intelligentie 1e Deeltentamen Datum: 28 maart 2016 Tijd: 13.00-14.30 Aantal pagina s: 8 (inclusief voorblad) Aantal vragen: 5 Maximaal aantal te behalen punten:

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)

Nadere informatie

Niet-numerieke data-types

Niet-numerieke data-types Intern wordt een karakter voorgesteld als een rij van acht bits, Niet-numerieke data-types string de letter a 01100001 0110 0001 0x61 97 Bij interpretatie van de inhoud van een byte als een geheel getal,

Nadere informatie

sheets Programmeren 1 Java college 6, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 13 en 14 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Blog-Het gebruik van variabelen in Excel VBA

Blog-Het gebruik van variabelen in Excel VBA Blog-Het gebruik van variabelen in Excel VBA Versie : 2012.01.31.1 (Blog http://www.reinder.eu) Dank voor de leuke reacties op het vorige blog en ook dank voor de kritische noot over het nivo dat de gebruiker

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

Voortgezet Prog. voor KI

Voortgezet Prog. voor KI Voortgezet Prog. voor KI Docent: Michael Wilkinson IWI 142 tel. 050-3638140 (secr. 3633939) Frank Brokken RC 352 tel. 050-3633688 Voorkennis: Inleiding Programmeren voor KI (nieuwe stijl) Stof: Practicum

Nadere informatie

Informatica: C# WPO 6

Informatica: C# WPO 6 Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: Azerty to qwerty

Nadere informatie

Programmeermethoden NA

Programmeermethoden NA Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder

Nadere informatie