Algoritmiek Van probleem tot code Hoorcollege 1 - Ma. 4 sept. 2006

Slides:



Advertisements
Verwante presentaties
Objectgeoriënteerd Programmeren in C++
Advertisements

PSD Basisstructuren programmeren.
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World •Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
OOS Object geOrienteerd Software-ontwerp - 3
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Hoofdstuk 8: Recursie.
Arduino project.
Gestructureerd programmeren in C
Van domeinklasse tot implementatie
OOP met Java Sessie 1.
JAVA1 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA Java: ontworpen in 1990 door Sun Microsystems voor de programmering.
Het ontwerpen van een klasse
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
Klassen en objecten.
Greenfoot Workshop Bobby - Snake.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Hoofdstuk 6: Controle structuren
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
Frank Stalpers en Ad Baars
Inleidend probleem Data structuur (hiërarchie van classes)
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Visual Basic .NET voor studenten
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Oefeningen Hoofdstuk 3.
Algoritmiek Object-georiënteerd Programmeren
Algoritmiek Strings & Stringmanipulaties; Controle Structuren; Floating-point notation. Hoorcollege 4 - Ma. 25 sept L.M. Bosveld-de Smet.
Algoritmiek Dataweergave en bewerking Hoorcollege 2 - Ma. 11 sept L.M. Bosveld-de Smet.
JAVA1 H 1. KENNISMAKING MET JAVA EN DE ONTWIKKELOMGEVINGEN 1. ONTSTAANSGESCHIEDENIS VAN JAVA Java: ontworpen in 1990 door Sun Microsystems voor de programmering.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
MICROCONTROLLERS.
Inleiding tot programmeren
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
CONTROLESTRUCTUREN (DEEL 1)
1 Introductie next MCT - Programmeren 2 © S. Walcarius Waarom java? programma machinetaal (.exe) compilen platformspecifiek Een exe programma.
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Algoritmiek Controle-structuren Loops; Switch-statement. Hoorcollege 5 - Ma. 2 okt L.M. Bosveld-de Smet.
Programmeren.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Herhaling: He who does not learn from history, is doomed to repeat it.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Informatie beoordelen If else Switch En Wiskunde.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
BEGINNER EV3 PROGRAMMEER Les
Objectgeoriënteerd Programmeren (2)
BEGINNERS EV3 PROGRAMMEERLES
Objectgeoriënteerd Programmeren
Object georiënteerd programmeren
Wat is het grootste getal
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Kennismaking met programmeren
Voorbeeld: Simulatie van bewegende deeltjes
Gameprogrammeren: Recursie
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Small Basic Console deel 2
Software Development fundamentals
Nim, een strategisch spelletje
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Algoritmiek Van probleem tot code Hoorcollege 1 - Ma. 4 sept. 2006 L.M. Bosveld-de Smet

Het probleem Correcte spelling van samenstellingen rode(n)kool knarse(n)tanden linze(n)moes geruchte(n)circuit druive(n)tros gerste(n)nat asperge(n)soep spinne(n)wiel pere(n)sap page(n)kapsel studente(n)taal weide(n)vogel Moeten we –e of –en aan het linkerdeel van de samenstelling toevoegen?

G. Polya: “how to solve it” 4 fasen ‘Understanding the problem’ ‘Devising a plan’ ‘Carrying out the plan’ ‘Looking back’

De regel Nederlandse Taalunie: “We schrijven de tussenklank als –en als het linkerdeel van de samenstelling een zelfstandig naamwoord is dat een meervoud heeft op –en, maar geen meervoud op –es. In andere gevallen schrijven we –e.”

Algoritme: definitie Een algoritme is een stapsgewijze beschrijving om van een probleem (bijv. hoe bak ik een cake?) tot een oplossing (goed resultaat) te komen. Brookshear: “An algorithm is an ordered set of unambiguous, executable steps.”

Algoritme: huis-tuin-en-keuken-voorbeeld Amandelen pellen Doe water in een pan Stop er de ongepelde amandelen in Breng het water met de amandelen aan de kook Giet kokend water af en laat de amandelen schrikken Zolang er amandelen in de pan zitten Pak er een Ontvel deze Doe deze in een schaal

Algoritme: een getalprobleempje Het bepalen van het kleinste getal uit een rij van 10 getallen Bewaar het eerste getal van de rij Lees het volgende getal uit de rij Vergelijk deze met het eerste getal Als het kleiner is, bewaar dan dit getal en vergeet het eerste getal Herhaal dit tot alle getallen uit de rij aan bod zijn gekomen

Algoritme: Spelling samenstellingen Kijk naar het linkerdeel van de samenstelling Is het linkerdeel een zelfstandig naamwoord? NEE: schrijf –e JA: Heeft het linkerdeel een meervoud op -es? NEE: schrijf –en JA: schrijf -e

Is linkerdeel samenstelling een znw.? Heeft linkerdeel een mv. op -es? Control flow Is linkerdeel samenstelling een znw.? NEE JA Heeft linkerdeel een mv. op -es? JA NEE Schrijf -en Schrijf -e

Is linkerdeel samenstelling een znw.? Heeft linkerdeel een mv. op -es? linze + moes Is linkerdeel samenstelling een znw.? NEE JA Heeft linkerdeel een mv. op -es? JA NEE Schrijf -en Schrijf -e linzenmoes

Is linkerdeel samenstelling een znw.? Heeft linkerdeel een mv. op -es? page + kapsel Is linkerdeel samenstelling een znw.? NEE JA Heeft linkerdeel een mv. op -es? JA NEE Schrijf -en Schrijf -e pagekapsel

Is linkerdeel samenstelling een znw.? Heeft linkerdeel een mv. op -es? spin + wiel Is linkerdeel samenstelling een znw.? NEE JA Heeft linkerdeel een mv. op -es? JA NEE Schrijf -en Schrijf -e ?spinnewiel ?spinnenwiel

correct gespelde samenstelling Geef correct gespelde samenstelling Data flow linkerdeel rechterdeel correct gespelde samenstelling Geef correct gespelde samenstelling linkerdeel j/n linkerdeel j/n Controleer op znw. Controleer op mv.=-es

Geef correct gespelde samenstelling Data flow gerst nat gerstenat Geef correct gespelde samenstelling gerst j gerst n Controleer op znw. Controleer op mv.=-es

pseudocode vraagInvoer (linker- en rechterdeel van samenstelling) if (isZnw (linkerdeel)) then if (eindigtMVopES (linkerdeel)) then schrijf samenstelling met –e else schrijf samenstelling met -en then schrijf samenstelling met -e

Java Programmeertaal Application software Object-oriented programming (OOP) Specifiek object: toestand (state) + gedrag (behavior) Data en Methoden Klasse: een type object; een model van een object in haar algemeenheid

Voorbeeld automobiel object jouwAuto object mijnAuto klasse automobiel wit rood kleur Buick Toyota fabrikaat LeSabre Celica model 2001 1995 jaar 6-cylinder 4-cylinder motor 1 op 4 1 op 14 benzineverbruik 5 2 aantal passagiers waar heeft kofferbak onwaar heeft airco

Acties geassocieerd aan een automobiel Voorbeeld automobiel Acties geassocieerd aan een automobiel motor starten naar voren rijden naar achteren rijden stoppen versnellen

Compound: java klasse public class Compound { // data fields private String compound; // methods // constructor public Compound () { compound = null; } // instance method public void formCompound (String lPart, String rPart) { if (isSubstantive (lPart)) { if (esEndingPlural (lPart)) { compound = lPart + "e" + rPart; } else { compound = lPart + "en" + rPart; }else { public String getCompound () { return compound;

Java Virtual Machine model Source code java files JDK: java development kit www.sun.com Java compiler Byte code class files Macintosh interpreter IBM-PC interpreter Sun interpreter JVM

Het vak Ba Informatiekunde jaar 1 (propedeuse), semester I Basis- en drempelvak!! Inleiding programmeren Algemene programmeerbegrippen en technieken Specifieke programmeertaal: Java onder Unix Geen voorkennis vereist Datastructuren (vak in Ba jaar 1, semester II) bouwt voort op Algoritmiek N.B. “Programs = Datastructures + Algorithms” (Niklaus Wirth)

Website Algoritmiek Literatuur Wekelijkse (programmeer)opdrachten Brookshear: “Computer Science: an Overview ” King: “Java Programming from the Beginning “ Wekelijkse (programmeer)opdrachten http://www.let.rug.nl/~bosveld/hp0607/

Studiehandleiding en Nestor Studiehandleiding Algoritmiek, beschikbaar op website en in Nestor Inleveren van opdrachten op papier in postvak Harmonie 4de verdieping Bosveld electronisch in digital dropbox Nestorcursus Algoritmiek