# data[].attributes.body
Tuloksia

# data[].attributes.body
Funktio laskee suoran ympyräkartion tilavuuden, kun siihen syötetään pohjan säde ja kartion korkeus.

# data[].attributes.body
Tuloksia. Jos funtiota kutsutaan väärillä arvoilla, tulostuu kuvassa näkyvä virheilmoitus.

# data[].attributes.body
Funktio laskee suoran arvon kun syötteeksi annetaan kulmakerroin ja x:n arvo.

# data[].attributes.body
Erikokoisten ympyröiden piirtäminen, parametrinä säde r, aiheena suurennos, pienennös

# data[].attributes.body
Käsitöihin omat merkit nimellä varustettuna.

# data[].attributes.body
Ja tässä pari tulosta:

# data[].attributes.body
Funktio laskee alvillisen hinnan kun sille syötetään veroton hinta ja alv%

# data[].attributes.body
Kaksi testiä. Ensimmäinen syötetty luku on pohjaneliön sivun pituus ja toinen on vaipan korkeus. Toimii.

# data[].attributes.body
Funktio laskee neliöpohjaisen pyramidin kokonaispinta-alan, kun pohjaneliön sivun pituus ja vaipan korkeus syötetään. Funktion nimi on kokonaispinta-ala.

# data[].attributes.body
Kertoma-funktion toteutus rekusrsiolla.

# data[].attributes.body
Kertoma-funktio

Laskee annetun kokonaisluvun kertoman (kokonaisluku).

Tässä piti kyllä ottaa jo seuraavien viikkojen asiaa mukaan (kun myöhässä palautan). If-lausetta tarvitaan sekä rekursiota.

# data[].attributes.body
Valuuttalaskuri

# data[].attributes.body
Valuuttalaskuri muuttaa eurot dollareiksi tai punniksi.

# data[].attributes.body
BMI toimii. Ei se kyllä kaunis ole :D > (BMI 50 1.5) "Painoindeksisi on 22.22222222222222" > (BMI 100 1.76) "Painoindeksisi on 32.28305785123967" >

# data[].attributes.body
BMI-funktio laskee painoindeksin kun sille annetaan paino ja pituus ja antaa tuloksena "Painoindeksisi on ...

# data[].attributes.body
Ympyrakartion-tilavuus -funktion testausta erilaisilla muuttujien arvoilla.

# data[].attributes.body
Ympyrakartion-tilavuus funktio laskee tilavuuden, kun ympyräkartion pohjan säde ja kartion korkeus syötetään. Harjoituksen avulla voidaan jälleen kerran osoittaa muuttujakirjaimien käytön hyöty.

# data[].attributes.body
Kaiutin-funktion toimintaa eri argumenteilla:

# data[].attributes.body
-Ohjelma laskee kaiuttimen syvyyden, kun sille annetaan kaiutinelementin vaatima tilavuus sekä haluttu leveys ja korkeus.

- Suunnitteluvaiheen testejä:

# data[].attributes.body
Joulupallonauha. Muuttujina tähden ja taustan väri.

# data[].attributes.body
Funktio joulupallo piirtää joulupalloja, joiden sisällä on tähti. Tähden väriä ja taustan väriä voi vaihdella.

# data[].attributes.body
väritys-funktion toimintaa eri argumenteilla:

# data[].attributes.body
Kirjoitin funktion, joka pyytää argumenttina kolme lukua ja palauttaa kuvan, joka on väritetty annettuja lukuja vastaavalla RGB-värillä. Apufunktioina pallon piirtäminen, koodin tulostus ja make-color. Funktiota voi käyttää RGB-koodien havainnollistamiseen.

# data[].attributes.body
Funktio nostopros ottaa kaksi lukua ja laskee niistä prosenttiluvun ja pyöristää sen kokonaisluvuksi. Sitten pyytää apufunktiolta teelause merkkijonona lauseen, jossa vastaus ilmoitetaan. Voidaan käyttää lentopallon vastaanottoprosentin laskemiseen.

# data[].attributes.body
Sydämen syketaajuutta laskeva funktio. (Huomasin vasta valmiin funkioni kanssa, että Markus L oli minua nopeampi ja oli luonut vastaavan funktion jo tänne)

Syötetään siis sykähdykset ja mittausaika sekunteina. Syketaajuus (lyöntiä minuutissa ) ilmoitetaan sydämellisenä kuvana.

# data[].attributes.body
Tässä sykelaskuri tositoimissa. Ensin syötin arvot 20 sykähdystä ja 10 sekuntia. Seuraavaksi syötin arvot 17 sykähdystä ja 15 sekuntia.

# data[].attributes.body
Tein funktion ”nousuteho”, joka palauttaa syötetyt parametrit yksiköineen ja niistä lasketun nousutehon. Funktion parametrit ovat henkilön paino (newtoneina), nousukorkeus (metreinä) ja nousuaika (sekunteina).

# data[].attributes.body
Perustestiä pinta_ala_kolmio.

# data[].attributes.body
Perustestiä pinta_ala_suorakulma.

# data[].attributes.body
Funktio nuolisektoriin ottaa argumentikseen luvun. Funktion arvo on kuva jossa nuoli osoittaa annettuun sektoriin.

# data[].attributes.body
Funktion pulssi avulla on påiirretty kuvaajat, joiden avulla voi määrittää pulssinsa lyöntien lukumäärän perusteella, kun aika on ollut 10 s tai 15 s.

# data[].attributes.body
Sydämen lyöntitehyden laskeva funktio pulssi saa syötteekseen ajan sekunteina ja kyseisessä ajassa laskettujen sydämenlyöntien määrän. Se tulostaa lyntitiheuden pyöristettynä lähimpään kokonaislukuun.

# data[].attributes.body
Ohjelma laskee kasvaneen pääoman vuoden kuluttua. Lähtöarvoina annetaan pääoma ja korkoprosentti.

# data[].attributes.body
Funktioni laskee, kuinka monta sivua koealueesta on luettu ja paljonko on jäljellä.

# data[].attributes.body
Funktio muodostaa kuvan, jossa ilmoitetaan laitteen teho, kun sähkövirta ja jännite syötetään funktioon. Funktio ottaa siis sisäänsä kaksi luku (sähkövirran ja jännitteen) ja laskee näiden avulla tehon. Toivottavasti kuva on oikeanlainen...

# data[].attributes.body
Funktio laskee suorakulmion pinta-alan tekstin alapuolelle ja piirtää suorakulmiot vierekkäin. Testaamisfunkitot eivät onnistuneet ja nämäkin osittain erillisiä.

b)

# data[].attributes.body
Kiirusta pukkaa, joten tässä yksinkertainen funktio 'suorakulmio', joka palauttaa kuvan ja pinta-alan. Esimerkkiarvot 100 ja 30 sekä 300 ja 200

# data[].attributes.body
Funktioni tulostaa suorakulmion kuvan ja sille lasketun pinta-alan käyttämällä kahta apufunktiota a) piirrä_suorakulmio ja b) ala_suorakulmio

# data[].attributes.body
Funktio piirtää kolmion kateettien perusteella ja laskee trigonometriset funktiot.

# data[].attributes.body
Pari esimerkkiä

# data[].attributes.body
Funktio laskee paineen kun annetaan kappaleen massa kiloina ja pinta-ala neliömetreinä

# data[].attributes.body
Funktio tulostaa verolapun, jossa on myyntihinta ja veroton hinta

Apufunktioina käytetty myyntihintaa ja verotonta hintaa

(require 2htdp/image)
;; myyntihinta: Luku -> merkkijono
(define (myyntihinta m) (string-append (number->string m) "€") )
(check-expect (myyntihinta 20)  "20€")
(check-expect (myyntihinta 40) (string-append (number->string 40) "€"))
;; veroton : Luku Luku -> Luku
(define (veroton myyntihinta alv%) (/ myyntihinta (/ (+ 100 alv%) 100)))
(check-expect (veroton 123 23) 100)
(check-expect (veroton 123 23) (/ 123 (/ (+ 100 23) 100)))
;; verolappu : Luku Luku -> Kuva
(define ( verolappu myyntihinta€ alv%) (above (text (myyntihinta myyntihinta€) 20 "blue")
(text "veroton hinta:" 20 "black")
(text (myyntihinta (veroton myyntihinta€ alv%))
20 "red")))
(check-expect (verolappu 123 23) (above (text (myyntihinta 123) 20 "blue")
(text "veroton hinta:" 20 "black")
(text (myyntihinta (veroton 123 23))
20 "red")))

# data[].attributes.body
Vaikuttaa toimivan.

# data[].attributes.body
Funktio laskee jakolaskun (x y) ja tulostaa vastauksen jakojäännöksineen.

# data[].attributes.body
Funktion ympyrä-lieriön-pinta-ala arvoilla säde 2,3 ja korkeus 8,7. Sekä säde 4 ja korkeus 15. Funktio pyöristää vastauksen lähimpään kokonaislukuun.

# data[].attributes.body
Funktio ympyrä-lieriön-pinta-ala laskee ympyräpohjaisen lieriön kokonaispinta-alan. Funktio ottaa parametreinä pohjaympyrän säteen ja ympyrälieriön korkeuden. Pohja apufunktio ottaa parametrinä pohjan säteen ja palauttaa pohjan pinta-alan. Vaippafunktio ottaa sisäänsä parametreinä säteen ja lieriön korkeuden ja palauttaa lieriön pinta-alan.

# data[].attributes.body
Funktioita on kaksi jotka ovat toistensa "käänteisfunktiot". Toinen muuttaa hevosvoimat kilowateiksi (hvkw) ja toinen päinvastoin (kwhv). Tämä vois olla osa jotain isompaa yksikkömuunninohjelmaa.

# data[].attributes.body
Funktio laskee särmiön tilavuuden.

# data[].attributes.body
Taajuuslaskuri, joka ottaa sisäänsä värähdysajan ja palauttaa taajuuden hertseinä.

# data[].attributes.body
Ohjelmaan syötetään veroton hinta ja alv% ja se laskee verollisen hinnan ja alv:n. Tulostaa myös hintalapun missä nämä lukevat. Tosin desimaaliluvut tulevat vielä murtolukuina.

# data[].attributes.body
Tällä viikolla en ehtinyt ihmeitä, joten tein funktion, joka laskee pyramidin tilavuuden.

# data[].attributes.body
Halusin kokeilla värioppisovelluksen tekoa. Tein myös kokeiluita nuolitehtävän pohjalta. Eli miten sekoitetaan välivärejä. Opiskeltu on mutta itsekseni enpä osannut kuin kiinnostuneena kokeilla mitä tapahtuu, kun ympyröille syöttää erilaisia offset-väriarvoja värisekoitusten testaamiseksi. En saanut toimimaan check-expect -lauseketta enkä osannut määrittää tyhmääkään. Liian väsynyt.

# data[].attributes.body
Korollekorkoa. Laskee loppupääoman alkupääoman, koron ja vuosien perusteella ja tulostaa tästä kuvan

# data[].attributes.body
Tein funktion, joka laskee kasvaneen pääoman vuoden kuluttua. Lähtöarvoina annetaan pääoma ja korkoprosentti.

# data[].attributes.body
Kuva kertolaskimen tulostuksesta, funtiot:

(kertolaskin 6 4) (kertolaskin 8 9) (kertolaskin 88 120) (kertolaskin 64 7)

# data[].attributes.body
Tein kertolaskuja laskevan funktion. Tulontekijöitä tarvitaan kaksi, tulo tulostuu punaisena.

# data[].attributes.body
Vastuksen arvon laskeva funktio. Arvoiksi annetaan kolme väriä sekä alaviivalla merkitty kerroin. Funktio muuttaa kolme ensimmäistä arvoa merkkijonoksi, siitä takaisin numeroksi, joka kerrotaan lopulta neljännellä numerolla.

# data[].attributes.body
Tässä kaksi valmista esimerkkiä funktion toiminnasta

# data[].attributes.body
Loin funktion, joka laskee yksikköhintoja tuotteille.

Käytin hintaa ja määrää muuttujina. Ensimmäinne funktio muuttaa lukuja hinnoiksi, toinen lukuja kilogrammoiksi. Kolmas funktio laskee kilohinnan ja neljäs yhdistää ne "hintalapuksi".

# data[].attributes.body
Funktio määrittäää massan, kun kappaleen tiheys ja tilavuus tunnetaan.

Tiheys ja tilavuus ovat muuttujia.

Massa palautuu merkkijonoksi, yksikkönä kg.

Tiheys syötetään yksikössä kg/m^3 ja tilavuus m^3.

(Kuvakaappaus ei onnistunut, joten kopioin)

(require 2htdp/image)

;; muuttaa arvot merkkijonoiksi (define (tiheys d) (string-append(number->string d "kg/m^3"))) (define (tilavuus V) (string-append(number->string V "m^3"))) (define (massa m) (string-append(number->string m "kg")))

;; massa: Luku Luku -> merkkijono (define (massa2 tiheys tilavuus) (string-append(number->string (* tiheys tilavuus)) "kg"))

(define d 2700) (define V 1) (check-expect (massa2 d V) (string-append(number->string (* d V)) "kg"))

Welcome to DrRacket, version 6.2.1 [3m]. Language: Beginning Student; memory limit: 128 MB. The test passed! > (massa2 2700 1) "2700kg" > (massa2 1000 50) "50000kg" >

# data[].attributes.body
Funktio laskee suorakulmaisen särmiön tilavuuden ja pinta-alan sekä piirtää tasoon levitetyn kappaleen. Tietoina annetaan särmiön pituus, leveys ja korkeus.

# data[].attributes.body
Funktio tulostaa kortin, jonka kuviona on tähti. Sekä tähden että kortin taustaväriä voidaan vaihtaa.

# data[].attributes.body
Tein funktion joka piirtää ympyrälieriöitä. Funktiolle annetaan kannen, pohjan ja vaipan väri.Tein ellipsille ja suorakulmiolle omat funktiot, kokosin ympyrälieriön näistä overlay systeemillä. en tiedä, sainko tarpeeksi kuvaa testauksesta , mutta tämä toimii :) testasin vielä uudelleen wecheme-version dr. racketilla: nyt näkyy onnistuneet testit - jee :)

# data[].attributes.body
Esimerkki funktion toiminnasta

# data[].attributes.body
Tarkoituksena on laskea suoran ympyrälieriön tilavuus. Funktio toimii pohjan säteen ja lieriön korkeuden avulla.

# data[].attributes.body
Tein funktion, joka laskee tuotteen alkuperäisen hinnan nykyisen hinnan ja alennusprosentin avulla. Tietoja annetaan siis alennettuhinta ja alennusprosentti. Funktio palauttaa nämä tiedot tekstinä sekä alkuperäisen hinnan.

# data[].attributes.body
Funktio piirtää kukkasia. Syötetään koko (luku) ja kolme väriä. Apufunktioina kukka ja varsi/lehdet erikseen. Testi-ikkunan kuvakaappaus puuttuu, unohtui. Tehty kuitenkin porrasmenetelmällä.

# data[].attributes.body
Sähkötehofunktion testaus

# data[].attributes.body
Funktio laskee sähkötehon, kun syötetään jännite ja sähkövirta. Funktio muodostaa luvuista, merkkijonosta (yksikkö) ja väristä kuvan. Funktio pyöristää tehon kokonaisluvuksi. Toinen funktio muodostaa värillisen suorakulmion, jolla voidaan korostaa lasketun vastauksen taustaa.

# data[].attributes.body
Tähän syötetään ostettujen megisten määrä ja ohjelma laskee hinnan. Ope teki tän valmiiks, kun mä en osannu. Kuvasta jäi puuttumaan se kuvastonhaku-komento.

# data[].attributes.body
Esimerkkiajo ylipaino-ohjelmasta. Apufunktioina käytetty (painoindeksi) funktiota indeksin laskemiseen sekä (tulosta) funktiota tulokset tulostamiseen näytölle.

# data[].attributes.body
check-expect ylipainon laskennasta

# data[].attributes.body
Kukkaharkasta kuva-funktioksi

# data[].attributes.body
Tällaiselta näyttää, kun ohjelma on ajettu.

# data[].attributes.body
Syötetään säännöllisen monikulmion kärkien lukumäärä ja sivun pituus. Piirtää monikulmion ja laskee sen piirin, kulmien summan ja yhden kulman suuruuden.

Ilmoittaa, jos annetista syötteistä ei synny monikulmiota. Ainakin joissain tapauksissa. Mutta tämän viikon osalta tämä riittää.

# data[].attributes.body
Isänpäiväkorttina

# data[].attributes.body
syntymäpäiväkorttina

# data[].attributes.body
Tein isänpäiväkortin mihin tulostuu kuva ja funktion avulla voi vaihtaa vaihtaa nimen kortin vastaanottajalle.

# data[].attributes.body
Ympyrä-funktio laskee annetulla ympyrän säteen arvolla ympyrän kehän pituuden sekä pinta-alan. Funktio piirtää kaksi ympyrää, toisessa on väritettynä ympyrän kehä ja toisessa ala, kuvien koot vastaavat annetulla säteellä laskettua kehän pituutta ja alaa. Lasketut tulokset näkyvät niitä vastaavien kuvien keskellä.

Yksiköiden tekemiseen ei aika eikä rahkeet riittäneet...

Testaus meni vähän yli hilseen, tässä kuva työn alkuvaiheen testailusta:

# data[].attributes.body
Hieman jäi vielä säätämisen varaa, sillä desimaaliluvut tulostuvat murtolukuina.

# data[].attributes.body
Potenssi-funktiolle syötetään kaksi lukua (kantaluku, eksponentti) ja tulosteena saadaan kuva, jossa näkyy potenssimerkintä ja miten se luetaan. Apufunktiot muuttavat em. luvut merkkijonoiksi.

# data[].attributes.body
Funktio tulostaa hedälmävaa'an hintalapun. Funktioon syötetään kilohinta ja massa. Apufunktiot muuttavat kilohinnan merkkijonoksi ja laskevat tuotteen hinnan.

# data[].attributes.body
Funktiolle syötetään myytävän tuotteen myyntihinta ja ostohinta. Funktio laskee, kuinka paljon 15 oppilaan luokka tällä myynnillä ansaitsee ja tulostaa voittosumman.