Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

3.1 Tekstin koostaminen osista

Racket-kielen text-komento muuntaa merkkijonon kuvaksi. Merkkijono on englanniksi string. Jotta text-komento toimii, ohjelman alkuun kirjoitetaan 2hdp/image -kirjastokomento.

(require 2htdp/image)

Text-komennon sisällä peräkkäisiä merkkijonoja voidaan liittää toisiinsa string-append -komennolla. Merkkijonot erotetaan toisistaan välilyönnillä. Koska yhdistettävät osat ovat merkkijonoja, niin muuttujien lukuarvot täytyy muuntaa osaksi tekstiä eli merkkijonoksi. Luku muunnetaan merkkijonoksi komennolla number->string. Nämä muunnoskomennot ovat sulkujen sisällä ja muut yhdistettävät tekstin osat ovat heittomerkkien sisällä. Tulostuvaan tekstiin tulevat välilyönnit, pilkut ja pisteet ovat osa heittomerkkien sisällä olevaa tekstiä.

Racket-MAOL-dia7.png
Esimerkki 1 Siirrä alla olevat komennot DrRacket-ohjelmaan. Muokkaa tulostuvia tekstejä.

; kirjastokomento
(require 2htdp/image)
; tekstin kirjoittaminen näkyviin
(text ”Kirjoita tähän oma teksti.” 20 ”blue”)
; tekstin ja luvun kirjoittaminen näkyviin
(text (string-append ”Luku 9 tekstinä ” (number->string 9)) 20 ”blue”)

Jos tulostettavia tekstin osia on useita, ne voi kirjoittaa allekkain. Paina CTRL + i, niin Racket-koodi sisentyy automaattisesti. Järkevällä tavalla tehty ohjelmakoodin sisentäminen lisää koodin luettavuutta ja helpottaa mahdollisten virheiden havaitsemista.

Esimerkki 2 Alla olevassa esimerkissä lasketaan muuttujan x arvo satakertaisena ja tulostetaan sekä x:n arvo että 100-kertainen arvo osana tekstiä. Muuttujan x arvo määritetään define-komennolla kirjastokomennon jälkeen.
Tekstin_osat-esim2.png

Kohdan 3.1 harjoitustehtävät löytyvät tehtäväsarjoista 1-2. Valitse tehtäväsarja alla olevasta listasta tai ylhäältä vasemman reunan valikosta.

Linkki seuraavaan teoriakohtaan:
4. Kuvioita

Tehtäviä tekstin koostamisesta

Siirry harjoittelemaan. Tehtävissä harjoitellaan lyhyiden ohjelmien tekoa.

Tehtävät 75-79 on jaettu kahteen tehtäväsarjaan.

Tehtäväsarja 1 Muuttujien arvot osana tekstiä
Tehtäväsarja 2 Muuttujien arvojen vaihtuminen tekstissä