Tieteellinen laskenta I (Scientific Computing I)

Koko: px
Aloita esitys sivulta:

Download "Tieteellinen laskenta I (Scientific Computing I)"

Transkriptio

1 Tieteellinen laskenta I (Scientific Computing I) koodi: 53398, laajuus: 5 op

2 Johdanto Johdanto Klikkaa tätä www merkkiä Pääset siinä mainitun aiheen www-sivulle Kurssin kotisivu www Kurssin aikataulu www Luennot, Physicum D101 Ma Laskuharjoitukset, Physicum D208 Ryhmä 1: Ti Ryhmä 2: Ti Ryhmä 3: Ti Luennoija Lauri Jetsu Assistentit Olli Wilkman Otto Solin Pekko Metsä Joonas Kylliäinen Ville Jantunen Eero Esko

3 Tavoite Tavoite Kurssi mahdollistaa uran alun Opitte perusteet seuraavista linux käyttöjärjestelmä emacs tekstieditori LAT E X ladontaohjelma python ohjelmointikieli octave ohjelmointikieli ISI, arxiv, ADS,... tietokannat Näitä sovelletaan 12 harjoituksessa Osaamisen arvioiminen kynällä ja paperilla (s.o. kokeella) hankalaa Kotisivulla paljon linkkejä sopivaan itseopiskelu materiaaliin Fysiikan tieteelliset metodit opetetaan muilla kursseilla Metodi esimerkit: Pienimmän neliösumman sovitus, Rayleigh testi ja Tehospektri Google image haku: linux emacs latex python octave comics

4 Lähtökohta ja suorittaminen Lähtökohta Törmäätte tähän ensi kertaa Aloitetaan aivan alusta Keskitytään tekemiseen Määrä ei korvaa laatua Parempi oppia vähän, mutta perusteellisesti Vaara: Saman kurssin vaatimukset kasvavat sitä mukaan, kun luennoitsija itse ymmärtää asioita Vaara: Pienryhmät ( ) Massaopetus (2015 ) lasten taudit Suorittaminen: 5 op Luennolla läsnäolo vapaaehtoista Asioita kokeillaan luennoilla Joka luennon alussa samat rutiinit Jokainen oppii perusteiden perusteet Spiraali 6 tason A, B, C, D, E ja F kautta Tarjolla 6 vapaaehtoista harjoitusta Suoritettava 6 pakollista harjoitusta

5 TE = Laskuharjoitustehtävät, VA = VApaaehtoinen, PA =PAkollinen Tehtävät palautettava viimeistään 4 vrk ennen laskuharjoitusta Palautuksen takaraja tänä vuonna: Perjantaina viimeistään kello 16.00! Pakollisten tehtävien vastausaika on 12 päivää! Ei poikkeuksia takarajasta, koska assistentin tarkistettava noin 100 tehtävää 4 vrk:ssa Palautus: Omalle assistentille sähköpostin liitetiedostona Luento Luennon aihe Laskuharjoitus 1. Kappale: Johanto A:TE jaetaan 2. Kappale: A1 VA Ratkotaan A:TE tapaisia tehtäviä 3. Kappale: A2 PA A:TE tarkistetaan, B:TE jaetaan 4. Kappale: B1 VA Ratkotaan B:TE tapaisia tehtäviä 5. Kappale: B2 PA B:TE tarkistetaan, C:TE jaetaan 6. Kappale: C1 VA Ratkotaan C:TE tapaisia tehtäviä 7. Kappale: C2 PA C:TE tarkistetaan, D:TE jaetaan 8. Kappale: D1 VA Ratkotaan D:TE tapaisia tehtäviä 9. Kappale: D2 PA D:TE tarkistetaan, E:TE jaetaan 10. Kappale: E1 VA Ratkotaan E:TE tapaisia tehtäviä 11. Kappale: E2 PA E:TE tarkistetaan, F:TE jaetaan 12. Kappale: F1 VA Ratkotaan F:TE tapaisia tehtäviä 13. Kappale: F2 PA F:TE tarkistetaan, Pakollinen palaute 14. Kappale: Yhteenveto

6 Suoritusten arvostelu Arvostelu Vapaaehtoinen TE sisältää kolme tehtävää Ei vaikuta arvosanaan, vaikka arvostellaan ja esitetään malliratkaisut kuten pakollisissa Vapaaehtoinen laskuharjoitus = Laskupaja Palautetta & apua pakollisen suorittamiseen Pakollinen TE sisältää kolme tehtävää. Arvostelu: Tehtävistä saa 0, 1 tai 2 pistettä 0 = Ei mitään tolkkua 1 = Jotain tolkkua 2 = Oikein tai lähes oikein Maksimipisteet: 6 TE x 6 pistettä/te = 36 pistettä Arvosana Sovelletut rajat % 1/ % 2/ % 3/ % 4/ % 5/

7 Suoritusten arvostelu Pakolliset laskuharjoitukset Ei koetta Pakolliset laskuharjoitukset 6 X 45 min = 4.5 tuntia koko kurssin aikana Kaikkien läsnäoltava! Tehtävät palautettu perjantaina Arvostellaan ennen tiistain harjoitusta Ensimmäinen tehtävä: Arvotaan noin joka kolmas Assistentit kiertävät luokassa (10min) Kertomus: Mitä olen tässä tehnyt? Kertomus korvaa kokeen Kertomus ei muuta arvostelua Kannattaa kysyä/kertoa: Nyt en ymmärrä... Esitetään malliratkaisu (5min) Seuraava tehtävä: Arvotaan... Odotusarvo: Jokaiselle yksi kertomus/harjoitus

8 Periaatteista ja asenteesta Periaatteista ja asenteesta Rohkaistaan opiskelijoiden väliseen yhteistyöhön, mutta ei yksi yhteen kopiointiin Assitentin velvollisuutena on kysyä mistä tahansa tehtävän yksityiskohdasta Kysymällä assistentilta oppii. Käytetään tauluja ja muuta rekvisiittaa Kurssi muistuttaa ajokortin suorittamista. Perusteiden hallinta helpottaa opintoja Asenne: En tiedä miten? Otan itse selvää! Asenne: En muista miten? Kerran ratkaistu OK! Asenne: Kukaan ei voi olla elävä manuaali Kokemus: idl (25 vuotta), LAT E X (25 vuotta) emacs (15 vuotta), python (muutama vuosi), octave (muutama kuukausi) Kokemus: En ollut koskaan tarvinnut (EnOlKoTa) edes 50% luennoilla esitetyistä asioista ennen kuin aloin luennoida niistä vuonna 2010 Johtopäätös: Mitä olen ainakin tarvinnut? Suositus: Käytännön harjoittelu mistä tahansa löytyvistä esimerkeistä Perusteet opittuaan voi valita oman tiensä

9 Opiskelijan ja/tai tutkijan urasta Opiskelijan ja/tai tutkijan ura LuK-tutkinto vuotta FM-tutkinto vuotta lisää FT-tutkinto vuotta lisää Tutkijatohtori, Nuorempi tutkija, tms vuotta lisää Yliopistonlehtori, Vanhempi tutkija, tms seuraavat n 35 vuotta Professori, Tutkimusjohtaja, tms seuraavat n 30 vuotta Mitä opiskelijoiden ja/tai tutkijoiden pitää muun muassa osata? Oppilas ja opettaja (asiantuntijataidot, pedagogiset taidot, esiintyminen) Tutkijakoulutettava ja tutkija (tieteellinen kirjoittaminen, tiedonhankinta) Opinnäytteet ja julkaisut (tieteellinen kirjoittaminen, tiedonhankinta) Ohjattava ja ohjaaja (tieteellinen kirjoittaminen, pedagogiset taidot) Rahoituksen hankinta (tieteellinen kirjoittaminen, viestintätaidot) Johtaminen (ihmisiä, yksiköitä, projekteja, prosesseja, sosiaaliset taidot) Viestintä (esiintyminen, tieteellinen kirjoittaminen, popularisiointi)

10 Miksi suurin osa työajasta tietokoneen ääressä? Mihin opiskelija/tutkija tietokoneita tarvitsee? Nykyisin kuulee enää harvoin: Tehdäänkö heti vai tietokoneella? www Harva ongelma selviää päässä laskulla tai paperilla laskettuna Havainnot & mittaukset Suunnittelu, tekeminen, käsittely, simulointi,... Teoria Mallintaminen, simulointi, numeron murskaus,... Julkaisut, Oppimateriaali Laadinta, tiedonhankinta, tietokannat,... Perusteet tunnettava: Käyttöympäristö (linux), Editointi (emacs), Julkaisun laadinta (LAT E X), Ohjelmointi (python, octave) ja Tietokannat (ISI, ADS,...) Google haku: wasting time with a computer?

11 Johdanto: linux linux Mikä on linux? www Käyttöjärjestelmä: Kehittynyt unix-käyttöjärjestelmästä ( Linus Torvalds, 1991: linux ydin, engl. kernel) linux kotisivulla www löytyy kaikenlaista tarpeellista tietoa Lähdekoodi vapaa, kehitetään jatkuvasti Säästää rahaa, aikaa ja vaivaa Ilmaiset ohjelmointityökalut oletusasennuksessa Suosittu luonnontieteissä Supertietokoneet: linux tai unix Tärkeää osata ohjelmoida ja ajaa omia ohjelmiaan Monia tutkimuksessa tarvittavia ohjelmapaketteja ei saa Windows:lle linux: Haittaohjelmia on vähän linux: Käyttäjä ei pääse käsiksi järjestelmän tai saman koneen muiden käyttäjien tiedostoihin Opiskelijoille hankittujen tietokoneiden käyttöjärjestelmä on linux Tällä kurssilla opetellaan linux:n käyttöä!

12 Johdanto: emacs emacs Mikä on emacs? www (emacs kotisivu www ) Tekstieditori, jolla editoitte emacs:lla tällä kurssilla erityisesti: L A T E X tekstitiedostoja *.tex, python ohjelmatiedostoja *.py, octave ohjelmatiedostoja *.m, missä * on tiedoston nimi TAPA 1: Editoidaan emacs jotain.py Return Komentotulkki ei jäänyt käyttöön Kirjoitetaan tiedostoon jotain.py ensimmäinen rivi: print( jotain ) Tallennetaan tiedoston sisältö: ctrl + x, ctrl + c Vastataan y Ajetaan ohjelma komentotulkissa komennolla python jotain.py Return TAPA 2: Editoidaan emacs jotain.py & Return Komentotulkki jäi käyttöön Kirjoitetaan tiedostoon jotain.py toinen rivi: a=1 ; print(a) Tallennetaan tiedoston sisältö: ctrl + x, ctrl + s Editori jäi käyttöön Ajetaan ohjelma komentotulkissa komennolla python jotain.py Return Käyttämällä TAPA 2:ta voidaan jatkaa ohjelman jotain.py editointia toivottuun muotoon ja välillä testata ohjelman toimivuutta ajamalla sen viimeisintä tallennettua versiota Milloin kannattaa tiedostoa tallennettaessa ctrl + x, ctrl + c kannattaakin vastata n? Tallennetaan vahingossa väärä versio *.* Etsitään aiempi tallennettu versio *.* Eräs emacs pikaopas www, missä M = Alt ja C = Ctrl EnOlKoTa

13 Johdanto: latex L A T E X Mikä on L A T E X? www (LAT E X kotisivu www ) (kuva:@tex.stackexchange.com) Ladontaohjelma: Julkaisujen, kirjojen,... tms materiaalin laadintaan Kirjoittaja editoi sisällön eli substanssin emacs *.tex & Return Lopullinen ulkoasu linux komennoilla latex * Return dvips * -o Return *.ps muoto pdflatex * Return *pdf muoto latex2html versio www html muoto EnOlKoTa Merkittävimmät julkaisusarjat käyttävät L A T E X:a (Esimerkkejä: fysiikka www, tähtitiede www ) Tarkasti määritellyn formaatiin mukainen dokumentti: julkaisu, kirja, opinnäyte,... Kaikki mahdolliset tekstin formaatit. Kaavat, taulukot, kuvat ja viitteet suhteellisen helposti Loputtomasti valmiita paketteja komennolla \usepackage{paketin nimi} eri tehtäviin

14 Johdanto: ISI, ADS, arxiv, SIMBAD,... ISI, ADS, arxiv, SIMBAD Mitä ovat ISI www, ADS www, arxiv www,...? Tietokantoja (Ilmaisia) JULKAISUT: koko sisältö, tekijät, lähteet, aiheet, viittaukset (engl. citation index ) www, data, kohteet, muuta (esim. metadata ) ISI (Web of Science): lähes kaikki tieteet ADS: tähtitiede, fysiikka,... arxiv: fysiikka, matematiikka,... Submitted! SIMBAD www : Tähtitieteen kohteista julkaistu Kurssilla: Ei käydä läpi fysiikan tietokantoja Tavoite 1: Opetellaan etsimään tarvittavaa informaatiota muutamasta ym. tietokannasta Tavoite 2: Opitaan Bibtex entry for this abstract tiedon käyttö L A T E X:ssa DATA: Laitteet, satelliitit, teleskoopit,... Omat tietokantansa (Esimerkiksi CDS www ) JULKAISEMINEN: Tieteelliset julkaisusarjat, kirjat,... Omat tietokantansa (Esimerkiksi Advances in Physics www, jolla oli korkein impact factor www fysiikassa vuonna 2013) Julkaisusarjojen kotisivuilla valmiit L A T E X makrot (Esimerkiksi American Geophysical Union: Latex Templates www ). Kotisivuilta voi hakea kaiken tarvittavan esim. wget komennolla

15 Johdanto: python python Mikä on python? www (python kotisivu www ) (kuva:@ Ohjelmointikieli Ilmainen: Saatavilla kaikille yleisimmille käyttöjärjestelmille (linux, Windows, Mac,...) Interaktiivinen komentotulkki python Return Kurssilla: Editoidaan emacs *.py & Return Kurssilla: Ajetaan python *.py Return Suosittu fysiikassa, tähtitieteessä,... Suhteellisen helppo oppia 80 tuntia päätä seinään Monipuolinen: paljon valmiita ohjelmistopaketteja Numpy www, Scipy www, Pylab, ipython www, Monissa ohjelmistoissa on python rajapinta (engl. interface). Esimerkiksi PyRAF tähtitieteessä www python voidaan yhdistää muihin ohjelmointikieliin Kovaa numeron murskausta vaativat laskennnan osat ohjelmoidaan toisella tehokkaammalla ohjelmointikielellä, kuten C, FORTRAN,...

16 Johdanto: octave octave Mikä on octave? www (octave kotisivu www ) (kuva:@ Ohjelmointikieli Ilmainen: octave kehitetty toimimaan linux:ssa Saatavissa toimimaan myös Windows www ja Mac www käyttö järjestelmissä octave lähes yksi yhteen maksullinen MATLAB www Interaktiivinen komentotulkki octave Return Kurssilla editoidaan emacs *.m & Return Kurssilla ajetaan octave *.m Return Suosittu ainakin HY:n fysiikassa octave ehkä hiukan helpompi oppia kuin python Noin 60 tuntia lisää päätä seinään

17 Johdanto: Oma ja muut koneet Johdanto: Oma ja muut koneet Johdanto: Oma ja muut koneet Yhteys omaan koneeseen Kysyy avatessa salasana Yhteys Fysiikan laitoksen koneisiin ssh -X login.physics.helsinki.fi missä username on käyttäjätunnus Kysyy salasanaa Päädytte hakemistoon /home/username Tarkistakaa yhteyden toimiminen Yhteys tarvitaan, kun opetellaan tiedostojen siirtoa koneesta toiseen koneeseen Harjoitelkaa kurssilla käsiteltyjä asioita omalla ja muilla linux koneilla Varmuuskopiot oman koneen hakemistosta /home/username/ komennolla scp -r * koneennimi:/home/username/

18 A1: linux A1: linux A1: linux Tavoite: Kaikki oppivat linux:n perusteet Perusteet jo tutut Paikalla ainoastaan pakolliset harjoitukset (6 x 45 minuuttia) Yksi monista linux alkeisoppaista www linux: Komentotulkki Suorittaa käyttäjän terminaalilta kirjoittamia, komentoja, joita voi selata nuolinäppäimillä ja, sekä täydentää näppäimellä Jokainen komento tekee yhden asian hyvin: tulostus, tiedon siirtäminen, verkkoyhteys,.. Hyvin riippuu käyttäjästä, koska valinnanvaraa on loputtomiin Asioita ei tarvitse keksiä uudelleen. Vain pieni osa komennoista opeteltava ulkoa sujuvaa käyttöä ajatellen Käytännössä: Opeteltava yksi komento kerrallaan, s.o. mitä milloinkin sattuu tarvitsemaan Käytännössä: Monimutkaisemmat komennot kannattaa kirjoittaa muistiin tai ohjelmiin, koska vie aikansa ymmärtää ne ja saada ne toimimaan. Asenne: En muista...? Kerran ratkaistu OK!

19 A1: linux A1: linux Hakemistot linux komennoissa isot ja pienet kirjaimet merkittäviä (case sensitive) Kokeile komentoja pwd Return ja PWD Return ja PwD Return Käyttäjän kotihakemisto on /home/username/ Kotihakemiston pääsee mistä tahansa muusta hakemistosta komennolla cd Return Kotihakemiston voidaan lyhentää merkillä eli sinne pääsee myös komennolla cd Return Kotihakemistoon luodut hakemistot ja tiedostot kuuluvat käyttäjälle Kotihakemisto on käyttäjän henkilökohtainen työtila koneella linux:n tiedostorakenne on kuin puun (engl. directory tree). Sen juuri (engl. root) on hakemisto /. Juureen pääsee komennolla cd /. Return Tavallinen käyttäjä ei siellä tosin tee mitään? Käyttäjän oikeudet hakemistopuussa kotihakemiston ulkopuolella oleviin hakemistoihin ja tiedostoihin on tarkkaan rajattu Erilliset kiintolevyt ja muut vastaavat ovat osa hakemistopuuta, eivätkä ulkoisesti eroa hakemistoista

20 A1: linux A1: linux Hakemistot Tästä lähtien sanaa komento käytetään säästeliäästi, koska komennot pyritään kirjoittamaan violetilla. cd Return siirtää kotihakemistoon Fuksiläppärissä komentoltulkkiin ilmestyy $ pwd Return tulostaa /username/home/ pwd Return kertoo työhakemiston eli hakemiston jossa työskentelet nyt. Sen lyhenne on./ ls Return listaa työhakemiston sisällön eli saman tuloksen antaa siis myös ls./ Return Kaikkia tiedostoja ei kannata luoda kotihakemistoon. Tiedostot kannattaa luoda / jaotella / sijoittaa / siirtää... eri hakemistoihin esimerkiksi aiheen mukaan: linux, latex, ohjelmat,... Komennolla mkdir luodaan hakemistoja. Esimerkiksi mkdir ohjelmat Return luo työhakemistoon uuden hakemiston./ohjelmat/ cd kohdehakemisto siirtää työhakemistosta hakemistoon./kohdehakemisto Esimerkiksi yllä annettujen komentojen jälkeen cd ohjelmat Return siirtää työhakemistosta äsken luotuun uuteen hakemistoon./ohjelmat/

21 A1: linux A1: linux Hakemistot Absoluuttinen polku ilmaisee tiedoston tai hakemiston sijainnin hakemistopuussa juuresta lähtien. Esimerkiksi seuraavasti /home/username/kurssit/ Tähän hakemistoon voi siirtyä mistä tahansa työhakemistosta komennolla cd /home/username/kurssit/ Return Suhteellinen polku ilmaisee tiedoston tai hakemiston sijainnin hakemistopuussa työhakemistosta lähtien. Esim: Jos työhakemisto on /home/username/, riittää komento cd kurssit/ Return siirtymiseen hakemistoon /home/username/kurssit/ Esim: Jos työtiedosto on /home/username/, riittää komento cd.. Return siirtymiseen hakemistoon /home/ Esim: Jos työtiedosto on /home/username/ riittää komento ls./kurssit/ Return listaamaan hakemiston /home/username/kurssit/ sisällön clear Return tyhjentää linux komentotulkin näytön

22 A1: emacs A1: emacs A1: TAPA 2: Tiedoston nimi editointi komennolla emacs nimi & Return linux komentotulkki jää käyttöön Näyttöön ilmestyy editorin ikkuna Tiedostoon voi kirjoittaa... Tallennus Ctrl + x Crtl + s Sovellutuksia voi ajaa latex nimi.tex Return python nimi.py Return octave nimi.m Return samalla, kun editoi tiedostoa nimi toivottuun muotoon Tärkeimmät näppäimet Ctrl Alt emacs Pikaopaassa www M = Alt ja C = Ctrl

23 A1: emacs A1: emacs A1: emacs emacs on L A T E X, python ja octave ystävällinen tekstieditori Kopioidaan wget komennolla tiedosto A2bkesken.tex kurssin kotisivulta komennolla wget jetsu/tila/a2bkesken.tex Opetellaan samalla wget komennon ja Copy Link Location sujuva yhdistäminen Aloitetaan editointi emacs A2bkesken.tex & Return Tätä tiedostoa voi editoida kuten tahtoo. Alkuperäisen voi hakea aina uudestaan kotisivulta emacs: Näyttää kursorin rivinumeron. Kursori hyppii välillä. L A T E X komennot eri värisiä,... Editoidaan virhe mielivaltaisella rivillä emacs ilmoittaa virheestä (huom: ei aina) Tallennetaan virhe siitä huolimatta Ajetaan latex A2bkesken.tex Return L A T E X ilmoittaa millä A2bkesken.tex rivillä virhe on Voidaan löytää ja korjata virhe Pharjoitus4.py kotisivulta emacs Pharjoitus4.py & Return Kursori pomppii, värejä, tabulaattori tuntee ohjauskomennot, virhe... python Pharjoitus4.py Return... python ilmoittaa... Voidaan löytää ja korjata virhe Oharjoitus5.m kotisivulta emacs Oharjoitus4.m & Return Kursori pomppii, virhe... octave Oharjoitus4.m Return... octave ilmoittaa virheen rivin

24 A1: latex A1: L A T E X L A T E X dokumentin tuottaminen Kopioidaan A2bkesken.tex kotisivulta Käytetään linux komentotulkissa yhtä aikaa emacs ja evince ikkunaa ja ajatetaan L A T E X komentoja emacs A2bkesken.tex & Return latex A2bkesken Return dvips A2bkesken -o Return evince A2bkesken.ps & Return latex kääntää.tex tiedoston. dvips luo.ps tiedoston. evince www näyttää lopputuloksena syntyvän.ps tiedoston, jota voi lukea, tulostaa,... Yksi monista vaihtoehtoisista tavoista: emacs A2bkesken.tex & Return pdflatex A2bkesken Return evince A2bkesken.pdf & Return pdflatex kääntää.tex tiedoston, evince näyttää.pdf tiedoston, jota voi lukea,...

25 A1: latex L A T E X syötetiedoston rakenne L A T E X syötetiedostojen rakenne L A T E X syötetiedosto alkaa määrittelemällä toivotut optiot (loputtomasti vaihtoehtoja) \documentclass[optiot]{luokka} \usepackage[optiot]{paketti} \usepackage[optiot]{paketti}... \begin{document}...tekstiä... \end{document} Esimerkiksi kotisivun L A T E X syötetiedosto A2bkesken.tex alkaa riveillä % Latex ohittaa kaiken, mikä on merkin "%" oikealla puolella \documentclass[a4paper,10pt]{article} % Dokumentin muoto... \usepackage[english]{babel} % Paketti: skandeille ä,ö, \usepackage[utf8]{inputenc} % -"- : -"-... \begin{document} % Dokumentti alkaa... Tässä dokumentissa toimivat skandit: \\ Älyköt öisin ihmettelevät, miksi \LaTeX ~tökkii. Komentit alkavat L A T E X ohjausmerkillä%. Sen voi kirjoittaa tekstissä komennolla \% Muita erikoismerkkejä ovat\ # $ & _ ˆ { } Nämä erikoismerkit ohjaavat L A T E X ladontaohjelmaa. Koettakaa ottakaa itse selvää, kuinka ne voidaan kirjoittaa L A T E X dokumentin sisään, s.e. ne tulostuvat pelkkänä tekstinä kuten yllä

26 A1: tietokannat Tietokannat Tietokannat Ongelma: Joku Cubarsi on kirjoittanut jotain tähteen Sirius liittyvää vuonna 2014? Pitäisi löytää, lukea ja referoida sitä tulevassa artikkelissa Etsitään SIMBAD www : tietokannasta tietoa tähdestä Sirius Klikataan Display reference summary ja löydetään CUBARSI R. 2014A&A..561A.141C Klikataan send the bibcodes to ADS ja etsitään Cubarsi,... klikataan 2014A&A...561A.141C Etsitään ja klikataan Bibtex entry for this abstract ja author = {{Cubarsi}, R.}, title = "{Conditions of consistency for multicomponent axisymmetric stellar systems. Is an axisymmetri journal = {\aap}, keywords = {galaxies: kinematics and dynamics, solar neighborhood, galaxies: statistics}, year = 2014, month = jan, volume = 561, eid = {A141}, pages = {A141}, doi = { / / }, adsurl = { adsnote = {Provided by the SAO/NASA Astrophysics Data System} } emacs lahteet.bib & Return Kopioidaan hiirellä kaikki tuo tiedostoon lahteet.bib Kaikki tarkoittaa tässä jokaista merkkiä väliltä c ARTICLE{ ja yksinäinen }... Tähän artikkeliin viittaamista jossain L A T E X dokumentissa harjoitellaan myöhemmin

27 A1: tietokannat Ohjelmointi - perusteet Ohjelmoinnissa tarvitaan Tekstieditori ohjelmien lähdekoodin laadintaan: Tällä kurssilla emacs Kääntäjä: Kääntämään lähdekoodin koneen ymmärtämään muotoon Tällä kurssilla kahden ohjelmointi kielen alkeet: python ja octave Eräs monista python oppaista www Eräs monista octave oppaista www Ohjelmien lähdekoodi koostuu Muuttujista: www Muuttuvia suureita, kuten lukuja, tekstinpätkiä,... (Esimerkiksi a=1) Funktioista, aliohjelmista: www Ottavat vastaan muuttujia. Tekevät niiden avulla jotain toivottua. Luovat ja palauttavat uusia muuttujia,... (Esimerkiksi: b=cos(a)) Ohjausrakenteista: www Ohjaavat ohjelman toimintaa. Käskevät esimerkiksi toistamaan tiettyä ohjelman kohtaa useita kertoja (Esimerkiksi: for...) tai valitsemaan useista mahdollisista suorituspoluista vain yhden (Esimerkiksi: if... elseif)

28 A1: octave python ja octave python python Return käynnistää python komentotulkin >>> Poistuminen: >>> Crtl + d Kolme tapaa ajaa ohjelmia 1: linux komentotulkissa python file.py Return 2: python komentotulkissa >>> import os Return >>> os.system( python file.py ) Return 3: file.py:n ensimmäisenä rivinä #!/usr/bin/env python linux komentotulkissa./file.py Return Jos ei toimi? chmod u+x file.m Return Tällä kurssilla: 1. vaihtoehto octave octave Return käynnistää octave komentotulkin octave:*> Poistuminen: octave:*> exit Kolme tapaa ajaa ohjelmia 1: linux komentotulkissa octave file.m Return 2: octave komentotulkissa octave:*>file Return 3: file.py:n ensimmäisenä rivinä #!/usr/bin/env octave linux komentotulkissa./file.m Return Jos ei toimi? chmod u+x file.m Return Tällä kurssilla: 1. vaihtoehto Rivi 1: #!/usr/bin/env... vain malliohjelmissa Pharjoitus1.py ja Oharjoitus1.m

29 A1: octave python ja octave python python komentotulkissa >>> help( import ) Return kertoo mitä komento import tekee python komentotulkissa >>> help() Return vie interaktiiviseen python manuaaliin Jotkin ongelmat voivat johtua versiosta, jonka saa selville komennolla python - -version Return Esimerkiksi python litania >>> import os >>> os.system( python file.py ) korvasi python komennon >>> execfile( file.py ) octave octave komentotulkissa octave:*>help disp Return kertoo mitä komento disp tekee octave komentotulkissa octave:*>doc Return pitäisi viedä interaktiiviseen octave manuaaliin Myös tämä ongelma voi johtua versiosta, jonka saa selville komennolla octave - -version Return Käytännösssä python & octave komentojen sopivia muotoja mihin tahansa tarkoitukseen kannattaa etsiä useista manuaaleista ja webistä

30 A1: octave python ja octave python python komentotulkissa >>> aa=2 Return >>> Aa=1 Return >>>print(aa-aa) Return python: Case sensitive >>>ä=9 Return Onnistuu python :ssa Ei onnistunut python :ssa Monet ongelmat vältetään, kun ei käytetä skandeja, edes # merkin jälkeen >>> print(aa-aa) Return Kaatuu! Eli python:ssa myös tyhjillä merkkeillä merkitystä octave octave komentotulkissa octave:*>aa=2; Return octave:*>aa=1; Return disp(aa-aa); Return octave: Case sensitive Kokeile mitä tapahtuu ilman ; merkkiä ä=9; Return Ei onnistu octave :ssa Monet ongelmat vältetään, kun ei käytetä skandeja octave:*> disp(aa-aa); Return Ei kaadu! Eli octave:ssa tyhjillä merkkeillä ei merkitystä

31 A1: octave Ensimmäiset ohjelmat Ensimmäiset ohjelmat python: 1. ohjelma #! / usr / bin / env python # K o m e n t t i r i v i : Tama on ohjelmani P h a r j o i t u s 1. py p r i n t ( " Hello world! " ) python: Sama tulos print("hello") ja print( Hello ), s.o tai Kaikissa ohjelmatulostuksissa selventää, että kyseisessä kohdassa on yksi tyhjä merkki octave: 1. ohjelma #! / usr / bin / env octave # K o m e n t t i r i v i : Tama on octave ohjelmani Oharjoitus1.m clear # Poistetaan mahdollinen aiempi i n p u t.. disp ( Hello now world ) octave: Sama tulos disp("hello") ja disp( Hello ), s.o tai clear hävittää octave:ssa aiemmat muuttujat yms. Kertausta: clear Return tyhjentää näytön linux komentotulkissa»> import os ; os.system( clear ) tyhjentää näytön python komentotulkissa octave:*> clc tyhjentää näytön octave komentotulkissa python & octave: kommenttirivit alkavat merkillä #. Käytä niitä ohjelman selkeyttämiseen

32 A2: linux linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön ls.dat Return tulostaa kaikki työhakemiston.dat loppuiset tiedostot merkki on jokeri cp nimi1 nimi2 Return kopioi työhakemiston tiedoston nimi1 työhakemiston tiedostoksi nimi2 mv nimi1 /home/username/hakemisto1/ Return siirtää työhakemiston tiedoston nimi1 hakemistoon /home/username/hakemisto1/ jos kyseinen hakemisto on jo olemassa Tämän jälkeen työhakemistossa ei ole tiedostoa nimi1 rm nimi Return tuhoaa työhakemistosta tiedoston nimi rmdir nimi Return tuhoaa työhakemistosta hakemiston nimi, jos hakemisto on tyhjä touch nimi Return luo työhakemistoon tyhjän tiedoston nimi touch /home/username/hakemisto1/nimi Return luo tyhjän tiedoston hakemistoon /home/username/hakemisto1/, jos kyseinen hakemisto on jo olemassa Laskuharjoitus A1a: Luodaan tiedostoja ja hakemistoja. Laskuharjoitus A2b: Tuhotaan niitä

33 A2: emacs emacs emacs: Peruskomentoja Pikaopas www Kertaus: Mikä Ctrl + x, Ctrl + c tai Ctrl + x, Crtl + s ero? Kts editorin yläpalkki: File wget komennolla A2bkesken.tex kotisivulta. Voidaan editoida miten tahansa, koska...? emacs A2bkesken.tex & (Tätä tiedostoa editoidaan laskuharjoituksessa A2b) Ctrl + s Kysyy I-search: Mitä etsit? Vastataan öt Return Toistamalla Ctrl + s löydät öt merkit kursorista eteen päin yksi kerrallaan Voit lopettaa etsinnän muuttamatta tiedostoa painamalla mitä tahansa näppäimista,, tai Ctrl + r etsii samalla tavalla tiedostosta merkkejä kursorista taakse päin Kuljeta kursori jonnekin keskelle tiedostoa A2bkesken.tex ja paina Crtl Spacebar Siirry tiedostoa ylös tai alas näppäimillä tai Osa tiedoston A2bkesken.tex riveistä tulee merkityksi Paina Ctrl + w Merkitty alue katosi Siirrä kursori toiseen paikaan tiedostoa ja paina Ctrl + y Kadonnut alue palasi tähän kohtaan tiedostoa Sama toiminto: Merkitään hiirellä Edit valikosta Copy Valitussa kohdassa Paste Sama toiminto: Merkitään hiirellä. Edit valikosta Cut Valitussa kohdassa Ctrl + y Sama toiminto: Merkitään hiirellä. Valitussa kohdassa klikataan hiiren keskeltä Johtopäätös: Jokainen päättää itse, mitkä kaikki emacs komennot opettelee (ulkoa?) Kertaus: emacs pieleen Tallennus vahingossa Poistu tallentamatta emacs

34 A2: latex L A T E X: perusteita L A T E X: perusteita (kuva:@play.google.com) L A T E X: ohittaa välilyönnit tai kommmentit merkin % jälkeen Yksi tai monta tyhjää riviä Uusi kappale Erikoismerkit \ # $ & _ ˆ { } varattuja. Ohjaavat ladontaa. Kaikki paitsi \ ja voi kirjoittaa komennolla \verb *, missä * on erikoismerkki Esimerkiksi \verb # tulostaa # Erikoismerkki $ rajaa matemaattisen merkinnän Esimerkiksi $a^{b + c}_{d+e}$ tulostaa a b+c d+e. Tekstin sisällä: esimerkiksi \% tulostaa % Jotkut komennot vaativat parametreja: Pakolliset { ja } väliin. Valinnaiset [ ja ] väliin Esimerkiksi \documentclass[a4paper,10pt]{article} parametri article (Pakollinen: dokumenttiluokka) ja parametri A4paper (Valinnainen: paperikoko) Dokumenttiluokkia: article, report, book, proc,... Lisäpaketteja: \usepackage[utf8]{inputenc},... Otsikkosivu: titlepage, notitlepage, Sivujenpuolisuus: twoside, oneside,... Kolumnit: twocolumn, onecolumn,... Voi määritellä omia komentoja. Esimerkiksi \newcommand{\omajuttu}{\ae\oe\ae} Komento \omajuttu tulostaa ÆŒæ

35 A2: latex L A T E X L A T E X Sivutyylejä: plain, headings ja empty Esim: \pagestyle{empty} jättää sivunumerot pois Rivien päättäminen: \\ tai \newline Sivujen päättäminen: \newpage tai \clearpage Tavutus: Englanti hyvin, Suomi: \usepackage[finnish]{babel} Sanassa toistuvia tavutus ongelmia Dokumentin alussa komento. Esim: \hyphenation{ta-vu-tus-on-gel-ma} Merkillä \- yksi ongelma dokumentin sisällä. Esim: yh\-dys\-sa\-na Tavutusesto: \mbox{sana...sanoja} Tavutus epäonnistuu Sana ylittää sivun marginaalin LAT E X varoittaa Overfull hbox Lisätään \- merkki L A T E X Kappalejako: \section{...}, \subsection{...}, \subsub... Sisällysluettelo: \tableofcontents{...} Tekstisyöte \title{elämää Ankkalinnassa} \author{leenu \and Liinu \and Tiinu} \date{ } \maketitle tuottaa tässä luentojen LAT E X ympäristössä Elämää Ankkalinnassa Leenu Liinu Tiinu

36 A2: latex L A T E X: verbatim L A T E X: verbatim Komento \verb $$%% tuottaa $$%%, koska LAT E X jättää käsittelemättä merkkien välissä olevan tekstin eli komentoja tai erikoismerkkejä ei huomioda Tekstisyöte \begin{verbatim} Mitä tahansa & _ ^ \ % Mitä tahansa & _ ^ \ % Mitä tahansa & _ ^ \ % \end{verbatim} tuottaa Mitä tahansa & _ ^ \ % Mitä tahansa & _ ^ \ % Mitä tahansa & _ ^ \ % Tätä ympäristöä voi käyttää esimerkiksi ohjelmien listaamiseen Käytetty näiden luentojen laatimiseen L A T E X: fontit, kirjasintyypit ja koot Fontti esimerkkejä \rmfamily What tuottaa What \sffamily What tuottaa What \ttfamily What tuottaa What Kirjaisin esimerkkejä \textbf Lihavointi Lihavointi \texttt Kirj...kone Kirj...kone \textit Kursiivi K ursiivi \underline Abc Abc Kirjaisin koko \tiny pientä tekstiä pientä tekstiä \Huge XYZ XYZ Muita näiden väliltä \scriptsize, \small, \normalsize,... \large, \Large...

37 A2: tietokannat Tietokannat: bibtex Tietokannat: bibtex L A T E X tunnistaa edellisellä luennolla tietokannasta haetusta tiedostosta emacs lahteet.bib lähteen 1. rivin merkeistä 2014A&A...561A.141C (engl. author = {{Cubarsi}, R.}, title = "{Conditions of consistency for multicomponent axisymmetric stellar systems. Is an axisymmetri journal = {\aap}, keywords = {galaxies: kinematics and dynamics, solar neighborhood, galaxies: statistics}, year = 2014, month = jan, volume = 561, eid = {A141}, pages = {A141}, doi = { / / }, adsurl = { adsnote = {Provided by the SAO/NASA Astrophysics Data System} } Kopioidaan A1bkesken.tex kotisivulta ja editoidaan neljä uutta riviä \documentclass{article} \newcommand{\aap}{a\&a} % uusi rivi \begin{document} This is my first latex file. I cite \cite{2014a&a...561a.141c} % uusi rivi \bibliographystyle{plain} % uusi rivi \bibliography{lahteet} % uusi rivi \end{document} Komennnot: latex A1bkesken Return, bibtex A1bkesken Return, latex A1bkesken Return, latex A1bkesken Return, dvips A1bkesken -o Return

38 A2: tietokannat Tietokannat: bibtex Tietokannat: bibtex Katsotaan lopputulosta komennolla evince A1bkesken.ps & Return Onnistuttiin siteeraamaan Cubarsia Luotiin lähdeluettelo Uusia lähteitä voi kerätä tietokannoista tiedostoon lahteet.bib ja siteerata label:n avulla Kaikki Bibtex entry:t täytyy kopioida ensimmäisestä viimeiseen merkkiin, eikä saa lisätä tai poistaa mitään Bibtex entry:ien väliltä Hyviä esimerkkejä \bibliography komennon käytöstä täältä www Loputtomasti vaihtoehtoja www Kokeile: korvaa [plain] tekstillä [alpha] ja toista edellisen sivun viisi komentoa Esimerkiksi ApJ (The Astrophysical Journal) formaatissa: \citet = Lähde ilman sulkuja = esim. Einstein (1906), \citep = Lähde suluissa = esim. (Einstein, 1906) Lauri Jetsu, Fysiikan label:n laitos, voi Helsingin muuttaa: yliopisto esimerkiksi 2014A&A...561A.141C muotoon Cub14 tiedostossa lahteet.bib ja referointi komennolla \cite{cub14}

39 A2: tietokannat Tietokannat: Bibtex Tietokannat: Bibtex LAT E X ei tunnistanut komentoa \aap tiedostossa lahteet.bib Komento määritettiin tiedoston A1bkesken.tex alussa rivillä \newcommand{\aap}{a\&a}, missä A\&A on lehdestä Astronomy & Astrophysics käytetty lyhennys \documentstyle{article} ja/tai \bibliographystyle{plain} ei tunnista \aap komentoa Useimpien lehtien makrot olisivat tunnistaneet \aap komennon ja kirjoittaneet lehden Astronomy & Astrophysics lyhenteen lähdeviitteisiin siinä muodossa, jota kyseinen julkaisusarja käyttää Yksi listaus referoiduista julkaisusarjoista käytetyistä lyhenteistä löytyy täältä www Tietokannat: Bibtex Komentoyhdistelmä latex tiedosto bibtex tiedosto latex tiedosto latex tiedosto dvips tiedosto -o voi mennä solmuun Jos alias \rm= \rm -i on voimassa, ongelma ratkeaa komennolla rm tiedosto.* Esim: tuloste rm: remove regular file tiedosto.aux? y rm: remove regular file tiedosto.bbl? y rm: remove regular file tiedosto.blg? y rm: remove regular file tiedosto.dvi? y rm: remove regular file tiedosto.log? y rm: remove regular file tiedosto.ps? y rm: remove regular file tiedosto.tex? n rm: remove regular file tiedosto.tex~? n Vastataan n vain kahteen Tulostuvat sivut voi rajata Esim: dvips -o -p3 -l5 tiedosto tiedosto.ps:ään vain sivut 3 5

40 A2: python ja octave python ja octave python Muuttuja: Olio koneen muistissa Kokeillaan python Return (jätetään >>> kirjoittamatta) Yksinkertaisin tapa luoda muuttuja on sijoitus: x=1 Return Muuttujan nimi=tunnus on x Muuttujan arvo on 1 Tyyppi on kokonaislukumuuttuja Toinen tapa on luoda tyypin avulla: x = int() Return luo tyhjän kokonaislukumuuttujan print(x) Return tulostaa arvon 0 Merkillä ; riville monta komentoa a=1;b=type(a);print(b) Return antaa arvon ja tyypin <class int > octave Kokeillaan octave Return (jätetään octave:*> kirjoittamatta) x=1 Return tulostaa x = 1 x=1; Return ; estää tulostuksen class(x) tulostaa ans = double x=[] tulostaa x = [](0x0) MatLab = Matrix Laboratory a=1;b=class(a);disp(b); Return tulostaa double Merkillä ; voidaan kirjoittaa python:ssa ja octave: komentoja samalle riville. Se estää myös octave:n ans tulostuksen Mielipide: Monta komentoa samalla rivillä on huonoa koodausta Vastaus: Luennoilla pitkäkin ohjelma saadaan näin esitettyä yhdellä sivulla

41 A2: python ja octave python ja octave python python jatkuu: jätetään myös Return kirjoittamatta x=[1,2] ; print(x[0]) tulostaa 1 eli python:ssa indeksit alkavat nollasta x=[1 2] Virheilmoitus type(x) tulostaa <class list > eli kyseessä on listamuuttujalue len(x) tulostaa 2 x=[1,2] ; y=x+1 Virheilmoitus import numpy ; x=numpy.arange(2)+1 print(x) tulostaa [1 2] Tälle muuttujalle yhteenlasku toimii y=x+1 ; print(y) tulostaa [2 3] x.size tulostaa 2 python: Muuttujien indekseistä www octave octave jatkuu... x=[1,2] toimii x=[1 2] sama tulos disp(x(0)) Virheilmoitus disp(x(1)) tulostaa 1 eli octave:ssa indeksit alkavat yhdestä class(x) tulostaa double size(x) tulostaa 1 2 eli 1 rivi ja 2 saraketta length(x) tulostaa 2 x = [1 2] ; y=x+1 tulostaa 2 3 octave: Muuttujien indekseistä www Käytännössä muuttujia, sekä niiden yhdistelmiä, on python:ssa ja octave:ssa lopputtomiin Jokainen opettelee tarpeen mukaan

42 A2: python ja octave python ja octave python a=1 ; b=1.0 ; c= ab type(a),type(b),type(c) tulostaa <type int >,<type float >,<type str > Muuttujatyypit: a = kokonaisluku = int b = reaaliluku = float c = stringi = str x=[1,[1,2],"abc"] toimii! type(x[0]) tulostaa <type int > type(x[1]) tulostaa <type list > type(x[2]) tulostaa <type str > python:ssa listat voivat sisältää lukuja, tekstiä, listoja,... Alkeet... EnOlKoTa octave a=1 ; b=1.0 ; c= ab class(a),class(b),class(c) tulostaa double, double, char Muuttujatyypit: a = reaaliluku = double b = reaaliluku = double c = string = char x=[1,[1,2],"abc] ei toimi! octave:ssa voidaan python;n listaa vastaava rakenne luoda komennolla x.a=1 ; x.b=[1,2]; x.c= ab ; disp(x) tulostaa scalar structure containing fields: a = 1 b = 1 2 c = ab Menee näpertelyksi... EnOlKoTa

43 B1: linux linux: komennoista linux Komentojen käyttö komento -opt1 -opt2 argumentti Esimerkiksi ls -s *.dat tulostaa työtiedoston.dat loppuiset tiedostot ja niiden koon Esimerkiksi ls -l *.dat tulostaa samojen tiedostojen, koon, viimeisen version ajan, yms Molemmat yhtä aikaa ls -l -s *.dat on sama kuin ls -ls *.dat on sama kuin ls -sl *.dat whatis arg lyhyt arg kuvaus man arg näyttää arg manuaalisivut info arg näyttää arg infosivut arg --help komennon opaste Kokeile whatis cp, man cp, info cp, cp --help (Poistuminen tarvittaessa: q) linux Luodaan kaksi tyhjää tiedostoa touch aaa ja touch bbb Annetaan komento cp -i aaa bbb tulostuu kysymys cp: overwrite bbb? johon voi vastata y tai n Sarkain täydentää komentoja Esimerkiksi ho tuottaa host täydentää myös tiedostojen tai hakemistojen nimiä Annetut komennot tallentuvat komentopinoon, jota voi selata nuolinäppäimillä ja Selattujen komentojen sisällä voi liikkua nuolinäppäimillä ja, sekä samalla edioida uusia merkkejä

44 B1: linux linux: komennoista linux Esimerkiksi history 10 tulostaa viimeiset 10 annettua komentoa Komennon ulosanti voidaan ohjata tiedostoon tai toiseen komentoon Esimerkki komennosta tiedostoon: ls > aaa tulostaa työhakemiston sisällön tiedostoon aaa Näin luodun aaa tiedoston voi tulostaa komennolla cat aaa Esimerkki komennosta komentoon: grep ab username/ sort - etsii hakemistosta username/ tiedostot *, joissa esiintyy merkkirivi ab Komento sort - tulostaa nämä tiedostot aakkosjärjestyksessä Useita komentoja voi siis putkittaa (engl. pipe) merkin avulla Pidempiä putkia EnOlKoTa linux Komennoilla on oletuskäyttäytyminen, jota voi muuttaa ja luoda eri muunnelmia cp file1 file2 kopioi tiedoston file1 sisällön tiedostoon file2, cp oletuskäyttäytyminen on, että file2:n päälle kirjoitetaan mitään kysymättä Komento cp -i file1 file2 kysyy cp: overwrite file2 alias cp= cp -i määrittelee uuden komennon cp, joka tekee kuten cp -i Editoidaan tiedosto emacs.myalias alias c= clear alias cp= cp -i alias rm= rm -i Ajetaan komennolla source.myalias Tämän jälkeen c tyhjentää näytön, sekä cp tai rm eivät kopioi tai tuhoa kysymättä ls -a listaa työtiedoston sisällön, mukaan lukien merkillä. alkavat tiedostot

45 B1: latex L A T E X: Matemaattiset kaavat L A T E X:Kaavat Matemaattiset kaavat rajataan merkillä $ Tekstin sisään (in line math) tarkoitetut kaavat rajataan kummaltakin puolelta $:llä Esim: tekstisyöte Mitä on $a_1 \sin{y},$ jos $a_1=7$ ja $y=89$. tuottaa Mitä on a 1 sin y, jos a 1 = 7 ja y = 89 Symbolit kursiivia: kts a 1, y yllä Luvut ja funktiot ei kursiivia: kts 7, sin yllä Kursiivin voi estää (esim: luonnon vakiot) Esim: valon nopeus $\mathrm{c}$ tuottaa valon nopeus c, mutta valon nopeus $c$ tuottaisi valon nopeus c L A T E X: Kaavat Tekstistä erottumaan (display math) tarkoitetut kaavat rajataan $$:llä Esim: tekstisyöte Mitä on $$a_1 \sin{y},$$ jos $a_1=7$ ja $y=89$. tuottaa Mitä on a 1 sin y, jos a 1 = 7 ja y = 89. Merkki _ tuottaa alaviitteen Esimi: $a_{b+c}$ tuottaa a b+c, missä { ja } rajaavat alaviitteen Esim: $a^{b+c}$ tuottaa yläviitteen a b+c Esim: $a^{b+c}_{d+e}$ tuottaa molemmat a b+c d+e

46 B1: latex L A T E X: Matemaattiset kaavat L A T E X: Kaavat (kuva:@ emacs on LAT E X ystävällinen Kursori pomppii editoidessa ${ { \sum_{i=1}^{n+1}\cos{i\pi\alpha} } \over { \sum_{i=1}^{n+1}\sin{i\pi\alpha} } }$ n+1 joka tuottaa i=1 cos iπα sin iπα n+1 i=1 Kreikkalaisille kirjaimille omat komennot: esim \alpha ja \pi yllä Matemaattisille funktiolle omat komennot: esim \cos ja \cos yllä Matemaattisille merkinnöille omat komennot: esim \sum ja \over yllä Mitään ei tarvitse/kannata opetella ulkoa, koska löytyvät esimerkiksi täältä www L A T E X: Kaavat Lähes minkä tahansa symbolin komento löytyy täältä www

47 B1: python ja octave python python python: paljon erilaisia valmiita moduleja, joita ladataan tarpeen mukaan Matemaattiset funktiot: Numpy www importoidaan komennolla import numpy Importoinnin jälkeen esimerkiksi tämän modulin sisällön voi aina tarkistaa komennolla dir(numpy) Nimeä voi muuttaa esimerkiksi python import numpy as np a=np.arange(3) print(a) tulostaa [0 1 2] Tieteellinen laskenta: Scipy www importointi import scipy Tulosten visualisointi: Pylab www importointi import pylab python Pythonista on olemassa interaktiivinen versio ipython www Kokeile linux komentotulkissa ipython -pylab In [1] ilmestyy a=numpy.ones(3) ; print(a) tulostaa [ ] Anna sen jälkeen komento a. ja ipython kertoo kaiken, mitä voit tehdä muuttujalle a, jos aloitat muodolla a. ipython:ssa voi vaikkapa kokeilla erilaisia komentoja ennen kuin kirjoittaa ne editoimansa ohjelman sisään Kokeile linux komentoa pwd. Se toimii ipython:ssa, mutta ei tavallisessa python:ssa octave: kaikki ladattu valmiiksi ja linux komennot toimivat

48 B1: python ja octave python ja octave python Numeeriset muuttujatyypit pitävät sisällään lukuarvoja. Esimerkkejä python:n numeerisia muuttujatyyppejä int = kokonaisluku esim a=4 float = reaaliluku esim a=3.45 complex = kompleksiluku esim a=complex(3,4) tai a=3.+4j Tyhjän muuttujan luominen: a=int(), a=float(), a=complex() Kokeillaan python:ssa a=1 ; b=1 ; c=a+b print(type(a),type(b),type(c)) tyyppi ei muutu Kokeillaan python:ssa a=1 ; b=2.2 ; c=a+b print(type(a),type(b),type(c)) tyyppi muuttuu tarkkuuden mukaan octave Kokeillaan octave:ssa a=1 ; class(a) tulostaa ans = double eli ei integer Kompleksiluvun luominen octave:ssa z=3+4*i ; abs(z) tulostaa ans = 5 eli z arvon Kokeillaan octave:ssa a=1 ; isnumeric(a) tulostaa ans = 1 eli kertoo, että a on numeroarvoinen muuttuja (s.o. joko kokonais-, reaali- tai kompleksiluku) Kokeillaan octave:ssa a=1 ; islogical(isnumeric(a)) tulostaa ans = 1 eli kertoo, että isnumeric(a) on looginen muuttuja (s.o. 1=True, 0=False) octave: tietoa numeerisista (myös muista) muuttujatyypeistä löytyy täältä www Muuttujatyyppejä ei tarvitse opetella ulkoa

49 B1: python ja octave python ja octave python ja octave Peruslaskutoimitukset python octave + + summa - - erotus * * kertolasku ** ** tai ˆ potenssiin korotus / / jakolasku python: lisää löytyy täältä www octave: lisää löytyy täältä www Vertailuoperaattorit samat python octave == == yhtä suuri < < pienempi > > suurempi >= >= suurempi tai yhtä suuri <= <= pienempi tai yhtä suuri! =! = ei yhtä suuri python ja octave Peruslaskutoimituksissa on eroja Kokeillaan python:ssa import numpy a=numpy.arange(2) ; b=2.+a print(a) tulostaa [0 1] print(b) tulostaa [2. 3.] print(a*b) tulostaa [0. 3.] Tulos: Vastaavien alkioiden tulot Kokeillaan octave:ssa a=[0 1] ; b=2.+a ; disp(a) tulostaa 0 1 disp(b) tulostaa 2 3 disp(a*b) tulostaa error... koska molemmat ovat vaakavektoreita disp(a*b ) tulostaa 3 koska b pystyvektori, saadaan pistetulo disp(a.*b) tulostaa 0 3 eli vastaavien alkioiden tulot

50 B1: python ja octave python ja octave python ja octave: funktiot python: Matemaattiset funktiot saadaan käyttöön import numpy käskymuoto numpy.cos(3.14) toimii python: Vain valitun funktion importointi Esim from numpy import cos käskymuoto cos(3.14) toimii octave: Funktiot valmiiksi ladattu Tavallisimmat funktiot molemmissa lähes samanlaisia python octave cos(x) cos(x) cos x sin(x) sin(x) sin x tan(x) tan(x) tan x power(x,y) realpow(x,y) x y sqrt(x) sqrt(x) x exp(x) exp(x) e x log(x) log(x) lnx Trigonometriset funktiot: [x] = radiaani python ja octave: funktiot Harjoitus: Laadi tätä octave ohjelmaa vastaava python ohjelma # Kommenttirivi : Tama on octave ohjelmani Oharjoitus4.m clear ; clc # Poistetaan.. Tyhjennetaan.. a=pi ; # Radiaanit t r i g o n. f u n k t i o i l l e b=sin ( a ) ; disp ( b ) ; # c=cos ( a ) ; disp ( c ) ; # d=tan ( a ) ; disp ( d ) ; # e=1 ; # f =asin ( e ) ; disp ( f ) ; # g=acos ( e ) ; disp ( g ) ; # h=atan ( e ) ; disp ( h ) ; # i =9 ; # j =sqrt ( i ) ; disp ( j ) ; # n e l i o j u u r i # i j a j symboleja kaytetaan kompleksi l u v u i l l e k=1 i 1 i ; disp ( k ) ; # l =1 j 1 j ; disp ( l ) ; # m=1+1 i ; # n=2+3 j ; # o=m+n ; disp ( o ) ; # p=abs ( o ) ; disp ( p ) ; # q=exp ( 1 ) ; # e r =log ( q ) ; disp ( r ) ; # l n s=log10 ( q ) ; disp ( s ) ; # log t= 3 ; # u=abs ( t ) ; disp ( u ) ; # i t s e i s a r v o v=t ^4 ; disp ( v ) ; # potenssi Ohjelmat monimutkaisempia Sitä vaikeampi tehdä yksi yhteen python ja octave versiot

51 B2: linux linux: Alias linux: Alias Pitkät usein käytetyt komennot alias nimi= pitkä komento kannattaa lyhentää Esimerkki 1: alias lyhennys alias Pr= lpr -PHP-Laserjet-1200 mahdollistaa tiedoston file printtauksen jonoon HP-Laserjet-1200 komennolla Pr file Muuten pitää jokaista tiedostoa * printatessa kirjoittaa lpr -PHP-Laserjet-1200 * Esimerkki 2: valinnalla alias python= python3 varmistetaan, että komennolla python käytetään uusinta (vuonna 2015) python versiota Toimivaa alias komentoa ei kannata keksiä/määritellä/etsiä uudestaan linux: alias Valitut alias komennot kannattaa tallentaa tiedostoon /home/username/.bashrc Tämä alustustiedosto luetaan aina istunnon alkaessa tai uuden linux komentotulkin käynnistyessä Tapa 1: editoidaan tiedostoon /home/username/.bashrc rivit alias c= clear alias cp= cp -i alias rm= rm -i alias python= python3 Tapa 2: editoidaan samat 4 riviä tiedostoon /home/username/.myalias ja 1 rivi source.myalias tiedostoon /home/username/.bashrc Tapa 2 parempi: Miksi? Ensin cp.bashrc.bashrcold Sitten emacs.bashrc & Miksi?

52 B2: latex L A T E X: Matemaattiset kaavat L A T E X: Kaavat $$ rajatuista kaavoista puuttuu numerointi Viittaaminen tekstin sisällä vaikeaa LAT E X tekstisyöte Tähän kaavaan \begin{equation} E = m \mathrm{c}^2 \label{ejuttu} \end{equation} voi viitata (Kaava \ref{ejuttu}) tuottaa Tähän kaavaan voi viitata (Kaava 1) E = mc 2 (1) Komento \ref{ejuttu} viittaa tunnisteeseen \label{ejuttu} Kaavan numero pysyy oikeana, vaikka lisätään uusia numeroituja kaavoja L A T E X: Kaavat LAT E X tekstisyöte \begin{eqnarray} a_x & = & \int_a^b x dx \\ \sin{x}& = & a_x \nonumber \\ d & = & x \end{eqnarray} tuottaa b a x = xdx (2) a sin x = a x d = x (3) Sarake vaihtuu = &, Rivi vaihtuu = \\ Ei numeroa komennolla \nonumber latex tiedosto ajettava kahdesti Numerointi kunnossa Ei tulostu kaavan ja viitenumeron kohdalla??

53 B2: python ja octave python ja octave Muuttujan tunnuksista Tunnus toimii osoittimena muuttujaan eli muuttujan nimenä Yhteen muuttujaan voi osoittaa monta tunnusta Tunnuksen voi kesken ohjelman vaihtaa osoittamaan johonkin toiseen muuttujaan Toisin kuin monissa kielessä, python:ssa tunnus ei ole sidottu mihinkään tiettyyn muuttujatyyppiin Kopioidaan kotisivulta Pharjoitus5.py ja Oharjoitus5.m ja vertaillaan niitä # Kommenttirivi: Tama on python ohjelmani Pharjoitus5.py import os ; os.system( clear ) # Tyhjennetaan naytto a = [1,2] ; b = a # Kaksi python kaskya samalla rivilla print( Vaihe I... ) # Merkilla "\" laaditaan kahden rivin pituinen kasky print( a[0]=,a[0],,a[1]=,a[1],\,b[0]=,b[0],,b[1]=,b[1]) a[1]=0 # Muutetaan a:n toisen alkion a[1] arvo print( Vaihe II: b[1] muuttunut! ) print( a[0]=,a[0],,a[1]=,a[1],\,b[0]=,b[0],,b[1]=,b[1]) # Ratkaisu 1: tuple tyyppista muuttujaa d ei voi muuttaa c = [1,2] ; d=tuple(c) print( Vaihe III... ) print( c[0]=,c[0],,c[1]=,c[1],\,d[0]=,d[0],,d[1]=,d[1]) c[1]=0 # Muutetaan c:n toisen alkion c[1] arvo print( Vaihe IV: d[1] ei muuttunut! ) print( c[0]=,c[0],,c[1]=,c[1],\,d[0]=,d[0],,d[1]=,d[1]) # Ratkaisu 2: Kopioidaan e:n kaikki alkiot muuttujaan f e = [1,2] ; f=e[:] print( Vaihe V... ) print( e[0]=,e[0],,e[1]=,e[1],\,f[0]=,f[0],,f[1]=,f[1]) e[1]=0 # Muutetaan e:n toisen alkion e[1] arvo print( Vaihe VI: f[1] ei muuttunut! ) print( e[0]=,e[0],,e[1]=,e[1],\,f[0]=,f[0],,f[1]=,f[1])

54 B2: python ja octave python ja octave Muuttujan tunnuksista python Pharjoitus5.py Vaihe I... a[0]= 1,a[1]= 2,b[0]= 1,b[1]= 2 Vaihe II: b[1] muuttunut! a[0]= 1,a[1]= 0,b[0]= 1,b[1]= 0 Vaihe III... c[0]= 1,c[1]= 2,d[0]= 1,d[1]= 2 Vaihe IV: d[1] ei muuttunut! c[0]= 1,c[1]= 0,d[0]= 1,d[1]= 2 Vaihe V... e[0]= 1,e[1]= 2,f[0]= 1,f[1]= 2 Vaihe VI: f[1] ei muuttunut! e[0]= 1,e[1]= 0,f[0]= 1,f[1]= 2 Tunnukset a ja b viittasivat samaan muuttujaan. a:n alkion a[1]=1.0 arvon ja tyypin muutos muutti b[1]:n arvon ja tyypin Muuttujaan d kopioitiin c:n alkioiden arvot. d=tuple(c) teki listan, jonka alkioita ei voi muuttaa. Siksi c[1]:n muutos ei muuta alkiota d[1]= cd Muuttujaan f kopioitiin e:n kaikki alkiot e[1]:n muutos ei muuta alkiota f[1]= ef Muuttujan tunnuksista Vastaava octave ohjelma Oharjoitus5.m kotisivulta # Kommenttirivi: Tama on octave ohjelmani Oharjoitus5.m clear ; clc # Poistetaan... Tyhjennetaan... a = [1,2] ; b = a ; # Kaksi octave kaskya samalla rivilla # Nayttotulostus=printf, Siirry seuraavalle riville=\n printf("vaihe I... \n"); # Merkeilla "{" ja "}" laaditaan kahden rivin pituinen kasky {printf("a(1)=%4.1f,a(2)=%4.1f,b(1)=%4.1f,b(2)=%4.1f\n", a(1),a(2),b(1),b(2))}; a(1) = 0; # Muutetaan a:n toisen alkion a(1) arvo printf("vaihe II: b(2) ei muuttunut!\n"); {printf("a(1)=%4.1f,a(2)=%4.1f,b(1)=%4.1f,b(2)=%4.1f\n", a(1),a(2),b(1),b(2))}; octave Oharjoitus5.m tulostaa Vaihe I... a(1)= 1.0,a(2)= 2.0,b(1)= 1.0,b(2)= 2.0 Vaihe II: b(2) ei muuttunut! a(1)= 0.0,a(2)= 2.0,b(1)= 1.0,b(2)= 2.0 octave:ssa tätä python:n ongelmaa ei ole Käytännössä tämä tarkoittaa, että kaikki python ohjelmat pitää laatia ja tarkastaa huolellisesti

55 B2: python ja octave python ja octave Kommentit Kaikki merkin # jälkeen tuleva lasketaan kommentiksi Kommentit ovat tekstiä jonka python tai octave jättää huomiotta Kommentit auttavat muita ymmärtämään koodin toimintaa Käytännössä vähemmän käytetyt komennot unohtuvat Komennot voi tarkistaa koodin kommenteista Kommentit vähentävät tulevaa työtä. Ei tarvitse keksiä pyörää uudestaan Malliohjelmissa on pyritty selkeään kommentoitiin Mikäli edes ohjelma/komento löytyy? grep disp /home/username/*/*.m etsii ohjelmat *.m joissa disp komento

56 C1: linux linux: Ympäristömuuttujat linux: Ympäristömuuttujat linux komentotulkkki toimii asetettujen ympäristömuuttujien mukaan env kertoo asetetut ympäristömuuttujat Yksi tulostuvista riveistä on tyypillisesti HOME=/home/username s.o. käyttäjän nykyisen kotihakemiston Saman tiedon kertoisi echo $HOME Ympäristömuuttujia voi muuttaa Esimerkiksi komentotulkin rivin alun voi muuttaa muotoon <My own prompt> komennolla export PS1= <My own prompt> Ympäristömuuttujien muutokset kannattaa kirjata.bashrc tiedostoon samalla tavoin kuin jo mainitut alias komennot Selkeä esitys ympäristömuuttujien käytöstä löytyy täältä www linux: Selauskomentoja Tiedostoja voi selata editoimatta grep abc file etsii merkit abc tiedostosta file less file tulostaa näyttöön space bar jatkaa ja q lopettaa head -5 file tulostaa tiedoston file 5 ensimmäistä riviä tail -15 file tulostaa tiedoston file 15 viimeistä riviä wc -l file file:n rivien määrä wc -w file file:n sanojen määrä wc -m file file:n merkkien määrä wc file samalla kertaa file:n rivien, sanojen ja merkkien määrä Näistä käyttökelpoisin on ollut grep, kun on haettu jotain komentoa, tiedostoa,...

57 C1: latex L A T E X: Ympäristöt L A T E X: Ympäristöt Ympäristö otetaan käyttöön komennolla \begin{aaa}... \end{aaa} Esimerkkejä vaihtoehdoista aaa:lle \itemize, \enumerate, \center, \figure, \tabular, \table, Esim: tekstisyöte \begin{enumerate} \item Ensimmäinen juttu \item Toinen juttu \item {Kolmas juttu \label{ab}} \end{enumerate} Monesko juttu \ref{ab} se oli? tuottaa numeroidun listan 1. Ensimmäinen juttu 2. Toinen juttu 3. Kolmas juttu Monesko juttu 3 se oli? missä listan kolmanteen juttuun viitataan tekstissä labelin {AB} avulla L A T E X: Ympäristöt Taulukkoympäristöön siirrytään \begin{tabular}{asettelu} Komennot ovat Tasaus: l = vasen, r = oikea ja c = keski Viivat: = pysty ja \hline = vaaka Vaihda: & = sarake ja \\ = rivi Esim: tekstisyöte \begin{tabular}{ l cr } \hline now & lets & play \\ 1 & 2 & 3 \\ \hline \end{tabular} tuottaa tälläisen taulukon now lets play 1 2 3

58 C1: latex L A T E X: Taulukot L A T E X: Taulukot tabular sijoittaa taulukon paikkaan siihen paikkaa, mihin se on tiedostossa kirjoitettu tabular ympristössä taulukkoon ei voi viitata tai lisätä taulukon sisältöä selittävää tekstiä Tekstisyöte \begin{table}[h] \caption[]{taulukon kuvaus} \begin{tabular}{lcr} \hline aaa & bbb & ccc \\ 1 & 2 & 3 \\ \hline \end{tabular} \label{cd} \end{table} Luvut ovat taulukossa \ref{cd}. tuottaa L A T E X: Taulukot Taulukko 1: Taulukon kuvaus aaa bbb ccc Luvut ovat Taulukossa 1. \ref{cd} etsii tunnisteen \label{cd} Taulukot numeroituvat automaattisesti siinä järjestyksessä, jossa ne ovat tiedostossa Taulukoiden caption ja teksti numerointi pysyy oikeana lisättäessä uusia taulukoita table = yhden kolumnin leveys table* = kahden kolumnin leveys \begin{table}[sijainti] määrittää minne taulukko yritetään sijoittaa tekstissä sijainti: h = tähän (here), t = sivun yläreunaan (top), b = sivun alareunaan (bottom),... paljon vaihtoehtoja

59 C1: python ja octave python ja octave python Alkioiden indeksit esimerkkejä: Muuttuja x sisältää n alkiota x[0] = 1. alkio, x[n-1] = n:s alkio x[i:j] = Osa alkioista i = ensimmäisen valitun alkion indeksi j = monesko viimeinen valittu on kaikista alkioista. Esim: x=[1,2,3] print(x[0:1]) tulostaa [1] print(x[0:2]) tulostaa [1, 2] print(x[0:3]) tulostaa [1, 2, 3] print(x[0:0]) tulostaa [] print(x[1:1]) tulostaa [] print(x[1:2]) tulostaa [2] print(x[1:3]) tulostaa [2,3] print(x[1:30]) tulostaa [2,3] eli yläraja SAA ylittää n:n print(x[1 :]) tulostaa [2,3] Lisäksi negatiiviset indeksit print(x[-1]) tulostaa [3] octave Muuttuja x sisältää n alkiota x(1) = 1. alkio, x(n) = n:s alkio x[i:j] = Osa alkioista i = ensimmäisen valitun alkion indeksi j = viimeisen valitun alkion indeksi Esim: x=[1,2,3] disp(x(1:1)) tulostaa 1 disp(x(1:2)) tulostaa 1 2 disp(x(1:3)) tulostaa disp(x(2:2)) tulostaa 2 disp(x(2:3)) tulostaa 2 3 disp(x(2:30)) tulostaa error:... eli yläraja EI SAA ylittää n:ää disp(x(-1)) tulostaa error:... disp(x(1,1)) tulostaa 1 disp(x(1,2)) tulostaa 2 disp(x(2,1)) tulostaa error:... koska kyseessä on vaakavektori s.o. Rivi 2, Sarake 1 ei ole olemassa

60 C1: python ja octave python ja octave python x= Abc ; type(x) tulostaa <class str > Tämä muuttuja on merkkijono eli stringi Sarjatyyppinen muuttuja on muuttuja, joka osoittaa listaan muita muuttujia Sarjatyyppisten muuttujat luokitellaan sen mukaan voidaanko niiden alkioita muuttaa list = alkiot muutettavissa. Esim: a=[1,2] ; a[-1]= ok ; print(a) tulostaa [1, ok ] tuple = alkiot ei muutettavissa. Esim: a=(1, ok ) ; a[0]= ok ; print(a) tulostaa...typeerror: tuple... list rajataan [...] tuple rajataan (...) list: lisätään muita muuttujia. Esim: a=[1,2]; b=[ c, d ]; a[-2]=b; print(a) tulostaa [[ c, d ], 2] octave x= Abc ; disp(class(x)) tulostaa char eli tämä muuttuja on merkkijono a=[1,2] ; a(2)= ok tulostaa error:... eli sarjatyyppisen muuttujan kaltaisen muuttujan luominen ei tällä tavoin onnistu x.a=1; x.b= ab ; disp(x); disp(class(x)) tulostaa a = 1 b = ab struct Tämä, struct, muistuttaa python:n sarjatyyyppistä list muuttujaa help tuple tulostaa error: help: tuple not found Vaikka tähän mennessä en ole onnistunut löytämään tuple:a vastaavaa, se ei tarkoita, että sitä ei ole... EnOlKoTa

61 C1: python ja octave python ja octave python ohjelman peruselementit Muuttujat ( int, float, list,...) Operaattorit ( +, -, *,...) Funktiot ( cos(), exp(),...) Aliohjelmat: samoja ohjelman rivejä ei tarvitse toistaa uudelleen ja uudelleen Ohjausrakenteet Sisennys vain if, for,... Kommentit ( # tämä tarkoittaa...) Modulit ( math, numpy,...) import numpy as np np.sin(x) from numpy import sin sin(x) Luokat ( numpy.array,...) Metodit ( string.find(),...) octave ohjelmat peruselementit Muuttujat: eroavaisuuksia, esim indeksit Operaattorit: lähes samat Funktiot: lähes samat Aliohjelmat: samoja ohjelman rivejä ei tarvitse toistaa uudelleen ja uudelleen Ohjausrakenteet Ei sisennystä endfor, endif,... Kommentit: samat Modulit: kaikki valmiina Luokat: ( class(a),...) Metodit: ( display(a),...) Ei tarvitse opetella ulkoa, koska näitä opetellaan tarpeen mukaan usean esimerkin avulla

62 C1: python ja octave python ja octave python: Ohjauskomento if Sisennetyt lohkot erottavat ohjauskomennot muusta koodista. Sisennys on 4 tyhjää merkkiä Aloittava rivi päättyy merkkiin : emacs sisentää automaattisesti if esimerkki Pharjoitus6.py if, elif ja else yhdistelmä octave: Ohjauskomento if Sisennystä ei tarvita, mutta sitä voi käyttää koodin selventämiseen if loppuu komentoon endif if, elseif, else ja endif esimerkki Oharjoitus7.m

63 C1: python ja octave python python # K o m e n t t i r i v i : Tama on python ohjelmani Pharjoitus6. py import os ; os. system ( clear ) # Tyhjennetaan naytto a=2 ; b=1 ; c=2 ; d=1 # 1. kombinaatio #a=2 ; b=1 ; c=1 ; d=2 # 2. kombinaatio #a=1 ; b=2 ; c=2 ; d=1 # 3. kombinaatio #a=1 ; b=2 ; c=1 ; d=2 # 4. kombinaatio p r i n t ( a=,a, b=,b, c=, c, d=, d ) # Tulostetaan a, b, c, d p r i n t ( Kaydaan aina r i v i l l a L7 ) # # Ohjausrakenteen a l o i t u s r i v i t p a a t t y v a t merkkiin " : " # Muut ohjausrakenteen r i v i t s i s e n n e t t y i f (a > b ) : # 1. ohjausrakenne alkaa p r i n t ( Koska a>b, kaydaan r i v i l l a L12 ) p r i n t ( T a r k i s t u s : a=,a, b=, b ) i f ( c > d ) : # 2. ohjausrakenne alkaa p r i n t ( Koska a>b j a c>d kaydaan r i v i l l a L15 ) p r i n t ( T a r k i s t u s : a=,a, b=,b, c=, c, d=, d ) p r i n t ( Koska a>b kaydaan r i v i l l a L17 ) p r i n t ( T a r k i s t u s : a=,a, b=, b ) Kaksi merkkiin : päättyvää ohjausrakennetta Kaksi sisennystä: 4 ja 8 tyhjää octave Tehtävänä laatia tätä vastaava Oharjoitus6.m a=1 ; b=2 Vihjeitä Kaksi if ja endif paria Kokeile interaktiivisessa octave:ssa komentoja printf("tarkistus: a=%2i,b=%2i\n",a,b) jotka tuottavat näyttöön formatoitua tulostusta Kokeile mitä tapahtuu ilman osaa \n Kokeile mitä tapahtuu, jos muutat osaa %2i muotoon %10i

64 C2: linux linux linux: käyttäjän oikeudet Käyttäjällä, username, on käyttöoikeus rajattuun levytilaan du -h /home/username/ tulostaa käytetyn levytilan. Yhteenvedon antaa du -h /home/jetsu/ -summarize df tulostaa sekä vapaan että käytetyn levytilan. Käytännöllinen alias on alias Tila= df -h /home/username/ Käyttäjillä rajatut oikeudet suorittaa komentoja ja käsitellä tiedostoja linux:ssa käyttäjä kuuluu ainakin yhteen ryhmään. groups kertoo mihin Käyttäjälle: u, Ryhmälle: g & Muille: o on erilaiset oikeudet seuraaviin: Luku: r, Kirjoitus: w & Suoritus: x Listaa tiedostosi komennolla ls -ls linux: käyttäjän oikeudet Esimerkiksi -rwxr-x- -x tarkoittaa: käyttäjällä on rwx oikeudet ryhmällä on r-x oikeudet muilla on - -x oikeudet d:llä alkava tulostus (Esim: drwxr-x- -x) tarkoittaa, että kyseessä on hakemisto Oikeuksia voi muuttaa komennolla chmod [ugoa] (+-) [rwx] nimi (u)ser, (g)roup, (o)thers, (a)ll ( a on kaikki u, g ja o yhdessä) + lisää ja - poistaa oikeuksia (r)ead, (w)rite, e(x)ecute Esimerkkki 1: chmod g+rwx nimi lisää ryhmällä rwx-oikeudet tiedostoon tai hakemistoon nimi Esimerkkki 2: chmod go-wx nimi poistaa ryhmältä ja muilta wx-oikeudet tiedostoon tai hakemistoon nimi

65 Johdanto A1 A2 B1 B2 C1 C2 D1 D2 E1 C2: latex L A T E X: kuvat L A T E X: kuvat Dokumentin alussa ladataan paketti. Esim: \usepackage[dvips]{graphicx} jossa kuvan lataus \includegraphics[]{tiedosto} [] sisään optioita: width, height,... Tässä luentojen LAT E X ympäristössä syöte \includegraphics[width=5.0cm, height=1.5cm]{pharjoitus17.pdf} tuottaa tämän kuvan 1.0 L A T E X: kuvat Tässä luentojen LAT E X ympäristössä syöte \begin{figure} \caption[]{kuvan teksti} \includegraphics[width=1.0cm, height=1.0cm]{pharjoitus17.pdf} \label{ef} \end{figure} Kuvan \ref{ef} sini-käyrät tuottaa Kuva 1: Kuvan teksti \figure (leveys yksi kolumni) ja \figure* (leveys kaksi kolumnia) ympäristöt: numero, teksti ( caption) ja viittaus tunniste ( label) Kuvan 1 sini-käyrät Kuvat numeroituvat automaattisesti... latex: kuvat ps- tai eps muodossa pdflatex: kuvat jpg-, png- tai pdf

66 C2: python ja octave python octave ohjauskomento if, elseif, else # Kommenttirivi : Tama on octave ohjelmani Oharjoitus7.m clear ; clc # Poistetaan... Tyhjennetaan... a=rand (1) 360. ; # Tasajakauma p r i n t f ( " Arvottu kulma on = %7.1 f astetta \ n ",a ) # T a r k i s t u s b=(a /180.) pi ; # Asteet r a d i a a n e i k s i if (cos (b) >=0 & sin (b) >=0) # Alkaa p r i n t f ( " 1 neljannes \ n " ) # elseif (cos (b) <0 & sin (b) >0) # p r i n t f ( " 2 neljannes \ n " ) # elseif (cos (b) <=0 & sin (b) <=0) # p r i n t f ( " 3 neljannes \ n " ) # else # p r i n t f ( " 4 neljannes \ n " ) # endif # Paattyy Neljän vaihtoehdon if ja elseif rakenne Sisennykset vain selkeyttämisen vuoksi rand(1) tuottaa yhden satunnaisluvun tasajakaumasta välillä [0, 1] Laskuharjoitus: Laadi tätä vastaava python ohjelma Pharjoitus7.py

67 C2: python ja octave python ja octave python: Ohjauskomento for Ohjauskomennon for rivi päättyy merkkiin : Lohkon sisennys loopin loppuun Esimerkki: Seuraavan sivun ohjelma Pharjoitus8.py octave: Ohjauskomento for Ohjaus komento alkaa merkillä for Ei tarvita sisennystä Looppi päättyy komentoon endfor Laskuharjoitus: Laadi python ohjelmaa Pharjoitus8.py vastaava octave ohjelma Oharjoitus8.m

68 C2: python ja octave python python ohjauskomento for # K o m e n t t i r i v i : Tama on python ohjelmani Pharjoitus8. py import os ; os. system ( clear ) # Tyhjennetaan naytto for i in range ( 3 ) : # 1. Looppi : indeksilla p r i n t ( i =, i ) # a =[ A, B, C ] # for b in a : # 2. Looppi a l k i o i l l a p r i n t ( b=, b ) # p r i n t ( b. f i n d ( "A" ) ) # k=0 # Kahdessa sisakkaisessa l o opissa muuttuva luku for j in range ( 2 ) : # 3. Looppi for b in a : # 4. Looppi print ( b=,b,,k=,k ) # 4. Looppi : print k=k+1 # 4. Looppi : k=k+1 p r i n t ( j =, j,, k=, k ) # 3. Looppi : p r i n t k=k+1 # 3. Looppi : k=k+1 Neljä merkkiin : päättyvää ohjausrakennetta Neljä sisennystä: 4 ja 8 tyhjää octave Tehtävänä laatia tätä vastaava Oharjoitus8.m Vihjeitä Neljä for ja endfor paria Voit korvata python komennon print(b.find("a")) octave komennolla disp(strfind(b,"a")) Kokeile interaktiivisessa octave:ssa komentoja a=1 ; b=2 printf("tarkistus: a=%2i,b=%2i\n",a,b) jotka tuottavat näyttöön formatoitua tulostusta

69 C2: python ja octave python ja octave python: Ohjauskomento while Ohjauskomennon while rivi päättyy merkkiin : Lohkon sisennys Laskuharjoitus: Laadi ohjelma Pharjoitus9.py, joka tekee saman kuin Oharjoitus9.m seuraavalla sivulla octave: Ohjauskomento while Ohjaus komento alkaa merkillä while Ei tarvita sisennystä while päättyy komentoon endwhile Esimerkki: Seuraavan sivun octave ohjelma Oharjoitus9.m

70 C2: python ja octave octave ohjauskomento while octave ohjauskomento while # Kommenttirivi : Tama on octave ohjelmani Oharjoitus9.m clear ; clc # Poistetaan... Tyhjennetaan... k=20 ; # Kokeile muuttujan a rvo ja k= 11, 9 j a 20 p r i n t f ( " Alussa k= %i \ n ", k ) # k alussa while ( k >=10) # Ohjausrakenne p r i n t f ( " 1. ehdolla j a t k e t a a n j a k= %i \ n ", k ) k=k 4 ; # Vahenna 4 endwhile # while ( k > 10.5 & k <10) # Ohjausrakenne p r i n t f ( " 2. ehdolla j a t k e t a a n j a k= %i \ n ", k ) k=k 3 ; # Vahenna 3 endwhile # p r i n t f ( " Lopussa k= %i \ n ", k ) # lopussa

71 C2: python ja octave python ja octave python: Ohjauskomento try catch Ohjauskomennon try catch rivi päättyy merkkiin : Lohkon sisennys Käytetään koodin korjaamiseen EnOlKoTa Tästä ei laskuharjoitusta Esimerkki: python ohjelma Pharjoitus10.py seuraavalla sivulla octave: Ohjauskomento try catch Ei tarvita sisennystä Päättyy komentoon end_try_catch Tästä ei laskuharjoitusta Esimerkki: Sitä seuraavan sivun octave ohjelma Oharjoitus10.m

Tieteellinen laskenta I (Scientific Computing I)

Tieteellinen laskenta I (Scientific Computing I) Tieteellinen laskenta I (Scientific Computing I) koodi: 53398, laajuus: 5 op Johdanto Johdanto (kuva:@work.chron.com) Klikkaa tätä www merkkiä Pääset siinä mainitun aiheen www-sivulle Kurssin kotisivu

Lisätiedot

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön L3: linux linux linux: rm, cp, mv (kuva:@funny-pictures.picphotos.net) ls Return listaa työhakemiston sisällön ls.dat Return tulostaa kaikki työhakemiston.dat loppuiset tiedostot merkki on jokeri cp nimi1

Lisätiedot

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön L3: linux linux linux: rm, cp, mv (kuva:@funny-pictures.picphotos.net) ls Return listaa työhakemiston sisällön ls.dat Return tulostaa kaikki työhakemiston.dat loppuiset tiedostot merkki on jokeri cp nimi1

Lisätiedot

linux: komennoista linux linux

linux: komennoista linux linux L4: linux linux: komennoista linux Komentojen käyttö komento -opt1 -opt2 argumentti Esimerkiksi ls -s *.dat tulostaa työtiedoston.dat loppuiset tiedostot ja niiden koon Esimerkiksi ls -l *.dat tulostaa

Lisätiedot

linux: komennoista linux linux

linux: komennoista linux linux L4: linux linux: komennoista linux Komentojen käyttö komento -opt1 -opt2 argumentti Esimerkiksi ls -s *.dat tulostaa työtiedoston.dat loppuiset tiedostot ja niiden koon Esimerkiksi ls -l *.dat tulostaa

Lisätiedot

L2: linux linux: Komentotulkki

L2: linux linux: Komentotulkki (kuva:@www.glasbergen.com) Tavoite: Kaikki oppivat linux:n perusteet Perusteet jo tutut Luennoille ja laskuharjoituksiin osallistuminen vapaaehtoista Monia linux alkeisoppaita www linux: Komentotulkki

Lisätiedot

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

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 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

Lisätiedot

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

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009

Tähtitieteen käytännön menetelmiä Kevät 2009 Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00

Lisätiedot

linux: Ympäristömuuttujat

linux: Ympäristömuuttujat L5: linux linux: Ympäristömuuttujat linux: Ympäristömuuttujat linux komentotulkkki toimii asetettujen ympäristömuuttujien mukaan env kertoo asetetut ympäristömuuttujat Yksi tulostuvista riveistä on tyypillisesti

Lisätiedot

linux: Ympäristömuuttujat

linux: Ympäristömuuttujat L5: linux linux: Ympäristömuuttujat linux: Ympäristömuuttujat linux komentotulkkki toimii asetettujen ympäristömuuttujien mukaan env kertoo asetetut ympäristömuuttujat Yksi tulostuvista riveistä on tyypillisesti

Lisätiedot

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia L6: linux linux linux: käyttäjän oikeudet Käyttäjällä, username, on käyttöoikeus rajattuun levytilaan du -h /home/username/ tulostaa käytetyn levytilan. Yhteenvedon antaa du -h /home/jetsu/ - -summarize

Lisätiedot

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia L6: linux linux linux: käyttäjän oikeudet Käyttäjällä, username, on käyttöoikeus rajattuun levytilaan du -h /home/username/ tulostaa käytetyn levytilan. Yhteenvedon antaa du -h /home/jetsu/ - -summarize

Lisätiedot

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

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux L7: linux linux: Prosessit linux: Prosessit Jokainen komento käynnistää vähintään yhden prosessin Jokaiselle prosessilla tunniste PID, jolla prosessiin voidaan viitata. Jokaisella prosesilla on prioriteetti

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 9: L A T E X

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 9: L A T E X Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 9: L A T E X 15. maaliskuuta 2009 LAT E X Johdanto Käyttö Syntaksi Layout Tavutus Johdanto L A T E X Yleistä T E Xistä ja L A T E Xista T E X on se ladontaohjelma

Lisätiedot

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

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux L7: linux linux: Prosessit linux: Prosessit Jokainen komento käynnistää vähintään yhden prosessin Jokaiselle prosessilla tunniste PID, jolla prosessiin voidaan viitata. Jokaisella prosesilla on prioriteetti

Lisätiedot

Metropolia Ammattikorkeakoulu

Metropolia Ammattikorkeakoulu Metropolia Ammattikorkeakoulu UNIX-käyttöjärjestelmä TX00BW20 Sami Sainio sami.sainio@metropolia.fi Kurssin rakenne ja arvostelu 7 x luennot ja laboratorioharjoitukset Pieni projekti? Kurssin lopussa tentti

Lisätiedot

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto Luis R.J. Costa Aalto-yliopisto Sähkötekniikan korkeakoulu Syksy 2015 Sisältö Yleistä Minimaalinen suomenkielinen esimerkki Tärkeimmät yksityiskohdat

Lisätiedot

Luento 3. Timo Savola. 7. huhtikuuta 2006

Luento 3. Timo Savola. 7. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 3 Timo Savola 7. huhtikuuta 2006 Osa I Käyttöoikeudet Käyttöoikeudet Monen käyttäjän järjestelmä Prosessit kuuluvat eri käyttäjille Tiedostot kuuluvat

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux 2009-01-19 Lähtökohdat Mikä Linux? Linux on Ilmainen Unix-tyylinen käyttöjärjestelmä Perusajatuksena lähdekoodin vapaus (=ilmaisuus, luotettavuus,

Lisätiedot

Kieliteknologian ATK-ympäristö Toinen luento

Kieliteknologian ATK-ympäristö Toinen luento Kieliteknologian ATK-ympäristö Toinen luento Miikka Silfverberg Nykykielten laitos 12. syyskuuta 2011 Miikka Silfverberg (Helsingin yliopisto) Kieliteknologian ATK-ympäristö: Luento 2 12. syyskuuta 2011

Lisätiedot

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

SCI- A0000: Tutustuminen Linuxiin, syksy 2015 SCI- A0000: Tutustuminen Linuxiin, syksy 2015 Sisältö SCI- A0000: Tutustuminen Linuxiin, syksy 2015... 1 1. Mikä Linux?... 1 2. Linuxin käyttö graafisesti... 1 3. Pari sanaa komentorivistä... 2 4. Kalapankki...

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

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

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

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 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

Julkaiseminen verkossa

Julkaiseminen verkossa Julkaiseminen verkossa H9T1: Tiedostojen vienti internetiin Yliopiston www-palvelin, kielo Unix käyttöjärjestelmästä hakemistorakenne etäyhteyden ottaminen unix-koneeseen (pääteyhteys) komentopohjainen

Lisätiedot

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

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

1. HARJOITUS harjoitus3_korjaus.doc

1. HARJOITUS harjoitus3_korjaus.doc Word - harjoitus 1 1. HARJOITUS harjoitus3_korjaus.doc Kopioi itsellesi harjoitus3_korjaus.doc niminen tiedosto Avaa näyttöön kopioimasi harjoitus. Harjoitus on kirjoitettu WordPerfet 5.1 (DOS) versiolla

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

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

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

linux: koneelta toiselle

linux: koneelta toiselle L8: linux linux: arkistointi tar liittää useampia tiedostoja yhteen samaan arkistoon (engl. archive) Esimerkki 1 tar cvf arkisto.tar *.DAT luo arkiston arkisto.tar, joka sisältää kaikki.dat loppuiset tiedostot

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

Lisätiedot

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto Opiskelijan pikaopas STACK-tehtäviin Lassi Korhonen, Oulun yliopisto 21.3.2016 SISÄLLYSLUETTELO Oppaan käyttäminen... 2 Vastauksen syöttämisen perusteet... 2 Operaatiot... 2 Luvut ja vakiot... 3 Funktiot...

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

Komentotulkki. Kysymyksiä

Komentotulkki. Kysymyksiä Komentotulkki Komentotulkki ja avustustoiminnot Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Miten työskentelen komentotulkilla? 2. Miten komennot annetaan ja käsitellään?

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

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

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014 12. syyskuuta 2014 IDL - Interactive Data Language IDL on tulkattava ohjelmointikieli, jonka vahvuuksia ovat: Yksinkertainen, johdonmukainen komentosyntaksi. Voidaan käyttää interaktiivisesti, tai rakentamalla

Lisätiedot

Perusohje vi-editorin käyttöön

Perusohje vi-editorin käyttöön Perusohje vi-editorin käyttöön Aapo Rista 22.9.2000 Sisältö 1 Johdanto 1 2 vi:n komento- ja kirjoitustilat 2 3 vi:n käynnistäminen ja siitä poistuminen 2 4 Liikkuminen tekstissä 3 5 Merkkien lisääminen

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

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen

Lisätiedot

Unix. Markus Norrena

Unix. Markus Norrena Unix Markus Norrena Kotitehtävä 1 Mikä on Unix? Kirjoittakaa lyhyesti 10 asiaa (väittämää) mitä Unix on, tai mitä Unix ei ole. Tehtävän 2. osa: Edellisen perusteella ryhmätyö jolla laajennatte Unix-tietämystänne

Lisätiedot

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

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU Johdatus laskennalliseen kemiaan, Harjoitus 1 Harjoituksen tavoitteet ovat - Tutustua ab initio -laskuissa käytettävään laskentaympäristöön - Oppia ottamaan tietokoneluokan koneelta yhteys laskentakoneelle

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

Versionhallinta MIKSI?

Versionhallinta MIKSI? Versionhallinta MIKSI? Versionhallinta Miten jakaa tiedostot ihmisten kesken? Miten pitää tiedostot ajan tasalla? Miten hoitaa päällekkäiset muutokset samaan tiedostoon? Miten muistaa, mitä on tehty? Miten

Lisätiedot

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.) 6. Tekstin muokkaaminen 6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.) Tekstin maalaaminen onnistuu vetämällä hiirellä haluamansa tekstialueen yli (eli osoita hiiren

Lisätiedot

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

Tähtitieteen käytännön menetelmiä: I

Tähtitieteen käytännön menetelmiä: I Kevät 2011 1- Johdanto Luennot Luennoija lauri.jetsu@helsinki.fi Yleistä Paikka: Physicum D211 Maanantaisin kello 10.15-12.00: 17.1-2.5.2011 Aikataulun muutokset ilmoitetaan luennoilla ja kurssin kotisivulla.

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

UpdateIT 2010: Uutisten päivitys

UpdateIT 2010: Uutisten päivitys UpdateIT 2010: Uutisten päivitys Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com 2 Sisällys Uutisen lisääminen... 1

Lisätiedot

Harjoitus 10: Mathematica

Harjoitus 10: Mathematica Harjoitus 10: Mathematica Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Mathematica-ohjelmistoon Mathematican

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

PIKAOHJE Web of Science tietokantojen käyttöön

PIKAOHJE Web of Science tietokantojen käyttöön PIKAOHJE Web of Science tietokantojen käyttöön SCIENCE CITATION INDEX Monitieteinen tietokanta, joka sisältää biologian, lääketieteen ja psykiatrian alalta n. 7100 lehteä SOCIAL SCIENCES CITATION INDEX

Lisätiedot

Korpusten käsittely clt131, P Luento 4

Korpusten käsittely clt131, P Luento 4 Korpusten käsittely clt131, P2 2006 Luento 4 Nicholas Volk 24.11.2006 Humanistinen tiedekunta Säännölliset lausekkeet: ryhmittely Sulkujen avulla voidaan osoittaa määrällistäjille

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 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

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

Lisätiedot

UpdateIT 2010: Editorin käyttöohje

UpdateIT 2010: Editorin käyttöohje UpdateIT 2010: Editorin käyttöohje Käyttäjätuki: Suomen Golfpiste Oy Esterinportti 1 00240 HELSINKI Puhelin: (09) 1566 8800 Fax: (09) 1566 8801 E-mail: gp@golfpiste.com Sisällys Editorin käyttöohje...

Lisätiedot

Käyttöjärjestelmämme on Windows XP, kaikki tietokoneemme ovat kytketty lähiverkkoon ja Internettiin.

Käyttöjärjestelmämme on Windows XP, kaikki tietokoneemme ovat kytketty lähiverkkoon ja Internettiin. Oulun seudun ammattikorkeakoulu Luonnonvara-alan yksikkö Jouko Karhunen Tietotekniikan peruskäyttö 2010 YLEISTÄ Käyttöjärjestelmämme on Windows XP, kaikki tietokoneemme ovat kytketty lähiverkkoon ja Internettiin.

Lisätiedot

L9: Rayleigh testi. Laskuharjoitus

L9: Rayleigh testi. Laskuharjoitus L9: Rayleigh testi Laskuharjoitus Data on tiedoston H7binput.dat 1. sarake: t = t i Ajan hetket ovat t = t 1, t 2,..., t n, missä n n = 528 Laske ja plottaa välillä f min = 1/P max ja f max = 1/P min z(f

Lisätiedot

Johdatus ohjelmointiin

Johdatus ohjelmointiin Johdatus ohjelmointiin EXAM tentin liitetiedostojen lataaminen, käyttäminen ja palauttaminen Kerro mahdolliset puutteet tai parannusehdotukset: pietari.heino@tut.fi Tällä sivulla on selitetty lyhyesti

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

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Octave-opas. Mikä on Octave ja miksi? Asennus

Octave-opas. Mikä on Octave ja miksi? Asennus Octave-opas Mikä on Octave ja miksi? Asennus Käynnistys ja käyttöliittymä Komennot tiedostojen hallintaan SciTE-editor.m-tiedostot Ohjeita muualla Mikä on Octave ja miksi? Octave on numeeriseen laskentaan

Lisätiedot

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu... Tärkeimmät toiminnot Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta Kun hiiren jättää kuvakkeen päälle vähäksi ajaksi Word selittää toiminnon Avaa tiedosto Tallenna Kumoa, nuolesta aiemmat

Lisätiedot

Web of ScienceTM Core Collection (1987-present)

Web of ScienceTM Core Collection (1987-present) Tampereen yliopiston kirjasto 2014 Web of ScienceTM Core Collection (1987-present) Science Citation Index Expanded (1987-present): Monitieteinen tietokanta, joka sisältää 8,500 tieteellistä lehteä luonnontieteiden,

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

Ylläpitoalue - Etusivu

Ylläpitoalue - Etusivu Crasmanager 5.2 Ylläpitoalue - Etusivu Sivut osiossa sisällön selaus ja perussivujen ylläpito. Tietokannat osiossa tietokantojen ylläpito. Tiedostot osiossa kuvien ja liitetiedostojen hallinta. Työkalut

Lisätiedot

Luento 2. Timo Savola. 31. maaliskuuta 2006

Luento 2. Timo Savola. 31. maaliskuuta 2006 UNIX-käyttöjärjestelmä Luento 2 Timo Savola 31. maaliskuuta 2006 Osa I Prosessit Prosessien hierarkia Jokaisella prosessilla on numero (process ID, pid) Jokaisella prosessilla on

Lisätiedot

Kappale 18: Teksti-editori

Kappale 18: Teksti-editori Kappale 18: Teksti-editori 18 Johdanto: Tekstitoiminnot... 304 Text-editori-istunnon aloittaminen... 305 Tekstin syöttäminen ja muokkaaminen... 307 Erikoismerkkien syöttäminen... 311 Komentokielisen ohjelman

Lisätiedot

Sangen lyhyt L A T E X-johdatus

Sangen lyhyt L A T E X-johdatus Sangen lyhyt L A T E X-johdatus Lari Koponen ja Eetu Ahonen 23.1.2013 Koulutuksen tavoitteet Koulutuksen jälkeen pystyy kirjoittamaan työselostuksen L A T E X:illa, eli Dokumentin rakenne tutuksi Tekstin

Lisätiedot

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet Unix-perusteet Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet Mikä on unix? Monen käyttäjän käyttöjärjestelmä Siis monta käyttäjää ja monta ohjelmaa jokaisella Kaikkiin koneisiin mikrosta supertietokoneeseen

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Muuttujien roolit Kiintoarvo cin >> r;

Muuttujien roolit Kiintoarvo cin >> r; Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

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 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 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

Matriiseista. Emmi Koljonen

Matriiseista. Emmi Koljonen Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.

Lisätiedot

Ohjeet asiakirjan lisäämiseen arkistoon

Ohjeet asiakirjan lisäämiseen arkistoon Ohjeet asiakirjan lisäämiseen arkistoon 1. Jos koneellesi ei vielä ole asennettu Open Office ohjelmaa, voit ladata sen linkistä joka löytyy Arkisto => Asiakirjapohjat sivulta seuran kotisivuilta. Jos ohjelma

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI Aulikki Hyrskykari & Juhani Linna LUENTO 3 11.9.2018 TÄMÄ VIIKKO o o Ensimmäinen vertaisarvioinnin määrä-aika umpeutui eilen arviointiin saa lisä-aikaa,

Lisätiedot

Johdatus L A TEXiin. Dept. of Mathematical Sciences. Tunti 1: Alkeet. Markus Harju, markus.harju at oulu.fi, M207

Johdatus L A TEXiin. Dept. of Mathematical Sciences. Tunti 1: Alkeet. Markus Harju, markus.harju at oulu.fi, M207 Johdatus L A TEXiin Tunti 1: Alkeet Markus Harju, markus.harju at oulu.fi, M207 Dept. of Mathematical Sciences Kurssista Tarkoitus: johdattaa opiskelija L A TEX-ladontaohjelman käyttöön, jotta hän kykenee

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

http://www.microsoft.com/expression/

http://www.microsoft.com/expression/ Verkkojulkaisuharjoitus1 TAVOITE Harjoituksen tarkoituksena on opiskella käyttämään verkkojulkaisueditoria (Microsoft Expression Web) ja käynnistämään verkkosivu internetissä. VERKKOSIVUEDITORIN KÄYTTÖOHJEITA

Lisätiedot

Uuden Peda.netin käyttöönotto

Uuden Peda.netin käyttöönotto Sisällysluettelo Uuden Peda.netin käyttöönotto...2 Sisään- ja uloskirjautuminen...2 OmaTila...3 Peda.netin yleisrakenne...4 Työvälineet - Sivut...5 Sivun lisääminen omaan profiiliin:...5 Sivun poistaminen

Lisätiedot

SSH Secure Shell & SSH File Transfer

SSH Secure Shell & SSH File Transfer SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot