Ohjelmoinnin peruskurssi Y1

Koko: px
Aloita esitys sivulta:

Download "Ohjelmoinnin peruskurssi Y1"

Transkriptio

1 Ohjelmoinnin peruskurssi Y1 CSE-A CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

2 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute. Tätä kautta on mahdollisuus antaa nimettömänä palautetta luennosta. Jos jokin asia on jäänyt palautteen perusteella epäselväksi, palataan siihen mahdollisuuksien mukaan seuraavalla luennolla. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

3 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelma voidaan jakaa pienempiin osiin käyttämällä funktioita, miten funktiolle voi antaa lähtötietoja parametrien avulla ja miten funktio voi välittää tiedon laskemistaan arvoista tms. paluuarvojen avulla. Edelliseen luentoon verrattuna olet nähnyt enemmän esimerkkejä funktioiden käytöstä eri tilanteissa, esimerkiksi Osaat käyttää totuusarvon palauttavia funktiota. Tiedät, miten voi käyttää avuksi Pythonin valmiina olevia math-moduulin funktioita matemaattisten funktioiden arvojen laskemiseen. Osaat kirjoittaa funktioita, jotka palauttavat useamman kuin yhden arvon. Tiedät, miten kirjoitetaan ohjelma, jossa on tekstivalikko, josta käyttäjä voi valita suoritettavaksi haluamansa toimenpiteen. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

4 Kertausta: funktio, parametri ja paluuarvo Funktio on ohjelmakoodin osa, jolle on annettu oma nimi. Ohjelmassa voidaan kutsua funktiota. Tällöin Python-tulkki siirtyy suorittamaan funktion koodia. Kun funktion suoritus loppuu, palataan takaisin sinne, missä funktiota kutsuttiin. Funktiolle voidaan välittää tietoa funktion ulkopuolelta parametrien avulla. Kun funktiota kutsutaan, kerrotaan, mitkä arvot parametreille annetaan tällä suorituskerralla. Funktio voi välittää tietoa laskemistaan tms. arvoista paluuarvon avulla. Huomaa, että arvon palauttaminen (return) on eri asia kuin tulostaminen (tehdään yleensä print-käskyllä). CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

5 Kertausta: arvon palauttaminen Arvo palautetaan return-käskyllä: return lauseke lauseke voi olla vakioarvo, muuttujan nimi tai monimutkaisempi lauseke. Palautettu arvo voidaan ottaa sijoituskäskyllä talteen siellä, missä funktiota kutsuttiin: muuttuja = funktio(parametrit) Palautetun arvon voi myös tulostaa suoraan esimerkiksi print-käskyssä: print("tulos on", funktio(parametrit)) Palautettua arvoa voi myös käyttää hyväksi suoraan toisen lausekkeen arvoa laskettaessa: uusi_tulos = 2 * funktio(parametrit) - 5 CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

6 Murtoluvun sieventäminen, koodi Käytetään sytin laskemiseen Euclideen algoritmia (toimii positiivisille luvuille): Jos luvut ovat yhtäsuuret, syt on kumpi tahansa luvuista. Muussa tapauksessa vähennetetään aina suuremmasta luvusta pienempi, kunnes luvut ovat yhtäsuuret. def laske_syt(kokonaisluku1, kokonaisluku2): luku1 = abs(kokonaisluku1) luku2 = abs(kokonaisluku2) while (luku1!= luku2): if luku1 > luku2: luku1 = luku1 - luku2 else: luku2 = luku2 - luku1 return luku1 CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

7 Murtoluvun sieventäminen, koodi jatkuu def main(): print("ohjelma sieventaa antamasi murtoluvun.") syote = input("anna osoittaja.\n") osoittaja = int(syote) syote = input("anna nimittaja.\n") nimittaja = int(syote) if osoittaja == 0 or nimittaja == 0: print("ohjelma ei pysty sieventamaan lukua.") else: syt = laske_syt(osoittaja, nimittaja) osoittaja = osoittaja // syt nimittaja = nimittaja // syt print("sievennettyna: {:d}/{:d}".format( osoittaja, nimittaja)) main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

8 Välitehtävä 1 Mitä seuraava funktio tekee? def mysteeri(parametri): RAJA = 50.0 KERROIN = 1.24 if parametri >= RAJA: parametri = KERROIN * parametri return parametri CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

9 Funktiokutsu toisen funktion sisällä Funktiota voi kutsua myös toisen funktion sisältä. Muutetaan edellistä esimerkkiä niin, että myös sievennyksestä tehdään oma funktio, jonka sisältä kutsutaan funktiota laske_syt Pääohjelmassa kutsutaan sievennyksen tekevää funktiota. Ohjelmaa on kuitenkin muutettu niin, että käyttäjä voi sieventää ohjelman samalla suorituskerralla useita lukuja. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

10 Sieventäminen, koodi def laske_syt(kokonaisluku1, kokonaisluku2): luku1 = abs(kokonaisluku1) luku2 = abs(kokonaisluku2) while (luku1!= luku2): if luku1 > luku2: luku1 = luku1 - luku2 else: luku2 = luku2 - luku1 return luku1 CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

11 Sieventäminen, koodi jatkuu def sievenna(): syote = input("anna osoittaja.\n") osoittaja = int(syote) syote = input("anna nimittaja.\n") nimittaja = int(syote) if osoittaja == 0 or nimittaja == 0: print("ohjelma ei pysty sieventamaan lukua.") else: syt = laske_syt(osoittaja, nimittaja) osoittaja = osoittaja // syt nimittaja = nimittaja // syt print("sievennettyna: {:d}/{:d}".format( osoittaja, nimittaja)) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

12 Sieventäminen, koodi jatkuu def main(): print("ohjelma sieventaa antamasi murtoluvun.") jatko = "K" while jatko!= "e" and jatko!= "E": sievenna() jatko = input("haluatko jatkaa (K/E)?\n") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

13 Sisäkkäiset funktiokutsut Funktion kutsussa funktiolle voi antaa parametrina toisen funktion kutsun. Tällöin sisempi funktio suoritetaan ensin. Sisemmän funktion paluuarvoa käytetään ulomman funktion parametrin arvona. Esimerkki (int ja input ovat Pythonin valmiita funktioita): osoittaja = int(input("anna osoittaja.\n")) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

14 Totuusarvon palauttavat funktiot Funktio voi myös palauttaa totuusarvon True tai False Seuraava esimerkkiohjelma laskee käyttäjän iän tämän syntymävuoden perusteella. Ohjelmaan on lisätty funktio onko_kelvollinen, joka tutkii, onko sille parametrina annettu syntymävuosi hyväksytyllä välillä Funkton palauttamaa arvoa voitaisiin käyttää esimerkiksi if-käskyn ehdossa seuraavasti: if onko_kelvollinen(syntymavuosi) == True: Vertailu arvoon True on kuitenkin tarpeeton, koska funktio itsessään palauttaa arvon True tai False. Sen vuoksi ehto voidaan kirjoittaa lyhyemmin: if onko_kelvollinen(syntymavuosi): CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

15 Iän laskeminen, koodi NYKYINEN_VUOSI = 2015 def onko_kelvollinen(vuosi): ALARAJA = 1890 if vuosi < ALARAJA or vuosi > NYKYINEN_VUOSI: return False else: return True CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

16 Iän laskeminen, koodi jatkuu def main(): print("ohjelma laskee ikasi.") syntymavuosi = int(input("anna syntymavuotesi.\n")) if onko_kelvollinen(syntymavuosi): ika = NYKYINEN_VUOSI - syntymavuosi print("ikasi on", ika, "vuotta.") else: print("virhe syntymavuodessa.") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

17 Moduuli math Pythonissa on valmiina suuri joukko funktioita erilaisten toimintojen tekemiseen. Suurin osa näistä funktioista on jaettu moduuleihin. Yksi moduuli sisältää tyypillisesti samaan asiaan liittyviä funktioita ja mahdollisesti myös vakioita. Yksi tärkeä moduuli on math, joka sisältää joukon matemaattisia funktioita sekä vakiot math.pi ja math.e. Jotta moduulin vakioita tai funktioita voisi käyttää, on ohjelmatiedoston alkuun kirjoitettava import math CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

18 Tärkeitä math-moduulin funktioita ceil(x) pienin kokonaisluku, joka on x. floor(x) suurin kokonaisluku, joka on x. sqrt(x) neliöjuuri exp(x) e potenssiin x. log(x) luonnollinen logaritmi. log10(x) 10-kantainen logaritmi. cos(x) kosini. sin(x) sini. tan(x) tangentti. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

19 Esimerkki: toisen asteen yhtälön ratkaisu Kirjoitetaan ohjelma, joka ratkaisee toisen asteen yhtälön ax 2 + bx + c = 0 Käytetään ratkaisukaavaa Ohjelma tulostaa vain reaalijuuret. x 1,2 = b ± b 2 4ac 2a Ratkaisujen lukumäärää tutkitaan neliöjuuren alla olevan diskriminantin arvon perusteella. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

20 Toisen asteen yhtälö, koodi import math def ratkaise_yhtalo(a, b, c): diskrim = b * b - 4 * a * c if diskrim < 0: print("ei reaalijuuria.") elif diskrim == 0: x = -1.0 * b / (2 * a) print("yhtalon ratkaisu on {:.2f}.".format(x)) else: x1 = (-1.0 * b + math.sqrt(diskrim) ) / (2 * a) x2 = (-1.0 * b - math.sqrt(diskrim) ) / (2 * a) print("ratkaisut ovat {:.2f} ja {:.2f}.".format( x1, x2)) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

21 Toisen asteen yhtälö, koodi jatkuu def main(): print("anna 2. asteen yhtalon kertoimet a, b ja c.") eka_kerroin = int(input()) toka_kerroin = int(input()) vakio = int(input()) if eka_kerroin == 0: print("yhtalo ei ole toista astetta.") else: ratkaise_yhtalo(eka_kerroin, toka_kerroin, vakio) main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

22 Välitehtävä 2 Kirjoita funktio, joka laskee ja palauttaa suorakulmaisen kolmion hypotenuusan pituuden, kun kateettien pituudet annetaan parametreina. Käytä Pythagoraan lausetta. Kirjoita tämän jälkeen pääohjelma, joka pyytää käyttäjältä kateettien pituudet, kutsuu kirjoitettua funktiota ja lopuksi tulostaa hypotenuusan pituuden. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

23 Useampi paluuarvo Funktio voi palauttaa samanaikaisesti myös useamman kuin yhden arvon. Palautettavat arvot erotetaan toisistaan return-käskyssä pilkulla: return arvo1, arvo2, arvo3 Arvot voidaan ottaa samanaikaisella sijoituksella talteen siellä, missä funktiota kutsutaan: muuttuja1, muuttuja2, muuttuja3 = funktio(parametrit) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

24 Esimerkki: paivamaara Kirjoitetaan funktio, joka pyytää käyttäjältä nykyisen päivän ja kuukauden ja palauttaa ne molemmat. Pääohjelma tulostaa päivämäärän kahdella eri tavalla. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

25 Paivamaara, koodi def pyyda_paivays(): monesko = int(input("mika paiva tanaan on?\n")) kuu = input("mika kuukausi on nyt?\n") return monesko, kuu def main(): paiva, kuukausi = pyyda_paivays() print("tanaan on {:s}n {:d}. paiva.".format( kuukausi, paiva)) print("tanaan on {:d}. {:s}ta.".format( paiva, kuukausi)) main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

26 Valikkopohjaisen ohjelman kirjoittaminen Hyvin yleinen tehtävä on kirjoittaa ohjelma, jossa käyttäjä voi valita valikosta haluamansa toiminnon useasta vaihtoehdosta. Käyttäjä voi valita aina uuden toiminnon niin kauan, kunnes hän haluaa lopettaa. Seuraava esimerkki näyttää, miten tällainen ohjelma kannattaa kirjoittaa. Valikon tulostamista ja käyttäjän valinnan pyytämistä varten kirjoitetaan oma funktio. Myös jokaista toimintoa varten kirjoitetaan oma funktio (nämä funktiot voivat mahdollisesti vielä kutsua muita funktioita). Pääohjelmaan kirjoitetaan toistokäsky, joka kutsuu käyttäjän valintaa pyytävää funktiota ja valinnan mukaan aina jonkun toiminnon toteuttavaa funktiota. Toistokäsky loppuu, kun käyttäjä valitsee ohjelman lopettamisen. Seuraavassa esimerkissä käyttäjä voi laskea erilaisten kuvioiden pinta-aloja. CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

27 Valikko-ohjelma, koodi import math def valitse_toiminto(): print() print("valitse toiminto:") print("1. laske ympyran pinta-ala") print("2. laske suorakulmion pinta-ala") print("3. laske kolmion pinta-ala") print("4. lopeta") vastaus = int(input()) return vastaus CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

28 Valikko-ohjelma, koodi def ympyran_ala(): sade = float(input("ympyran sade.\n")) ala = math.pi * sade * sade print("pinta-ala on {:.4f}.".format(ala)) def suorakulmion_ala(): leveys = float(input("suorakulmion leveys.\n")) korkeus = float(input("suorakulmion korkeus.\n")) ala = leveys * korkeus print("pinta-ala on {:.4f}.".format(ala)) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

29 Valikko-ohjelma, koodi def kolmion_ala(): kanta = float(input("kolmion kannan pituus.\n")) korkeus = float(input("kolmion korkeus.\n")) ala = 0.5 * kanta * korkeus print("pinta-ala on {:.4f}.".format(ala)) CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

30 Valikko-ohjelma, koodi def main(): valinta = valitse_toiminto() while valinta!= 4: if valinta == 1: ympyran_ala() elif valinta == 2: suorakulmion_ala() elif valinta == 3: kolmion_ala() valinta = valitse_toiminto() print("ohjelman suoritus paattyy") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 30

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2016 1 / 29 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 3.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 3.10.2018 1 / 27 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelma voidaan jakaa pienempiin osiin käyttämällä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 27.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 27.9.2017 1 / 30 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.2.2010 1 / 47 Sijoituksen arvokehitys, koodi def main(): print "Ohjelma laskee sijoituksen arvon kehittymisen."

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2015 1 / 17 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 28.1.2009 1 / 28 Esimerkki: murtoluvun sieventäminen Kirjoitetaan ohjelma, joka sieventää käyttäjän antaman murtoluvun.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 16.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 16.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 5.10.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 5.10.2016 1 / 21 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 14.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 14.4.2010 1 / 60 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.10.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.10.2015 1 / 32 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 30.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 30.3.2011 1 / 64 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 2.11.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 2.11.2016 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 1.11.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 1.11.2017 1 / 38 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 7.11.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 7.11.2018 1 / 37 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä oliot ovat ja miksi niitä käytetään ohjelmoinnissa.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.3.2010 1 / 49 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 7.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 7.10.2015 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 12.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 12.10.2015 1 / 32 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 31.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 31.10.2018 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Sinulla on peruskäsitys siitä, mitä hyvällä ohjelmointityylillä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 19.10.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 19.10.2016 1 / 43 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 18.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 18.10.2017 1 / 44 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja?

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja? Nimi Koulutus Ryhmä Jokaisessa tehtävässä on vain yksi vastausvaihtoehto oikein. Laske tehtävät ilman laskinta.. Missä pisteessä suora y = 3x 6 leikkaa x-akselin? A. 3 D. B. E. en tiedä C. 6. Mitkä luvuista,,,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

4 TOISEN ASTEEN YHTÄLÖ

4 TOISEN ASTEEN YHTÄLÖ Huippu Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 7.4.016 4 TOISEN ASTEEN YHTÄLÖ POHDITTAVAA 1. Merkitään toisen neliön sivun pituutta kirjaimella x. Tällöin toisen neliön sivun pituus on

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

3 Yleinen toisen asteen yhtälö ja epäyhtälö

3 Yleinen toisen asteen yhtälö ja epäyhtälö Juuri Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 5.8.016 3 Yleinen toisen asteen yhtälö ja epäyhtälö ENNAKKOTEHTÄVÄT 1. a) x + x + 1 = 4 (x + 1) = 4 Luvun x + 1 tulee olla tai, jotta sen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 2.11.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 2.11.2015 1 / 37 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Kokonaisluvut. eivät ole kokonaislukuja!

Kokonaisluvut. eivät ole kokonaislukuja! Luvut Lähdetään liikkeelle kertaamalla mitä tiedämme luvuista. Mitä erilaiset luvut kuvaavat ja millaisia ominaisuuksia niillä on? Mikä voisi olla luonnollisin luku aloittaa? Luonnolliset luvut Luonnolliset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 23.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.3.2009 1 / 48 Olio metodin parametrina: luokka Tasovektori Halutaan kirjoittaa luokka kaksiulotteisen vektorin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

Olkoon funktion f määrittelyjoukkona reaalilukuväli (erityistapauksena R). Jos kaikilla määrittelyjoukon luvuilla x 1 ja x 2 on voimassa ehto:

Olkoon funktion f määrittelyjoukkona reaalilukuväli (erityistapauksena R). Jos kaikilla määrittelyjoukon luvuilla x 1 ja x 2 on voimassa ehto: 4 Reaalifunktiot 4. Funktion monotonisuus Olkoon funktion f määrittelyjoukkona reaalilukuväli (erityistapauksena R). Jos kaikilla määrittelyjoukon luvuilla x ja x on voimassa ehto: "jos x < x, niin f (x

Lisätiedot

Derivaatan sovellukset (ääriarvotehtävät ym.)

Derivaatan sovellukset (ääriarvotehtävät ym.) Derivaatan sovellukset (ääriarvotehtävät ym.) Tehtävät: 1. Tutki derivaatan avulla funktion f kulkua. a) f(x) = x 4x b) f(x) = x + 6x + 11 c) f(x) = x4 4 x3 + 4 d) f(x) = x 3 6x + 1x + 3. Määritä rationaalifunktion

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2011 1 / 53 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Algebra. 1. Ovatko alla olevat väittämät tosia? Perustele tai anna vastaesimerkki. 2. Laske. a) Luku 2 on luonnollinen luku.

Algebra. 1. Ovatko alla olevat väittämät tosia? Perustele tai anna vastaesimerkki. 2. Laske. a) Luku 2 on luonnollinen luku. Algebra 1. Ovatko alla olevat väittämät tosia? Perustele tai anna vastaesimerkki. a) Luku on luonnollinen luku. b) Z c) Luvut 5 6 ja 7 8 ovat rationaalilukuja, mutta luvut ja π eivät. d) sin(45 ) R e)

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Talousmatematiikan perusteet, L3 Prosentti, yhtälöt Aiheet

Talousmatematiikan perusteet, L3 Prosentti, yhtälöt Aiheet Talousmatematiikan perusteet, L3 Prosentti, t Toisen Prosentti 1 Jos b on p% luvusta a, eli niin b = p 100 a a = perusarvo (Mihin verrataan?) (Minkä sadasosista on kysymys.) p = prosenttiluku (Miten monta

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 5.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 5.10.2015 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Kompleksiluvut., 15. kesäkuuta /57

Kompleksiluvut., 15. kesäkuuta /57 Kompleksiluvut, 15. kesäkuuta 2017 1/57 Miksi kompleksilukuja? Reaaliluvut lukusuoran pisteet: Tiedetään, että 7 1 0 x 2 = 0 x = 0 1 7 x 2 = 1 x = 1 x = 1 x 2 = 7 x = 7 x = 7 x 2 = 1 ei ratkaisua reaalilukujen

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

Lisätiedot

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita Helsingin seitsemäsluokkalaisten matematiikkakilpailu 22..204 Ratkaisuita. Laske 23 45. a) 4000 b) 4525 c) 4535 d) 5525 e) 5535 Ratkaisu. Lasketaan allekkain: 45 23 35 90 45 5535 2. Yhden maalipurkin sisällöllä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 21.3.2011 1 / 42 Listan alkiona viiteitä olioihin Halutaan tehdä ohjelma ohjelmointikurssien opiskelijoiden käsittelyyn.

Lisätiedot

Matematiikan peruskurssi 2

Matematiikan peruskurssi 2 Matematiikan peruskurssi Tentti, 9..06 Tentin kesto: h. Sallitut apuvälineet: kaavakokoelma ja laskin, joka ei kykene graaseen/symboliseen laskentaan Vastaa seuraavista viidestä tehtävästä neljään. Saat

Lisätiedot

Luvuilla laskeminen. Esim. 1 Laske 6 21 7

Luvuilla laskeminen. Esim. 1 Laske 6 21 7 Luvuilla laskeminen TI-84 Plus käyttää laskujen suorittamiseen ns. yhtälönkäsittelyjärjestelmää (EOS TM, Equation Operating System), jonka avulla lausekkeiden syöttö tapahtuu matemaattisessa kirjoitusjärjestyksessä.

Lisätiedot

Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva 3), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 = 2.

Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva 3), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 = 2. Hyvän ratkaisun piirteitä: a) Neliöpohjainen rakennelma Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva ), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 =

Lisätiedot

Matemaattisen analyysin tukikurssi

Matemaattisen analyysin tukikurssi Matemaattisen analyysin tukikurssi 12. Kurssikerta Petrus Mikkola 5.12.2016 Tämän kerran asiat Sini-ja kosifunktio Yksikköympyrä Tangentti- ja kotangenttifunktio Trigonometristen funktioiden ominaisuuksia

Lisätiedot

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.2012 klo 10 13 Ratkaisut ja pisteytysohjeet

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.2012 klo 10 13 Ratkaisut ja pisteytysohjeet Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.01 klo 10 13 t ja pisteytysohjeet 1. Ratkaise seuraavat yhtälöt ja epäyhtälöt. (a) 3 x 3 3 x 1 4, (b)

Lisätiedot

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo 10 13

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo 10 13 Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 11.6.2012 klo 10 13 1. Ratkaise seuraavat yhtälöt ja epäyhtälöt. (a) 3 2 x 2 3 2 3 x 1 4, (b) (x + 1)(x 2)

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 22.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 22.3.2010 1 / 49 Lista luokan kenttänä Luokan kenttä voi olla myös esimerkiksi lista, sanakirja tai oliomuuttuja.

Lisätiedot

2 Pistejoukko koordinaatistossa

2 Pistejoukko koordinaatistossa Pistejoukko koordinaatistossa Ennakkotehtävät 1. a) Esimerkiksi: b) Pisteet sijaitsevat pystysuoralla suoralla, joka leikkaa x-akselin kohdassa x =. c) Yhtälö on x =. d) Sijoitetaan joitain ehdon toteuttavia

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Tietorakenteet (syksy 2013)

Tietorakenteet (syksy 2013) Tietorakenteet (syksy 2013) Harjoitus 1 (6.9.2013) Huom. Sinun on osallistuttava perjantain laskuharjoitustilaisuuteen ja tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. Näiden laskuharjoitusten

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

Lisätiedot