140 likes | 232 Views
Toistorakenne. Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja sääntöjä Eri tilanteisiin eri toistorakenne. Toistorakenne. Koko ohjelma voidaan laittaa toistorakenteen sisälle
E N D
Toistorakenne • Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin • Toisto noudattaa sille kuuluvia tarkkoja standardoituja sääntöjä • Eri tilanteisiin eri toistorakenne @ Leena Lahtinen 10.1.2006
Toistorakenne • Koko ohjelma voidaan laittaa toistorakenteen sisälle • Siten ohjelma saa moneen kertaan syöttötiedot ja antaa niistä tulostiedot • Ohjelma etenee kokoajan kuitenkin loogisesti peräkkäin @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenteilla on kolme erilaista käyttötapaa. • Näissä kaikissa toistorakenne noudattaa loogisesti täysin samoja sääntöjä, mutta niiden luonne on hiukan erilainen. @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenne, joka toistuu 0 – n kertaa. • Toistorakenne, joka toistuu 1 – n kertaa. • Toistorakenne on lukumäärällinen toisto, sillä silloin aina tiedetään tarkasti toistokertojen lukumäärä. @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenteen käytössä täytyy ehdottomasti noudattaa rakenteeseen kuuluvia oikeellisuussääntöjä erittäin tiukasti ! • Näin saadaan eliminoitua suuri määrä teknisiä virheitä • Puhdas rakenne tarkoittaa myös hyvää ohjelmointitapaa @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenteeseen kuuluu aina ehto eli kysymys • Ehdossa on mukana aina sellainen muuttuja, jonka sisältö määrää milloin ehto tosi ja milloin se on epätosi @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenteen toimintaa ohjaa muuttuja, jota kutsutaan toistomuuttujaksi • Ohjelman tekijä määrää toistomuuttujan: • se on esim. jokin laskuri • tai se on muuttuja, jonka tietty arvo lopettaa toiston @ Leena Lahtinen 10.1.2006
Toistorakenne • Toistorakenteen toimenpiteet suoritetaan vain silloin, kun toiston ehtoon vastataan tosi • Kysymys pitää asettaa niin, että tämä on mahdollista ! @ Leena Lahtinen 10.1.2006
Toistorakenne • toistorakenne0 – n kertaa (while)(toisto päättyy, kun käyttäjä antaa lajiksi nollan) PYYDÄ laji [laji < > 0] toiminto n PYYDÄ laji @ Leena Lahtinen 10.1.2006
Toistorakenne • Edellinen Javalla:System.out.println (”anna laji, nolla lopettaa”) ;laji = input.nextInt () ; while (laji!= 0){ ….. ….. System.out.println (”anna laji, nolla lopettaa”) ;laji = input.nextInt () ; }…..….. @ Leena Lahtinen 10.1.2006
Toistorakenne • toistorakenne1 – n kertaa (do while)(toisto päättyy, kun käyttäjä antaa jatkon arvoksi kirjaimen E) PYYDÄ nimi toiminto n TULOSTA ”Jatkatko K/E ?” PYYDÄ jatko [jatko = = ”K”] @ Leena Lahtinen 10.1.2006
Toistorakenne • Edellinen Javalla: …..do{ System.out.println (”anna nimi”) ; nimi = input.next () ; ….. ….. ….. System.out.println (”Jatkatko K / E”) ;jatko = input.next () ; }while (jatko.equals (”K”) ;….. @ Leena Lahtinen 10.1.2006
Toistorakenne • lukumäärällinentoistorakenne(for)(toistuu tasan 10 kertaa) laskuri = 0 [laskuri >= 10] [laskuri < 10] toiminto 1 laskuri = laskuri + 1 @ Leena Lahtinen 10.1.2006
Toistorakenne • Edellinen Javalla:- kaikki ehdon kolme osaa ovat sulkujen sisällä yhtenä kokonaisuutena- ne ovat toistomuuttujan alkuarvo, ehto ja askelALKUARVOEHTOASKEL for (laskuri = 0; laskuri < 10; laskuri ++){ ….. …..}…..….. @ Leena Lahtinen 10.1.2006