Mieleni minun tekevi (tavoiteasettelua)
|
|
- Albert Härkönen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmointi 1 / syksy 2007 Mieleni minun tekevi (tavoiteasettelua) Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/33
2 Tämän luennon teemat Tavoiteasettelu esimerkkiohjelmien kautta: millaisia ohjelmia pitäisi voida tehdä Ohjelmointi 1:ssä hahmottuvien taitojen pohjalta. Millaisia ohjelmia voi olla? Digitaalinen järjestelmä mustana laatikkona. Rajapinnan käsite, syöte-vaste -käyttäytyminen, tapahtumapohjaisuus vs. eräajo. Suoritusympäristö: argumentit, syötevirta, tulostusvirta, käyttöjärjestelmä, tietokone ( digitaalinen järjestelmä ) Syntaksi eli kielioppi käsitteenä. Javan syntaksista. Ohjelmointi 1 / syksy 2007 p.2/33
3 Luennon käsittelyjärjestys 1. Perustyökalujen ja toimintaympäristön esittely: Tiedostojärjestelmä, tiedostot, hakemistot Tekstieditori komentokehote Unix-shell Javan komentorivikääntäjä Javan virtuaalikone 2. Demonpalautusjärjestelmän esittely (koskee suomenkielisiä yliopisto-opiskelijoita; muille ohjeistetaan erikseen). 3. Muut asiat siinä määrin kuin ehditään. (Jatketaan huomenna siitä mihin jää.) Ohjelmointi 1 / syksy 2007 p.3/33
4 Esimerkkiohjelmia Tempolaskuri Mandelbrot -fraktaalin piirtäjä Kirjoitusnopeustesti Termiluettelon WWW-julkaisija Kivi-paperi-sakset -peli Ohjelmointi 1 / syksy 2007 p.4/33
5 Tempolaskuri Idea: Muusikko voi taputtaa tempoa, ja ohjelma arvioi mikä on musiikkikappaleen BPM (eli tempo neljäsosanuotteina minuutissa) ( Näytetään videoscreeniltä, miten ohjelma käännetään ja ajetaan) Ohjelmointi 1 / syksy 2007 p.5/33
6 Tempolaskuri ja tämä kurssi Ohjelmointi 1:llä on tarkoitus oppia: Kaikki tarvittavat ohjelmoinnilliset rakenteet Kyky siirtää alkuperäinen toimintaidea ohjelmointikielelle Kyky löytää tarvittavat lisäominaisuudet Javasta (tässä tapauksessa millisekuntikello) ja kyky oppia käyttämään niitä dokumentaation avulla. Ohjelmointi 1:llä ei varsinaisesti opita: Ei opita mitään listaa millisekuntikelloista ja miljoonasta muusta asiasta, mitä esim. Javalla voi tehdä vaan opitaan löytämään aina se mitä kulloinkin tarvitaan. Ohjelmointi 1 / syksy 2007 p.6/33
7 Mandelbrot -visualisointi Idea: Halutaan tuottaa kaunis visualisointi eräästä tunnetusta matemaattisesti määritellystä kompleksilukujen joukosta ( Näytetään videoscreeniltä, miten ohjelma käännetään ja ajetaan, ja nähdään tulostettu kuva kuvienkatseluohjelmalla) Ohjelmointi 1 / syksy 2007 p.7/33
8 Mandelbrot -visuaali ja tämä kurssi Ohjelmointi 1:llä on tarkoitus oppia: Kaikki tarvittavat ohjelmoinnilliset rakenteet Kyky siirtää kirjallisuudesta löytyvä matemaattinen algoritmi ohjelmointikielelle Keinot tiedostojen käsittelyyn: lataaminen ja tallentaminen Ohjelmointi 1:llä ei varsinaisesti opita: matematiikkaa (kompleksilukuja, fraktaaligeometriaa eikä paljon muutakaan) varsinaisesti mitään tiettyjä tiedostoformaatteja (kuten tässä PNM-kuvatiedosto) Ohjelmointi 1 / syksy 2007 p.8/33
9 Kirjoitusnopeustesti Idea: Halutaan testata konekirjoitusnopeutta. Pitäisi mahdollisimman nopeasti kopioida näppäimillä joku merkkijono, ja saada tietää montako merkkiä minuutissa on keskimääräinen kirjoitusnopeus. ( Näytetään videoscreeniltä, miten ohjelma käännetään ja ajetaan) Ohjelmointi 1 / syksy 2007 p.9/33
10 Kirjoitusnopeustesti ja tämä kurssi Ohjelmointi 1:llä on tarkoitus oppia: Kaikki tarvittavat ohjelmoinnilliset rakenteet Kyky siirtää alkuperäinen idea ohjelmointikielelle Tiedostojen käyttö (kuten tässä kirjoitettavien tekstirivien lukeminen levyltä) Ohjelmointi 1:llä ei varsinaisesti opita: Ei opita listaa millisekuntikelloista tai muusta, mitä esim. Javalla voi tehdä vaan opitaan löytämään aina se mitä kulloinkin tarvitaan. Konekirjoitusta tai kalevalaista runomittaa... (vaikka kymmensormijärjestelmästä on iloa ohjelmoinnissa ja nelipolvisesta trokeesta suomalaisen kansallisidentiteetin kannalta.) Ohjelmointi 1 / syksy 2007 p.10/33
11 Termiluettelon WWW-julkaisija Idea: Haluan raapustella kurssilla käsiteltävää terminologiaa nopeasti tekstieditorilla, ja julkaista sanalistan WWW-sivulla. ( Näytetään videoscreeniltä, miten ohjelma käännetään ja ajetaan) Ohjelmointi 1 / syksy 2007 p.11/33
12 Termiluettelo ja tämä kurssi Ohjelmointi 1:llä on tarkoitus oppia: Kaikki tarvittavat ohjelmoinnilliset rakenteet Kyky siirtää alkuperäinen toimintaidea ohjelmointikielelle Tiedostojen lukeminen ja kirjoittaminen Ohjelmointi 1:llä ei varsinaisesti opita: WWW:n teknologioita kuten HTML tai CSS Ohjelmointi 1 / syksy 2007 p.12/33
13 Kivi-paperi-sakset Idea: Halutaan aina hävitä todennäköisyydellä 1/3 ja joutua kirjoittamaan kivi, paperi tai sakset tämän saavuttamiseksi... ( Näytetään videoscreeniltä, miten ohjelma käännetään ja ajetaan) Ohjelmointi 1:llä on tarkoitus oppia: Kaikki tarvittavat ohjelmoinnilliset rakenteet Kyky siirtää alkuperäinen toimintaidea ohjelmointikielelle Ohjelmointi 1 / syksy 2007 p.13/33
14 Ohjelma digitaalisena järjestelmänä Otetaan aluksi ihanan 1920-lukulainen ajattelumalli tietokoneohjelmasta: Se on digitaalinen (numeroita käsittelevä) järjestelmä, jossa on: Sisäinen tila, jota ulkomaailma ei näe Kyky vastaanottaa syötteitä (bittijonoja) Kyky tulostaa ulkomaailmaan (bittijonoja) Käyttäytyminen, eli se miten tuloste (vaste) riippuu syötteestä Rajapinta, eli lupaus siitä miten järjestelmä käyttäytyy Tällaista voi kuvata mustalla laatikolla (kuva seuraavalla sivulla). Ohjelmointi 1 / syksy 2007 p.14/33
15 Digitaalinen järjestelmä, musta laatikko Karkea kuva syötteistä, vasteista ja käyttäytymisestä: Ohjelmointi 1 / syksy 2007 p.15/33
16 Tietokoneohjelma hieman tarkemmin Hieman tarkemmin katsottuna tieto kulkee eri kanavia pitkin, ja eri kanavilta tulevien syötteiden ajankohdilla ja järjestyksellä voi olla vaikutus: Ohjelmointi 1 / syksy 2007 p.16/33
17 Erilaisia ohjelmatyyppejä Erilaiset ohjelmat yksinkertaisimmasta monimutkaisempaan: Tulostavat aina samoin (turhalta kuulostaa) Syötteestä riippuva tulostus (esim. kääntäjä!) Tulostus riippuu syötteestä ja sen ajankohdasta Kommunikoi myös tiedostojen kautta ja tietoliikenneyhteyksillä (Ohj1:llä raja tähän!) Sisältää käyttöliittymäkomponentteja ja vahvasti muuttuvaisen, näkyvän tilan (so. graafinen, tapahtumapohjainen ohjelma) Järjestelmä, jossa on mukana useita keskenään kommunikoivia erilaisia ohjelmia ja käyttäjiä. Ohjelmointi 1 / syksy 2007 p.17/33
18 Syntaksi Syntaksi eli kielioppi on säännöstö, joka määrää merkkijonojen joukon. Syntaksi on välttämätön asia ohjelmoinnissa. Ohjelmointikielen syntaksi määrää, onko joku merkkijono ohjelma ollenkaan vai ei. Vain kieliopin mukainen ohjelmakoodi on mahdollista kääntää ja suorittaa. Kielioppi ei sinänsä kerro mitään merkkijonon merkityksestä! Ohjelmointi 1 / syksy 2007 p.18/33
19 Rautatie eli syntaksikaavio rautatie r a u t a t i e Ajattele rautatietä: Juna lähtee yhdeltä asemalta ja sen tulee päästä perille määräasemalle. Matkalla on asemia, joissa tulee kirjoittaa joku merkki. Kun juna kulkee ylläkuvatun raiteen läpi, on kirjoitettu täsmälleen merkkijono rautatie. Tämä on kielioppi, joka määrää sallittujen merkkijonojen joukoksi tasan yhden sanan eli rautatie. Ei kovin hyödyllistä vielä... Ohjelmointi 1 / syksy 2007 p.19/33
20 Rautatie eli syntaksikaavio 2 rautatie2 r a u t a o i k o t i e Ajattele edelleen rautatietä: Raidetta voi vaihtaa, jos kiskoissa on sopiva vaihde. Reitti on vapaasti valittavissa, kunhan juna lähtee alusta ja päätyy loppuun. Tämä on kielioppi, joka määrää sallittujen merkkijonojen joukoksi tasan kaksi erilaista: joko rautatie tai oikotie, riippuen raiteen vaihdosta. Ohjelmointi 1 / syksy 2007 p.20/33
21 Rautatie eli syntaksikaavio 3 Raiteenvaihtopaikkoja voi olla monta; aina on vapaa valinta. Seuraavassa sallittuja merkkijonoja on jo monta vaihtoehtoa, mm. Rautatie., rautatie., Keskitie., Oikopolku., keskipolku. : rautatie3 R r a u t a O o i k o t i e p o l k u. K k e s k i Ohjelmointi 1 / syksy 2007 p.21/33
22 Rautatie eli syntaksikaavio 4 Pakosti peräkkäin tulevat merkit voi kirjoittaa samaan pylpyrään. Raide voi kiertää takaisin alkuun. Seuraavassa sallittuja merkkijonoja on äärettömän paljon, mm. Keskikeskitite., Rautaoikokeskipolku. rautatie4 R r auta O o iko tie polku. K k eski Ohjelmointi 1 / syksy 2007 p.22/33
23 Rautatie eli syntaksikaavio 5 Rautatie voi olla pitkä ja monimutkainen. Sitä kannattaa katsoa lintuperspektiivistä yksi rataosio kerrallaan. Laatikko avautuu aina tarkemmiksi ja tarkemmiksi. Vasta pyöreät pylpyrät ovat kirjoitettavia: rautatie5 ReitinTarkennus Reitti. ReitinTarkennus R r O o K k auta iko eski Reitti tie polku Ohjelmointi 1 / syksy 2007 p.23/33
24 Rautatie eli syntaksikaavio 6 Seuraava mahdollistaa esim. merkkijonon polku, Rautaoikotie, keskitie, oikooikopolku, tie, tie, tie. rautatie6 ReittiLista. ReittiLista TarkkaTaiEpatarkkaReitti TarkkaTaiEpatarkkaReitti ReitinTarkennus, R r auta TarkkaTaiEpatarkkaReitti O o iko Reitti Reitti ReitinTarkennus Reitti K k eski tie polku Ohjelmointi 1 / syksy 2007 p.24/33
25 Turha yritys mallintaa suomea Luonnollinen kieli on eri asia kuin täsmällinen formaali kielioppi, mutta lähestytään vielä arkihavainnon kautta: Tarina Lause Lause Lause Subjekti Predikaatti ReferatiiviLV Objekti. Subjekti Predikaatti ReferatiiviLV Paavo oppii oppivansa Objekti Liisa rakastaa rakastavansa ohjelmointia Matti pelkaa pelkaavansa Millaisen tarinan voi kirjoittaa? syntaksia Ohjelmointi 1 / syksy 2007 p.25/33
26 Turha yritys mallintaa suomea Kelpo, kieliopin mukainen tarina: Liisa pelkää ohjelmointia. Liisa oppii syntaksia. Liisa pelkää oppivansa ohjelmointia. Liisa oppii ohjelmointia. Liisa pelkää rakastavansa ohjelmointia. Liisa rakastaa ohjelmointia. Toinen tämän kieliopin mielessä täysin kelpo tarina: Paavo pelkää rakastavansa syntaksia. Matti rakastaa oppivansa syntaksia. (Ei oikein toimi suomalaiseen kielikorvaan! Onneksi ohjelmoinnissa ei tarvitse miettiä niin monia sääntöjä. Ohjelmointikielten syntaksit ovat suoraviivaisia!) Ohjelmointi 1 / syksy 2007 p.26/33
27 Javan syntaksi Korkeimman tason syntaktinen elementti, eli Javan tarina on nimeltään käännösyksikkö eli Compilation Unit. Yksi lähdekooditiedosto on aina yksi käännösyksikkö! Katsotaanpa miten käännösyksikkö rakentuu, että se on kieliopin mukainen: CompilationUnit PackageStatement ImportDeclaration TypeDeclaration Se on Javan käännösyksikkö! Näin se lähtee avautumaan: PackageStatement Annotations package QualifiedIdentifier ; ImportDeclaration TypeDeclaration import static Identifier Identifier.. * ; ClassOrInterfaceDeclaration ; Ohjelmointi 1 / syksy 2007 p.27/33
28 Javan syntaksia pari pykälää lisää Jokainen toimiva Java-ohjelma rakentuu näin. Syntaksi avautuu niin suureksi, ettei siitä mahdu luentokalvolle kuin pieni osa: CompilationUnit PackageStatement ImportDeclaration TypeDeclaration PackageStatement ImportDeclaration Annotations package QualifiedIdentifier ; import static Identifier Identifier.. * ; TypeDeclaration ClassOrInterfaceDeclaration ; NormalClassDeclaration ClassOrInterfaceDeclaration Modifier ClassDeclaration InterfaceDeclaration ClassDeclaration NormalClassDeclaration EnumDeclaration ClassBody class Identifier TypeParameters extends ClassOrInterfaceType implements ClassOrInterfaceTypeList ClassBody { ClassBodyDeclaration } MemberDecl GenericMethodOrConstructorDecl MethodOrFieldDecl void Identifier VoidMethodDeclaratorRest ClassBodyDeclaration Identifier ConstructorDeclaratorRest MethodOrFieldRest ; static Block Modifier MemberDecl InterfaceDeclaration ClassDeclaration MethodOrFieldDecl VariableDeclaratorsRest ; Type Identifier MethodOrFieldRest MethodDeclaratorRest MethodDeclaratorRest TypeParameter [] throws QualifiedIdentifierList MethodBody MethodBody FormalParameters extends Bound ; Block Identifier Tarpeellisinta on ymmärtää kieliopin perusidea! Ohjelmointi 1 / syksy 2007 p.28/33
29 Ohjelmointi on kommunikointia ohjelmointikielellä! Jotta voit ohjelmoida, pitää osata ohjelmointikieli (tai useampia). Ensimmäisen opetteleminen on vaikeinta. Seuraava tulee jo melkein itsestään! Kaikilla kielillä voi kuvata tietyt perusrakenteet. Ohjelmointikielessä puhutaan peräkkäin kirjoitetuista lauseista, määrittelyistä ja toteamuksista aivan kuten esim. suomi. Edellämainitut sijoittuvat korkeamman tason rakenteisiin, joita sanotaan olio-ohjelmoinnissa luokiksi, rajapinnoiksi ja metodeiksi. Suoraan mallinnuskäsitteistöstä! Tällä kurssilla tullaan oppimaan rakenteiden MERKITYS sekä kirjoittaminen Javalla. Ohjelmointi 1 / syksy 2007 p.29/33
30 Java-kielen lauserakenteet Statement Block : Expression assert Expression ; else Statement if ParExpression Statement for ( ForControl ) Statement while ParExpression Statement do Statement while ParExpression ; try Block Catches Catches finally Block switch ParExpression { SwitchBlockStatementGroups } synchronized ParExpression Block Expression return ; throw Expression ; Identifier break Identifier continue (Javassa mahdolliset lauseet (engl. statement ). Kaikki laatikot avautuvat omalla tavallaan; pylpyrät on kirjoitettava merkistä merkkiin noin.) Voi kirjoittaa vain hyvin tarkoin määrättyjä, melko yksinkertaisia lauseita, mutta niitä peräkkäin laittamalla saadaan aikaan kaikki se, mitä tietokoneilla voidaan tehdä: pelit ja pankkijärjestelmät. ; StatementExpression ; Identifier : Statement Ohjelmointi 1 / syksy 2007 p.30/33
31 Tarkennuksia ja iskulauseita Edellä johdateltiin syntaksiin käsitteenä Perusidea on varsin yksinkertainen. Muista rautatie ja raiteet! Javan kieliopista on tullut muutosprosessien kautta monimutkainen. Sen syntaksi kannattaa opetella pienenpieni pala kerrallaan! Syntaksi ei ole juuri mitään; MERKITYS ON KAIKKI! Syntaksivirhe on pienin mahdollinen virhe, ja helppo korjata! Haluamme, että ohjelmaan kirjoitettu merkitys on oikeellinen ohjelmointiongelman ratkaisemiseen. Ohjelmointi 1 / syksy 2007 p.31/33
32 Mihin tästä edetään? Ryhdytään ohjelmoimaan Opetellaan ohjelmoinnin rakenteet yksi kerrallaan sekä merkitys että syntaksi. Ryhdytään myös hahmottamaan syntaksia tärkeämpiä rajoitteita ohjelman tekemisessä: tiedon esitysmuotoja, suoritusta tietokonelaitteessa ja käyttäjän huomioimista. Ryhdytään löytämään tietä ongelmakuvauksesta täsmälliseksi algoritmiksi ja lopulta toteutukseksi ohjelmointikielellä. Ohjelmointi 1 / syksy 2007 p.32/33
33 Huomenna nähdään! Silloin aiheena ohjelmoinnin perusrakenteita: Peräkkäissuoritus, lauseita ja lausekkeita Aliohjelmat ja niiden aktivointi Muuttujat, tyyppijärjestelmä, esitysmuodot, operaattorit, sijoituslauseet Parametrinvälitys ja paluuarvon sijoittaminen Tulostaminen konsoliin Ohjelmointi 1 / syksy 2007 p.33/33
3/20: Algoritmirakenteita I
Ohjelmointi 1 / syksy 2007 3/20: Algoritmirakenteita I Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/27 Tämän
9/20: Puhu mun stdinille
Ohjelmointi 1 / syksy 2007 9/20: Puhu mun stdinille Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/12 Tällä luennolla
5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
4/20: Algoritmirakenteita II
Ohjelmointi 1 / syksy 2007 4/20: Algoritmirakenteita II Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/26 Tämän
12/20: Bitit talteen
Ohjelmointi 1 / syksy 2007 12/20: Bitit talteen Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/15 Tämän luennon
Ohjelmointi 1 / syksy /20: IDE
Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne
17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
19/20: Ikkuna olio-ohjelmoinnin maailmaan
Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
8/20: Luokat, oliot ja APIt
Ohjelmointi 1 / syksy 2007 8/20: Luokat, oliot ja APIt Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Kohti
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013
7/20: Paketti kasassa ensimmäistä kertaa
Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
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
13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
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
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 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 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
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
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
P e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN
Ohjelmointi 1 / syksy Ensimmäinen luento. Paavo Nieminen.
Ohjelmointi 1 / syksy 2007 Ensimmäinen luento Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/35 Jatkuva tiedotus
1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 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 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,
Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
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ä
CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
Algoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
8. Kieliopit ja kielet
8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti
12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
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
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,
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,
Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
Rajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
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
Java-kielen perusteita
Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.
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
C-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia
JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
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 peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
ELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki
Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 5: Sijoituslause, SICP-oliot, tietorakenteen muuttaminen (mm. SICP 33.1.3, 3.33.3.2) Riku Saikkonen 6. 11. 2012 Sisältö 1 Muuttujan arvon muuttaminen:
GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen
GIS-automatisointi ja ohjelmointi/skriptaus Harri Antikainen Mistä nyt puhutaan? Automatisointi: Mikä tahansa tapa teettää tietokoneella asioita ilman että käyttäjän tarvitsee tehdä muuta kuin laittaa
Java kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion
8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
Ohjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
Luokat ja oliot. Ville Sundberg
Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi
Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Poikkeukset Poikkeuksella tarkoitetaan yllättävää ajonaikaista tilannetta, joka
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
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015
TIEA24 Automaatit ja kieliopit, syksy 205 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 5. marraskuuta 205 Sisällys Käsiteanalyysiä Tarkastellaan koodilukkoa äärellisenä automaattina. Deterministinen äärellinen
1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
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
JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++
JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.
Osoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
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
14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
14/20: Keittokirja I
Ohjelmointi 1 / syksy 2007 14/20: Keittokirja I Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/13 Tämän luennon
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
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen
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.
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 18. toukokuuta 2018 Yleistä Tentti 1 oli pistekeskiarvon (12.7) perusteella vaikeudeltaan kohtuullinen. Omasta tehtäväpaperista
Alkukartoitus Opiskeluvalmiudet
Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat
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ö
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP2 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 17. toukokuuta 219 Yleistä Tentti 1 oli pistekeskiarvon (14,6) perusteella hieman tavanomaista helpompi. Omasta tehtäväpaperista
Java-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=
ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Alue ja aiheet: Orposen prujun
812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
Sisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä
Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä olevilla komponenteilla? Voisiko jollakin ohjelmointikielellä
Javan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
Apuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi
Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi
1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 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
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
812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä
812347A Olio-ohjelmointi, 2015 syksy 2. vsk X Poikkeusten käsittelystä Sisältö 1. Yleistä poikkeusten käsittelystä 2. Poikkeuskäsittelyn perusteita C++:ssa 3. Standardissa määritellyt poikkeukset 4. Poikkeusvarmuus
1. Mitä tehdään ensiksi?
1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. tammikuuta 2012 Sisällys Sisällys Äärellisiä automaatteja PUSH ON PUSH OFF Q T Q J C C H S C,Q C,Q 0 50s 1e
tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla
2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella
11.4. Context-free kielet 1 / 17
11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017