Dynaamiset www-sivut scripteillä vbscript ja j(ava)script Seppo Räsänen

Koko: px
Aloita esitys sivulta:

Download "Dynaamiset www-sivut scripteillä vbscript ja j(ava)script. 27.8.2004 Seppo Räsänen"

Transkriptio

1 Dynaamiset www-sivut scripteillä vbscript ja j(ava)script Seppo Räsänen

2 Sivu 2 Sisällys 1. Script-kielet Vbscript Vbscript:n lisääminen web-sivulle Muuttujat, vakiot ja ilmaisut Tapahtumat Scriptin kutsunta lomakkeelta Itsenäiset aliohjelmat ja funktioproseduurit Taulukot Ohjausrakenteet Muuttujien näkyvyys Objektimalli ja sen käyttäminen koodissa CSS-tyylien muuttaminen ohjelmallisesti Poikkeustenkäsittely Tiedon sitominen, data binding Visual Basic 6.0 ja DHTML-projekti Visual Basic 6.0 ja ActiveX JavaScript, Jscript J(ava)script:n lisääminen web-sivulle Kommentit ja muuttujat Operaattorit Taulukot Ohjausrakenteet Funktiot Tapahtumat Objektimalli, sen käyttäminen koodissa sekä this-olio...46

3 Sivu 3 1. Script-kielet Web-sivujen ohjelmointiin on olemassa useita välineitä ja menetelmiä. Sivuille voi ohjelmoida esim. applet-sovelluksia JAVA-kielellä. Java on käännetty ohjelmointikieli, mutta kääntäjän tuottama koodi toimii virtuaalikoneella. Virtuaalinen koodi käännetään selaimessa. Tästä syystä Javaappletit toimivat samalla tavalla eri selaimissa ja eri käyttöjärjestelmissä. Java-appletit käännetään class-tiedostoiksi, jota voidaan käyttää siis web-sivulla. Javascript käyttää tekstipohjaisia komentoja, jotka liitetään osaksi HTML-sivua. Java-applet tulostetaan sivulla olevaan ikkunaan, kun taas Javascriptit voidaan liittää ikkunaan mihin kohtaan vaan. Javascript sopii yksikertaisten websovellusten tekoon sekä vuorovaikutteisten ominaisuuksien tekoon web-sivulla. Javalla voi tehdä laajempia ohjelmia, vrt. Corel WordPerfect. Edellisessä kappaleessa verrattiin Javaa ja Javascriptiä. Javascritin on kehittänyt Netscape Communications Corporation. Javascriptille on kilpailijana Microsoftin Jscript ja Vbscript kielet. Jscript kieli on vastaavanlainen kuin Javascriptissä, Vbscript-kieli perustuu Visual Basic ohjelmointikieleen Vbscript Vbscript:n lisääminen web-sivulle Vbscript-koodi lisätään haluttuun paikkaan www-sivua. Koodi kirjoitetaan <SCRIPT>-tagiin, attibuuttia language kertoo käytettävän kielen. HUOM! Vbscript-koodattu script ei toimi kuin Microsoftin IE4 tai uudemmalla selaimella.

4 Sivu 4 Kuva 1. Esimerkki scriptin liittämisestä web-sivulle. Esimerkissä näytetään msgbox-funktion avulla viesti Hello World, kun avataan ko. sivu selaimelle Muuttujat, vakiot ja ilmaisut Vbscript sisältää vain yhden tietotyypin, variant. Tietotyyppi voi sisältää millaista tietoa vain. Muuttjan tietotyyppi määräytyy muuttujan ensimmäisen sijoituksen yhteydessä. Alla luettelo variant-tietotyypin sisällöstä. Alatyyppi Selite Empty muuttujaa ei ole alustettu - sisältää 0 numerona tai null-merkkijonon ("") Null muuttujia ei tarkoituksellisesti sisällä tietoa Boolean muuttujan arvo on joko kyllä tai ei (True tai False) Byte muuttujan arvona on kokonaisluku välillä Integer muuttujan arvona on kokonaisluku välillä -32,768-32,767 Currency muuttujan arvo on välillä -922,337,203,685,477, ,337,203,685,477,5807 Long muuttujan arvona on kokonaisluku välillä -2,147,483,648-2,147,483,647 Single muuttujan arvona on yksinkertainen tarkkuuden liukuluku välillä E E -45 negatiivisille numeroille ja E E 38 positiivisille numeroille. Muuttaja voi myös olla 0. Double muuttujan arvona on kaksoistarkkuuden liukuluku välillä E E -324 negatiivisille numeroille ja 4.941E E 308 positiivisille numeroille. Muuttaja voi myös olla 0. Date (Time) muuttujan arvona on numero, joka kuvaa päivämäärää välillä 1/1/ /31/9999, suljettuna merkeillä #, kuten #12/31/97#. String muuttuja koostuu merkkijonosta - mikä voi olla pituudeltaan niinkin pitkä kuin 2 biljoonaa merkkiä - suljettuna yksin- tai kaksinkertaisilla lainausmerkeillä, kuten 'Hello There' tai "Hello There". Object muuttajan arvona on 'osoitin" objektiin kuten ActiveX-kontrolli tai yksi dynaamisen HTML:n objekti.

5 Sivu 5 Error muuttujan arvona on numero, joka viittaa määrättyyn virheviestiin. Kuva 2. Esimerkki muuttujien käytöstä. Kuvan 10 esimerkissä on kaksi string-tyypissä muuttujaa enimi ja snimi. Ika-muuttuja saa arvokseen byte-tyyppisen tiedon. Tanaan-muuttujassa on date-tyyppinen tieto. Muuttujien tiedot tulostetaan document.write lauseen avulla. Huom! Tutustu selaimella lähdekoodiin, lähdekoodi on scriptijä käytettäessä kuvan mukaista. Vbscript-kieli tuntee tyypilliset operaattorit. Aritmeettiset operaattorit (^, -, *, /, \, Mod, +, &), vertailuoperaattorit (=, <>, <, >, <=, >=, Is) ja loogiset operaattorit (Not, And, Or, Xor, Eqv, Imp).

6 Sivu Tapahtumat Tapahtumilla tarkoitetaan käyt täjän aihauttamia toimia, joka laukaisee ohjelman toiminnan. Esimerkiksi hiiren vieminen kohteen päälle tai kohteeen kaksoisnapauttaminen ovat tapahtumia. Alla luettelo tapahtumista. onafterupdate onbeforeunload onbeforeupdate onblur onbounce onclick ondataavailable ondatasetchanged ondbclick ondragstart onerror onerrorupdate onfinish onfocus onhelp onkeypress onkeyup onload onmousedown onmousemove onmouseover onmouseup onreadystateshange onresize onrowenter onrowexit onscroll onstart onsubmit onunload Kuva 3. Esimerkki tapahtumien kutsumisesta. Tapahtuma voidaan koodata kahdella tavalla. Kuvan 3 esimerkissä ensimmäinen scripti on koodattu normaalisti Sub-lauseen avulla (vrt. Visual Basic). HMTL-koodissa määritetään jollekin

7 Sivu 7 osalle (esimerkissä teksti) ID-määritys. Tämän perusteella voidaan objektille kirjoittaa johonkin tapahtumaan koodia <SCRIPT> </SCRIPT> tagien väliin. Tällä tavoin voi samassa <SCRIPT>tageissa olla useampikin Sub-tapahtuma. Toinen tapa kirjoittaa objektille koodia on käyttää <SCRIPT FOR= objekti EVENT= tapahtuma LANGUAGE= VBScript > syntaksia. Tästä on esimerkki kuvassa 11, jossa alempi scripti on kohdistettu olio2:n kaksoisnapautukselle. Tällä tavoin voidaan kirjoittaa vain yksi tapahtuma <SCRIPT>-tagiin Scriptin kutsunta lomakkeelta Kuva 4. Scriptin kutsunta lomakkeelta, scripti viittaa lomakkeen objektin ominaisuuksiin. Kuva 5. Scriptin kutsunta ilman lomaketta, scripti viittaa objektin ominaisuuteen. Kuvan 4 esimerkissä on rakennettu lomake, jossa on tekstikenttä ja painike. Scriptissä on koodattu painikkeen napsautustapahtuma. Kun lomakkeella olevaan tekstikentän ominaisuuteen viitataan, niin silloin käytetään notaatiota lomake.olio.ominaisuus esim. frmlomake.txtteksti.value. Kuvan

8 Sivu 8 13 esimerkissä, jossa lomaketta ei ole, viittaaminen perustuu notaatioon olio.ominaisuus esim. txtteksti2.value Itsenäiset aliohjelmat ja funktioproseduurit Vbscript-kieli sisältää reilut 80 funktiota. Funktioiden syntaksi on Funktionimi(argumentit), esim. Ucase( ville ) muuttaa ville-merkkijonon suuriksi kirjaimiksi VILLE. Funktiot ovat tuttuja Visual Basicistä. Kuten Visual Basicissä, niin Vbscript:ssä voi tehdä omia aliohjelmia ja kutsua niitä. Aliohjelma voi olla Sub-tyyppinen lausealiohjelma tai Function-lauseella alkava funktio. Lausealiohjelmalla ja funktiolla on kaksi tyypillistä eroa. Funktio palauttaa nimessään yhden vastauksen, kun lausealiohjelma palauttaa muuttujissaan vastauksen. Jos ollaan tarkkoja, niin funktio palauttaa myös muuttujissaan arvoja, riippuen miten muuttujat ovat määritelty. Toinen ero on funktion ja lausealiohjelman kutsunnassa. Selvinnee pian esimerkeistä ja syntaksiesitelystä. <SCRIPT>-tagi voi sijaita HTML-koodissa missä kohtaa vain. Lausealiohjelman syntaksi on Sub aliohjelma(argum1, argum2,.) Lauseet.. End Sub Lausealiohjelmaa kutsutaan aliohjelma(muuttuja1, muuttuja2,..). Nyt lausealiohjelma on tehnyt toiminnan ja/tai sijoittanut muuttujille arvot, joita voidaan käyttää kutsuvassa aliohjelmassa. Kuva 6. Esimerkki aliohjelmasta ja funktiosta. Script sijaitsee BODY-osassa. Aliohjelma tulostaa MsgBox-funktiolla käyttäjän määrittämän viestin (teksti ja otsake). Funktio laskee kahden annetun päivämäärän erotuksen.

9 Sivu 9 Kuva 7. Esimerkki lausealiohjelman kutsunnasta. Aliohjelman parametrejä ei käytetä kutsuvassa ohjelmassa muuta kuin tiedon välittämiseen aliohjelmalle. Funktion syntaksi on Function fnimi(argum1, argum2,.) Lauseet End Function Funktiota kutsutaan arvo = fnimi(muuttuja1, muuttuja2, ). Arvo on muuttuja, joka saa funktion palauttaman arvon. Kuva 8. Esimerkki funktion kutsunnasta. Funktion määritys on kuvassa 6. Kuva 9. Euromuunnin funktio. Funktiota voidaan kutsua suoraa HTML-koodin avulla tehdystä objektista. Kuvassa 18 on koodiesimerkki, jolla kutsutaan kuvan 17 funktiota. Syntaksi esim. tekstikentästä kutsuttaessa on

10 Sivu 10 <INPUT TYPE= text NAME = objektinimi TAPAHTUMA= toinen_objekti.ominaisuus = funktionimi(argumentit) >. Kuva 10. Funktion kutsunta tekstikentäntästä poistuttaessa tapahtumasta Taulukot Kuva 11. Esimerkki taulukon käytöstä. Vari-nimiseen tauluun sijoitetaan eri värejä (merkkijonoja). Dokumentin väriksi valitaan satunnaisluvun mukaisessa taulukon indeksikohdassa oleva väriarvo. Vbscript-kielessä taulukot määritetään Dim lauseen avulla. Taulun nimen perässä oleva luku kertoo suurimman indeksin, indeksointi alkaa nollasta. Taulukon alkioihin viitataan indeksin avulla. Moniulotteisten taulukoiden määrittelyssä ja viittaamisessa erotetaan ulottuvuudet toisistaan pilkulla, esim. taulu(5,6) on kaksi ulotteinen taulu, jossa alkioiden määrä on 6*7 = 42.

11 Sivu Ohjausrakenteet Ehto-rakenne Vbscript-kielessä ehtorakenteen syntaksi on (Ehtorakenteessa ei tarvitse olla välttämättä ElseIfhaaraa tai Else-haaraa). If ehto1 Then lauseet1 ElseIf ehto2 Then lauseet2 Else lauseet 3 End If Kuva 12. Esimerkki ehtorakenteen käytöstä, jossa arvotaan luku ja määritetään, onko se parillinen vai pariton.

12 Sivu 12 Valinta-rakenne Vbscript-kielessä valintarakenteen syntaksi on Select Case muuttuja Case arvo1 lauseet 1 Case arvo2 lauseet 2.. Case Else lauseet n End Select Kuva 13. Esimerkki valintarakenteen käyttämisestä.

13 Sivu 13 Silmukat Vbscript-kielessä on useita silmukka rakenteita: FOR NEXT, DO WHILE LOOP, WHILE WEND. Do While -silmukkarakenne on myös Do Until rakenteessa, Do Not Until on sama kuin Do While, ja päinvastoin. For silmukan syntaksi on For muuttuja=alkuarvo to loppuarvo Step askellus lauseet Next Kuva 14. Esimerkki For-silmukan käytöstä. Do While silmukan syntaksi on Do While ehto Lauseet Loop Kuva 15. Esimerkki Do While silmukan käytöstä, jossa lajitellaan kymmenalkioinen apuniminen taulukko kuplalajittelulla.

14 Sivu 14 While Wend silmukan syntaksi on While ehto lauseet Wend Kuva 16. Esimerkki While-Wend silmukan käytöstä, jossa kirjoitetaan kymmenen satunnaislukua HTML-tagien avulla taulukkomuotoon web-sivulle Muuttujien näkyvyys Vbscript:ssä muuttujat näkyvät koko dokumentissa tai paikallisesti ko. aliohjelmassa tai funk tiossa. Globaali muuttuja määritellään <SCRIPT> tagiin aliohjelman tai funktion ulkopuolelle. Muuttujan voi määritellä myös toisessa <SCRIPT>-tagissa. Lokaali muuttuja määritellään ja käytetään aliohjelman tai funktion sisällä. Lisäksi muuttujat voidaan määritellä DIM- lauseen lisäksi GLO- BAL- tai PRIVATE-lauseella. Alla olevassa kuvassa on esimerkki lokaalista ja globaalista muuttujista.

15 Sivu 15 Kuva 17. Esimerkki globaalien ja lokaalin muuttujan käytöstä Objektimalli ja sen käyttäminen koodissa Melkein kaikki web-sivuilla ja selaimessa olevat elementit perustuvat objektimalliin olioihin. Objektihierarkian huipulla on window-olio. Window-objektin eräät oliot erottuvat selvästi selaimen näytöltä, osaa objekteista on hankala havaita ilman lähdekoodia. Liitteessä 2 on kuvattu DHTML:n yleisesti käytetyt objektit ja niiden hierarkia. Osa objekteista on kokoelmia (collection), sillä ne sisältävät useita olioita (vrt. Visual Basic). Tällainen kokoelma on esimerkiksi links, joka viittaa kaikkiin web-sivulla oleviin linkki-olioihin. Objektimallin window-oliosta hierarkiassa alapuolella olevat oliot ovat: location-objekti sisältää tietoa nykyisen sivun URL-osoitteesta. Sitä käytetään navigointiin. frames-kokoelma sisältää sivuston kehykset. history-objekti sisältää tiedot, millä sivuilla on viimeksi käyty. navigator-objekti sisältää tiedot käyttäjän selaimesta; selaimen nimi ja versionumero. event-objekti pitää kirjaa tapahtumien tilasta. Tämän avulla määritellään, mikä elementti aiheutti tapahtuman. screen-objekti sisältää tietoja näytön asetuksista.

16 Sivu 16 document-objekti sisältää tiedot sen hetkisen sivun elementeistä. Kuva 18. Esimerkkejä window-objektin olioista (Lähde: Microsoft Internet Explorer Webohjelmointi). Document-objektin olioihin viitataan pistenotaatiolla. Alla olevassa kuvassa on muutama esimerkki, joissa viittaukset ovat kokoelmiin. Kuva 19. Esimerkkejä document-objektin kokoelma-olioista (Lähde: Microsoft Internet Explorer Web-ohjelmointi). Kokoelmassa haluttuun olioon viitataan pistenotaation avulla. Viittaaminen voidaan tehdä indeksien avulla tai jos oliot on nimetty, niin nimien avulla. Kuvassa 28 on esimerkki indeksin

17 Sivu 17 avulla viittaamisesta, missä ensimmäinen olio saa indeksin 0 ja seuraavat samaan kokoelmaan kuuluvat oliot juoksevan numeron. Kuvassa 21 on esimerkki nimettyihin olioihin viittaamisesta. Kuva 20. Esimerkkejä document.forms-objektikokoelman olioista (Lähde: Microsoft Internet Explorer Web-ohjelmointi). Kuva 21. Esimerkkejä document.forms-objektikokoelman olioista (Lähde: Microsoft Internet Explorer Web-ohjelmointi). Toinen tapa viitata web-sivulla oleviin olioihin on käyttää all-kokoelmaa. All-kokoelmalla voidaan viitata kaikkiin www-sivulla oleviin HTML-elementteihin. All-kokoelmalla voidaan viitata indeksoidusti tai nimetysti. Esimerkki indeksoidusta viittaamisesta on document.all(0) tai

18 Sivu 18 document.all.tags( H1 ).item(0) viittaus, esimerkki nimetystä viittaamisesta on document.all.tags( paaotsikko ). Kuvissa esimerkkejä all-kokoelmaan viittaamisista. Kuva 22. Esimerkkejä document.all-objektikokoelman olioista, indeksoitu viittaaminen (Lähde: Microsoft Internet Explorer Web-ohjelmointi). Kuva 23. Esimerkkejä document.all-objektikokoelman olioista, indeksoitu viittaaminen (Lähde: Microsoft Internet Explorer Web-ohjelmointi).

19 Sivu 19 Kuva 24. Esimerkkejä document.all-objektikokoelman olioista, nimetty viittaaminen (Lähde: Microsoft Internet Explorer Web-ohjelmointi). Objektin ominaisuus on sen jokin yksilöllinen piirre, esim. tekstikehysolion txtteksti ominaisuus on value. Olion ominaisuuteen viitataan pistenotaatiolla olio.ominaisuus eli esim. txtteksti.value. Olion ominaisuus voidaan lukea muuttujaan, toisaalta olion ominaisuuden arvoa voi muuttaa ohjelmallisesti. Poikkeuksena ovat olion ominaisuudet, joilla on vain lukuoikeus (read-only, vrt. Visaul Basic). Monilla web-sivun objekteilla on vbscript:llä ohjattavia metodeja. Metodin avulla olio voi tehdä jotain tai se on käytös, jonka se voi suorittaa itsekseen. Metodin syntaksi on Visual Basicistä tuttu olio.metodi(). Metodista esimerkkinä on document.write(teksti), joka kirjoittaa teksti-muuttujan tiedon web-sivulle. Olion tapahtumista oli kappaleessa CSS-tyylien muuttaminen ohjelmallisesti Kappaleessa 1 käsiteltiin tyylejä. Tyylejä ei muutettu ohjelmallisesti. Vbscriptin avulla voi muuttaa ohjelmallisesti web-sivustolla olevaa tyyliä. Tyylien muuttamisessa on seuraavat syntaksit. 1. olio.ominaisuus = arvo - olion ominaisuuden muuttaminen 2. olio.style.cssominaisuus = arvo - tyylin muuttaminen koodilla 3. olio.luokkanimi = arvo - tyylin muuttaminen tyyliluokan avulla

20 Sivu 20 Kuva 25. Esimerkki upotetusta tyylistä, jossa on myös luokkamääritys. Kuva 26. Otsake, jota muokataan ohjelmallisesti tyylien avulla. Kuva 27. Esimerkki syntaksin 1 mukaisesta tyylin muuttamisesta ohjelmallisesti. Viittaamisessa käytetään document.all objektia. Kuva 28. Esimerkki syntaksin 1 mukaisesta tyylin muuttamisesta ohjelmallisesti. Viittaamisessa käytetään objektin nimeä.

21 Sivu 21 Kuva 29. Esimerkki syntaksin 2 mukaisesta tyylin muuttamisesta ohjelmallisesti. Kuva 30. Esimerkki syntaksin 3 mukaista tyylin muuttamisesta ohjelmallisesti. Tyylimääritys, jota käyteään, on kuvassa 25. Ohjelmallisen tyylien muuttamisen avulla voidaan standardoita sivuston tyylien muuttumista. Tyypillisesti sivustossa voi olla esim. linkkiluetteloita, joita halutaan korostaa hiiren osoittaessa kaikkialla samalla tavalla. Alla on esimerkki standartoimisesta. <html> <head> <title>tyylin muutoksen standartointi</title> <style type="text/css"> LI {font: 14pt/16pt "Times New Roman"} LI.kursiivi {font: 12pt "italic"} LI.sinikelta {background-color: "yellow"; font-color:"blue"} </style> <script language="vbscript"> Sub document_onmouseover() ' apu-muuttujaan hiiren osoittaman linkin tagi apu = window.event.srcelement.tagname ' linkin tutkinta If apu = "A" Then tagi = window.event.srcelement.sourceindex document.all(tagi).classname = "sinikelta" End if End sub Sub document_onmouseout() ' linkin tutkinta If apu = "A" Then tagi = window.event.srcelement.sourceindex

22 Sivu 22 document.all(tagi).classname = "" End if End sub </script> </head> <body> <h1>tyylin muutoksen standartointi</h1><p> Hyperlinkin korostaminen <p> <a href="http://www.kuopio.fi">kuopion kaupunki</a><br> <a href="http://www.pspt.fi">teku</a><br> <a href="http://www.evreka.com">evreka-haku</a><br> <a href="http://www.fi">ihmemaan haku</a><br> </body> </html> Poikkeustenkäsittely Poikkeusten käsittelyllä tarkoitetaan tilanteita, joissa ohjelma kaatuu, esim. pyrit jakamaan nollalla. Poikkeusten käsittelyssä käytetään tyypillisesti käyttäjäviestinnässä jotakin vuorovaikutetta, esim. msgbox()-funktio. Vbscript sisältää virheenkäsittelyä varten seuraavat lauseet. On Error käynnistää virheenkäsittelyn. On Error Resume Next -lauseella suoritetaan virheen aiheuttamasta koodirivistä seuraava koodirivi. Err-objektin avulla voi selvittää mm. virhenumeron ja sisällöllisen selityksen. Err.Raise generoi virheilmoituksen.

23 Sivu 23 Kuva 31. Nelilaskin sovelluksen käyttöliittymän HTML-koodi. Laskentatoiminta tehdään laskinfunktion avulla. Kuva 32. Nelilaskin sovelluksen laskin-funktio. Laskin funktio sisältää poikkeuskäsittelyn, toteutus On Error Resume Next lauseella.

24 Sivu Tiedon sitominen, data binding Web-sivuilla on tyypillistä tuoda tietoa jostakin tietolähteestä. Tässä tutustutaan tiedon tuomista yksinkertaisesta tekstitiedostosta. Tiedon tuomiseen tietokannasta tutustutaan kappaleessa 3. Tiedon sitomiseen käytetään ActiveX-komponettia, jonka nimi on Tabular Data. Tabular Data komponentti käsittelee sarakkeista tietoa. Kuva 33. Sarakkeinen tiedosto, joka on talletettu Access-sovelluksen taulusta tekstitiedostoksi. Tiedostossa on Sukunimi, Etunimi, Kaveruus, Puhelin ja sarakkeet (kentät). Tiedostossa on kymmenen henkilön tiedot (tietueet). Tabular Data komponentin avulla voidaan tekstitiedostosta lukea sarakkeinen tieto ja tulostaa se www-sivulle halutulla tavalla. Tiedosta voidaan tulostaa kerralla kaikki vaikkapa taulukkoon tai tulostaa yksittäinen tietue, tietueesta toiseen voidaan liikkua vaikkapa painikkeiden avulla. Tekstitiedostossa olevasta tiedosta voidaan näyttää jonkin kriteerin mukaiset tiedot, esim. kriteerinä voi olla kaveruus (kaikki/työ/koti).

25 Sivu 25 Kuva 34. Tekstitiedoston sisältö web-sivulla, tekniikkana tiedon sitominen. Web-sivu, joka näyttää tiedoston tiedot, sisältää Tabular Data ActiveX-komponentin. Tämä komponentti tulee mm. IE4-version asennuksen yhteydessä. Tämän objektin voi sijoittaa websivulle usealla eri www-sivujen editoriohjelmalla. Web-sivulla objekti näyttää alla olevan kuvan mukaiselta HTML-kieleltä. Kuvassa olevassa objektissa on kaksi parametriä. DataUrl-parametrillä kerrotaan, mistä tiedostosta tiedot noudetaan. Objektin nimi (ID) on potpuri, tätä nimeä käytetään myöhemmin ohjelmakoodissa. Kuva 35. Tabular Data komponentti www-sivulla. Tieto kytketään web-svulle HTML-tagien avulla. DATASRC määrittää tietolähteenä käytettävän objektin nimen, esim. #potpuri. DATAFLD määrittää kentän tietolähteestä, josta tietoa tuodaan. DATAFORMATS määrittää tiedon käsittelyn eli käsitelläänkö tietoa tekstinä vai HTML:nä. DATAPAGESIZE määrittää tietuteiden enimmäismäärän, joka voidaan näyttää ruudulla yhdellä kertaa.

26 Sivu 26 Seuraavat HTML tagit tukevat DATASRC attribuuttia: <A>, <APPLET>, <BUTTON>, <DIV>, <FRAME>, <IFRAME>, <IMG>, <LABEL>, <MARQUEE>, <OBJECT>, <PARAM>, <SELECT>, <SPAN>, <TABLE> ja <TEXTAREA>. Seuraavat HTML tagit tukevat DATAFLD attribuuttia: <A>, <APPLET>, <BUTTON>, <DIV>, <FRAME>, <IFRAME>, <IMG>, <LABEL>, <MARQUEE>, <OBJECT>, <PARAM>, <SELECT>, <SPAN> ja <TEXTAREA>. Seuraavat HTML tagit tukevat DATAFORMATAS attribuuttia: <BUTTON>, <DIV>, <LABEL>, <MARQUEE>, <PARAM> ja <SPAN>. Vain <TABLE>-tagi tukee DATAPAGESIZE attribuuttia. Kuva 36. Esimerkki taulukkorakenteesta, jossa hyödynnetään tekstitiedostossa olevia tietoja. Kuvasta huomataan <table> -tagissa datasrc-attribuutin käyttäminen sekä <td>-tagin sisälle tuodaan tieto datafld-attribuutin avulla. Kuvassa 36 on myös kuvattuna hakukriteerin tekeminen ja lajittelun tekeminen. Hakukriteeri määritetään <select name="suodin">-tagin avulla ja lajittelussa käytetään painikkeita <input type="button" value="nimijärjestys" onclick="ali_nimi()"> ja

27 Sivu 27 <input type="button" value="kaveruusjärjestys" onclick="ali_kaveruus()">. Hakukriteerin ja lajittelun toimiminen vaatii vbscriptejä. Lajittelu tehdään SortColumnominaisuuden avulla, jossa määritetään merkkijonona kentän, joiden perusteella lajitellaan. Esimerkiksi kaveruuden mukainen lajittelu tapahtuu lauseella potpuri.sortcolumn="kaveruus; Sukunimi; Etunimi". Tämän lauseen jälkeen pitää lukea tiedot www-sivulle uudestaa Reset()- metodin avulla. Hakukriteerissä, suodattamisessa käyttäjä valitsee avautuvasta luettelosta haluamansa kriteerin. Tämä valinta luetaan alla olevassa kuvassa valinta-muuttujalle koodilla valinta=suodin.options(suodin.selectedindex).text. Kun valinta muuttuu, niin silloin suoritetaan suodin_onchange tapahtuma. Tapahtumassa määritetään potpuri.filtercolumn="kaveruus" lauseella, minkä kentän mukaan suodatus tehdään. Lauseella potpuri.filtercriterion="=" määritetään, millainen on suodatuksen operaattori. potpuri.filtervalue=valinta lause määrittää suodatuskentässä olevan tiedon ja potpuri.reset() lause päivittää tiedon näytölle. Kuva 37. Lajittelussa ja hakukriteerissä käytettävät vbscript-koodit.

28 Sivu 28 Jos halutaan näyttää tiedostosta yksi tietue kerrallaan, niin ohjelmakoodi muuttu hiukan. Kuvassa 38 kuvataan käyttöliitymän tekeminen. Käyttöliittymässä käytetään <table>-tagia, mutta siihen ei laiteta datasrc-attribuuttia. Datasrc-attribuutti tuo kaikki tiedot taulukkoon, tässä tehtävässä on tarkoituksen tuoda vain yksi tieto. Datasrc-määritys viedäänkin nyt <td>-tagien sisälle. Ohjelmakoodissa koodataan painikkeiden toiminta vbscript:n avulla. Kuvassa 47 on kuvatt koodit. objekti.recordset.absoluteposition palauttaa sen hetkisen sijainnin tietolähteessä, 1 tarkoittaa ensimmäistä tietuetta objekti.recordset.recordcount palauttaa tietolähteen tietueiden määrän objekti.recordset.movefirst() metodilla siirrytään tietolähteessä ensimmäiseen tietueeseen objekti.recordset.movenext() metodilla siirrytään tietolähteessä seuraavaan tietueeseen objekti.recordset.movelast() metodilla siirrytään tietolähteessä viimeiseen tietueeseen objekti.recordset.moveprevious() metodilla siirrytään tietolähteessä edelliseen tietueeseen Kuva 38. Käyttöliittymäkoodi sovellukseen, joka näyttää sarkaintiedostosta yhden tietueen kerrallaan. Käyttöliittymässä on neljä painiketta, jotka kutsuvat aliohjelmia.

29 Sivu 29 Kuva 39. Yhden tietueen näyttämiseen liittyvät koodit Visual Basic 6.0 ja DHTML-projekti Microsoft Visual Basic 6.0 Pro versiolla voi tehdä DHTML-projektin (DHTML Application). Tällä DHTML-projektin avulla voidaan rakentaa webissä toimiva sovellus. Selainvaatimuksena on Microsoftin selain. Ohjelmointi on normaalin sovelluksen tekemisen kaltaista, sovelluksen tekemisen käyttöliittymä on hiukan toisenlainen. VB:ssä sovellus käännetään dll-tiedostoksi. Dll- tiedosto rekisteröityy käännöksen yhteydessä Windows:n rekisteriin (saa classid- identifikaatin). Jos samaa sovellusta halutaan käyttää jollakin toisella koneella, esim. palvelimella, tarvitaan tehdä sovelluksesta asennuspaketti. Tämän asennuspaketin avulla voidaan dll-tiedosto asentaa palvelimelle ja samalle se identifioituu. Identifioitu dll-tiedosto voidaan liittää web-sivulle.

30 Sivu 30 Kuva 40. BMI-painoindeksin laskeva sovellus. Toteutettu Visaul Basicin DHTML-projektina. Kuva 41. Kuvan 40 sovellus Visual Basicin kehitysympäristössä. Private Function Laske_onclick() As Boolean BMI.Value = Format(CDbl(paino.Value) / (CDbl(pituus.Value) * CDbl(pituus.Value)), "0.00") End Function Yllä olevalla ohjelmakoodilla lasketaan painoindeksi. Laske BMI painikeelle on määritetty IDominaisuuteen Laske-arvo (vertaa olion nimi VB:ssä). Vastaavalla tavalla on nimetty BMI, paino ja pituus kentät. Painikkeen tapahtumat ovat funktioita, kun normaalissa VB-projektissa ne ovat Private Sub lausealiohjelmia.

31 Sivu Visual Basic 6.0 ja ActiveX Visaul Basicillä rakentaa ActiveX-komponetteja ja liittää niitä web-sovellukseen. Kappaleessa oli esimerkki Tabular Data komponentin käytöstä. Tabular Data on yksi esimerkki ActiveX-komponentista. ActiveX lähti kehittymään OLE-tekniikasta (Object Linking and Embedding). OLE tekniikan avulla voidaan käyttää sovelluksesta toista sovellusta, avaamatta sitä (OLE 2-version tekniikka). OLE tekniikan jälkeen Microsoft kehitti COM-tekniikan (Component Object Model). Internetohjelmoinnin kehittämisen myötä Microsoft julkaisi ActiveX tekniikan. ActiveX viittaa joukkoon COM-perusteisia tekniikoita hajautetulle tietojenkäsittelylle. ActiveX:n avulla helpotetaan ja joustavoitetaan web-sovelluste tekoa. ActiveX komponenttejä voi käyttää monenlaisessa ohjelmiostoprojektissa. Tällä tavoin ohjelmakoodin siirrettävyys projektista toiseen helpottuu. ActiveX-komponentin käyttö selaimessa sisältää seuraavat vaiheet: 1. Ladataan versionumero ja lyhyt kuvaus komponentista 2. Selain tarkistaa, onko komponetti ja asennettu 3. Jos ei ole asennettu tai versio on vanhempi, niin komponentti ladataan, asennetaan ja ajetaan 4. Jos komponentti on asennettu, se suoritetaan eli komponentti ladataan vain kerran. ActiveX-tekniikkaan liittyy tietoturvariski. Komponentti latautuu työasemalle, joten sen voi ohjemoida tekemään vaikkapa tuhojaan.!!!! ActiveX-tekniikkaa tukee vain Microsoftin selaimet. Netscape-selaimeen on saatavissa plug- in sovelluslaajennus, jolla voidaan ajaa ActiveXkomponentteja. Lisäksi komponentit vaativat kovalevyltä tilaa.!!! Visual Basicillä voi tehdä useanlaisia ActiveX-projekteja. ActiveX EXE on ohjelma, joka laajentaa yhden tai useamman ActiveX-komponentin. Tämä komponentti viittaa vain koodiin, se ei vaikuta liittymään ActiveX DLL laajentaa yhden tai useamman komponentin toiminnallisuutta ActiveX Document Exe sovellus voidaan asentaa web-sivustolle toimivaksi ActiveX Document Dll sisältää edellistä tukevaa ohjelmakoodia ActiveX Control on itsenäinen yksikkö, joka sisältää koodin ja käyttöliittumän. Tällöin syntyy OCX-tiedosto/komponentti.

32 Sivu 32 Kuva 42. Esimekki ActiveX-projektista Visual Basic 6.0:ssa. Kuvan 50 ActiveX-komponentti sisältää Laske-painikkeessa koodin. Private Sub Laske_Click() BMI.Text = Format(CDbl(Paino.Text) / (CDbl(Pituus.Text) * CDbl(Pituus.Text)), "0.00") End Sub Kun komponentti on tehty, se käännetään OCX-tiedostoksi. Tätä komponenttia voi käyttää Win32 sovelluksessa tai Web-sovelluksessa. Jos jollakin toisella koneella aiotaan käyttää ko. komponettia, siitä pitää tehdä asennuspaketti vaikkapa Visual Basicin omilla työkaluilla ja asentaa käytettävään koneeseen JavaScript, Jscript Tässä kappeleessa tutustutaan J(ava)script:iin. Tutustuminen ei ole niin laajaa kuin vbscript:ssä, sillä ohjelmoinnin idea on sama (ohjausrakenteisen lauseet erilaisia, vain muutama ero kielessä, oliomalli on melkein sama, jne ). J(ava)script-ohjelmat toimivat sekä Microsoftin kuin Netscapen selaimissa. Vbscript toimi vain Microsoftin selaimessa J(ava)script:n lisääminen web-sivulle Javascript-kielinen koodi kirjoitetaan www-sivulla <SCRIPT> </SCRIPT> -tagien väliin, kuten vbscript-koodi. Koodi voi olla myös erillisessä tiedostossa. Javascript-koodi on C++ kielen kaltaista. Jos selain ei tue Javascript-koodia, niin silloin käytetään koodia, jota selain ei lue. <SCRIPT LANGUAGE="JavaScript"> <! koodia //-->

33 Sivu 33 </SCRIPT> Kuva 43. Esimerkki Javascript-koodista, jossa koodi script-tagien sisällä. Kuva 44. Esimerkki Javascript-koodista, jossa koodi on ulkoisessa tiedostossa (erill.js). Kuva 45. Erillisen tiedoston koodi.

34 Sivu Kommentit ja muuttujat JavaScriptissä voidaan kommentit merkitä kahdella tapaa. Molempia tapoja voidaan käyttää rinnakkain samassa lähdekoodissa. // Tämä on kommentti yhdelle riville /* Tässä on toinen kommentti, joka voi olla usean rivin mittainen */ Javascript-kielessä muuttujat käsitellään vastaavalla tavalla kuin vbscript:ssä. Muuttujan nimi voi olla mikä tahansa, kunhan se ei ole varattu sana. JavaScript tunnistaa isot ja pienet kirjaimet eri merkeiksi, joten tämä poikkeaa vbscript:stä. Nimet eivät saa alkaa numerolla eivätkä ne saa sisältää skandinaavisia kirjaimia. Javascript:ssä muuttujien tietotyypit ovat kokonaisluku, liukuluku, boolean, merkkijono tai objekti. JavaScript käyttää 32-bittisiä kokonaislukuja. Kokonaislukuliteraalit voidaan antaa joko kymmenjärjestelmämuodossa (esim. 123), heksadesimaali muodossa 0x tai 0X -etuliitteen avulla (esim. 0xFA1) tai oktaalimuodossa 0-etuliittellä (esim. 0240). Liukulukuvakiot voivat olla joko tutun muotoisia (1234.0), desimaalipisteellä tai ilman, tai sitten ne voivat olla ns. tieteellisessä notaatiossa kuten 1.2e-10. Boolean-arvot ovat totuusarvoja joko arvoltaan true tai false. Merkkijonot ovat hipsujen ' tai kaksoishipsujen " väliin kirjoitettuja merkkijoukkoja. Merkkijonot voivat sisältää tavallisten merkkien lisäksi escape-merkkejä kuten "\n", joka tarkoittaa rivinvaihtoa sekä "\t", joka tarkoittaa tabulaattorimerkkiä. Objektit konvertoidaan automaattisesti merkkijonoiksi merkkijonojen yhdistelyoperaattoria (+) käytettäessä tostring()-metodin avulla.

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

Java-kielen perusteet

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

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

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

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

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,

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Harjoitustyö: virtuaalikone

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

Lisätiedot

CSS - tyylit. 13.11.2000 Seppo Räsänen

CSS - tyylit. 13.11.2000 Seppo Räsänen CSS - tyylit 13.11.2000 Seppo Räsänen Sivu 2 1 CSS-tyylit Dynaaminen HTML tai DHTML on standardi, joiden käyttöä tukevat uusimmat Netscapen ja Microsoftin selaimet. DHTML:n ominaisuuksia ovat tyylitiedostot

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

13. Loogiset operaatiot 13.1

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.

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Flash ActionScript osa 4

Flash ActionScript osa 4 Flash ActionScript osa 4 Tekstikentät Flash:ssa tekstikenttä voi olla tyypiltään joko TLF Text tai Classic Text. TLF Text on uusi Flash CS5 tullut tyyppi. Sen animointi ja muotoilu ominaisuudet ovat monipuolisemmat

Lisätiedot

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

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

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

5/20: Algoritmirakenteita III

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

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Javan perusteita. Janne Käki

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ä).

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Listarakenne (ArrayList-luokka)

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

Lisätiedot

Digitaalisen median tekniikat JavaScript Harri Laine 1

Digitaalisen median tekniikat JavaScript Harri Laine 1 Digitaalisen median tekniikat JavaScript 5.4.2004 Harri Laine 1 JavaScript ent. LiveScript (Netscape), muunnelma JScript (Microsoft) yhteensopivat yksinkertaisissa asioissa, aiemmin yhteensopimattomat

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

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

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Luokan muodostimet (Constructors)

Luokan muodostimet (Constructors) Mikä on muodostin? Luokan muodostimet (Constructors) Millaisia muodostimia on? Oletusmuodostin (Default Constructor) Parametrillinen muodostin Kopiointimuodostin (Copy Constructor) this-muuttuja Miten

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

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

Lisätiedot

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

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

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014 PHP-kielen perusteet 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc on ominaisuus PHP-koodaamisessa, jolla voidaan kirjoittaa pitkiä tekstejä

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

Muuttujat ja kontrolli. Ville Sundberg

Muuttujat ja kontrolli. Ville Sundberg Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee

Lisätiedot

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin

Lisätiedot

Taulukot, silmukat ja muut joka koodin pikku veijarit

Taulukot, silmukat ja muut joka koodin pikku veijarit Taulukot, silmukat ja muut joka koodin pikku veijarit Janne Käki 7.9.6 MERKKI liikenne jono METRI para laku MOGARI ATRI psyki buutti ESINE pelottelu ellistäminen runsauden kuono TUNTI SARVI kusi assistentti

Lisätiedot

Poikkeustenkäsittely

Poikkeustenkäsittely 1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Ohjelmoinnin perusteet, kurssikoe

Ohjelmoinnin perusteet, kurssikoe Ohjelmoinnin perusteet, kurssikoe 18.6.2014 Kirjoita jokaiseen konseptiin kurssin nimi, kokeen päivämäärä, nimi, TMC-tunnus ja opiskelijanumero tai henkilötunnus. Vastaukset palautetaan tehtäväkohtaisiin

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

TIE Principles of Programming Languages CEYLON

TIE Principles of Programming Languages CEYLON TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita

Lisätiedot

Harjoitus 2: Oppijan aktivointi (15.3.2016)

Harjoitus 2: Oppijan aktivointi (15.3.2016) Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

7. Oliot ja viitteet 7.1

7. Oliot ja viitteet 7.1 7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

811120P Diskreetit rakenteet

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

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

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.

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

Internet-pohjaisen oppimisympäristön laadinta. Luento 3

Internet-pohjaisen oppimisympäristön laadinta. Luento 3 Internet-pohjaisen oppimisympäristön laadinta Luento 3 Aiheena tänään Toteutustekniikoista yleisesti Selainriippumattomuudesta Hot Potatoes -ohjelmasta JavaScriptin perusteista 31.01.2013 IPOPPLA 2 Toteutustekniikoista

Lisätiedot

Groovy. Niko Jäntti Jesper Haapalinna Group 31

Groovy. Niko Jäntti Jesper Haapalinna Group 31 Groovy Niko Jäntti Jesper Haapalinna Group 31 Johdanto Groovy on Apachen kehittämä Javaan perustuva dynaaminen oliopohjainen ohjelmointikieli. Kielen kehitys alkoi vuonna 2003, versio 1.0 julkaistiin 2007

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

C++11 lambdat: [](){} Matti Rintala

C++11 lambdat: [](){} Matti Rintala C++11 lambdat: [](){} Matti Rintala bool(*)(int) Tarve Tarve välittää kirjastolle/funktiolle toiminnallisuutta Callback-funktiot Virhekäsittely Käyttöliittymät Geneeristen kirjastojen räätälöinti STL:n

Lisätiedot

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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,

Lisätiedot

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU Ohjelmointi 2 Jussi Pohjolainen TAMK» Tieto- ja viestintäteknologia Tietotyypeistä C++ - kielessä useita tietotyyppejä Kirjaimet: char, wchar_t Kokonaisluvut: short, int, long Liukuluvut: float, double

Lisätiedot

Matlab- ja Maple- ohjelmointi

Matlab- ja Maple- ohjelmointi Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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.

Lisätiedot

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

Periytyminen (inheritance)

Periytyminen (inheritance) 1 Periytyminen (inheritance) Mitä periytyminen on? Yli- ja aliluokka Konstruktorit Get- ja set-metodi Muut metodit tostring Yksinkertainen pääohjelma 1 Mitä periytyminen on? Periytymisen avulla olemassa

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

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

Lisätiedot

17. Ohjelmoinnin tekniikkaa 17.1

17. Ohjelmoinnin tekniikkaa 17.1 17. Ohjelmoinnin tekniikkaa 17.1 Sisällys for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

5. HelloWorld-ohjelma 5.1

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

Lisätiedot