1 / 23

Algoritmiek

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

oihane
Download Presentation

Algoritmiek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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?

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

  4. 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.”

  5. 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.”

  6. 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

  7. 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

  8. 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

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

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

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

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

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

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

  15. 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

  16. 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

  17. Voorbeeld automobiel

  18. Voorbeeld automobiel

  19. 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 { compound = lPart + "e" + rPart; } public String getCompound () { return compound; }

  20. 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

  21. 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)

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

  23. 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

More Related