Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies)

Slides:



Advertisements
Verwante presentaties

Advertisements

Differentiatie in de klas

PSD Basisstructuren programmeren.
PSD Basisstructuren programmeren.
Componenten van een Algoritme
Embedded systemen Embedded software.
Stijn Hoppenbrouwers Software Engineering les 1 Algemene inleiding en Requirements Engineering.
Programmeren met Alice
Practica Computerlinguistiek Tekst en uitleg:
Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies)
Informatica: Algoritmen
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
4. De Wereld na Toch ook echte oorlog.
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
Phoenix Contact ILC150ETH F. Rubben, Ing.. Phoenix Contact ILC150ETH F. Rubben, Ing.
Hoofdstuk 6: Controle structuren
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
Les 2 Basisbouwstenen (deel 1)
Breuken blok 9 les 7. 1 van de 6 honden = 1 6    
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(1): Instructietypen (1)
Frank Stalpers en Ad Baars
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){
Les 3 Elektrische velden van continue ladingsverdelingen
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
Informatieanalyse.
PHP functies.
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 4.
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
College Projectmanagement 2 februari Schatten Robert de Hoog College 2 februari 2001.
Pen- & kleuropdrachten
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
GELIJKNAMIGE BREUKEN les 31.
Programma Structuur Diagrammen (PSD’s)
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
PEMSY1http:// 1  Herhaling: combineren van assembler en C  Herhaling: subroutine  Oefening: melodie Klas EV2B: week.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Fase 3: Technisch Ontwerp
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
w e b wat moet ik doen r i b b ie b b e d h oe d g oe d ik stop.
Breuken in berekeningen
Een veel gebruikte functie in Excel
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
verhoudingen – breuken – procenten - kommagetallen
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Welkom! maandag 16 November 2015 Les B-2.
DKA4-model In 4 stappen naar het antwoord.. DKA4-model. Delen, keer antwoord op het 4 e getal. Teken een tabel De getallen die bij elkaar horen, onder.
Inhoud Breuken (optellen, aftrekken, vermenigvuldigen en delen).
Wat is algebra? Rekenen is het werken met getallen. Er zijn vier hoofdbewerkingen: optellen, aftrekken, vermenigvuldigen en delen. Verder ken je de bewerkingen.
Virusuitbraak modelleren
Programmeren met Reeksen
Gevorderde EV3 PROGRAMMEER LES
BEGINNER EV3 PROGRAMMEER Les
Gameprogrammeren: Herhalingen
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Programmeren woensdag 4 oktober 2017.
Programmastructuurdiagrammen (PSD)
Programmeren in de Klas
Product van TU Delft, SEC
SQL Les February 2019.
Tellen met kaarten.
Tellen met kaarten.
Product van TU Delft, SEC
Optellen, aftrekken en vereenvoudigen
Transcript van de presentatie:

Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies) Procedures (verzameling van instructies) Modules (= idem, als black box) Documentatie

Aktie-diagram Beschrijving Standaard blok Repeterend blok Repetitie beschrijving Konditioneel blok Voorwaarde beschrijving Alternatieve blokken Voorwaarde beschrijving Voorwaarde beschrijving Voorwaarde beschrijving Globale beschrijving Genest blok: gedetaillerde uitwerking Beschrijving detail 1 Beschrijving detail 2

Aktie-diagram

Modules - Input Hoe kom je er aan ?? Initialisatie Geef startwaarden aan variabelen Lengte := 153 LEES Opdracht LEES ‘Lengte’ Uit een file Lengte := LEES_FILE ‘A:\proef.dta’ EDIT_FILE ‘A:\proef.dta’ Parameter overdracht Inhoud := PRODUKT Lngt,Brdt,Hgt PROGRAM ‘PRODUKT OUTPUT PARAM’

Modules - parameters PROGRAM 'MID' {Bereken gemiddelde van vector} LEES 'A' teller :=1 S := 0 LA := LENGTE A Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal M := S GEDEELD DOOR LA SCHRIJF 'Het gemiddelde van vector A is ' PLAK M

Modules - parameters PROGRAM 'MID OUTPUT PARAM’ {Bereken gemiddelde van vector} A := PARAM teller :=1 S := 0 LA := LENGTE A Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal OUTPUT := S GEDEELD DOOR LA z := MID 34,45,67,21,102,5,16 z = MID 34,45,67,21,102,5,

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM teller :=1 S := 0 LA := LENGTE A Als LA IDENTIEK EMPTY Dan OUTPUT := A Anders Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal OUTPUT := S GEDEELD DOOR LA Eindals

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM Als IS_CHAR A Dan SCHRIJF 'Sorry...! Input is niet numeriek' Anders teller :=1 S := 0 LA := LENGTE A Als LA IDENTIEK EMPTY Dan OUTPUT := A Anders Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal OUTPUT := S GEDEELD DOOR LA Eindals

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM OUTPUT := 0 Als IS_CHAR A Dan SCHRIJF 'Sorry...! Input is niet numeriek' Anders teller :=1 S := 0 LA := LENGTE A Als LA IDENTIEK EMPTY Dan OUTPUT := A Anders Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal OUTPUT := S GEDEELD DOOR LA Eindals

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM OUTPUT := 0 Als IS_CHAR A Dan SCHRIJF 'Sorry...! Input is niet numeriek' Anders teller :=1 S := 0 LA := LENGTE A Als LA IDENTIEK EMPTY Dan OUTPUT := A Anders Als 1 < DIMENSIE A Dan SCHRIJF ‘Sorry…! Input is geen vector…’ Anders Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal Eindals OUTPUT := S GEDEELD DOOR LA Eindals

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM {stop input parameters in variabele} OUTPUT := 0 {verstekwaarde voor output} Als IS_CHAR A {test of input numeriek is} Dan SCHRIJF 'Sorry...! Input is niet numeriek’ {foutmelding} Anders {input is numeriek} teller :=1 {initialiseer teller} S := 0 {initialiseer som op startwaarde 0} LA := LENGTE A {bereken lengte van input} Als LA IDENTIEK EMPTY {test of input scalair is} Dan OUTPUT := A {stop input dan gelijk in output} Anders {input is niet leeg} Als 1 < DIMENSIE A {test of input vector is} Dan SCHRIJF ‘Sorry…! Input is geen vector…’ Anders {input OK… we kunnen beginnen} Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal Eindals OUTPUT := S GEDEELD DOOR LA Eindals

Modules PROGRAM 'MID OUTPUT PARAM {Bereken gemiddelde van vector} A := PARAM {stop input parameters in variabele} OUTPUT := 0 {verstekwaarde voor output} Als IS_NUM A {test of input numeriek is} Dan teller :=1 {initialiseer teller} S := 0 {initialiseer som op startwaarde 0} LA := LENGTE A {bereken lengte van input} Als LA IDENTIEK EMPTY {test of input scalair is} Dan OUTPUT := A {stop input dan gelijk in output} Anders {input is niet leeg} Als 1 < DIMENSIE A {test of input vector is} Dan SCHRIJF ‘Sorry…! Input is geen vector…’ Anders {input OK… we kunnen beginnen} Herhaal S := S + A[teller] teller := teller + 1 Totdat LA KLEINER DAN teller Eindherhaal Eindals OUTPUT := S GEDEELD DOOR LA Eindals Anders {input is NIET numeriek} SCHRIJF 'Sorry...! Input is niet numeriek’ {foutmelding} Eindals

Modules: Voordelen van het gebruik Passen in 'stapsgewijze verfijning’ als ontwerp model -> hebben een 'top-down' ontwerp tot gevolg Module is een op zichzelf staande component van elk algoritme dat het aanroept. Ontwerp van module en aanroepend algoritme kan apart gedaan worden: -> vereenvoudigd ontwerp- proces Om module in algoritme op te nemen is alleen nodig te weten wat de module doet; niet hoe ie het doet… Vereenvoudigen naast het ontwerpen van algoritmen ook het begrip. We hoeven alleen het effect van een module te kennen; niet het interne proces Eenmaal goed werkende modules kunnen worden ingevoegd in elk algorime dat hen nodig heeft. Opbouw van bibliotheek van modules.