Ohjelmoinnin peruskurssi Y1

Samankaltaiset tiedostot
Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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 Huom: Istukaa joka paikalle sali tulee täyteen!

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

TIE Johdatus ohjelmointiin

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

T Ohjelmoinnin perusteet Y (Python)

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin peruskurssi Y1

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Python-ohjelmointi Harjoitus 2

T Ohjelmoinnin perusteet Y (Python)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

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

Java-kielen perusteita

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

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 perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Kemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Tutoriaaliläsnäoloista

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Harjoitus 2 (viikko 45)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Johdatus Ohjelmointiin

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

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

Ohjelmoinnin perusteet Y Python

17. Javan omat luokat 17.1

Ohjelmoinnin peruskurssi Y1

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

Transkriptio:

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, suorittaa niille laskutoimituksia ja kertoo niiden tuloksen käyttäjälle tiedät, minkä tyyppisiä arvoja Python-ohjelmissa voi käsitellä ja tunnet monia niille mahdollisia operaatioita tiedät, mitä tarkoitetaan pääohjelmalla Voit luennon aikana lähettää kysymyksiä ja kommentteja sivulla http://presemo.aalto.fi/y1s2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 2 / 19

Kertausta: muuttujat Muuttujia käytetään ohjelman käsittelemien arvojen tallentamiseen ja käsittelyyn. Muuttujalle voi antaa arvon sijoituskäskyllä =. nimi = "Matti" print("hei,", nimi) print("tervetuloa Python-kurssille!") Esimerkkiajo Hei, Matti Tervetuloa Python-kurssille! CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 3 / 19

Kertausta: arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea input-käskyllä. Käskyn sulkujen sisään kirjoitetaan käyttäjälle annettava kehote. Luetun arvon voi antaa arvoksi muuttujalle sijoituskäskyllä. nimi = input("kerro nimesi: ") print("hei,", nimi) print("tervetuloa Python-kurssille!") Ajoesimerkki Kerro nimesi: Minna Hei, Minna Tervetuloa Python-kurssille! CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 4 / 19

Lukuarvon lukeminen käyttäjältä Käsky input välittää aina luetun arvon tekstinä, merkkijonona. Jotta luettua arvoa voitaisiin käsitellä lukuna, se pitää ensin muuttaa kokonais- tai desimaaliluvuksi. Luettua merkkijonoa vastaava kokonaisluku: luku1 = int(rivi) Luettua merkkijonoa vastaava desimaaliluku: luku2 = float(rivi) CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 5 / 19

Esimerkki: eurolaskuri print("muutan markat euroiksi.") rivi = input("anna rahasumma markkoina: ") markat = float(rivi) eurot = markat / 5.94573 print("summa on", eurot, "euroa.") Esimerkkiajo Muutan markat euroiksi. Anna rahasumma markkoina: 543.50 Summa on 91.4101380318 euroa. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 6 / 19

Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen käyttöä ja kerrottava, minkä tyyppisiä arvoja muuttujalle voi antaa. Python-ohjelmissa muuttujia ei määritellä, mutta arvolla on kuitenkin aina tyyppi. Kokonaisluvut: tyyppi int. Desimaaliluvut: tyyppi float. Desimaalilukuja eksponenttimerkinnän avulla: 2.22E12 tai 1.57E-31 float-tyyppiset arvot eivät ole reaalilukuja matemaattisessa mielessä. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 7 / 19

Tyypeistä jatkoa Merkkijonojen tyyppi on str. Voidaan käyttää yksin- tai kaksinkertaisia lainausmerkkejä, esim. "Matti Virtanen", Maija Makinen Tyyppi bool totuusarvojen esittämiseen. Mahdollisia arvoja True ja False. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 8 / 19

Sijoituskäsky Muuttujalle voi antaa arvon sijoituskäskyllä: leveys = 5 korkeus = 6 pinta_ala = leveys * korkeus Muuttujan vanhaa arvoa voi käyttää hyväksi uutta arvoa laskettaessa: luku = 5 luku = luku + 2 korkeus = 7.0 korkeus = korkeus / 2 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 9 / 19

Sijoituskäsky jatkoa Lyhennysmerkintä muuttujan vanhan arvon käyttämiselle sijoituskäskyssä: muuttuja = muuttuja + jotain voidaan kirjoittaa muuttuja += jotain Esimerkiksi: luku = 5 luku += 1 Vastaavasti toimivat -=, *= ja /=. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 10 / 19

Välitehtävä 1 Mitä seuraava ohjelma tulostaa? brutto = 5000 verot = 2000 netto = brutto - verot verot = 1000 print(netto) Vastaa sivulla http://presemo.aalto.fi/y1s2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 11 / 19

Aritmeettisia laskutoimituksia Yleisimmin käytetyt aritmeettiset operaattorit kokonais- ja desimaaliluvuille +, -, *, /, //, % ja ** Jakolasku / perinteinen // katkaiseva jakolasku Muuta % jakojäännös ** potenssiin korotus. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 12 / 19

Funktiot ja pääohjelma Tyypillisesti ohjelman rakennetta selkiytetään jakamalla ohjelma funktioihin. Funktio on ohjelman osa, jolle on annettu oma nimi. Tässä vaiheessa opetellaan määrittelemään yksi erityinen funktio, main eli pääohjelma. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 13 / 19

Pääohjelman määrittely Otsikko def main(): Otsikon alle kirjoitetaan pääohjelmaan kuuluvat käskyt sisennettynä, esimerkiksi def main(): print("muutan markat euroiksi.") rivi = input("anna rahasumma markkoina: ") markat = float(rivi) eurot = markat / 5.94573 print("summa on", eurot, "euroa.") Pääohjelmaa pitää kutsua sen ulkopuolella. main() CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 14 / 19

Esimerkki: alennettu hinta def main(): rivi = input("anna tuotteen normaalihinta (eur): ") hinta = float(rivi) rivi = input("anna alennus prosentteina: ") alennus = float(rivi) alennettu = (100.0 - alennus) / 100.0 * hinta print("alennettu hinta on", alennettu, "euroa.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 15 / 19

Rivinvaihto tulosteen perään Jos käyttäjälle annettavan kehotteen perään lisätään merkki \n, kehote ja käyttäjän syöte tulevat eri riveille. Käsky print lisää rivinvaihdon automaattisesti. def main(): rivi = input("anna tuotteen normaalihinta (eur): \n") hinta = float(rivi) rivi = input("anna alennus prosentteina: \n") alennus = float(rivi) alennettu = (100.0 - alennus) / 100.0 * hinta print("alennettu hinta on", alennettu, "euroa.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 16 / 19

Välitehtävä 2 Kirjoita ohjelma, joka pyytää käyttäjältä hänen autonsa polttoaineen kulutuksen (l / 100 km) ja sen, kuinka pitkän matkan käyttäjä aikoo ajaa autolla. Ohjelma tulostaa käyttäjälle, kuinka paljon matka vie polttoainetta. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 17 / 19

Kommentit Kommentti aloitetaan #-merkillä. # Ohjelma ilmoittaa sekunteina annetun ajan tunteina, # minuutteina ja sekunteina. def main(): rivi = input("anna aikajakson pituus sekunteina.\n") pituus_sekunteina = int(rivi) tunnit = pituus_sekunteina // 3600 jaannossekunnit = pituus_sekunteina % 3600 minuutit = jaannossekunnit // 60 sekunnit = jaannossekunnit % 60 print("aikajakson pituus on", tunnit, "h", minuutit, "min", sekunnit, "s.") main() CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 18 / 19

Toinen dokumentointimahdollisuus #-merkillä aloitettavien kommenttien lisäksi Pythonissa on myös toinen mahdollisuus kommentoida ohjelman kokonaisuuksia, dokumentointimerkkijono (documentation string, docstring). Se on lainausmerkkien sisään pantu kommentti, jota voidaan käyttää joko ohjelmatiedoston alussa tai heti funktion tai luokan otsikkoa seuraavalla rivillä. Python-tulkki pystyy käyttämään hyväksi dokumentointimerkkijonoja ja niiden avulla voidaan myös generoida automaattisesti ohjelman dokumentteja. Pydev lisää oletuksena dokumentointimerkkijonon (kolmen lainausmerkin sisässä) uuden ohjelmatiedoston alkuun. Opiskelija saa valintansa mukaan joko jättää dokumentointimerkkijonon tiedoston alkuun tai korvata sen tavallisilla kommenteilla. CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 19 / 19