Ohjelmoinnin peruskurssi Y1
|
|
- Auvo Saaristo
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmoinnin peruskurssi Y1 CSE-A CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
2 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute. Tätä kautta on mahdollisuus antaa nimettömänä palautetta luennosta. Jos jokin asia on jäänyt palautteen perusteella epäselväksi, palataan siihen mahdollisuuksien mukaan seuraavalla luennolla. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
3 Oppimistavoitteet: tämän luennon jälkeen Tiedät, millaisia vaiheita ohjelman suunnittelussa ja kirjoittamisessa on. Sinulla on käsitys niistä periaatteista, joiden mukaan ohjelman rakennetta voi suunnitella. Sinulla on peruskäsitys siitä, mitä hyvällä ohjelmointityylillä tarkoitetaan ja miksi sen käyttäminen on tärkeää. Osaat käsitellä ohjelmassa erilaisia virhetilanteita niin, että ohjelma ei kaadu esimerkiksi silloin, jos käyttäjä antaa pyydetyn luvun sijasta tekstiä. Tiedät, miten ohjelman käsitelemää tietoa voi säilyttää ohjelman suorituskerrasta toiseen käyttämällä hyväksi tiedostoja. Osaat kirjoittaa ohjelman, joka lukee rivejä tekstitiedostosta ja tekee luetuille riveille haluttuja asioita. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
4 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman käyttämät tietorakenteet) 3. Koodaus ohjelmointikielelle 4. Testaus (rinnakkain koodauksen kanssa) 5. Käyttöönotto 6. Ylläpito CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
5 Suunnittelu: mitä funktioita ja tietorakenteita ohjelmaan tulee? Kirjoita kuvaus ohjelman toiminnasta. Millaisista osatehtävistä ohjelman toiminta koostuu? Yleensä kutakin osatehtävää varten kirjoitetaan oma funktio. Aloita ohjelman tärkeimmistä osatehtävistä ja tarkenna sitten näiden toimintaa. Tällöin saattaa osoittautua tarpeelliseksi määritellä uusia osatehtäviä. Lisäksi on mietittävä, mitä tietoja funktio tarvitsee muulta ohjelmalta (parametrit) ja mitä tietoja se tuottaa muulle ohjelmalle (paluuarvot). Huomaa: tämä lähestymistapa ei sovi olio-ohjelmointiin. Tietorakenteet: Mieti, mitä tietoa ohjelma joutuu käsittelemään ja missä muodossa se kannattaa tallentaa. Tarvitaanko esim. merkkijonoja, listoja. sanakirjoja tms. yksittäisiä lukuja esittävien muuttujien lisäksi? CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
6 Lisää funktioiden suunnittelusta Tavoitteena on se, että funktio näyttää ulkopuolelle mustalta laatikolta: funktion käyttäjän tarvitsee tietää, mitä lähtötietoja funktio tarvitsee ja mitä se palauttaa, mutta ei funktion toiminnan yksityiskohtia. Funktion sisäinen toteutus ei saa vaikuttaa muuhun ohjelmaan. Funktioiden pituus pitää suunnitella sopivaksi. Yhden rivin mittaisista käskyistä kannattaa yleensä tehdä funktioita vain silloin, jos ne laskevat jonkin matemaattisen lausekkeen arvon tai tarkastavat monimutkaisemman ehdon totuusarvon. Toisaalta liian pitkät funktiot vaikeuttavat ohjelman rakenteen ymmärtämistä. Funktion pitäisi olla loogisesti yhtenäinen kokonaisuus. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
7 Esimerkki: valikkopohjainen puhelinluettelo Laajempi puhelinluettelo-ohjelma, jossa voidaan kysyä haluttua puhelinnumeroa, lisätä uusi numeroita, muuttaa ja poistaa luettelossa jo olevia numeroita. Käyttäjälle tulostetaan valikko, joka kertoo mahdolliset toimenpiteet. Käyttäjä valitsee valikosta aina yhden toimenpiteen kerrallaan, kunnes hän lopettaa ohjelman suorituksen. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
8 Esimerkki: valikkopohjainen puhelinluettelo Laajempi puhelinluettelo-ohjelma, jossa voidaan kysyä haluttua puhelinnumeroa, lisätä uusi numeroita, muuttaa ja poistaa luettelossa jo olevia numeroita. Käyttäjälle tulostetaan valikko, joka kertoo mahdolliset toimenpiteet. Käyttäjä valitsee valikosta aina yhden toimenpiteen kerrallaan, kunnes hän lopettaa ohjelman suorituksen. Kirjoitetaan oma funktio jokaista eri toimenpidettä (numeron kysyminen, numeron lisäys, numeron muuttaminen, numeron poisto) varten. Lisäksi kirjoitetaan oma funktio, joka tulostaa käyttäjälle valikon ja pyytää käyttäjän valinnan. Se palauttaa käyttäjän valinnan. Käytettävä puhelinluettelo välitetään sitä käsitteleville funktioille parametrina. Pääohjelma sisältää toistokäskyn, joka kutsuu aina valikon tulostavaa funktiota ja sen jälkeen valitsee suoritettavan funktion käyttäjän valinnan mukaan. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
9 Hyvä ohjelmointityyli Ohjelman kirjoittamisen jälkeenkin tulee usein vastaan tilanteita, joissa ihminen (kirjoittaja itse tai joku toinen) joutuu lukemaan ohjelmakoodia, esimerkiksi Ohjelmassa havaitaan virhe, joka pitää korjata. Ohjelman toimintaa halutaan laajentaa tai muuttaa. Ohjelmaa tai sen osaa halutaan käyttää pohjana uutta ohjelmaa tehdessä. Tällöin on tärkeää, että ohjelman kirjoittamisessa on käytetty hyvää ohjelmointityyliä. Silloin ohjelmaa lukevan ihmisen on helppo saada käsitys ohjelman rakenteesta ja toiminnasta. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
10 Mitä seuraava funktio tekee? def f(t1,t2): i=0 #nollataan i x=0 #nollataan x y=len(t1) #y saa arvokseen t1:n pituuden while i<y: #jatketaan niin kauan, että i on y z=t1[i]-t2[i] #sijoitetaan erotus z:aan x+=z #lisataan z x:aan i+=1 #kasvatetaan i:ta yhdella if y>0: k=x/y #k:n arvoksi tulee x jaettuna y else: k=0.0 #nollataan k return k #palautetaan k:n arvo CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
11 Sama funktio kirjoitettuna toisin def laske_erojen_keskiarvo(lista1, lista2): i = 0 erojen_summa = 0 alkioiden_lkm = len(lista1) while i < alkioiden_lkm: alkioiden_ero = lista1[i] - lista2[i] erojen_summa += alkioiden_ero i += 1 if alkioiden_lkm > 0: keskiarvo = erojen_summa / alkioiden_lkm else: keskiarvo = 0.0 return keskiarvo Kumpaa funktiota on helpompi ymmärtää? CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
12 Hyvään ohjelmointityyliin kuuluvia asioita Ohjelman järkevä jako funktioihin. (Katso luennon alkuosan kalvot.) Kuvaavat nimet muuttujilla, parametreilla, funktioilla jne. Järkevä kommentointi. Sisennykset (tulevat Python-ohjelmissa yleensä pakosta oikein). Tyhjien tilan (tyhjät rivit ja välilyönnit) järkevä käyttö. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
13 Nimistä Muuttujat, parametrit ja funktiot on syytä nimetä niin, että ne kuvaavat mahdollisimman hyvin muuttujan tms. tarkoitusta. Esimerkiksi korkeus on paljon parempi muuttujan nimi kuin luku silloin, kun muuttujan arvoksi annetaan jonkin kappaleen korkeus. Yksikirjaimiset nimet ovat suositeltavia vain erikoistapauksissa: Toistokäskyn kierroslaskureina. Silloin, kun muuuttujan nimi on suoraan sama kuin esim. matematiikan tai fysiikan kaavassa yleisesti käytetty symboli. Muuttujien nimet on syytä kirjoittaa pienellä kirjaimella ja vakioiden nimet isolla kirjaimella. Koska tämä on yleisesti Pythonissa käytetty tapa, kertoo nimen kirjoitusasu heti lukijalle nimen merkityksestä. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
14 Kommentit Kommentit selvittävät koodin lukijalle sen rakennetta ja toimintaa. Jokaisen ohjelmatiedoston alkuun on syytä kirjoittaa yleiskommentti, jossa on mainittu ainakin ohjelman kirjoittaja ja se, mitä tiedostossa oleva ohjelma tekee. Jokaisen funktion otsikon yhteyteen on syytä kirjoittaa kommentti, joka kertoo funktion tarkoituksen, parametrien merkityksen sekä funktion palauttaman arvon. Funktioiden sisällä on syytä kommentoida vain suurempia kokonaisuuksia ja epätavallisia ratkaisuja. Jos joka rivillä on kommentti, hukkuvat olennaiset kommentit epäolennaisten ja itsestään selvien joukkoon. Älä kommentoi asioita, jotka ovat itsestään selviä jokaiselle Python-kieltä osaavalle, esim. i += 1 #i:ta kasvatetaan yhdella Sen sijaan joissain tilanteissa voi olla järkevää kommentoida, miksi i:tä kasvatetaan. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
15 Tyhjän tilan käyttö Tyhjien rivien käytöllä helpotetaan sen näkemistä, millaisiin osiin ohjelma jakautuu. Kahden funktion väliin on aina syytä jättää 1 2 tyhjää riviä. Myös pidemmän funktion sisällä voi tyhjillä riveillä selventää, millaisista osista funktio koostuu. Älä kirjoita koodia, jossa joka toinen rivi on tyhjä se vain hankaloittaa ohjelman lukemista. Erota operaattori ja operandit toisistaan välilyönnillä. Tämä helpottaa lausekkeiden hahmottamista. Myös pilkun jälkeen kannattaa yleensä kirjoittaa välilyönti. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
16 Poikkeukset Ohjelmaa suoritettaessa voidaan törmätä virhetilanteisiin. Osa virheistä johtuu ohjelmointivirheistä, mutta osaan ohjelmoija ei voi vaikuttaa (käyttäjä antaa vääräntyyppisen syötteen, ohjelman pitäisi kirjoittaa tiedostoon, mutta kovalevytila on täynnä). Virhetilanteiden käsittely if else-rakenteen avulla tekee ohjelmasta helposti sekavan. Python tarjoaa virhetilanteiden käsittelyyn oman mekanismin, poikkeukset Poikkeus voidaan käsitellä try except-rakenteen avulla. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
17 try except-rakenne try: # Jono kaskyja, joista jokin tai jotkin # voivat aiheuttaa poikkeuksen. except poikkeuksen_tyyppi: # Kaskyja, jotka jotenkin selvittavat # virhetilanteen, jos on aiheutunut # poikkeuksen_tyyppi-tyyppinen poikkeus. Try-osassa olevia käskyjä suoritetaan normaalisti. Jos aiheutuu tyypin poikkeuksen_tyyppi poikkeus, hypätään välittömästi except-osaan, eikä enää palata try-osaan. Jos poikkeusta ei aiheudu, except-osan käskyjä ei suoriteta lainkaan. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
18 Virheelliseen syötteeseen varautuminen Yleensä halutaan varautua käyttäjältä syötettä lukiessa siihen, että käyttäjä antaa virheellisen syötteen. Jos käyttäjän antama syöte on väärää tyyppiä (esimerkiksi kirjaimia sisältävä merkkijono, kun pitäisi olla kokonaisluku), aiheutuu ValueError-tyyppinen poikkeus, kun syötettä yritetään muuntaa oikean tyyppiseksi. Tämä poikkeus voidaan käsitellä try except-rakenteessa. Yksinkertaisimmillaan except-osassa annetaan käyttäjälle selväsanainen virheilmoitus, toinen vaihtoehto on pyytää käyttäjältä uutta syötettä niin kauan, että hän antaa oikean. Seuraava ohjelma muuntaa käyttäjän nauloina antaman massan kilogrammoiksi. Jos käyttäjä ei anna kokonaislukua, aiheutuu poikkeus. Tällöin ohjelma antaa virheilmoituksen. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
19 Naulamuunnos, koodi def main(): NAULAKERROIN = print("muutan nauloina annetun massan kilogrammoiksi.") try: syote = input("anna massa nauloina: ") naulat = int(syote) kilot = NAULAKERROIN * naulat print("massa on {:.3f} kg".format(kilot)) except ValueError: print("virhe: et antanut nauloja kokonaislukuna.") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
20 Syötteen pyytäminen uudelleen Parempi versio ohjelmasta pyytää käyttäjältä nauloja niin kauan, että hän antaa kokonaisluvun. Uutta pyyntöä ei kuitenkaan sijoiteta except-osaan, sillä käyttäjä voi antaa seuraavallakin kerralla virheellisen syötteen ja myös sen aiheuttamaan poikkeukseen halutaan varautua. Sen sijaan koko try except-osa sijoitetaan toistokäskyn sisään. Toistokäskyn suoritusta jatketaan niin kauan, että on saatu luettua kelvollinen syöte. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
21 Naulamuunnos: uusi koodi def main(): NAULAKERROIN = print("muutan nauloina annetun massa kilogrammoiksi.") luku_onnistui = False while not luku_onnistui: try: syote = input("anna massa nauloina: ") naulat = int(syote) kilot = NAULAKERROIN * naulat print("massa on {:.3f} kg".format(kilot)) luku_onnistui = True except ValueError: print("virhe: et antanut nauloja kokonaislukuna.") print("yrita uudelleen!") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
22 Apufunktio luvun lukemiseen Jos samassa ohjelmassa luetaan kokonaislukuja useassa kohdassa, kannattaa yleensä kirjoittaa apufunktio kokonaisluvun lukemiseen. Funktio lukee ja palauttaa kokonaisluvun. Jos lukeminen ei onnistu, funktio pyytää käyttäjältä uutta kokonaislukua niin kauan, että saadaan kelvollinen kokonaisluku. Vastaavat apufunktiot voidaan kirjoittaa myös muuntyyppisten arvojen lukemiseen. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
23 Kokonaisluvun lukeminen apufunktion avulla: koodi def lue_kokonaisluku(): luku_onnistui = False while not luku_onnistui: try: luku = int(input()) luku_onnistui = True except ValueError: print("virheellinen kokonaisluku!") print("anna uusi!") return luku CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
24 Kokonaisluvun lukeminen apufunktion avulla: koodi jatkuu def main(): NAULAKERROIN = print("muutan nauloina annetun massa kilogrammoiksi.") print("anna massa nauloina.") naulat = lue_kokonaisluku() kilot = NAULAKERROIN * naulat print("massa on {:.3f} kg".format(kilot)) main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
25 Huomatuksia poikkeuksista try except-rakenne voi sisältää useita except-osia erityyppisiä poikkeuksia varten. Tällöin poikkeuksen sattuessa siirrytään ensimmäiseen except-osaan, jonka poikkeuksen tyyppi vastaa aiheutunutta poikkeusta. Ohjelmoija voi myös itse aiheuttaa poikkeuksen (virhetilanteen sattuessa) raise-käskyllä. Sitä ei kuitenkaan käsitellä tällä kurssilla. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
26 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä tietoa halutaan säilyttää ohjelman suorituskerrasta toiseen (esim. puhelinluettelo, opiskelijarekisteri). Halutaan, että käyttäjän ei tarvitse syöttää ohjelman lähtötietoja jokaisella suorituskerralla, vaan lähtötiedot (esimerkiksi mittaussarjan parametrit) luetaan tiedostosta. Ohjelman on käsiteltävä jonkun muun ohjelman tuottamaa dataa. Ohjelma lukee tarvittavat lähtötiedot tiedostosta. Jos ohjelma tekee tietoihin muutoksia ja muuttuneita tietoja halutaan käyttää seuraavalla suorituskerralla, ohjelma kirjoittaa muuttuneet tiedot tiedostoon. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
27 Tekstitiedosto vs. binääritiedosto Tiedostot jaetaan tekstitiedostoihin ja binääritiedostoihin. Tekstitiedostossa tiedot on tallennettu merkkeinä, esimerkiksi luku 147 merkkeinä 1, 4 ja 7. Tekstitiedostoa voi muokata millä tahansa tekstieditorilla. Binääritiedostossa tiedot on esitetty binääriesitysmuodossa, esimerkiksi luku 147 vastaavana binäärilukuna. Binääritiedostoa ei yleensä pysty käsittelemään järkevästi tavallisella tekstieditorilla. Tällä kurssilla opetetaan ainoastaan tekstitiedostojen käsittely. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
28 Tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle kerrottava, mikä fyysinen tiedosto vastaa ohjelmassa käytettyä tiedostomuuttujaa. Samalla käyttöjärjestelmäpuolella varaudutaan käsittelemään ko. tiedostoa. Tätä kutsutaan tiedoston avaamiseksi. Esimerkki tiedoston avaamisesta tiedostomuuttuja = open("teksti.txt","r") Ensimmäinen parametri on käsiteltävän tiedoston nimi käyttöjärjestelmässä. Jos tiedosto ei ole samassa hakemistossa kuin missä ohjelmaa ajetaan, on nimeen sisällytettävä polku tiedoston hakemistoon. Toinen parametri kertoo tiedoston käsittelytavan. Arvo "r" kertoo, että tiedosto avataan lukemista varten. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
29 Lisää tiedoston avaamisesta Mahdolliset käsittelytavat: r tiedosto avataan lukemista varten w tiedosto avataan kirjoittamista varten, vanha sisältö häviää a tiedosto avataan kirjoittamista varten, kirjoitetaan vanhan sisällön perään. Tiedoston avaaminen lukemista varten aiheuttaa poikkeuksen, jos tiedostoa ei ole tai sitä ei pystytä jostain muusta syystä lukemaan. Myös moni muu virhe tiedoston lukemisessa tai siihen kirjoittamisessa voi aiheuttaa poikkeuksen. Poikkeuksen tyyppi vaihtelee sen mukaan, millainen virhe on sattunut, mutta näiden eri tyyppien ylätyyppinä on OSError-tyyppinen poikkeus. Se on syytä käsitellä try except-rakenteella aina, kun luetaan tiedostosta tai kirjoitetaan tiedostoon. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
30 Rivin lukeminen ja tiedoston sulkeminen Jos muuttuja tiedostomuuttuja viittaa lukemista varten avattuun tiedostoon, niin siitä voi lukea rivin kerrallaan metodin readline avulla seuraavasti: luettu_rivi = tiedostomuuttuja.readline() Luettu rivi sisältää myös sen lopussa olevan rivinvaihtomerkin. Seuraava readline-käsky lukee tiedoston seuraavan rivin jne. Jos tiedosto on jo luettu loppuun ja kutsutaan readline-metodia, se palauttaa arvona tyhjän merkkijonon "" Kun tiedoston lukeminen päättyy, tiedosto pitää sulkea close-käskyllä: tiedostomuuttuja.close() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
31 Esimerkkiohjelma tiedoston lukemisesta def main(): try: lahtotiedosto = open("tekstia.txt", "r") rivi = lahtotiedosto.readline() while rivi!= "": print(rivi) rivi = lahtotiedosto.readline() lahtotiedosto.close() except OSError: print("virhe tiedoston lukemisessa. Ohjelma paattyy.") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
32 Edellisen kalvon esimerkkiohjelma lukee tiedostosta rivin kerrallaan ja tulostaa sen käyttäjälle. Ohjelma tulostaa kuitenkin ylimääräisen tyhjän rivin jokaisen rivin jälkeen. Tämä johtuu siitä, että tiedostoista luettujen rivien lopussa on rivinvaihtomerkki. Jos ylimääräiset rivinvaihdot halutaan välttää, pitää rivinvaihtomerkki poistaa tiedoston lopusta ennen rivin tulostamista. Yksi tapa poistaa rivinvaihtomerkki on käyttää metodia rstrip. Se poistaa kuitenkin myös muut tyhjät merkit rivin lopusta. Seuraava esimerkkiohjelma käyttää tätä tapaa. Se myös kysyy luettavan tiedoston nimen käyttäjältä. CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
33 Parannettu versio tiedostonlukuohjelmasta def main(): nimi = input("anna luettavan tiedoston nimi: ") try: lahtotiedosto = open(nimi, "r") rivi = lahtotiedosto.readline() while rivi!= "": rivi = rivi.rstrip() print(rivi) rivi = lahtotiedosto.readline() lahtotiedosto.close() except OSError: print("virhe tiedoston", nimi, "lukemisessa. Ohjelma paattyy.") main() CSE-A1111 Ohjelmoinnin peruskurssi Y / 32
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 31.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 31.10.2018 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Sinulla on peruskäsitys siitä, mitä hyvällä ohjelmointityylillä
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 19.10.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 19.10.2016 1 / 43 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 18.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 18.10.2017 1 / 44 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.10.2015 1 / 32 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
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
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")
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.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 14.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 14.4.2010 1 / 60 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2015 1 / 17 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 30.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 30.3.2011 1 / 64 Mitä tämän kurssin jälkeen? T-106.1223 Tietorakenteet ja algoritmit Y (5 op) Tietorakenteita, esim.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 5.10.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 5.10.2016 1 / 21 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
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,
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
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.10.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
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ä
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2016 1 / 29 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 16.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 16.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 7.11.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 7.11.2018 1 / 37 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä oliot ovat ja miksi niitä käytetään ohjelmoinnissa.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 1.11.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 1.11.2017 1 / 38 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b
Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 27.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 27.9.2017 1 / 30 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 23.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 23.9.2015 1 / 30 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 2.11.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 2.11.2016 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
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
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 7.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 7.10.2015 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi
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
Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
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
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 22.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 22.3.2010 1 / 49 Lista luokan kenttänä Luokan kenttä voi olla myös esimerkiksi lista, sanakirja tai oliomuuttuja.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 21.3.2011 1 / 42 Listan alkiona viiteitä olioihin Halutaan tehdä ohjelma ohjelmointikurssien opiskelijoiden käsittelyyn.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.3.2010 1 / 49 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 14.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 14.2.2011 1 / 55 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 23.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 23.3.2011 1 / 65 Esimerkki: olion kenttänä olioviitteitä sisältävä lista Kirjoitetaan ohjelma oppilasrekisteriä
14. Hyvä ohjelmointitapa 14.1
14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen
Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla
Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään
Ohjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=
Tutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.2.2010 1 / 47 Sijoituksen arvokehitys, koodi def main(): print "Ohjelma laskee sijoituksen arvon kehittymisen."
13. Hyvä ohjelmointitapa (osa 1) 13.1
13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin
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
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
Python-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
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
815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu
Harjoitus 5 (viikko 48)
Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain
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ö
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 5.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 5.10.2015 1 / 36 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2011 1 / 53 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 23.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 23.3.2009 1 / 48 Olio metodin parametrina: luokka Tasovektori Halutaan kirjoittaa luokka kaksiulotteisen vektorin
Harjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 28.1.2009 1 / 28 Esimerkki: murtoluvun sieventäminen Kirjoitetaan ohjelma, joka sieventää käyttäjän antaman murtoluvun.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 24.3.2010 1 / 59 Oliomuuttuja toisen olion kenttänä Olion kenttänä voi olla viite saman tai toisen luokan olioon.
Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 11.11.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 11.11.2015 1 / 23 Kertausluento Luennolla käydään läpi tenttivaatimuksia ja vanhoja tenttitehtäviä. Lisäksi luennolla
Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
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
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,
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen
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,
13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.