2008HIRBI11.Eiffel6 - Agendavoordezeles...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Agenda voor deze les Recursie: een speciale vorm van iteratie De internals van een rekenmachine… De ABC-winkel Structuren met objecten: ARRAYS
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Een speciale vorm van iteratie:  recursie. .. moet spaarzaam aangewend worden. .. moet spaarzaam aangewend worden. .. faculteit (n : INTEGER) : INTEGER is do if n = 1 then Result := 1 else Result := n * faculteit (n - 1) end -- if end -- faculteit n! = n * (n-1) * (n-2) * . .. * 2 * 1, 1! = 1 4! = 4*3*2*1 = 24 , maar ook 4! = 4 * 3! = 4 * 3 * 2! = 4 * 3 * 2 * 1!
Background image of page 2
3
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 REKENAAR REKENAAR REKEN MENU REKEN MENU REKEN SYS REKEN SYS Rekenmachine met menu !
Background image of page 4
5 c las s   REKENAAR c re atio n  m a ke n fe a ture  s tand :  REAL fe a ture   m a ke n is d o s ta nd :=  0 e nd --  m a ke n fe a ture  o pte lle n(g e ta l :  REAL) is d o s ta nd := s ta nd +  g e tal o pte lle n fe a ture  aftre kke n(g e ta l :  d o s tand := s ta nd -  g e tal aftre kke n fe a ture  ve rm e nig vuldig e n(g e ta l :  d o s ta nd := s ta nd *  g e tal ve rm e nig vuldig e n fe a ture  de le n(g e tal:  d o s ta nd/g e ta l de le n fe a ture   he rze tte n is d o 0 he rze tte n e nd -- c las s   Dit is de kern, de rest is vergelijkbaar met het tellervoorbeeld. ..
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 feature toon_keuze is do io.putstring("%N Maak een keuze uit de volgende mogelijkheden") io.putstring("%N + : optellen") io.putstring("%N - : aftrekken") io.putstring("%N * : vermenigvuldigen") io.putstring("%N / : delen") io.putstring("%N c of C : inhoud herzetten") io.putstring("%N d of D : inhoud tonen") io.putstring("%N q of Q : stop") io.putstring("%N Geef uw keuze :") end -- toon_keuze feature stop_keuze: BOOLEAN is do Result := (io.lastchar = 'q' or io.lastchar = 'Q' ) end -- stop_keuze Menu met karaktertekens
Background image of page 6
7 feature verwerk_keuze is do if io.lastchar = '+' then rekenaar_optellen elseif io.lastchar = '-' then rekenaar_aftrekken elseif io.lastchar = '*' then rekenaar_vermenigvuldigen elseif io.lastchar = '/' then rekenaar_delen elseif io.lastchar = 'c' or io.lastchar = 'C' then rekenaar_herzetten else rekenaar_tonen end -- if end -- verwerk_keuze Centrale keuze
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 feature lees_keuze is do from io.readchar io.readline until geldige_keuze loop io.putstring("%N Dit is geen geldige keuze") toon_keuze io.readchar io.readline end -- loop end -- lees_keuze feature geldige_keuze : BOOLEAN is do if io.lastchar = '+' or io.lastchar = '-' or io.lastchar = '*' or io.lastchar = '/' or io.lastchar = 'c' or io.lastchar = 'C' or io.lastchar = 'd' or io.lastchar = 'D' or io.lastchar = 'q' or io.lastchar = 'Q' then Result := true else Result := false end -- if end -- geldige_keuze Defensief programmeren. ..
Background image of page 8
9 feature rekenaar_optellen is do geef_waarde mijn_rekenaar.optellen (io.lastreal) rekenaar_tonen end -- rekenaar_optellen feature rekenaar_aftrekken is do geef_waarde mijn_rekenaar.aftrekken(io.lastreal) rekenaar_tonen end -- rekenaar_aftrekken feature geef_waarde is do io.putstring("%N Geef een waarde: ") io.readreal end -- geef_waarde ..
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/17/2011 for the course ECON 43 taught by Professor Lemahieu during the Spring '09 term at Katholieke Universiteit Leuven.

Page1 / 32

2008HIRBI11.Eiffel6 - Agendavoordezeles...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online