Inleiding programmeren
Docent: Jos´e 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
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
1 / 45
Huishoudelijke mededelingen
Cursus in een blok van 8 weken Elk week bevat: 1 2 maal 2 uur hoorcollege I I 2
maandag dinsdag
3 maal 2 uur practicum
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
2 / 45
Doelstellingen van vak
het kunnen omzetten van een probleem in een computeralgoritme het omzetten van algoritme naar Java code het construeren van goed gestructureerde code (o.a. DRY code) het toevoegen zinvol commentaar aan code het doorzien van andermans code het correct afhandelen van foute invoer het ontwikkelen van object georienteerde code (klassen, overerving en interfaces) het ontwikkelen van inzicht in het ontwerpen van programma’s met goede (klasse)structuur
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
3 / 45
Toetsing 1
Tentamen I
I
I I 2
Deeltoets 1 in week 4 op maandag 21 september 15.00 - 17.00 uur in C1.110 en H0.08 Deeltoets 2 in week 8 op dinsdag 20 oktober 9.00 - 11.00 uur in USC sporthal 1 Tentamencijfer is gemiddelde van deeltoets 1 en 2 (≥ 5.0) Herkansing van deeltoets 1 `en 2 dinsdag 5 januari 18.00 - 21.00 uur
Practicum 1 2 3
Er zijn 7 practicumopgaven die allemaal ingeleverd moeten worden. Alle 7 opgaven inleveren voor deadline (is strict) Beoordeling opgaven 1 t/m 5 door assistenten tijdens eerste practicum in de week erna (verplicht) F F
4 5 3 4
te weinig moeite (wordt beschouwd als niet ingeleverd) 4 6.5 8.5
opgaven 6 en 7 beoordeeld met cijfer in schaal 1 t/m 10 Practicumcijfer is gewogen gemiddelde van alle 7 opgaven (≥ 5.0)
Eindcijfer is 1/2 tentamencijfer + 1/2 practicumcijfer Je hebt Inleiding Programmeren gehaald indien tentamen `en practicum ≥ 5.0 en alle 7 practicumopgaven ingeleverd Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
4 / 45
Practicum Aanwezigheid op practicum is verplicht Als je door omstandigheden een keer niet kunt komen, van te voren doorgeven aan assistenten De deadline voor het inleveren is strict. Elke dag die te laat is, kost 1 punt aftrek Inleveren kan alleen via blackboard De assistent kijkt de opdracht na en geeft ter plekke feedback tijdens het practicum. De practicumopdrachten moeten individueel gemaakt worden. Bij identieke of vergelijkbare programma’s wordt je naam doorgegegeven aan de examencommissie Het zonder bronvermelding copi¨eren van code van internet wordt gezien als fraude.
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
5 / 45
Practicum
Practicum moet gedaan worden onder Linux Link naar Linux-introductie staat op blackboard Voor eerste practicum moet student zelf Linux-introductie doen
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
6 / 45
10084602 61.4 5806185 88.0 75.2
59.9 87.0
55.5
7696946
58.7 8909557
53.2
7972610 65.0
100.0
9732340 65.0
6530414 80.5
9582647 Total number of students: 41 Range <0, 50%] : 33 Range <50%, 65%] : 2 Range match <65%,100] : 6 Edge Label colors: index3.html : green index4.html : blue index5.html : orange index6.html : red
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
7 / 45
Inhoud cursus
Syntax in Java 1 2
basiscomponenten Java: waarden, literals, variabelen en types operatoren en constructie van I I I
3
expressies met variabelen en operatoren, statements met expressies code-blocks met statements
methoden
Concepten in OOP (Object Oriented Programming) 1
velden en methoden
2
constructie klassen en interfaces
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
8 / 45
College Vandaag
klassen, methoden en variabelen blocks, statements print statement variabele van type int command-line argumenten control flow: herhaling en selectie Random klasse stijl van Java code
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
9 / 45
Compiler en Java VM
1
Source code wordt gecompileerd naar byte code
2
byte code wordt gerund door de Virtual Machine
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
10 / 45
Eerste applicatie HelloWorldApp
1
Cre¨eer source file HelloWorldApp.java door in te typen in teksteditor /∗ ∗ P r i n t H e l l o World ! ∗ I e d e r ’ s e e r s t e programma ∗/ p u b l i c c l a s s HelloWorldApp { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System . o u t . p r i n t l n ( ” H e l l o World ! ” ) ; } }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
11 / 45
Eerste applicatie HelloWorldApp
1 2
Cre¨eer source file HelloWorldApp.java Compileer source file door te typen:
% j a v a c HelloWorldApp . j a v a
Dit cre¨eert een Java bytecode file met naam HelloWorldApp.class
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
12 / 45
Eerste applicatie HelloWorldApp
1 2
Cre¨eer source file HelloWorldApp.java Compileer source file naar .class file
% j a v a c HelloWorldApp . j a v a
3
Run the program door in te typen
% j a v a HelloWorldApp H e l l o World !
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
13 / 45
HelloWorldApp.java /∗ ∗ P r i n t H e l l o World ! ∗ I e d e r ’ s e e r s t e programma ∗/ p u b l i c c l a s s HelloWorldApp { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System . o u t . p r i n t l n ( ” H e l l o World ! ” ) ; } }
Bevat 3 componenten: 1
commentaar
2
definitie van HelloWorldApp klasse
3
definitie van main methode
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
14 / 45
Source code commentaar
/∗ t e x t ∗/ c o m p i l e r i g n o r e s e v e r y t h i n g from /∗ t o ∗ / . /∗∗ d o c u m e n t a t i o n ∗/ i n d i c a t e s d o c u m e n t a t i o n comment ( doc comment , f o r s h o r t ) . c o m p i l e r i g n o r e s t h i s k i n d o f comment j a v a d o c t o o l u s e s doc comments when p r e p a r i n g a u t o m a t i c a l l y generated documentation // t e x t c o m p i l e r i g n o r e s e v e r y t h i n g from // t o t h e end o f t h e l i n e
De compiler negeert commentaar Commentaar is belangrijk Commentaar tussen /* en */ mag meerdere regels beslaan Commentaar achter // loopt tot het eind van de regel Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
15 / 45
Klasse definitie
p u b l i c c l a s s HelloWorldApp { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System . o u t . p r i n t l n ( ” H e l l o World ! ” ) ; } }
Basis van klasse definitie: c l a s s Naam { ... }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
16 / 45
Public klasse
Een file mag meer dan een klasse bevatten, maar er mag er maar ´ e´ en public zijn. Deze moet dezelfde naam hebben als de .java file die het programma bevat (in dit geval dus HelloWorldApp.java).
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
17 / 45
main methode
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System . o u t . p r i n t l n ( ” H e l l o World ! ” ) ; } ...
Elke applicatie moet main methode bevatten: p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { ... }
modifiers public en static kunnen ook andersom argument is ”args” in Java
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
18 / 45
Argumenten van main methode
main methode heeft ´e´en argument: array van elementen van type String p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { ... }
Via args kun je informatie doorgeven aan applicatie. Bijvoorbeeld:
% j a v a HelloWorldApp arg1 arg2
arg1 en arg2 zijn command-line argumenten: deze argumenten geven informatie door aan programma zonder te hoeven recompilen
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
19 / 45
Printen en String /∗ ∗ P r i n t e n van t e k s t met ” ” ( S t r i n g ) ∗/ public class PrintTekst { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System . o u t . p r i n t l n ( 5 ) ; System . o u t . p r i n t l n ( 5 + 3 ) ; System . o u t . p r i n t l n ( ”som i s ” + 5 + 3 ) ; System . o u t . p r i n t l n ( ”som i s ” + ( 5 + 3 ) ) ; System . o u t . p r i n t l n ( ”som van ” + 3 + ” en 5 i s ” + (3 + 5 ) ) ; } }
% java PrintTekst 5 8 som i s 53 som i s 8 som van 3 en 5 i s 8
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
20 / 45
Hoe verwissel ik twee variabelen? /∗ I e d e r ’ s t w e e d e programma ∗ Hoe v e r w i s s e l i k de ∗ i n h o u d van a en b ? ∗/ public class Verwissel { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { int a , b ; a = 10; b = 20; a = b; b = a; System . o u t . p r i n t l n ( a ) ; System . o u t . p r i n t l n ( b ) ; } }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
21 / 45
Dit is niet wat we willen /∗ I e d e r ’ s t w e e d e programma ∗ Hoe v e r w i s s e l i k de ∗ i n h o u d van a en b ? ∗/ public class Verwissel { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { int a , b ; a = 10; b = 20; a = b; b = a; System . o u t . p r i n t l n ( a ) ; System . o u t . p r i n t l n ( b ) ; } }
% java Verwissel 20 20
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
22 / 45
Gebruik hulpvariabele /∗ I e d e r ’ s t w e e d e programma ∗ G e b r u i k h u l p v a r i a b e l e temp . ∗/ public class Verwissel { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { i n t a , b , temp ; a = 10; b = 20; temp = a ; // bewaar de oude i n h o u d van a a = b; // v e r v a n g a d o o r de i n h o u d van b b = temp ; // v e r v a n g b d o o r de v o r i g e i n h o u d van a System . o u t . p r i n t l n ( ”Na v e r w i s s e l i n g ” ) ; System . o u t . p r i n t l n ( a ) ; System . o u t . p r i n t l n ( b ) ; } }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
23 / 45
Command line argumenten, declaratie van String p u b l i c c l a s s TestArgumenten { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { String a , b , c ; a = a r g s [ 0 ] ; // 1 s t e argument b = a r g s [ 1 ] ; // 2 de argument c = a r g s [ 2 ] ; // 3 de argument System . o u t . p r i n t l n ( ” a i s ” + a ) ; System . o u t . p r i n t l n ( ”b i s ” + b ) ; System . o u t . p r i n t l n ( ” c i s ” + c ) ; } }
% a b c
j a v a TestArgumenten v a n a l l e s 91 3 . 1 4 is vanalles i s 91 i s 3.14
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
24 / 45
Integer operaties public class IntReken { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) i n t a , b , prod , quot , rem ; a = Integer . parseInt ( args [ 0 ] ) ; b = Integer . parseInt ( args [ 1 ] ) ; prod = a ∗ b ; quot = a / b ; rem = a % b ; System . o u t . p r i n t l n ( a + ” ∗ ” + b + System . o u t . p r i n t l n ( a + ” / ” + b + System . o u t . p r i n t l n ( a + ” % ” + b + } }
{
” = ” + prod ) ; ” = ” + quot ) ; ” = ” + rem ) ;
% j a v a I n t R e k e n 13 10 13 ∗ 10 = 130 13 / 10 = 1 13 % 10 = 3
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
25 / 45
Argumenten niet meegegeven public class IntReken { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) i n t a , b , prod , quot , rem ; a = Integer . parseInt ( args [ 0 ] ) ; b = Integer . parseInt ( args [ 1 ] ) ; prod = a ∗ b ; quot = a / b ; rem = a % b ; System . o u t . p r i n t l n ( a + ” ∗ ” + b + System . o u t . p r i n t l n ( a + ” / ” + b + System . o u t . p r i n t l n ( a + ” % ” + b + } }
{
” = ” + prod ) ; ” = ” + quot ) ; ” = ” + rem ) ;
% java IntReken E x c e p t i o n i n t h r e a d ” main ” java . lang . ArrayIndexOutOfBoundsException : 0 a t I n t R e k e n . main ( I n t R e k e n . j a v a : 3 )
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
26 / 45
Herhaling met for-loop /∗ ∗ B e r e k e n som van g e t a l l e n 1 t /m 10 ∗/ p u b l i c c l a s s ForLoop { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { i n t som = 0 ; f o r ( i n t i = 1 ; i <= 1 0 ; i ++) { som = som + i ; } System . o u t . p r i n t l n ( ”som i s ” + som ) ; } }
% j a v a ForLoop som i s 55
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
27 / 45
Herhaling met for-loop vanaf 0 /∗ ∗ v i j f keer ∗/ p u b l i c c l a s s ForLoop { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { int k = 1; f o r ( i n t i = 0 ; i < 5 ; i ++) { System . o u t . p r i n t l n ( i + ” ” + k ) ; k = 2 ∗ k; } } }
0 1 2 3 4
1 2 4 8 16
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
28 / 45
Selectie statements: if
If statement: i f ( condition ) blockT
Als condition wordt ge¨evalueerd als true, wordt blockT uitgevoerd. Wanneer de evaluatie false oplevert gaat de executie verder met het volgende statement. i f ( r a d i u s >= 0 ) { o p p e r v l a k t e = r a d i u s ∗ r a d i u s ∗ Math . PI ; System . o u t . p r i n t l n ( ” opp . c i r k e l i s : ” + o p p e r v l a k t e ) ; }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
29 / 45
Selectie statements: if-else If-else statement: i f ( condition ) blockT else blockF
Als condition wordt ge¨evalueerd als true, wordt blockT uitgevoerd. Wanneer de evaluatie false oplevert gaat de executie verder met blockF i f ( r a d i u s >= 0 ) { o p p e r v l a k t e = r a d i u s ∗ r a d i u s ∗ Math . PI ; System . o u t . p r i n t l n ( ” opp . c i r k e l i s : ” + o p p e r v l a k t e ) ; } else { System . o u t . p r i n t l n ( ” N e g a t i e v e i n p u t ” ) ; }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
30 / 45
Meervoudige selectie statements: if-else i f ( condition1 ) block1 else i f ( condition2 ) block2 else i f ( condition3 ) block3 ...
// T1 // F1 en T2 // F1 en F2 en T3
i f ( aantalMensen < 50) System . o u t . p r i n t l n ( ” Minder dan 50 ” ) ; e l s e i f ( aantalMensen < 100) System . o u t . p r i n t l n ( ” M i n s t e n s 50 en m i n d e r dan 100 ” ) ; e l s e i f ( aantalMensen < 200) System . o u t . p r i n t l n ( ” M i n s t e n s 100 en m i n d e r dan 200 ” ) ; else System . o u t . p r i n t l n ( ” M i n s t e n s 200 ” ) ;
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
31 / 45
Nested If
public class NestedIf { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { i n t aNumber = 7 ; i f ( aNumber >= 0 ) i f ( aNumber == 0 ) System . o u t . p r i n t l n ( ” f i r s t s t r i n g ” ) ; e l s e System . o u t . p r i n t l n ( ” s e c o n d s t r i n g ” ) ; System . o u t . p r i n t l n ( ” t h i r d s t r i n g ” ) ; } }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
32 / 45
Parsen naar int, testen van invoer p u b l i c c l a s s TestArgumenten { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { int a ; a = Integer . parseInt ( args [ 0 ] ) ; i f ( a < 1 | | a > 100) System . o u t . p r i n t l n ( a + ” n i e t t u s s e n 1 en 100 ” ) ; else System . o u t . p r i n t l n ( a + ” w e l t u s s e n 1 en 100 ” ) ; } }
% j a v a TestArgumenten 20 20 w e l t u s s e n 1 en 100 % j a v a TestArgumenten 200 200 n i e t t u s s e n 1 en 100
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
33 / 45
Klasse Random import j a v a . u t i l . Random ; p u b l i c c l a s s TestEven { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { int x ; Random random = new Random ( ) ; /∗ G e n e r e e r g e t a l t u s s e n 1 t /m 100 ∗/ x = random . n e x t I n t ( 1 0 0 ) + 1 ; i f ( x % 2 == 0 ) System . o u t . p r i n t l n ( x + ” i s e v e n ” ) ; else System . o u t . p r i n t l n ( x + ” i s o n e v e n ” ) ; } }
% j a v a TestEven 66 i s e v e n
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
34 / 45
Stijl van programma’s
1
Gebruik goede namen (identifiers)
2
Gebruik goede layout
3
Schrijf altijd commentaar bij je programma.
4
Let op indentatie
5
Let op dat methode-namen overeenkomen met wat de methode doet
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
35 / 45
1. Gebruik goede namen (identifiers) Heleboel dingen krijgen naam: constanten, typen, variabelen, methoden, objecten, programma zelf Namen van variabelen: int aantalStudenten int l i n e a i r e C o e f f i c i e n t
Namen van constanten alleen hoofdletters: s t a t i c f i n a l i n t MAX AANTAL STUDENTEN
Namen van klassen: class StudentenInformatica
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
36 / 45
2. Gebruik goede layout } staat altijd vertikaal onder bijbehorende methode, for, while of if if ( expressie ) { ...; ...; } ... p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { // l e e s c o e f f i c i e n t e n van command l i n e d o u b l e b = Double . p a r s e D o u b l e ( a r g s [ 0 ] ) ; ... }
Tussen twee methodes minstens ´ e´ en lege regel Tussen declaratie variabelen en opdrachten lege regel
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
37 / 45
3 Commentaar nooit in plaats van goed programmeren Overbodig commentaar heeft geen zin /∗ Som k r i j g t de waarde van de som van de g e t a l l e n . ∗/ som = 0 ; f o r ( i n t i = 0 ; i < a a n t a l ; i ++) { som = som + i ; }
Ter zake doende commentaar op de juiste plekken /∗ s o r t e e r t met b u b b l e s o r t a l g o r i t m e ∗/ void s o r t e e r L i j s t () { ... }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
38 / 45
4. Let op indentatie
i f ( denom == 0 ) denom = 1 ; // Make t h e n u m e r a t o r ” s t o r e ” t h e s i g n i f ( denom < 0 ) { numer = numer ∗ −1; denom = denom ∗ −1; }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
39 / 45
5. Naamgeving van methoden
Methoden dienen om programma op te splitsen in kleinere stukken Naam van methode moet aangeven wat methode doet: public class VierkantsVergelijkingTest { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { leesCoefficienten (); losVierkantsVergelijkingOp (); printTweeOplossingen ( ) ; } }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
40 / 45
/∗ ∗ NAAM : K. Klaassen ∗ CKNUM : 12345678 ∗ STUDIE : I n f o r m a t i c a ∗ ∗ Voorbeeld . java : ∗ − D i t programma b e r e k e n t de w o r t e l s van de v e r g e l i j k i n g ∗ ax ˆ2 + bx + c = 0 ∗ Deze o p l o s s i n g w o r d t b e r e k e n d met de a−b−c f o r m u l e ∗ − De c o e f f i c i e n t e n moeten i n de command l i n e o p g e g e v e n ∗ worden ∗ − A l s de d i s c r i m i n a n t k l e i n e r i s dan 0 , i s e r g e e n ∗ oplossing ∗ ∗ − I n v o e r : 3 c o e f f i c i e n t e n v i a command l i n e ∗ − U i t v o e r : 2 o p l o s s i n g e n , 1 o p l o s s i n g o f geen o p l o s s i n g ∗ − Gebruik : java Voorbeeld 3 1 2 ∗/ public class Voorbeeld { }
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
41 / 45
Overzicht Aan de orde gekomen zijn de volgende begrippen: 1 block, klasse, methode, variabele, commentaar 2 print, println, printf, String 3 variabele van type int en alle operaties 4 invoer via command line 5 herhaling met for-loop 6 selectie met if-else 7 klasse Random 8 stijl Control flow statements regel voor regel selectie loop Jos´ e Lagerberg (UvA)
beschrijving in volgorde zoals gegeven enkele statements uitgevoerd afhankelijk van variabelen enkele statements herhaald
Inleiding programmeren, College 1
voorbeeld if if-else for
31 augustus 2015
42 / 45
Tutorials
http://docs.oracle.com/javase/tutorial/getStarted/ cupojava/unix.html http://docs.oracle.com/javase/tutorial/java/ nutsandbolts/index.html
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
43 / 45
Practicum
Lees de opdracht altijd eerst goed door Zet je naam en collegekaartnummer in je opdracht Schrijf altijd commentaar bij je programma Beschrijf voor elk programma wat programma doet Let op de indentatie Geef voor iedere methode beschrijving van invoer, uitvoer en functie Let op dat de methode-namen overeenkomen met wat de methode doet In Java moet de bestandsnaam exact hetzelfde zijn als de class-naam
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
44 / 45
Beoordeling practicum
Stijl (vooral goede indent is belangrijk) Commentaar (alleen /* ... */) Spelfouten mogen niet voorkomen in het commentaar. Correctheid van het programma Opbouw en modulariteit van de code Invoercontrole bij elke opgave Opmerking: in je code alleen tabs of alleen spaties bij inspringen
Jos´ e Lagerberg (UvA)
Inleiding programmeren, College 1
31 augustus 2015
45 / 45