Ohjelmoinnin peruskurssi Y1

Samankaltaiset tiedostot
Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteita

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Ehto- ja toistolauseet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjausrakenteet. Valinta:

Palautetta viime luennosta

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

T Ohjelmoinnin perusteet Y (Python). Tentti

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

T Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2010

Ohjelmoinnin peruskurssi Y1 Huom: Istukaa joka paikalle sali tulee täyteen!

Ohjelmoinnin peruskurssi Y1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

11. Javan toistorakenteet 11.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

11. Javan valintarakenteet 11.1

T Ohjelmoinnin perusteet Y (Python)

Transkriptio:

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 eri käskyjä esimerkiksi käyttäjän antaman syötteen perusteella. Tiedät, millaisia vertailuja voit kirjoittaa if-käskyn ehtoon ja miten voit yhdistellä useampia eri ehtoja. Osaat kirjoittaa ohjelman, joka toistaa haluttua käskyä tai käskyjonoa niin, että käskyjono tarvitsee kirjoittaa vain yhteen kertaan. Voit luennon aikana lähettää kysymyksiä ja kommentteja sivulla http://presemo.aalto.fi/y1s2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 2 / 18

Valintakäsky if Entä, jos ohjelman pitäisi suorittaa eri suorituskerroilla eri käskyjä esim. sen mukaan, mitä lukuja käyttäjä antaa? Esimerkki: kirjoita ohjelma, joka pyytää käyttäjältä tentin pistemäärän ja kertoo, menikö tentti läpi, kun läpipääsyraja on 50 pistettä. Käytetään if-käskyä: if ehto: kasky1 else: kasky2 else-osa ei ole pakollinen. CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 3 / 18

Tenttiesimerkki def main(): syote = input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >= 50: print("tentti meni lapi!") else: print("reputit!") print("arvosteluun voi tutustua vastaanotoilla.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 4 / 18

Vertailuoperaattoreita > suurempi kuin < pienempi kuin == yhtäsuuri kuin!= erisuuri kuin >= suurempi tai yhtäsuuri kuin <= pienempi tai yhtäsuuri kuin Huomaa yhtäsuuruusoperaattorin == ja sijoitusoperaattorin = ero. Desimaalilukujen yhtäsuuruutta ei yleensä kannata tutkia, koska pyöristysvirheet voivat aiheuttaa yllätyksiä. CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 5 / 18

Loogiset operaattorit Lisätään tenttiesimerkkiin tarkistus: jos pisteet ovat alle 0 tai yli 100, ilmoitetaan virheellisistä pisteistä. Tarvittava ehto saadaan operaattorin or avulla: if pisteet < 0 or pisteet > 100: CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 6 / 18

Loogiset operaattorit, jatkoa Pythonin loogiset operaattorit and ja or tai not ei Operaattorit and ja or ovat ehdollisia: jälkimmäisen operandin totuusarvo tutkitaan vain silloin, jos ensimmäisen operandin arvosta ei voida päätellä koko lauseen totuusarvoa. CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 7 / 18

Sisäkkäisiä if-käskyjä def main(): syote = input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet < 0 or pisteet > 100: print("virheelliset pisteet!") print("pisteiden pitaa olla valilla 0-100.") else: if pisteet >= 50: print("tentti meni lapi!") else: print("reputit!") print("arvosteluun voi tutustua vastaanotoilla.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 8 / 18

Useita eri ehtoja def main(): syote = input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet < 0: print("kelvottomat pisteet!") elif pisteet < 50: print("arvosana on 0.") elif pisteet < 60: print("arvosana on 1.") elif pisteet < 70: print("arvosana on 2.") elif pisteet < 80: print("arvosana on 3.") # Ohjelma jatkuu seuraavalla kalvolla. CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 9 / 18

Useita eri ehtoja (jatkuu) elif pisteet < 90: print("arvosana on 4.") elif pisteet <= 100: print("arvosana on 5.") else: print("kelvottomat pisteet!") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 10 / 18

Välitehtävä 1 Mitä eroa on seuraavilla ohjelmilla? Kumpi on oikein vai onko kumpikaan? Vastaa sivulla http://presemo.aalto.fi/y1s2018 rivi = input("anna hinta. ") hinta = float(rivi) if hinta > 20.0: print("ok hinta.") elif hinta >= 50.0: print("liian kallis!") else: print("halpa on!") rivi = input("anna hinta. ") hinta = float(rivi) if hinta > 20.0: print("ok hinta.") if hinta >= 50.0: print("liian kallis!") else: print("halpa on!") CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 11 / 18

Toistokäsky Usein ohjelma joutuu toistamaan samaa käskyä monta kertaa. Esimerkki: käyttäjä syöttää ohjelmalle 30 päivän lämpötilat. Ohjelma laskee niiden keskiarvon Samaa käskyä ei tarvitse kirjoittaa monta kertaa, jos käytetään toistokäskyä. Pythonissa on kaksi toistokäskyä, while ja for. While-käskyn yleinen muoto on while ehto: kasky CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 12 / 18

Kuuden kertotaulu while-käskyn avulla def main(): i = 1 while i <= 10: tulos = i * 6 print(i, "* 6 =", tulos) i += 1 main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 13 / 18

Esimerkki: lämpötilojen keskiarvo def main(): LKM = 30 i = 0 summa = 0.0 while i < LKM: rivi = input("anna seuraava lampotila.\n") lampotila = float(rivi) summa = summa + lampotila i = i + 1 keskiarvo = summa / LKM print("lampotilojen keskiarvo on", keskiarvo) main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 14 / 18

Välitehtävä 2 Mitä seuraava ohjelma tekee? Vastaa sivulla http://presemo.aalto.fi/y1s2018 def main(): tieto = input("anna kokonaisluku:\n") luku = int(tieto) i = luku tulos = 1 while i > 1: tulos *= i i -= 1 print("tulos on", tulos) main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 15 / 18

Toinen versio lämpötilalaskurista: lukumäärä käyttäjältä def main(): rivi = input("montako lampotilaa annat?\n") lkm = int(rivi) i = 0 summa = 0.0 while i < lkm: rivi = input("anna seuraava lampotila.\n") lampotila = float(rivi) summa = summa + lampotila i = i + 1 if lkm > 0: keskiarvo = summa / lkm print("lampotilojen keskiarvo on", keskiarvo) else: print("et antanut yhtaan lampotilaa.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 16 / 18

Kolmas versio lämpötilalaskurista: lopetus pienellä luvulla def main(): print("anna lampotiloja, lopeta -300:lla.") lkm = 0 summa = 0.0 rivi = input("anna ensimmainen lampotila.\n") lampotila = float(rivi) while lampotila > -300.0: summa = summa + lampotila lkm = lkm + 1 rivi = input("anna seuraava lampotila.\n") lampotila = float(rivi) if lkm > 0: keskiarvo = summa / lkm print("lampotilojen keskiarvo on", keskiarvo) else: print("et antanut yhtaan lampotilaa.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 17 / 18

If-käsky toistokäskyn sisällä def main(): print("anna lampotiloja, lopeta -300:lla.") lkm = 0 summa = 0.0 hellepaivat = 0 rivi = input("anna ensimmainen lampotila.\n") lampotila = float(rivi) while lampotila > -300.0: summa = summa + lampotila lkm = lkm + 1 if lampotila >= 25.0: hellepaivat += 1 rivi = input("anna seuraava lampotila.\n") lampotila = float(rivi) print("hellepaivia on", hellepaivat, "kpl.") if lkm > 0: print("lampotilojen keskiarvo on", summa / lkm) main() CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 18 / 18