1 / 65

Ohjelmointia teknisille viestijöille

Tekninen viestintä 12.02.2013. Ohjelmointia teknisille viestijöille. Tekninen viestintä 12.02.2013. Miksi?. MIKSI?. Koodia on kaikkialla niin autoissa, pesukoneissa kuin netin kautta ohjattavissa kahvinkeittimissä

pcarr
Download Presentation

Ohjelmointia teknisille viestijöille

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tekninen viestintä12.02.2013 Ohjelmointia teknisille viestijöille

  2. Tekninen viestintä12.02.2013 Miksi?

  3. MIKSI? • Koodia on kaikkialla niin autoissa, pesukoneissa kuin netin kautta ohjattavissa kahvinkeittimissä • Monet tuotteet, joita tekniset kirjoittajat kohtaavat, toimivat jonkin ohjelmakoodin perusteella • Tuotteisiin tutustuminen on helpompaa jos ymmärtää niiden toimintalogiikkaa pintaa syvemmältä

  4. MIKSI? • Kunymmärtääohjelmoitaessakäytettäviäajatusmalleja, voiymmärtäämyösinsinöörienaivoituksia – kulttuurienvälisetkuilutkaventuvat • Automatisointiajattelu (“computational thinking”) antaahyväteväätkaikentyyppiseenongelmanratkaisuun

  5. MIKSI? • Teknisen kirjoittajan työ ei ole silkkaa glamouria, vaan sisältää monesti itseään toistavia työvaiheita • Parilla harkitulla koodirivillä voi säästää useita minuutteja päivittäistä työaikaa, joskus jopa tunteja • Jos pitää ongelmanratkaisusta ja päättelytehtävistä, ohjelmointi voi olla myös hauskaa(!)

  6. Tekninen viestintä12.02.2013 Kurssin sisältö

  7. MITÄ KURSSILLA OPITAAN? • Ohjelmoinnin peruskäsitteitä • Perustason ohjelmointia • Automatisointiajattelua - minkälaisia tehtäviä kannattaa ulkoistaa tietokoneelle ja kuinka se tapahtuu

  8. MUUTTUJAT • Muuttujat ovat jokaisen ohjelmointikielen peruselementti • Muuttujat toimivat kuin muuttolaatikot – ne voi sulloa täyteen tavaraa ja kirjoittaa päälle virtuaalitussilla mitä laatikossa on

  9. NUMEROIDEN KÄSITTELY • Numeroiden pyörittely ja laskutoimitusten suorittaminen sujuu Pythonilla kuin tanssi, kun apuna käyttää muuttujia • Tutustutaan pikaisesti kuinka Pythonia voi käyttää laskutehtävien ratkomiseen

  10. TEKSTIN KÄSITTELY • Tekstin avulla käyttäjälle voi kertoa ohjelman toiminnasta ja käyttäjä voi syöttää tekstiä ohjelman käsiteltäväksi • Perehdytään siihen kuinka Pythonilla voi käsitellä ja luoda tekstiä

  11. OHJAUSRAKENTEET • Harva ohjelma toimii joka tilanteessa samalla tavalla • Ohjausrakenteiden avulla ohjelmat saadaan toimimaan eri tavoilla käyttäjältä saadun palautteen tai käsiteltävän materiaalin piirteiden perusteella

  12. TIETORAKENTEET • Tietokoneet pystyvät lukemaan laajoja tietomääriä nopeasti • Jotta tietomassat saisi järjestykseen ja helposti ihmisten tulkittavaan muotoon, kannattaa tieto järjestellä Pythonin sisäänrakennettuihin tietorakenteisiin

  13. SILMUKAT • Useimpien asioiden jatkuva toistaminen on tylsää, joten ne kannattaa automatisoida silmukoiden avulla • Pythonin silmukkarakenteiden avulla asioiden toistaminen on helppoa ja hauskaa

  14. FUNKTIOT • Funktiot (eli proseduurit, eli metodit) ovat itsenäisiä ohjelman osia, jotka suorittavat jonkun tietyn tehtävän • Funktiot säästävät aikaa ja vaivaa. Funktiot mahdollistavat sen, että voit määrittää useasti tarvitsemasi ohjelman osan kerran ja käyttää sitä aina tarvittaessa kutsumalla luomaasi funktiota

  15. FUNKTIOT • Sen lisäksi, että funktioita voi määrittää itse, Pythonissa on lukuisia valmiita funktioita eri tarkoituksiin: • Tekstintulostaminen ja muotoilu • Tiedostojen käsittely • Matemaattiset funktiot • Satunnaislukujen luominen • Sarjojen luominen

  16. TIEDOSTOJEN KÄSITTELY • Pythonilla voit luoda, lukea ja muokata tekstitiedostoja • Pythonin avulla voit myös kopioida, siirtää ja poistaa tiedostoja ja käsitellä pakattuja tiedostoja Pythonilla • Python tarjoaa myös moduuleja, koodikirjastoja, joiden avulla voit käsitellä esim. XML-tiedostoja

  17. OLIO-OHJELMOINTI • Jos aikaa riittää, tutustutaan olio-ohjelmoinnin perusteisiin; mitä oliot ovat ja mitä iloa niistä on ihmiselle

  18. KÄYTÄNTÖJÄ • Ohjelmointikieliä – kuten kieliä yleensä – oppii parhaiten käyttämällä niitä aktiivisesti • Kurssilla pyritään taustoittamaan asiat teorialla ja testaamaan teoriaa heti käytännössä

  19. KÄYTÄNTÖJÄ • Ohjelmointia jo osaaville on tarjolla kaksi vaihtoehtoa: • Laadi lopputyö ja siihen liittyvä dokumentaatio, ja kerää suoritusmerkintä • Seuraa kurssia ja Sivuraidetta™. Sivuraiteella voit tutustua XSLT:n alkeisiin ja nähdä miten XML-dokumentteja voi muokata eri muotoihin tehokkaasti

  20. Johdanto Ensiaskeleet Pythonin parissa

  21. PYTHON! • Kurssilla käytetään Python-ohjelmointikieltä • Lähdekoodi avointa • Kehitetty vuodesta 1991 • Helppoa ja hauskaa!

  22. PYTHON! • Laadukas, suosittu, johdonmukainen ja monipuolinen kieli • Suunniteltu helppokäyttöiseksi ja selkeäksi • Yksinkertainen syntaksi. Kielen perusteet on helppo oppia ja muistaa • Verkossa paljon aloittelijoille sopivaa opetusmateriaalia

  23. PYTHON JA IDLE • Pythonia käytetään kurssilla pääasiassa IDLE-kehitysympäristön kautta • IDLEä käytettäessä komentoja voi kirjoittaa suoraan komentotulkkiin tai erillisiin tiedostoihin IDLEn tekstieditorilla

  24. PYTHON JA IDLE • Erillisiin tiedostoihin tallennettuja Python-skriptejä voi kopioida toisille tietokoneille ja käyttää siellä • Python-tiedostojen nimissä isot ja pienet kirjaimet ovat merkityksellisiä ja tiedostopäätteen tulee olla .py

  25. PYTHON JA IDLE • Tekstieditorilla tuotetut ohjelmat on helppo testata IDLEn komentotulkissa • Jos suoritettavassa tiedostossa on virheitä, IDLE huomauttaa niistä ja kertoo virheen sijainnin

  26. PYTHON JA IDLE • Tekstieditorilla laaditut komennot eivät automaattisesti kirjoita mitään komentotulkkiin • Komentotulkkiin voi tulostaa tekstiä tai numeroita print()-funktion avulla

  27. Tekninen viestintä12.02.2013 Muuttujat

  28. MITÄ MUUTTUJAT OVAT? • Muuttujat ovat kuin laatikoita – niihin voi varastoida tietoa ja kirjoittaa päälle nimen joka kertoo mitä muuttujaan on varastoitu • Tallennettuun arvoon pääsee tämän jälkeen käsiksi nimen avulla numeroYksi = 1 toivepalkka = 6000

  29. MITÄ MUUTTUJAT OVAT? • Pythonin muuttujat ovat dynaamisesti tyypitettyjä. • Kun käyttäjä luo muuttujan, sen tyyppiä ei tarvitse määrittää – komentotulkki päättelee muuttujan tyypin ohjelmaa suoritettaessa • Tyypin voi myös tarkastaa type()-funktion avulla numeroYksi = 1 toivepalkka = 6000 type(numeroYksi) >>> <class 'int'> numeroYksi = "Yksi" type(numeroYksi) >>> <class 'str'>

  30. MITÄ MUUTTUJAT OVAT? • Muuttujien nimet kannattaa valita huolella • Hyvästä muuttujan nimestä täytyy pystyä päättelemään millaista tietoa muuttujaan on tallennettu • Muuttujien nimissä: • Ensimmäinen kirjain ei saa olla numero • Ei saa käyttää välilyöntejä • Isot ja pienet kirjaimet ovat merkityksellisiä

  31. MITÄ MUUTTUJAT OVAT? • Muuttujille voi tallentaa arvoja myös toisten muuttujien avulla • Python tarkastaa aluksi toisten muuttujien arvot ja tallentaa sitten esim. yhteissumman uuden muuttujan arvoksi eka = 35 toka = 7 yhteensa = eka + toka print(yhteensa) >>> 42

  32. HARJOITUS: MUUTTUJAT • Tee megavisa osoitteessa: https://goo.gl/forms/OQZCZOjysi5e0sWs2 • Kirjoita ohjelma: • Jossa on kolme muuttujaa; kahdessa ensimmäisessä muuttujassa on molemmissa numero ja kolmannen muuttujan arvo on kahden ensimmäisen muuttujan summa • Joka tulostaa kolmannen muuttujan arvon print()-funktion avulla

  33. Tekninen viestintä12.02.2013 NUMEROIDEN KÄSITTELY

  34. NUMEROT • Laskutoimituksissa käytetään (ainakin osin) tuttuja operaattoreita: • 3 + 2 yhteenlasku • 5 - 2 vähennyslasku • 5 * 11 kertolasku • 16 / 2 jakolasku • 9 % 2 jakojäännös

  35. NUMEROT • Pythonissa käytetään kahta eri numerotyyppiä, kokonaislukuja (int, integer) ja desimaalilukuja (float) • Desimaaliluvut ovat tarkempia ja vievät siten enemmän muistia

  36. NUMEROT • Laskujärjestyksen voi määrittää tai sitä voi tarkentaa suluilla: print(8 + 8 * 3 + 2 + 9) >>> 43 print ( (8 + 8) * (3 + 2) + 9 ) >>> 89

  37. MODUULIT • Tavallisten laskutoimitusten suorittamiseen tarvittavien työkalujen lisäksi Pythoniin sisältyy monia muita lukujen käsittelyyn tarvittavia työkaluja • Monet näistä työkaluista on koottu omiksi moduuleiksi, joita voi tuoda osaksi omia ohjelmia

  38. MODUULIT • Moduulit sisältävät aina jonkun tietyn erityisalueen käsittelyyn tarvittavia funktioita • Moduuleja voi tuoda osaksi omaa ohjelmaa import-komennon avulla import random import math

  39. MODUULIT • Kun moduuli on tuotu ohjelmaan, voit hakea tietoa siitä dir()-ja help()-funktioilla • dir() listaa käytettävissä olevat funktiot ja attribuutit, help() kertoo kattavammin näistä ja niiden käytöstä import random import math help(random) dir(random)

  40. MODUULIT • Moduulintarjoamiafunktioitakäytetäänpistenotaationavulla • Ensinohjelmallekerrotaanmistämoduulistahaluatpoimiafunktionjapisteenjälkeenilmoitetaanhaluttufunktiojasenparametrit import random import math random.randint(1,10) >>> 7

  41. MINIPROJEKTI: PALKANKOROTUSAUTOMAATTI • Johtaja Mahamies on kyllästynyt miettimään kuinka suuren palkankorotuksen hän myöntää alaisilleen • Rakennetaan johtajalle ohjelma, joka arpoo alaiselle korotuksen ja tulostaa uuden palkan ruudulle

  42. HARJOITUS: NUMEROT • Tee megavisa osoitteessa: https://goo.gl/forms/mqKMUQdfSq7zuOD93 • Kirjoita ohjelma, jossa • on muuttuja a, jonka arvo on 25432 plus 2321 • on muuttuja b, jonka arvo on 524288 jaettuna 64:llä • on muuttuja c, jonka arvo on jakojäännös kun 4096 jaetaan kolmella • on muuttuja d, jonka arvo on muuttuja b plus muuttuja c • korvaat muuttujan a arvon muuttujan d arvolla • tulostat lopuksi muuttujan a arvon

  43. Tekninen viestintä12.02.2013 TEKSTIN KÄSITTELY

  44. TEKSTI PYTHONISSA • Teksti esitetään Pythonissa merkkijonoina • Merkkijono määritetään käyttämällä lainaus- tai puolilainausmerkkejä: "Katkarapu" lause = "Tämä on merkkijono" toinenLause = 'Tämäkin vielä'

  45. Merkkijonon merkitseminen • Merkkijono täytyy aloittaa ja päättää samantyyppisellä lainausmerkillä: • Jos tulostettavassa lauseessa on puolilainausmerkki, voidaan lause ympäröidä lainausmerkein ja päinvastoin: "Ei näin' "I'll Be Back" '"I am so happy for you", she said'

  46. TEKSTI PYTHONISSA • Usean rivin mittaisia merkkijonoja – eli merkkijonoja joissa on rivinvaihtoja – merkitään kolmella lainausmerkillä: • """Kolmea lainausmerkkiä käytettäessä merkkijonoon voi myös huoletta "lisätä" lainausmerkkejä 'tai' puolilainausmerkkejä!"""

  47. TEKSTI PYTHONISSA • Tekstin tulostaminen onnistuu print()-funktion avulla: • tulosta = "Tulostettava tekstinpätkä" • print (tulosta) • print("Tulosta tämäkin")

  48. KOMMENTIT PYTHONISSA • Python-skripteihin voi tallentaa kommentteja • Kommentit kuvaavat ohjelman toimintaa, eikä Python käsittele kommentteja kun ohjelmaa suoritetaan • # Luodaan muuttuja "tulosta" • tulosta = "Tulostettava tekstinpätkä" • # Tulostetaan muuttujan arvo • print (tulosta)

  49. TEKSTIEN YHDISTÄMINEN • Tekstiä ja muitakin keskenään samantyyppisiä tietoja voi yhdistää toisiinsa + -operaattorin avulla • Tekstin toistaminen useaan kertaan onnistuu puolestaan * -operaattorin avulla tekstiA = "Pala tekstiä" tekstiB = "Toinen pala" print (tekstiA + tekstiB) >>> "Pala tekstiäToinen pala"

  50. TEKSTIEN YHDISTÄMINEN • Tekstiä ja numeroita ei voi suoraan yhdistää toisiinsa • Yksi tapa tekstin ja numeroiden yhdistämiseen on numeroiden muuntaminen merkkijonoksi str()-funktion avulla tekstiA = "Pala tekstiä" numeroA = 4 yhdistelma = tekstiA + str(numeroA) print (yhdistelma) >>> "Pala tekstiä4"

More Related