Invoer/Uitvoer Les 2 12/02/2003
Invoer/Uitvoer Invoeropdrachten Toegang tot bestanden Oefening op toegang tot bestanden
Invoeropdrachten Overzicht READCHAR (RC) leest 1 karakter (=char) in READWORD (RW) leest 1 woord in READLIST (RL) leest 1 lijst in
Invoeropdrachten READCHAR -> afkorting RC -> leest ingegeven karakter
Invoeropdrachten Voorbeeld READCHAR -> MAKE “A RC p -> show :A -> resultaat: p
Invoeropdrachten READWORD -> afkorting RW -> leest ingegeven woord
Invoeropdrachten Voorbeeld READWORD -> MAKE “A RW -> show :A -> resultaat: Pol Pol
Invoeropdrachten READLIST -> afkorting RL -> leest ingegeven lijst
Invoeropdrachten VVoorbeeld READLIST -> MAKE “A RL -> show A -> resultaat: [Joske Theodoor Vermeulen] Joske Theodoor Vermeulen
Invoeropdrachten Oefening Maak een programma die een gesprek met computer Pol simuleert. De computer vraagt u voornaam, stelt zichzelf voor en begint een gesprek met u. Hij begroet u en vraagt (Ja/Nee) of u ooit al een met een computer hebt gesproken. Zo ja verklaart hij u zot, anders raad hij het aan om het eens te proberen.
Invoeropdrachten to talk print [Yoo! Wat is uw Voornaam?] make "naam readword make "antwoord se :naam [Mijn naam is Pol] print se [Ik denk niet dat we mekaar kennen] :antwoord print [Hebt ge ooit al eens met een pc gesproken, Ja of Nee?] test READWORD = "Nee IFFALSE [PRINT [Ge zijt zot!]] IFTRUE [PRINT[Doe dat dan maar eens!]] end
Toegang tot bestanden Schrijven naar een bestand -> file openen met openwrite “filename -> uitvoerstroom naar file richten met setwrite “filename -> Nu kan men naar een file schrijven zoals men naar een scherm schrijft. -> Na overdracht gegevens, uitvoerstroom terug richten naar scherm setwrite [ ] -> File sluiten close “filename
Toegang tot bestanden Voorbeeld: schrijven naar een bestand openwrite “dummy.txt setwrite “dummy.txt print “hello print [good bye] setwrite [] close “dummy.txt
Toegang tot bestanden Lezen van een bestand -> file openen met openread “filename -> invoerstroom naar file richten met setread “filename -> Nu kan men de file lezen zoals men van een keyboard kan lezen -> Na overdracht gegevens, invoerstroom terug richten op keyboard setread [] -> File sluiten close “filename
Toegang tot bestanden Voorbeeld: lezen van een bestand openread “dummy.txt setread “dummy.txt repeat 2 [show readlist] setread [] close “dummy.txt
Toegang tot bestanden Enkele uitbreidingen (voor meer zie Help-files) - openupdate (ipv openread/openwrite) opent file voor lezen en voor schrijven -openappend (ipv openread/openwrite) opent file, begint te schrijven vanaf einde file -erasefile verwijdert file (die gesloten is) -closeall sluit alle openstaande files
Oefening Maak een procedure wegschrijf die de gegeven lijsten A tot E wegschrijft in het bestand lijsten.txt Pas onze HAIKU-GENERATOR zo aan dat de gegeven lijsten worden ingelezen uit lijsten.txt en dat onze gegenereerde gedichten naar haiku.txt worden weggeschreven.
Oefening oplossing to wegschrijf openwrite "lijst.txt setwrite "lijst.txt PRINT [ochtend morgen dag avond nacht] PRINT [gloort vervaagt verdwijnt ontwaakt] PRINT [nevel mist regen lichtkrans] PRINT [veegt maakt vliegt lacht huilt veronderstelt zwaait] PRINT [bloem vlieg vlinder vlieger] PRINT [lucht wolken hemel horizon] PRINT [open schoon droog toe] setwrite [] close "lijst.txt end
Oefening oplossing To haiku :aantal if :aantal < 1 [stop] openread "lijst.txt setread "lijst.txt MAKE "A READLIST MAKE "B READLIST MAKE "C READLIST MAKE "D READLIST MAKE "E READLIST MAKE "F READLIST MAKE "G READLIST setread [] close "lijst.txt
Oefening oplossing openappend "haiku.txt setwrite "haiku.txt PRINT (SE "De KIES :A KIES :B) PRINT (SE "en "in "de KIES :C) PRINT (SE KIES :D "een KIES :E "de KIES :F KIES :G) PRINT " setwrite [] close "haiku.txt haiku :aantal - 1 end