Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ohjelmointia teknisille viestijöille

Samankaltaiset esitykset


Esitys aiheesta: "Ohjelmointia teknisille viestijöille"— Esityksen transkriptio:

1 Ohjelmointia teknisille viestijöille
Tekninen viestintä Ohjelmointia teknisille viestijöille

2 Tekninen viestintä 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ä Toimialoista ohjelmistotuotanto (43%) sekä koneet ja laitteet (27%) ovat suurimpia teknisten viestijöiden työllistäjiä (vrt. Carliner 2009). Ehkä hieman yllättäenkin 84% vastanneista työskentelee vakituisessa työsuhteessa. Toinen yllättävä piirre on se, että vastanneiden enemmistö (54%) keskittyy edelleen työssään sisällöntuotantoon; pitkä- kään työkokemus ei siis näyttäisi takaavan uralla etenemistä. [Virtaluoto, Jenni: Tekninen viestintä murroksessa: mahdollisuuksia ja haasteita]

4 MIKSI? Kun ymmärtää ohjelmoitaessa käytettäviä ajatusmalleja, voi ymmärtää myös insinöörien aivoituksia – kulttuurien väliset kuilut kaventuvat Automatisointiajattelu (“computational thinking”) antaa hyvät eväät kaikentyyppiseen ongelmanratkaisuun

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ä 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: Tekstin tulostaminen 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 Ensiaskeleet Pythonin parissa
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ä 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" >>> <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: 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ä NUMEROIDEN KÄSITTELY

34 NUMEROT Laskutoimituksissa käytetään (ainakin osin) tuttuja operaattoreita: yhteenlasku 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 * ) >>> 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 Help > The Python standard library

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) Help > The Python standard library

40 MODUULIT Moduulin tarjoamia funktioita käytetään pistenotaation avulla
Ensin ohjelmalle kerrotaan mistä moduulista haluat poimia funktion ja pisteen jälkeen ilmoitetaan haluttu funktio ja sen parametrit import random import math random.randint(1,10) >>> 7 Help > The Python standard library

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: Kirjoita ohjelma, jossa on muuttuja a, jonka arvo on plus 2321 on muuttuja b, jonka arvo on 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ä 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"

51 TEKSTIEN YHDISTÄMINEN
Jos yhdistettäviä tekstinpätkiä ja muunnettavia numeroita on useita, kannattaa teksti muodostaa format()-funktion avulla format()-funktio ei muokkaa alkuperäistä merkkijonoa, vaan palauttaa muotoillun merkkijonon. Palautuva arvo tulee ottaa talteen sopivaan muuttujaan. tekstiA = "Pala tekstiä" numeroA = 4 yhdistelma = "Tähän tekstiä: {}, tähän numero {}" tuloste = yhdistelma.format(tekstiA, numeroA) print (tuloste) >>> "Tähän tekstiä: Pala tekstiä, tähän numero 4"

52 MINIPROJEKTI: KÄYTTÄJÄN HAASTATTELEMINEN
Rakennetaan ohjelma, joka kysyy käyttäjältä muutamia tietoja ja tulostaa sen jälkeen käyttäjälle mukautetun viestin Käyttäjän tietojen kysymiseen käytetään input()-funktiota ja tiedot tallennetaan sopiviin muuttujiin

53 HARJOITUS: TEKSTIN KÄSITTELY
Laadi ohjelma jossa on kolme muuttujaa: alku, jonka arvo on ”Minun nimeni on <nimi> ja olen ” ika, jonka arvo on ikä numeromuodossa loppu, jonka arvo on ” vuotta vanha” Laadi lisäksi muuttuja tuloste, johon yhdistät luomasi kolme muuttujaa ja tulosta muuttujan sisältö ruudulle. Esimerkiksi: ”Minun nimeni on Jaana-Petteri ja olen 22 vuotta vanha”

54 HARJOITUS: TEKSTIN KÄSITTELY
Laadi ohjelma jossa on kolme muuttujaa: nimi, jonka arvo on nimesi ika, jonka arvo on ikäsi numeromuodossa kaupunki, jonka arvo on kotikaupunkisi Laadi lisäksi muuttujat viesti ja tuloste. Tallenna toiseen muuttujaan tulostettavan viestin pohja ja toiseen tulostettava lause format()-funktion avulla. Tulostuvan lauseen tulee olla seuraavanlainen: ”Minun nimeni on Jaana-Petteri. Olen 22-vuotias, kotikaupunkini on Kokkola ja pidän Pythonista yli kaiken.” Tulosta lause ruudulle.

55 TEKSTIFUNKTIOT Tekstejä voi muokata Pythonissa erilaisten tekstifunktioiden avulla Tekstifunktiot eivät tee muutoksia alkuperäiseen tekstiin, vaan palauttavat funktion mukaisen arvon Funktion palauttaman arvon voi tallentaa esim. alkuperäisen muuttujan uudeksi arvoksi

56 TEKSTIFUNKTIOT teksti = "hyvää joulua" teksti.upper() # palauttaa arvon "HYVÄÄ JOULUA" teksti.lower() # palauttaa arvon "hyvää joulua" teksti.title() # palauttaa arvon "Hyvää Joulua" teksti.capitalize() # palauttaa arvon "Hyvää joulua" # Muita funktioita: teksti.islower(), teksti.isupper(), teksti.isalpha(), teksti.isdigit(), teksti.isalnum() Huom! teksti.isalpha() palauttaa arvon epätosi, jos merkkijonossa on välilyönti.

57 TEKSTIFUNKTIOT strip()-, lstrip(), ja rstrip() –funktioilla merkkijonon sisällöstä voi poistaa tiettyjä merkkejä a = "===== Hyvää uutta vuotta =====" a.strip("=") >>> Hyvää uutta vuotta a.lstrip("=") >>> Hyvää uutta vuotta ===== a.rstrip("=") >>> ===== Hyvää uutta vuotta a.strip() # poistaa ylimääräiset välilyönnit merkkijonon oikealta puolelta

58 TEKSTIFUNKTIOT index()- ja find() –funktioilla voi hakea merkkijonon sisällöstä tiettyä tai tiettyjä merkkejä Palautuva numero viittaa haetun tekstikohdan järjestysnumeroon merkkijonossa a = "Hyvää uutta vuotta" a.index("ä") >>> 3 a.index("vuota") >>> ValueError a.find("uutta") >>> 6 a.find("kuutta") >>> -1

59 TEKSTI JA SARJAT Erilaiset sarjat (sequence) ovat olennainen osa Pythonia, ja kielessä on monia tapoja tarkastella sarjoja Myös teksti, eli merkkijonot, ovat Pythonissa sarjoja len()-funktio kertoo sarjan pituuden: print (len("avaruusalus"))

60 SARJOJEN NUMEROINTI 1 2 3 4 5 6 7 8 E S I M R K -9 -8 -7 -6 -5 -4 -3 -2 -1 Sarjat numeroidaan Pythonissa positiivisella ja negatiivisella järjestysnumerolla. Positiivinen numerointi alkaa numerosta 0 ja negatiivinen numerosta -1 Sanan "Esimerkki" r-kirjain voidaan lukea järjestysluvuilla [5] ja [-4]

61 TEKSTI JA SARJAT Sarjoja ei tarvitse käydä läpi kokonaisuudessaan, vaan yksittäisiä sarjojen elementtejä on mahdollista tarkastella sijanumeron perusteella: Koska sarjojen numerointi alkaa nollasta, ylläolevissa esimerkeissä tulostuu kirjain "p" sana = "Sähköporakone" print (sana[5]) print("tekstinpätkä"[7])

62 muuttuja[alku:loppu:askel]
PALA SARJAA Sarjoista voi lukea myös pieniä palasia kerrallaan järjestysnumeroiden avulla Alku: Ensimmäinen tarkasteltava merkki Loppu: Merkki, jota ennen tarkastelu loppuu Askel: Montako merkkiä eteenpäin siirrytään kun vuorossa ollut merkki on käsitelty muuttuja[alku:loppu:askel]

63 PALA SARJAA Esimerkiksi: sana = "Ananasakäämä" sana[0:6:1]
>>> Aaaa

64 PALA SARJAA Merkkijonoja voi lukea myös tietystä merkistä sen loppuun asti, alusta tiettyyn merkkiin asti: sana = "Ananasakäämä" print (sana[3::1]) >>> nasakäämä print(sana[:7:1]) >>> Ananasa

65 HARJOITUS: TEKSTIFUNKTIOT JA SARJAT
Tee megavisa osoitteessa:


Lataa ppt "Ohjelmointia teknisille viestijöille"

Samankaltaiset esitykset


Iklan oleh Google