Modelleren en Programmeren Jeroen Bransen 13 november 2013
Organisatie
Docenten Jeroen Bransen Michael Moortgat
Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat
Docenten Jeroen Bransen Imperatief programmeren (Java) Tot de kerst (ongeveer) Michael Moortgat Declaratief programmeren (Prolog) Laatste deel van het vak
Assistenten Cornelis Bouter Thom Klaasse Marleen Westerik
Lokalen en tijden Hoorcollege: Woensdag 13:15-15:00, D25 002 Vrijdag 9:00-10:45, D25 002
Lokalen en tijden Hoorcollege: Woensdag 13:15-15:00, D25 002 Vrijdag 9:00-10:45, D25 002 Practicum: Woensdag 15:15-17:00, KNG80 008 en 102 Vrijdag 11:00-12:45, KNG80 008 en 102
Belangrijke data Practicum: Practicum 1 (Java): woensdag 27 november 2013 13:00 Practicum 2 (Java): woensdag 11 december 2013 13:00 Practicum 3 (Java): woensdag 8 januari 2014 19:00 Practicum 4 (Prolog): woensdag 29 januari 2014 19:00
Belangrijke data Practicum: Practicum 1 (Java): woensdag 27 november 2013 13:00 Practicum 2 (Java): woensdag 11 december 2013 13:00 Practicum 3 (Java): woensdag 8 januari 2014 19:00 Practicum 4 (Prolog): woensdag 29 januari 2014 19:00 Tentamen: Deeltentamen 1 (Java): vrijdag 10 januari 2014 09:00 Deeltentamen 2 (Prolog): vrijdag 31 januari 2014 09:00
Submit Inleveren gaat via Submit http://www.cs.uu.nl/docs/submit/ Deadline is strict!
Cijferregeling P = (P 1 + P 2 + P 3 + P 4 )/4 (Practicum)
Cijferregeling P = (P 1 + P 2 + P 3 + P 4 )/4 T = 0.75 T 1 + 0.25 T 2 (Practicum) (Tentamen)
Cijferregeling P = (P 1 + P 2 + P 3 + P 4 )/4 T = 0.75 T 1 + 0.25 T 2 (Practicum) (Tentamen) E = { 0.75 P + 0.25 T als P 5.5 en T 5.5 onvoldoende overige gevallen
Boek Java, A Beginner s Guide, 5th Edition
Java 6 versus Java 7 We gebruiken Java 6 Boek gebruikt Java 7, maar voor deel wat wij behandelen weinig verschil
Java 6 versus Java 7 We gebruiken Java 6 Boek gebruikt Java 7, maar voor deel wat wij behandelen weinig verschil Inleveren: code moet werken op de Macs in practicumzaal!
Website http://www.phil.uu.nl/java/
Imperatief programmeren
Voorkennis Wat weten jullie al?
Geschiedenis programmeertalen
Programmeerparadigma s
Imperatief programmeren Von Neumann (1950): computer = geheugen + processor
Imperatief programmeren Von Neumann (1950): computer = geheugen + processor Opdracht: wijzig het geheugen
Imperatief programmeren Von Neumann (1950): computer = geheugen + processor Opdracht: wijzig het geheugen Programma: reeks van opdrachten, worden 1 voor 1 door processor uitgevoerd
Soorten programma s Console applicatie (tekst uitvoer)
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie Web applicatie (website)
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie Web applicatie (website) Game
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie Web applicatie (website) Game Applet (in een website)
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie Web applicatie (website) Game Applet (in een website) App (smartphone/tablet)
Soorten programma s Console applicatie (tekst uitvoer) Windows applicatie Web applicatie (website) Game Applet (in een website) App (smartphone/tablet)
Teaser
Bosbrand Bosbrand demo (opgave vorig jaar)
Java
Hello world /* This is a simple Java program. Call this file Example.java. */ class Example { // A Java program begins with a call to main() public static void main(string[] args) { System.out.println("Hello world!"); } }
Eclipse Eclipse demo
Hello world in detail class Example: programma met als naam Example
Hello world in detail class Example: programma met als naam Example // A Java p...: commentaar
Hello world in detail class Example: programma met als naam Example // A Java p...: commentaar public static void main: functie met naam main, de functie die wordt uitgevoerd bij het starten van het programma
Hello world in detail class Example: programma met als naam Example // A Java p...: commentaar public static void main: functie met naam main, de functie die wordt uitgevoerd bij het starten van het programma (String[] args): argumenten van het programma, die negeren we voorlopig
Hello world in detail class Example: programma met als naam Example // A Java p...: commentaar public static void main: functie met naam main, de functie die wordt uitgevoerd bij het starten van het programma (String[] args): argumenten van het programma, die negeren we voorlopig System.out.println(..): Functieaanroep om een string op het scherm te printen
Variabelen class Example2 { public static void main(string[] args) { int var1; // this declares a variable int var2; // this declares another variable } } var1 = 1024; // this assigns 1024 to var1 System.out.println("var1 contains " + var1); var2 = var1 / 2; System.out.print("var2 contains var1/2: "); System.out.println(var2);
Declaraties en toekenningen int var1; declaratie (declaration) van variable met naam var1 van het type int
Declaraties en toekenningen int var1; declaratie (declaration) van variable met naam var1 van het type int var1 = 1024; toekenning (assignment) van de waarde 1024 aan de variabele var1
Declaraties en toekenningen int var1; declaratie (declaration) van variable met naam var1 van het type int var1 = 1024; toekenning (assignment) van de waarde 1024 aan de variabele var1 var1 = var1 + 1;
Declaraties en toekenningen int var1; declaratie (declaration) van variable met naam var1 van het type int var1 = 1024; toekenning (assignment) van de waarde 1024 aan de variabele var1 var1 = var1 + 1;
Declaraties en toekenningen int var1; declaratie (declaration) van variable met naam var1 van het type int var1 = 1024; toekenning (assignment) van de waarde 1024 aan de variabele var1 var1 = var1 + 1; in de wiskunde is dit onwaar, maar in Java telt het 1 op bij de variabele var1!
Kommagetallen class Example3 { public static void main(string[] args) { int var; // this declares an int variable double x; // this declares a floating-point variable } } var = 10; // assign var the value 10 x = 10.0; // assign x the value 10.0 System.out.println("Original value of var: " + var); System.out.println("Original value of x: " + x); System.out.println(); // print a blank line // now, divide both by 4 var = var / 4; x = x / 4; System.out.println("var after division: " + var); System.out.println("x after division: " + x);