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



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

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Kemian tekniikan kandidaattiohjelman ohjelmointikurssi (5 op)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

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

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

Ohjelmoinnin peruskurssi Y1

linux: Ympäristömuuttujat

Ohjelmoinnin peruskurssi Y1

linux: komennoista linux linux

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

Luvuilla laskeminen. Esim. 1 Laske

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

Lyhyt kertaus osoittimista

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

L2: linux linux: Komentotulkki

17. Javan omat luokat 17.1

Ohjelmoinnin perusteet Y Python

Ohjelmointi 1 Taulukot ja merkkijonot

PHP tehtävä 3 Atte Pekarinen TIKT13A

Python-ohjelmointi Harjoitus 2

Johdatus Ohjelmointiin

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

17. Javan omat luokat 17.1

Ohjelmoinnin perusteet Y Python

Osoitin ja viittaus C++:ssa

Ohjelmoinnin perusteet Y Python

linux: Ympäristömuuttujat

Ohjelmoinnin perusteet Y Python

8. Näppäimistöltä lukeminen 8.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

8. Näppäimistöltä lukeminen 8.1

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Harjoitustyö: virtuaalikone

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

linux: komennoista linux linux

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

1. Omat operaatiot 1.1

15. Ohjelmoinnin tekniikkaa 15.1

Ohjelmoinnin perusteet Y Python

\+jokin merkki tarkoittaa erikoismerkkiä; \n = uusi rivi.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

4. Lausekielinen ohjelmointi 4.1

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Neljän alkion kunta, solitaire-peli ja

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

Harjoitus 3 (viikko 39)

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

Ohjelmoinnin peruskurssi Y1

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

Ohjelmoinnin peruskurssi Y1

Harjoitus 1 -- Ratkaisut

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Harjoitus 6 (viikko 42)

15. Ohjelmoinnin tekniikkaa 15.1

Algoritmit 2. Luento 7 Ti Timo Männikkö

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Tieto- ja tallennusrakenteet

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Tutoriaaliläsnäoloista

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

4. Luokan testaus ja käyttö olion kautta 4.1

Ohjelmoinnin peruskurssien laaja oppimäärä

Algoritmit 2. Luento 3 Ti Timo Männikkö

Harjoitus 1 -- Ratkaisut

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Harjoitus 2 (viikko 45)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin alkeita Python-kielellä

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Algoritmit 2. Luento 3 Ti Timo Männikkö

12 Mallit (Templates)

4. Lausekielinen ohjelmointi 4.1

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Transkriptio:

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

Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely Numeeriset tyypit Sarjatyypit Seuraava luento

Perusteet Ohjelmointi - perusteet Mitä tarvitaan Tekstieditori Kääntäjä tai tulkki Lisähyötyä IDE (Integrated development enviroment) Kielen referenssiopas (sähköinen tai painettu)

Perusteet Ohjelmointi - peruskäsitteitä Kääntäjä tai tulkki Kääntää ohjelmakoodin koneen ymmärtämään muotoon. Lähdekoodi Kertoo koneelle mitä ohjelman halutaan tekevän. Koostuu: muuttujista ohjausrakenteista aliohjelmista

Perusteet Ohjelmointi - peruskäsitteitä Muuttuja Symboloi muuttuvaa suuretta, kuten lukua tai tekstinpätkää. Funktio, aliohjelma Tekee jonkin tietyn asian. Funktio ottaa vastaan muuttujan (tai useita), tekee jotain annetuilla muuttujilla, ja palauttaa tuloksen uutena muuttujana. Aliohjelma ottaa vastaan muuttujia, tekee jotain, ja muuttaa annettuja muuttujia. Ohjausrakenne Ohjaa ohjelman toimintaa. Voi mm. käskeä toistamaan tiettyä ohjelman kohtaa useita kertoja, tai valita useista mahdollisista suorituspoluista yhden.

Python

Esittely Python Python on Vapaaseen lähdekoodiin perustuva ilmainen tulkattu kieli Saatavilla Linuxille, Macille ja Windosille Tehokas oikein käytettynä Jatkuvasti kehittyvä Käyttö Linuxista Komentotulkista: python tiedosto Pythonin tulkista: execfile(tiedosto) Komentotulkista ohjelmana jos koodilla on suoritusoikeudet ja ensimmäisellä rivillä #!polku/python/tulkiin

Esittely Python Mistä apua? How to Think Like a Computer Scientist - Learning with Python Python tutoriaali Oletuspaketit Kielireferenssi Lisäksi, verkossa paljon ilmaisia (eritasoisia) kirjoja, kirjakaupassa (ja kirjastoissa) paljon tasokkaita kirjoja (joista valtaosa menee muutaman ensimmäisen luvun jälkeen ohi kurssin tarpeet)

Esittely Editorin valinta Python-ystävällisiä editoreja Emacs etc... IDEjä Eric Eclipse KDevelop

Esimerkkejä Ensimmäinen toimiva Python ohjelma Esimerkki 1. "Hello World!" print "Hello world!"

Esimerkkejä Toinen toimiva Python ohjelma Esimerkki 2. #!/usr/bin/python from math import cos a = 1.0 b = 2.0 c = a + cos(c) print c

Peruskäsitteitä Muuttujien alkeet - termejä Muuttuja Muuttuja on jokin olio koneen muistissa, esimerkiksi lukuarvo tai tekstijono. Muuttujan tyyppi Muuttujan tyyppi määrittää minkälaista tietoa muuttuja pitää sisällään. Toisin kuin monessa muussa kielessä, muuttujan tyyppiä ei Pythonissa tarvitse erikseen määritellä ennen muuttujan käyttöönottoa, vaan tyyppi määräytyy automaattisesti luontivaiheessa. Tunnus Tunnus toimii osoittimena muuttujaan, muuttujan nimenä. Yhteen muuttujaan voi osoittaa monta tunnusta, ja tunnuksen voi vaihtaa osoittamaan johonkin toiseen muuttujaan kesken ohjelman. Lisäksi, toisin kuin monessa muussa kielessä, tunnus ei ole sidottu mihinkään tiettyyn muuttujatyyppiin.

Käsittely Muuttujien alkeet - käsittely Muuttujan luominen Yksinkertaisin tapa luoda uusi muuttuja on sijoittaa tunnukseen halutun tyyppinen olio. x = 1 luo kokonaislukumuuttujan arvolla 1 ja tunnuksella x. x = int() luo tyhjän kokonaislukumuuttujan. Muuttujan tuhoaminen Muuttuja tuhotaan automaattisesti jos siihen ei osoita yhtään tunnusta. Muuttuja voidaan myös halutessa tuhota funtkiolla del(muuttuja) Muuttujan tyypin selvittäminen Muuttuja tyyppi saadaan selville funktiolla type(muuttuja)

Numeeriset tyypit Numeeriset tyypit Numeerisista tyypeistä Numeeriset tyypit pitävät sisällään lukuarvoja. Olennaisena tekijänä tyypin valinnassa on, halutaanko käsitellä kokonais- vai reaalilukuja. Kokonaisluvuissa pitää lisäksi valita kuinka suuria arvoja halutaan käsitellä. Numeeriset tyypit int long float complex - kokonaisluku - pitkä kokonaisluku - reaaliluku - kompleksiluku

Numeeriset tyypit Laskutoimitukset numeerisille tyypeille Peruslaskutoimitukset + summa - erotus * kertolasku ** potenssiin korotus / jakolasku // pyöristetty jakolasku % jakojäännös Vertailuoperaattorit == yhtä suuri kuin < pienempi kuin > suurempi kuin Matemaattiset funktiot Hyödyllisiä funktioita saadaan käyttöön math-moduulista käskyllä from math import * cos() sin() tan() pow() sqrt() exp() log() radians() degrees() kosini sini tangentti potenssi neliöjuuri eksponentti logaritmi aste -> rad rad -> aste

Sarjatyypit Sarjatyypit Sarjatyypeistä Sarjatyypeissä (sequence types) muuttuja osoittaa jonkinlaiseen listaan muita muuttujia. Sarjatyypit voidaan jakaa muutettaviin ja ei-muutettaviin luokkiin sen mukaan, voidaanko tyypin yksittäisiä elementtejä muuttaa. Merkkijonot sisältävät merkkejä, listat voivat sisältää mitä tahansa pythonin olioita, kuten toisia listoja. Sarjatyypit str list tuple - merkkijono - lista - vakiolista

Sarjatyypit Sarjatyypit - käsitteleminen Merkkijonon luominen a = "jihuu" luo merkkijonon "jihuu". Listan luominen a = [1,2,3.0] luo listan jossa on kaksi kokonaislukumuuttujaa ja yksi liukulukumuuttuja. Listan alkioiden käsitteleminen Listan alkioihin viitataan hakasuluilla. Listan numerointi alkaa nollasta. a[0] = 1.0 asettaa listan ensimmäiseksi alkioksi liukuluvun 1.0. a[1:] = 2.0 asettaa listan alkiot lähtien toisesta listan loppuun.

Seuraavalla luennolla Lisää Pythonia.