Modelleren en Programmeren

Vergelijkbare documenten
Modelleren en Programmeren

Programmeren in Java les 3

Modelleren en Programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Modelleren en Programmeren

Modelleren en Programmeren

Vakgroep CW KAHO Sint-Lieven

Modelleren en Programmeren

Modelleren en Programmeren

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

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

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

Overerving & Polymorfisme


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

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

Modelleren en Programmeren

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

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

OEFENINGEN PYTHON REEKS 1

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

1 Inleiding in Functioneel Programmeren

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

OEFENINGEN PYTHON REEKS 1

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

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

OEFENINGEN PYTHON REEKS 1

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

Modelleren en Programmeren

Ingebouwde klassen & methodes

Objectgericht programmeren 1.

Objectgeoriënteerd programmeren in Java 1

Variabelen en statements in ActionScript

Hoofdstuk 0. Van Python tot Java.

Programmeren met Arduino-software

Windows-applicatie. using System.Windows.Forms; using System.Drawing; class HalloWin1 { static void Main ( )

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

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

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

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

PYTHON REEKS 1: BASICS. Mathias Polfliet

Sima. Programmeren. 2e graad

Informatica: C# WPO 11

Modelleren en Programmeren: Prolog

Deeltentamen Grammatica s en ontleden 22 december 2005

Opdracht 5: Dodo wordt slimmer

Java Les 3 Theorie Herhaal structuren

Syntax van opdracht. opdracht. expressie. variabele. = expressie ; klasse naam. methode naam. property naam += object

Programmeren in Java 3

Een korte samenvatting van enkele FORTRAN opdrachten

Opdracht 5: Dodo wordt slimmer

Inleiding C++ Coding Conventions

Activity. Bij het starten van een app: Operating system maakt een Activity -object aan. en neemt dat onderhanden met de methode OnCreate( )

Datastructuren en algoritmen

College Introductie

Lessen Java: Reeks pag. 1

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Programmeren in C# Samenvatting van C#

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

Javascript oefenblad 1

Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur

10 Meer over functies

Programmeermethoden NA. Week 5: Functies (vervolg)

Lab Webdesign: Javascript 3 maart 2008

Java spiekbrief. Commentaar. Definitie van een methode. Types. Variabelendeclaratie. Definitie van een klasse. Namen. Definitie van een veld

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

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

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

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Zelftest Programmeren in Java

Inleiding programmeren

Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur

BEGINNER JAVA Inhoudsopgave

Programmeermethoden NA. Week 5: Functies (vervolg)

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

Modelleren & Programmeren. Jeroen Fokker

Modelleren en Programmeren voor KI

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

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

Scala. Korte introductie. Sylvia Stuurman

VAN HET PROGRAMMEREN. Inleiding

Modelleren en Programmeren: Prolog

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

College Notatie, Recursie, Lijsten

3 e jaars GameTech student C++ voor hobby, eerste programmeertaal Assistent bij een heleboel vakken

Objectgericht programmeren 1.

Ontwerp van Informatiesystemen

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

Verzamelingen, Lijsten, Functioneel Programmeren

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

VOORBLAD SCHRIFTELIJKE TOETSEN

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

eerste voorbeelden in Java

Voorbeeld: Simulatie van bewegende deeltjes

Veel succes! 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Opdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is

Programmeren (1) Examen NAAM:

Transcriptie:

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 een lijst van opdrachten Bij begin van programma worden de opdrachten uit main uitgevoerd

Terugblik Programma is een lijst van opdrachten Bij begin van programma worden de opdrachten uit main uitgevoerd Opdrachten wijzigen geheugen:

Terugblik Programma is een lijst van opdrachten Bij begin van programma worden de opdrachten uit main uitgevoerd Opdrachten wijzigen geheugen: int var1; declaratie (declaration) van variable met naam var1 van het type int (geheel getal)

Terugblik Programma is een lijst van opdrachten Bij begin van programma worden de opdrachten uit main uitgevoerd Opdrachten wijzigen geheugen: int var1; declaratie (declaration) van variable met naam var1 van het type int (geheel getal) var2 = var1 + 20; toekenning (assignment) van de waarde van var1 plus 20 aan de variabele var2

Terugblik Programma is een lijst van opdrachten Bij begin van programma worden de opdrachten uit main uitgevoerd Opdrachten wijzigen geheugen: int var1; declaratie (declaration) van variable met naam var1 van het type int (geheel getal) var2 = var1 + 20; toekenning (assignment) van de waarde van var1 plus 20 aan de variabele var2 Met System.out.println kunnen we iets op het scherm printen

Expressies

Expressies Stukjes programma met een waarde

Expressies Stukjes programma met een waarde Worden gebruikt in:

Expressies Stukjes programma met een waarde Worden gebruikt in: Rechterkant van toekenning: var2 = var1 + 20;

Expressies Stukjes programma met een waarde Worden gebruikt in: Rechterkant van toekenning: var2 = var1 + 20; Parameter van een methode: System.out.println(var1);

Expressies Expressies worden opgebouwd uit:

Expressies Expressies worden opgebouwd uit: Constantes: 10, 1024,...

Expressies Expressies worden opgebouwd uit: Constantes: 10, 1024,... Variabelen: var1, x,...

Expressies Expressies worden opgebouwd uit: Constantes: 10, 1024,... Variabelen: var1, x,... Operatoren: a + b, x - 5,...

Expressies Expressies worden opgebouwd uit: Constantes: 10, 1024,... Variabelen: var1, x,... Operatoren: a + b, x - 5,... Haakjes: 3 * (a + b),...

Expressies Expressies worden opgebouwd uit: Constantes: 10, 1024,... Variabelen: var1, x,... Operatoren: a + b, x - 5,... Haakjes: 3 * (a + b),...... en functieaanroepen, die we later zien.

Operatoren + voor optellen

Operatoren + voor optellen - voor aftrekken

Operatoren + voor optellen - voor aftrekken * voor vermenigvuldigen

Operatoren + voor optellen - voor aftrekken * voor vermenigvuldigen / voor delen

Operatoren + voor optellen - voor aftrekken * voor vermenigvuldigen / voor delen % voor rest na delen (modulo)

Operatoren + voor optellen - voor aftrekken * voor vermenigvuldigen / voor delen % voor rest na delen (modulo) Dus 14 / 3 geeft 4 en 14 % 3 geeft 2, want 14 = 3 * 4 + 2

Prioriteit van operatoren vermenigvuldigen en delen gaan voor optellen en aftrekken: 1 + 2 * 3 geeft 7

Prioriteit van operatoren vermenigvuldigen en delen gaan voor optellen en aftrekken: 1 + 2 * 3 geeft 7 bij gelijke prioriteit van links naar rechts: 10-5 - 2 geeft 3

Prioriteit van operatoren vermenigvuldigen en delen gaan voor optellen en aftrekken: 1 + 2 * 3 geeft 7 bij gelijke prioriteit van links naar rechts: 10-5 - 2 geeft 3 wil je het anders, gebruik dan haakjes: (1 + 2) * 3 geeft 9

Types van expressies 10 10.0 2 * 3 "Hallo" "De waarde is " + var1

Types van expressies 10 heeft als type int 10.0 2 * 3 "Hallo" "De waarde is " + var1

Types van expressies 10 heeft als type int 10.0 heeft als type double 2 * 3 "Hallo" "De waarde is " + var1

Types van expressies 10 heeft als type int 10.0 heeft als type double 2 * 3 heeft als type int "Hallo" "De waarde is " + var1

Types van expressies 10 heeft als type int 10.0 heeft als type double 2 * 3 heeft als type int "Hallo" heeft als type String "De waarde is " + var1

Types van expressies 10 heeft als type int 10.0 heeft als type double 2 * 3 heeft als type int "Hallo" heeft als type String "De waarde is " + var1 heeft als type String

Meer types int is een geheel getal (bv 10)

Meer types int is een geheel getal (bv 10) double is een kommagetal (bv 10.0)

Meer types int is een geheel getal (bv 10) double is een kommagetal (bv 10.0) char is een enkele letter (bv x )

Meer types int is een geheel getal (bv 10) double is een kommagetal (bv 10.0) char is een enkele letter (bv x ) String is een rijtje letters (bv "hallo")

Meer types int is een geheel getal (bv 10) double is een kommagetal (bv 10.0) char is een enkele letter (bv x ) String is een rijtje letters (bv "hallo") boolean heeft twee waardes: true (waar) en false (onwaar)

Maximale waardes int is een geheel getal tussen 2 31 en 2 31 1

Maximale waardes int is een geheel getal tussen 2 31 en 2 31 1 long is een waarde tussen 2 63 en 2 63 1

Maximale waardes int is een geheel getal tussen 2 31 en 2 31 1 long is een waarde tussen 2 63 en 2 63 1 Meer hierover volgende week, maar long nodig voor inleveropgave 1

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan > voor groter dan

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan > voor groter dan <= voor kleiner dan of gelijk aan

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan > voor groter dan <= voor kleiner dan of gelijk aan >= voor groter dan of gelijk aan

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan > voor groter dan <= voor kleiner dan of gelijk aan >= voor groter dan of gelijk aan == voor is gelijk aan

Vergelijkingsoperatoren We kunnen int waardes ook vergelijken: < voor kleiner dan > voor groter dan <= voor kleiner dan of gelijk aan >= voor groter dan of gelijk aan == voor is gelijk aan Het resultaat is een boolean waarde, dus bijvoorbeeld 3 < 5 is true

Programma met boolean public class FirstBoolean { public static void main(string[] args) { int x; int y; x = 20; y = x + 1; // y wordt 21 boolean check; check = x < y; // 20 < 21 is waar } } System.out.println(check); // dit print true

Functies

Functies Tot nu toe hebben we alle code in de main functie gezet

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie)

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit:

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void De naam van de functie (mag je zelf kiezen)

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void De naam van de functie (mag je zelf kiezen) Een lijst van parameters met hun type, die staan tussen haakjes

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void De naam van de functie (mag je zelf kiezen) Een lijst van parameters met hun type, die staan tussen haakjes Een lijst van opdrachten, dus de implementatie van de functie

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void De naam van de functie (mag je zelf kiezen) Een lijst van parameters met hun type, die staan tussen haakjes Een lijst van opdrachten, dus de implementatie van de functie Bij de aanroep van een functie moet voor elke parameter een waarde worden gegeven

Functies Tot nu toe hebben we alle code in de main functie gezet Code opdelen in functies (voor overzicht, tegen codeduplicatie) Functie bestaat uit: public static void De naam van de functie (mag je zelf kiezen) Een lijst van parameters met hun type, die staan tussen haakjes Een lijst van opdrachten, dus de implementatie van de functie Bij de aanroep van een functie moet voor elke parameter een waarde worden gegeven Niet helemaal waar, we negeren voor nu het resultaat van een functie.

Voorbeeld met functies public class FirstFunctions { public static void printhallo() { System.out.println("Hallo!"); } } public static void main(string[] args) { System.out.println("Hallo vanuit main"); printhallo(); System.out.println("Dit komt als laatste"); }

Functieaanroep Bij een functieaanroep: Onthouden we waar we waren.

Functieaanroep Bij een functieaanroep: Onthouden we waar we waren. Voeren we de statements uit die bij die functie horen

Functieaanroep Bij een functieaanroep: Onthouden we waar we waren. Voeren we de statements uit die bij die functie horen Als we daarmee klaar zijn, ga verder bij waar we waren.

Functieaanroep Bij een functieaanroep: Onthouden we waar we waren. Voeren we de statements uit die bij die functie horen Als we daarmee klaar zijn, ga verder bij waar we waren. Als de functie die we aanroepen ook weer andere functies aanroept, kan waar we waren kan best ingewikkeld worden!

Functie met parameters public class FunctionsWithArguments { public static void main(string[] args) { System.out.println("We printen wat kwadraten"); printkwadraat(2); printkwadraat(3); printkwadraat(4); } } public static void printkwadraat(int x) { int xkwadraat; xkwadraat = x * x; System.out.println(x + "^2 is " + xkwadraat); }

Ingebouwde functies

Ingebouwde functies We hadden al functieaanroepen gezien: System.out.println("Hallo"); is ook een functieaanroep!

Ingebouwde functies We hadden al functieaanroepen gezien: System.out.println("Hallo"); is ook een functieaanroep! Ergens in de Java klasse System.out is er een definitie: public static void println(string text) {... } die een tekst als argument neemt en die naar de Console print.

Java API Op http://docs.oracle.com/javase/7/docs/api/ zijn alle ingebouwde functies te vinden.

Java API Op http://docs.oracle.com/javase/7/docs/api/ zijn alle ingebouwde functies te vinden. Nuttig voor de eerste opgave zijn: De klasse System (basis functionaliteit)

Java API Op http://docs.oracle.com/javase/7/docs/api/ zijn alle ingebouwde functies te vinden. Nuttig voor de eerste opgave zijn: De klasse System (basis functionaliteit) De klasse Math (wiskundige operaties)

Gebruik van Math public class Hoeken { public static void main(string[] args) { double overstaande; double aanliggende; overstaande = 3.0; aanliggende = 4.0; } } // tan(hoek) = overstaande / aanliggende double hoek; hoek = Math.atan(overstaande / aanliggende); // Print hoek System.out.println(hoek + " radialen"); System.out.println(Math.toDegrees(hoek) + " graden");

Resultaat van een functie Functies kunnen ook een resultaat hebben, dus een functieaanroep is ook een expressie, bijvoorbeeld in: double hoek; hoek = Math.atan(overstaande / aanliggende);

Casting (omzetting) Stel, je hebt: double x; x =...; int y; // dit kan niet, want round geeft long y = Math.round(x);

Casting (omzetting) Stel, je hebt: double x; x =...; int y; // dit kan niet, want round geeft long y = Math.round(x); Met het type tussen haakjes kun je dit omzetten: double x; x =...; int y; // dit kan wel, zolang waarde van x niet te groot is y = (int)math.round(x);

Variabelenbereik

Variabelenbereik Een variabele kan alleen gebruikt worden binnen de functie waar je hem declareert.

Variabelenbereik Een variabele kan alleen gebruikt worden binnen de functie waar je hem declareert. En alleen in opdrachten die na de declaratie komen, dus werkt niet. x = x + 1; int x;

Variabelenbereik Een variabele kan alleen gebruikt worden binnen de functie waar je hem declareert. En alleen in opdrachten die na de declaratie komen, dus werkt niet. x = x + 1; int x; Een variabele kan ook globaal gedeclareerd worden, deze is in elk functie te gebruiken (met public static).

Variabelenbereik voorbeeld public class VariabelenBereik { public static int x; } public static void main(string[] args) { int y; x = 10; y = 20; printx(); } public static void printx() { System.out.println(x); // dit print 10 System.out.println(y); // dit werkt niet }

Inleveropgave 1

Inleveropgave 1 Introductie van inleveropgave 1 door Stella Donker