o Edellinen luento o Tällä kertaa: JavaScript Perustietotyypit Lauseet Oliot Built in oliot

Koko: px
Aloita esitys sivulta:

Download "o Edellinen luento o Tällä kertaa: JavaScript Perustietotyypit Lauseet Oliot Built in oliot"

Transkriptio

1 Aulikki Hyrskykari o Edellinen luento Perustietotyypit Lauseet Oliot Built in oliot o Tällä kertaa: JavaScript Built in oliot ja for in lause HTML ja DOM Funktiot parametrit callback funktiot Tapahtumat ja tapahtumankäsittelijät HTML5 Canvas JavaScript kirjastoista

2 o Tiedonpaketoija oliot (data wrappers) perustietotyyppisen muuttujan voi määritellä "tiedonpaketoija olioksi jos tarpeen käsitellä muuttujaa oliona, esim. tarvitaan metodeja Object, Number, Boolean, String, Array ja Function o Apuväline oliot Math, Date ja RegExp tuovat mukanaan monia käyttökelpoisiin tietoihin ja toimintoihin o Virheoliot niiden avulla saadaan tietoa avuksi odottamattomista tilanteista selviytymiseen o Object kaikkien olioiden pohja olio o Number, Boolean, String, Array kuhunkin olioon liittyy joukko ominaisuuksia valmiiksi toteutettuja ja metodeja, jotka helpottava olioiden käsittelyä esim.

3 o Date olio ajan käsittelyyn o Math olion kautta saadaan käyttöön matemaattiset funktiot o RegExp oliot ovat säännöllisiä lausekkeita, joiden avulla on mahdollista tehdä hahmontunnistusta (pattern matching) merkkijonoille käsitellä merkkijonoja (etsiä ja korvata tunnistettuja osamerkkijonoja) o Esimerkiksi mjono = "33100 ; var okpostinro = new RegExp("^\d{5$ ); // tai var okpostinro = /^\d{5$/; if (document.lomake.postinro.value.search== 1) // ei ole käypä postinumero alert( Anna oikea postinumero ); o y.o. esimerkin säännössä käytetyt merkit sovitetaan merkkijonoon seuraavasti: ^ sopii merkkijonon alkuun \d sopii mihin tahansa numeromerkkiin {n sopii juuri n lukumäärään edeltävää merkkiä $ sopii merkkijonon loppuun o for...in silmukan avulla käydään läpi olion kaikki ominaisuudet (esimerkki <!DOCTYPE html> <html> <head> <meta charset="utf 8"> <title>for..in esimerkki</title> </head> <body> <h1>opetellaan JavaScriptiä 6</h1> <p> Käydään läpi asiakastiedot ja muodostetaan niistä merkkijono. </p> <p> Tuloksena on: <span id= msg">ei tietoja.</span> </p> <script> var tieto; var str = ""; var asiakas={etunimi:"aarne", sukunimi:"asiakas",ika:30; for (tieto in asiakas) str+=asiakas[tieto]+" "; document.getelementbyid("msg").innerhtml = str; </body> </html> getelementbyid("tunnus") document olion metodi, noutaa elementin jonka id=="tunnus" innerhtml() DOM solmun ominaisuus, jäsentää merkkijonon ja korvaa solmun sisällön jäsennetyllä sisällöllä. JWT 2014@Aulikki Hyrskykari, SIS, Tampereen yliopisto

4 o DOM on standardoitu keino päästä käsittelemään ohjelmallisesti HTML dokumentin osiin ja ominaisuuksiin o Se välittää HTML elementit JavaScriptiin olioina olioita (ts. sivun elementtejä) voisiten käsitellä JavaScriptillä voidaan muokata HTML elementtien ominaisuuksia JavaScriptin kautta käyttöön olioille (ts. sivun elementeille) määriteltyjä tapahtumia ja metodeja o Toisin sanoen, DOM standardoi sen, miten HTML dokumentin (www sivun) elementtejä voi ohjelmallisesti muokata, luodajapoistaa <!DOCTYPE html> <html> <head> <title>simple HTML document</title> </head> <body> <h1> Esimerkkisivu </h1> <p id = esittely > Tämä dokumentti sisältää otsikon ja kaksi kappaletta. </p> <p> Tämä on <em>toinen</em> kappale ja tässä on sisältönä paitsi tekstiä ja kuva <a href=" <br /> <img src = "img/nasinneula.png" alt="näsinneula" /> </p> </body> </html> o Selain muodostaa sivusta DOM puun joka koostuu solmujen hierarkiasta

5 document html head body title h1 p p #text #text id #text #text em #text a br img #text href #text src alt o DOM puun solmu olioilla on kolme yhteistä ominaisuutta o nodetype, solmun tyyppi (kokonaisluku 1 12), esim. 1=elementtisolmu, 2=attribuuttisolmu, 3=tekstisolmu, 9=kommenttisolmu ja 10=dokumenttisolmu o nodename, solmun nimi merkkijonona DOM spesifikaatiossa kaikille elementeille annettu vakionimet kapitaalikirjaimin kirjoitettuna, esimerkiksi <p> elementille: nodename == "P" o nodevalue, solmun arvo, esim. tekstisolmujen (nodetype=3) arvo on teksti itse attribuuttisolmun (nodetype=2) arvo on attribuutin arvo elementtisolmun (nodetype=1) arvo on null o Kullakin solmutyypillä muitakin ominaisuuksia ja metodeja

6 o Elementtisolmun (nodetype=2) style ominaisuuden kautta pääsee käsiksi solmun css piirteisiin var kappale= document.getelementbyid("esittely"); kappale.style.color="red"; o Solmun style ominaisuuden (edelleen olio) ominaisuudet vastaavat CSS piirteitä, mutta nimeämiskäytäntö JavaScript tyyppisesti camelcase, esim. CSS DOM o border color bordercolor o background image backgroundimage o color color ks. esim. esimerkki: o Aiemmin oli esillä getelementbyid(tunnus), jolla noudettiin sivulta elementti, jolla oli määrätty tunnus o Toinen tapa on käyttää html elementtinimeä (nodename) getelementsbytagname ( nodename") o Funktio palauttaa listan solmu olioita palautetun listan oliotyyppi on HTMLCollection viittaus listan yksittäisiin solmuihin indeksoinnilla [0], [1], var kappaleet = document.getelementsbytagname("p"); kappaleet[0].textcontent = "Ensimmäisen kappaleen uusi teksti"; kappaleet[1].textcontent = "Muutetaan toinen kappale"; o Listan pituus (solmujen lukumäärä)? tallennettu solmulistan ominaisuuteen length solmulistan solmut ensimmäinen ja viimeinen alkio solmut[0] solmut[elem.length 1]

7 kappale.nextelementsibling.childnodes[1] o Kun on olemassa viittaus johonkin DOM puun elementeistä, pääsee sen kautta kiinni mihin tahansa sivun muista elementeistä. o Kaikilla solmuilla on seuraavat ominaisuudet: childnodes, lapsisolmujen lista firstchild, ensimmäinen solmu lapsisolmujen listassa =childnodes(element)[0] lastchild, viimeinen solmu lapsisolmujen listassa =childnodes(element)[listanpituus 1] nextsibling, seuraava sisarussolmu nextelementsibling, seuraava sisarus, jonka nodetype==1 previoussibling (previouselementsibling), edellinen sisarussolmu parentnode, solmun äiti var solmu = document.getelementbyid("esittely"); alert(solmu.nextelementsibling.firstchild.nodevalue); o Tuottaisi valintaikkunaan tekstin: "Tämä on" (ed. esimerkin Tampere sivulla) o Funktion kutsu funktioon voidaan viedä kutsukohdasta arvoja parametrien avulla parametrit annetaan sulkeissa, sulkeet kirjoitetaan, vaikka parametreja ei olisikaan <!DOCTYPE html> <html> <head> <meta charset="utf 8"> <title>asiakastietojen käsittely</title> <script type="text/javascript"> function Asiakas(p1, p2, p3) { this.etunimi = p1; this.sukunimi = p2; this.ika = p3; function muodostaasiakastiedot(tamaasiakas) { var tieto; var asiakastiedot = ""; for (tieto in tamaasiakas) asiakastiedot = asiakastiedot + tamaasiakas[tieto] + " "; return asiakastiedot; </head> <body> <h1>opetellaan JavaScriptiä 7 </h1> <p> Käydään läpi asiakkaan tiedot ja muodostetaan niistä merkkijono. </p> <p> Tuloksena on: <span id= msg">ei tietoja.</span> </p> <script type="text/javascript"> var asiakas1 = new Asiakas("Kalle", "Kuluttaja", 28); var str1 = muodostaasiakastiedot(asiakas1); document.getelementbyid("msg").innerhtml=str1; </body> </html>

8 o Funktiossa esitelty muuttuja on paikallinen funktiolle var a=1; var b=2; var c=3; function f1() { var a=11; b=22; function f2(){ var b=222; c=333; alert("f2 a,b,c: "+a+", "+b+", "+c); f2(); alert("f1 a,b,c: "+a+", "+b+", "+c); f1(); alert("globaali a,b,c: "+a+", "+b+", "+c); o Lohkossa esitellyt muuttujat näkyvät sisemmille hierarkiatasoille (funktioihin) o Jos muuttujaa ei ole esitelty lainkaan, siitä tulee automaattisesti globaali JWT 2014@Aulikki Hyrskykari, SIS, Tampereen yliopisto var luku, tulos; //globaaleja muuttujia function square(n) { var b = n * n; // b, n lokaaleja muuttujia return b; // palauta n * n; luku = 6; tulos = 2*square(luku); n funktion muodollinen parametri luku funktiolle välitetty, todellinen parametri Funktio palauttaa aina arvon Jos return lausetta ei ole käytetty, palautettu arvo on undefined

9 o Funktion palauttamaa arvoa voi käyttää lausekkeessa function iseven(n) { return (n%2 ==0); // palauttaa boolean arvon var arvo = 6; if (iseven(val)) { // tee jotain o Jos if lauseen ehtolausekkeen arvo on määrittelemätön, tulkki lähettää virheen (throws an error) o try catch lauseella voidaan ottaa virhe kiinni ja määritellä itse miten se käsitellään o Funktiolle välitettyjen parametrien lukumäärä ja tyyppi voi vaihdella eri kutsukerroilla o Paikallinen muuttuja (taulukko) "arguments automaattisesti käytettävissä kaikissa funktioissa o Parametreihin pääsee käsiksi sekä muodollisten parametrien, että arguments taulukon kautta add(1, 2, 3); // palauttaisi 6 add(1, 2, 3, 4, 5); // palauttaisi 19 o Miten näin toimiva funktio toteutettaisiin? function add () { var s = 0; for (var i = 0; i < arguments.length; i++) s += arguments[i]; return s; add(1, 2, 3, 4, 5); // palauttaisi 15 add(1, 2, "3", 4, 5); // entä tämä?

10 o Funktio voi palauttaa eri tyyppisiä arvoja eri kutsukerroilla function teejotain (p1) { if (typeof(p1) == "number") return 0; // palauttaa luvun else if (typeof(p1) == "string") return nolla"; // palauttaa merkkijonon teejotain(1); // palautuu 0 teejotain("abc"); // palautuu "nolla" teejotain(); // palautuu undefined o Voidaan luoda funktio ja antaa se arvoksi muuttujalle var tieto, vastaus; tieto = function (a,b) { return a + b; var tieto2 = tieto; vastaus = tieto2(10,2);

11 o Koska funktio on vain tietoa, se voidaan välittää toiselle funktiolle parametrina function summaa(a,b){ return a() + b(); function yy(){ return 1; function kaa(){ return 2; answer = summaa(yy, kaa); o Kun funktio fa välitetään toiselle funktiolle fb parametrina, ja fb suoritta funktion fa, kutsutaan fa:ta callback funktioksi o Sen avulla voi käyttää toisten kirjoittamia funktioita, jotka toteuttavat heidän määrittelemänsä toiminnan o Tätä käytetään tapahtumankäsittelijöiden toteutuksessa

12 o Edellä skriptipalat suoritettu dokumentin latautuessa selaimeen, ts. ne oli kirjoitettu sivulle ns. inline skripteinä o Tyypillisempi tapa tapahtumat ja tapahtumankäsittelijät (events, event handlers) toisin sanoen tietty tapahtuma saa aikaan siihen liitetyn skriptin suorituksen - esim. sivun latautuminen, hiiren napsaututus tai kaksoisnapsautus, lomakkeen lähettäminen, näppäimen painaminen jne. o Tapahtumankäsittelijä koodipala (yleensä funktio) jonka tapahtuma laukaisee o Tapahtumankäsittelijä voidaan määritellä HTML elementin attribuutiksi o Attribuutin nimi on tyyppillisesti muodoltaan "onxxx" jossa XXX on tapahtuman nimi esimerkiksi <img href="kuvan osoite" onclick="kasittelyfunktio(parametrit)">

13 event attribuutti attribuuttiin liitetyn funktion kutsun saa aikaan onchange tekstikentän, alueen tai pudotusvalikon sisällön muutos onclick napsautus elementin päällä ondblclick kaksoisnapsautus elementin päällä onmousedown hiiren painikkeen painallus elementin päällä onload sivun tai kuvan latauksen valmistuminen onsubmit lomakkeen lähetys onreset lomake palauttaminen alkuarvoonsa onunload dokumentin sulkeminen onresize elementin koon muutos täydellinen lista, ks esim. <!DOCTYPE HTML> <html> <head> <meta charset="utf 8"> <title>mousedown/up esimerkki</title> </head> <body> <p id="p1" onmousedown="kasittelemdown()" onmouseup="kasittelemup()"> text belonging to paragraph </p> <script> function kasittelemdown(){ document.getelementbyid("p1").style.color="red"; function kasittelemup(){ document.getelementbyid("p1").style.color="green"; </body> </html> esimerkki:

14 o Tapahtuma luo aina event olion olio sisältää tapahtumaan liittyvää tietoa tällaisia ovat mm. seuraavat olion ominaisuudet clientx hiiren x koordinaatti (ikkunassa) clienty hiireny koordinaatti (ikkunassa) offset * hiiren x koordinaatti suhteessa tapahtuman laukaisseen elementin vasempaan reunaan offset * hiiren y koordinaatti suhteessa tapahtuman laukaisseen elementin yläreunaan button liittyykö tapahtumaan hiiren painikkeen (ja minkä niistä 1=vasen, 2=oikea, 3=keski) painallus keycode näppäimistön näppäimen koodi o täydellinen luettelo esim. täällä: * Puuttuvat Firefoxin event-olio mallista <!DOCTYPE HTML> <html> <head>... </head> <body> <p id= "status">status</p> <div id = "alue" onmousemove = "handlemousemove(event)" ></div> Event olio välitetään funktiolle <script> var statusrivi = document.getelementbyid("status ); function handlemousemove(e) { statusrivi.textcontent = "client(x,y): (" + e.clientx + ", " + e.clienty + ") " + "offset(x,y): ( + e.offsetx + ", " + e.offsety + ")"; </body> </html> esimerkki:

15 <!DOCTYPE HTML> <html> <head>... </head> <body> <p id= status">viesti</p> <p onmousedown="whichbutton(event)"> Tapahtumaan liittyvään tietoa voidaan välittää event oliolla... </p> <script> var viestirivi = document.getelementbyid( status"); function whichbutton(e) { var msg = "button: "; switch (e.button) { case 0: msg += "left"; break; case 1: msg += "middle"; break; case 2: msg += "right"; break; viestirivi.textcontent = msg; Event olio välitetään funktiolle </body> </html> o DOM olioille voi asettaa kuuntelijafunktion (event listener) o Kuuntelijan asetus tapahtuu metodilla addeventlistener() o Metodille voi antaa kaksi parametria tapahtuman nimi (event name) ja kuuntelijafunktio, joka suoritetaan tapahtuman aktivoiduttua object.addeventlistener( tapahtumannimi", callbackfnimi); o Olio huolehtii tapahtuman havaitsemisesta tapahtumaa ei siis liitetä HTML dokumenttiin tapahtumien nimet esim. täältä o Ohjelmoija (sinä) kirjoitat kuuntelijafunktion (callback) joka suoritetaan, kun tapahtuma aktivoituu o Jos kuuntelijan asetetaan window oliolle, tapahtuma ikkunassa saa aikaan kuuntelijafunktion kutsumisen

16 keydown ja keyup tapahtumia kuunnellaan koko ikkunassa tuottavat tekstiä sivulle <p> elementin sisällöksi... <body> <p id= status">status</p> script> window.addeventlistener("keydown", reportkeycode); window.addeventlistener("keyup", reportkeyup); function reportkeycode(e) { statusrivi.textcontent += e.keycode + " "; function reportkeyup() { statusrivi.textcontent += "UP "; </body> </html> keydown tapahtumaa kutsutaan niin kauan kun näppäin pohjassa kutsun taajutta ei pääse kontrolloimaan tehdään sama window ikkunan setinterval metodin avulla luodaan tyhjä olio keysdown - keydown listener luo oliolle ominaisuuden, jonka nimi on painetun näppäimen koodi ja keyup listener poistaa ominaisuuden setinterval metodin avulla kutsutaan funktiota update, joka keysdownolion avulla tietää mitä näppäintä on painettu <body> <p id= status">status</p> script> var keysdown = {; window.addeventlistener("keydown", keyflagon); window.addeventlistener("keyup", clearkeyflag); window.setinterval(update,10); </body> </html> function keyflagon(e) { keysdown[e.keycode] = true;; function clearkeyflag(e) { delete keysdown[e.keycode];; function update() { // tätä funktiota kutsutaan 10 ms välein, täällä voidaan toistuvasti // esim. trkastaa mitä näppäimistön näppäimiä on painettu // ja regoida siihen kulloinkin tarkoituksenmukaisella tavalla esimerkki:

17 key keycode home-näppäin 36 nuoli vasemmalle 37 nuoli ylös 38 nuoli oikealle 39 nuoli alas 40 insert-näppäin 45 delete-näppäin 46 o verkosta löytyy täydellisempiä listoja, esim o document olion metodeja: createelement(elementname) createtextnode(text) appendchild(newchild) removechild(node) o Esimerkki: lisätään listaan uusi alkio: var list = document.getelementbyid("list1") var newitem = document.createelement("li") var newtext = document.createtextnode(text) list.appendchild(newitem) newitem.appendchild(newtext)

18 Canvas elementti on rajattu alue, taustakangas se voidaan asemoida sivulle haluttuun kohtaan siihen voi tuoda kuvan, tai siihen voi piirtää ohjelmallisesti elementille määritellään konteksti olio (graphics context) - konteksti säilyttää piirtämiseen liittyvät ominaisuudet (esim. kynän sijainti, koko, väri, jne.) <body> <canvas id="mycanvas" width="640" height="480"></canvas> <script> var cv = document.getelementbyid('mycanvas'); var context = cv.getcontext('2d');... o Kutsutaan getcontext() metodia parametrilla 2d o 3d parameteria ei ole, 3 ulotteisia kuvia piirretään webgl:ää käyttäen getcontext( WebGL ) o <body> <canvas id="mycanvas" width="640" height="480"></canvas> <script> var cv = document.getelementbyid('mycanvas'); var context = cv.getcontext('2d'); context.linewidth = "3"; context.strokestyle = "green"; context.beginpath(); // aloitetaan uusi piirtoviiva context.moveto(100, 150); // viivan alkukohta context.lineto(450, 50); // viivan loppukohta context.stroke(); // piirretään viiva...

19 o Canvas elementille annetaan luotaessa koko <canvas id="mycanvas" width="640" height="480"></canvas> o Jos koko jätetään antamatta, oletus on 300 x 150 o Huom: CSS sääntöjen avulla voi muuttaa canvasin kokoa ikkunassa, mutta se ei muuta piirtoalueen dimensioita o Ontto suorakaide ctx.linewidth = 7; ctx.strokestyle = 'black'; ctx.rect(300,300, 30, 30); // x,y,leveys,korkeus ctx.stroke(); o Täytetty suorakaide ctx.fillstyle = "#CC0000"; ctx.fillrect(300,300,30,30); o Kaari (osa ympyrää) ctx.beginpath(); ctx.arc(200,300,40,0,2*math.pi); // x,y, radius, start angle, end angle ctx.fill(); ontto ympyrä: ctx.stroke() 360 o = 2 * PI radians

20 o Vaikka elementteihin pääsee DOM puun kautta käsiksi, se ei ole aivan ongelmatonta o DOM puuhun tallennetaan muutakin kuin vain esitellyt elementit sivun sisältöä (tekstit, kuvat, jne.) käsittellään eri selaimissa eri tavoin rakentaessaan DOM puuta selaimet tulkitsevat tyhjätilamerkit eri tavoin jotkut selaimet ohittavat ne, toiset tekevät niistä oman DOM solmunsa. o Selainten tulkinta DOM puun rakentamisesta toivottavasti tarkentuu ajan myötä toistaiseksi turvallisen JavaScript koodin kirjoittaminen vaatii aikaa tarkastaa miten pääselaimet joissain erikoistilanteissa rakentavat oman DOM puunsa o Viittaaminen sivun kohteisiin vaikuttaa monimutkaiselta kun otetaan huomioon, että CSS:ään on jo toteutettu selkeät ja yksikäsitteiset valitsimet. o Ratkaisuna näihin ongelmiin: o JavaScript kirjastot jos käytämme Javasciptiä jonkun yleisesti hyvälaatuiseksi todetun javascript kirjaston kautta, nämä perustason ongelmat on niissä valmiiksi ratkaistu o jquery dokumentit: tutoriaali esim: o Jotta jquery funktioita voi käyttää kirjasto tulee tuoda omaan ohjelmaan (kuten mikä tahansa muukin JavaScript funktiotiedosto) funktiokirjaston kopioida itselleen jqueryn kotisivuilta ( mutta kirjaston voi kuitenkin tuoda myös suoraan muutamasta paikasta: min.js siis esim: <script type="text/javascript src=" min.js">

21 o jquery on räätälöity helpottamaan HTML elementtien valintaa ja niiden käsittelyä syntaksi: $(selector).action() $ = lyhenne sanalle jquery kertoo, että skripti löytyy jquery kirjastosta (selector) kysely (tai etsi)" HTML elementti action() toiminta, joka näille elementeille suoritetaan o Esimerkki: elementin piilota tämä o Esimerkki: piilota / näytä elementti, jonka id = #panel, silloin kun napsautetaan elementtiä, jonka id = #flip <script> $(document).ready(function(){ $("p").click(function(){ $(this).hide(); ); ); <script> $(document).ready(function(){ $("#flip").click(function(){ $("#panel").slidetoggle("slow"); ); ); slide/toggle: animate:

Aulikki Hyrskykari Antti Sand

Aulikki Hyrskykari Antti Sand 30.4.2015 Aulikki Hyrskykari Antti Sand o Edellinen luento Oliot Built-in oliot ja for in o Tällä kertaa: JavaScript HTML ja DOM Tapahtumat ja tapahtumankäsittelijät HTML5 Canvas JavaScript-kirjastoista

Lisätiedot

Aulikki Hyrskykari Antti Sand

Aulikki Hyrskykari Antti Sand 27.4.2015 Aulikki Hyrskykari Antti Sand o Edellinen luento Taustaa Perusteita Tulkattava kieli työkalut selaimessa Operaattorit Tietotyypit Perustietotyypit Lauseet Oliot o Tällä kertaa: JavaScript Built-in

Lisätiedot

Olion ominaisuuksiin ja metodeihin viitataan pistenotaatiolla:

Olion ominaisuuksiin ja metodeihin viitataan pistenotaatiolla: 2.5.2013 Aulikki Hyrskykari Javascript DOM jquery Oliot ovat kokoelmia piirteitä; piirteet voivat olla joko o ominaisuuksia (properties, perustietotyyppejä tai edelleen olioita) tai o metodeja (methods,

Lisätiedot

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi

Luento 3. Jouni Ikonen - Jouni.Ikonen lut.fi CT30A3200 - WWW-sovellukset Luento 3 Jouni Ikonen - Jouni.Ikonen lut.fi Kalvot Arto Hämäläisen kalvojen pohjalta 1 Jouni Ikonen HTML-lomakkeet HTML-lomakkeiden avulla voidaan WWW-sovelluksessa hakea käyttäjän

Lisätiedot

Aulikki Hyrskykari

Aulikki Hyrskykari 24.4.2014 Aulikki Hyrskykari 24.4.2014 Aulikki Hyrskykari o Edellinen luento Taustaa Perusteita Tulkattava kieli työkalut selaimessa Operaattorit Tietotyypit perustietotyypit (primitive datatypes) o Tällä

Lisätiedot

JWT 2017 luento 6. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

JWT 2017 luento 6. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari JWT 2017 luento 6 to 23.3.2017 klo 12-14 Aulikki Hyrskykari PinniB 1096 1 Viime luennolla o JavaScriptin perusteet Tänään o Edellisestä luennosta taulukoista, viittausalue-esimerkkejä DOM (Document Object

Lisätiedot

Digitaalisen median tekniikat. Luento 4: JavaScript

Digitaalisen median tekniikat. Luento 4: JavaScript Digitaalisen median tekniikat Luento 4: JavaScript Luennot 1. Intro 2. XHTML 3. CSS 4. JavaScript Historia Syntaksi Dom Esimerkki: kuvagalleria 5. JavaScript-kirjastot & AJAX 6. Käytettävyys & saavutettavuus

Lisätiedot

Digitaalisen median tekniikat JavaScript_osa Harri Laine 1

Digitaalisen median tekniikat JavaScript_osa Harri Laine 1 Digitaalisen median tekniikat JavaScript_osa2 7.4.2004 Harri Laine 1 JavaScript oliot JavaScriptissä voidaan määritellä myös luokkia ja olioita. Luokka määritellään konstruktorifunktion avulla function

Lisätiedot

Digitaalisen median tekniikat JavaScript_osa2

Digitaalisen median tekniikat JavaScript_osa2 Digitaalisen median tekniikat JavaScript_osa2 7.4.2004 Harri Laine 1 JavaScriptissä voidaan määritellä myös luokkia ja olioita. Luokka määritellään konstruktorifunktion avulla function Ympyra(x,y,r) {

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

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

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

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2

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

Lisätiedot

Kuvat. 1. Selaimien tunnistamat kuvatyypit

Kuvat. 1. Selaimien tunnistamat kuvatyypit Kuvat Kuvia voi liittää xhtml-sivulle -elementillä -elementillä -elementillä lomakkeiden yhteydessä lähinnä painikenappeja taustakuvina -elementin background-attribuutilla tai

Lisätiedot

JWT 2016 luento 5. ti klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

JWT 2016 luento 5. ti klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari JWT 2016 luento 5 ti 22.3.2016 klo 14-16 Aulikki Hyrskykari PinniB 1096 1 Viime luennolla o JavaScriptin perusteista Tänään o JavaScriptin perusteista muutama poiminta o DOM puun käsittely haun tallentaminen

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

(JavaScript) Aleksi O Connor DI Informaatioverkostot. Markku Laine Mediatekniikan laitos

(JavaScript) Aleksi O Connor DI Informaatioverkostot. Markku Laine Mediatekniikan laitos Selainohjelmointi Verkkosivujen toiminnallisuus (JavaScript) (JavaScript) T-111.1100 CS-C1180 Digitaalisen Verkkojulkaisemisen median työvälineet perusteet (5 (3 op) op) Aleksi O Connor DI Informaatioverkostot

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

Code Camp for Girls. Sanna Nygård. Lokakuussa 2015 www.frantic.com/codecamp/

Code Camp for Girls. Sanna Nygård. Lokakuussa 2015 www.frantic.com/codecamp/ Code Camp for Girls Sanna Nygård Lokakuussa 2015 www.frantic.com/codecamp/ HTML? HTML? HyperText Markup Language Ei ole nettisivua ilman HTML:ää Rakenteinen, hierarkkinen dokumentti Vain rakenne ja sisältö,

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

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

Aulikki Hyrskykari. CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla

Aulikki Hyrskykari. CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla 4.4.2013 Aulikki Hyrskykari CSS Taustaa CSS syntaksi CSS Valitsimet Kuvat verkkosivulla Tyylipohjakieli Nimi tulee piirteiden putousmaisesta periytymisestä o cascade = vesiputous o tyylipiirteet periytyvät

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

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

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

Harjoitus 4: HTML5 piirtoalusta ( )!

Harjoitus 4: HTML5 piirtoalusta ( )! ! Tietokoneavusteinen opetus, 2017 Harjoitus 4: HTML5 piirtoalusta (24.3.2017)!! Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana: 10.3.,

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

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Java-kielen perusteet

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

Lisätiedot

Racket ohjelmointia II. Tiina Partanen 2015

Racket ohjelmointia II. Tiina Partanen 2015 Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita

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

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

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

Luento 5. Timo Savola. 28. huhtikuuta 2006

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

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

JavaScript alkeet. Intro Muuttujat Dialogi boxit. Metropolia 2011

JavaScript alkeet. Intro Muuttujat Dialogi boxit. Metropolia 2011 JavaScript alkeet Intro Muuttujat Dialogi boxit Metropolia 2011 * Monissa websivuissa käytetään JavaScriptiä. *JavaScript kehitettiin v. 1995 Netscapessa (LiveScript) *Html on staattinen: JavaScript mahdollistaa

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Aulikki Hyrskykari. JWT Hyrskykari, SIS, Tampereen yliopisto 4/23/2014

Aulikki Hyrskykari. JWT Hyrskykari, SIS, Tampereen yliopisto 4/23/2014 15.4.2014 Aulikki Hyrskykari JWT 2014 @Aulikki Hyrskykari, SIS, Tampereen yliopisto o Edellinen luento Asemoinnista Mukautuva suunnittelu responsiivinen suunnittelu Sommitteluruudukkojen käyttö layout

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

Verkkosivujen toiminnallisuus (JavaScript)

Verkkosivujen toiminnallisuus (JavaScript) Verkkosivujen toiminnallisuus Selainohjelmointi (JavaScript) (JavaScript) T-111.1100 Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op) Juuso Lappalainen DI Markku Laine

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Kotisivujen teko. Jan Lindholm Kirkkonummen kansalaisopisto Syksy koodari.eu jsbin.com

Kotisivujen teko. Jan Lindholm Kirkkonummen kansalaisopisto Syksy koodari.eu jsbin.com Kotisivujen teko Jan Lindholm Kirkkonummen kansalaisopisto Syksy 2014 koodari.eu jsbin.com Käyttäjätunnus / Salasana aoppilas.01 / aoppilas#2013# aoppilas.02 / aoppilas#2013# aoppilas.03 / aoppilas#2013#

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

5 Näppäimistö. 5.1 Näppäimistön eventit

5 Näppäimistö. 5.1 Näppäimistön eventit 5 Näppäimistö Näppäimistö (Keyboard) on Windows Forms -ohjelmissa keskeisessä asemassa. Erityisesti erilaisissa tekstinkäsittelyohjelmissa ja ohjelmissa, joissa tarvitaan datan syöttämistä esimerkiksi

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia.

CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. CSS1 CSS (Cascading Style Sheets) CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. Esim.

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

Digitaalisen median tekniikat JavaScript

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

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

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

05/04/2004. Digitaalisen median tekniikat, k2004 HY/TKTL, javascript_1. Harri Laine 1. JavaScript

05/04/2004. Digitaalisen median tekniikat, k2004 HY/TKTL, javascript_1. Harri Laine 1. JavaScript Digitaalisen median tekniikat ent. LiveScript (Netscape), muunnelma JScript (Microsoft) yhteensopivat yksinkertaisissa asioissa, aiemmin yhteensopimattomat hiemankin edistyneemmissä nyk. ECMAScript (standardi)

Lisätiedot

TYYLIT. Word Tyylit

TYYLIT. Word Tyylit Word 2013 Tyylit TYYLIT TYYLIT... 1 Pikatyylien käyttäminen... 1 Tyylimuotoilun poistaminen... 2 Tyylin muokkaaminen... 2 Uuden tyylin luominen muotoillusta tekstistä... 2 Uuden tyylin luominen valintataulussa...

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

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

Ohjelmoinnin peruskurssi Y1

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

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

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

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

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

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

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet Luku 6 Pikanäppäimet Pikanäppäimet ovat näppäinyhdistelmiä, jotka mahdollistavt ZoomTextin komennot ilman ZoomTextin käyttäjäliittymän aktivointia. Pikanäppäin komentoja on melkein jokaisella ZoomTextin

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

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja

Lisätiedot

Moodle-oppimisympäristö

Moodle-oppimisympäristö k5kcaptivate Moodle-oppimisympäristö Opiskelijan opas Sisältö 1. Mikä on Moodle? 2. Mistä löydän Moodlen? 3. Kuinka muokkaan käyttäjätietojani? 4. Kuinka ilmoittaudun kurssille? 5. Kuinka käytän Moodlen

Lisätiedot

Kuva xhtml-sivulla. Mirja Jaakkola

Kuva xhtml-sivulla. Mirja Jaakkola Kuva xhtml-sivulla Mirja Jaakkola Sisältö 3. Kuva www-sivulla 4. img-elementti 5. Kuvan koko 6. Kuvan keskitys vaakasuoraan & kuvateksti 7. Kuvan tasaus pystysuoraan 8. Esimerkki: pystysuora tasaus eri

Lisätiedot

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

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

Visma Fivaldi -käsikirja MiniCRM

Visma Fivaldi -käsikirja MiniCRM Visma Fivaldi -käsikirja MiniCRM 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Perustiedot - välilehti... 5 4 Tila (vapaassa tekstikentässä edellisellä sivulla annettu nimi) - välilehti... 6 5 Vasemman

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

Luento 3: Tietorakenteiden esittäminen

Luento 3: Tietorakenteiden esittäminen Luento 3: Tietorakenteiden esittäminen AS-0.110 XML-kuvauskielten perusteet Janne Kalliola Tietorakenteiden esittäminen XML-dokumentti puuna Muunnokset muodosta toiseen Perustietorakenteet listat puut

Lisätiedot

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti

Proseduraalinen dokumentti: sisältö, rakenne ja ulkoasu yhdessä, esim. worddokumentti 1 XHTML - aloitus Sisältö: s.2 Taustaa s.4 Elementin rakenne s.7 XHTML dokumentti s.8 DOCTYPE s.11 html s.13 head s.14 meta s.16 title s.17 link s.18 style s.19 body s.22 Lohko- ja inline-elementit s.23

Lisätiedot

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla 1 ENTITEETIT Tehtävä 1. Tietokoneet ja käyttöjärjestelmät käyttävät erilaisia merkkijärjestelmiä ja varsinkin Internetin alkutaipaleella aiheutti sen, että jotkut merkit eivät näkyneet kaikilla oikein.

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

14. Poikkeukset 14.1

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.

Lisätiedot

JWT 2017 luento 10. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

JWT 2017 luento 10. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari JWT 2017 luento 10 to 20.4.2016 klo 12-14 Aulikki Hyrskykari PinniB 1096 1 Viime luennolla o Funktiot JavaScriptissä, callback, IIFE, sulkeumat ja Module pattern Tänään o AJAX (Asynchronous JavaScript

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

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten

Lisätiedot

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

Internet-pohjaisen oppimisympäristön laadinta. Luento 4 Internet-pohjaisen oppimisympäristön laadinta Luento 4 Aiheena tänään JavaScript jquery HTML5 Ääni, video Web Storage Evästeet Kertausta 05.02.2015 IPOPPLA 2 JavaScript - DOM-malli Tapa päästä käsiksi

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle

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

Ohjelmoinnin peruskurssien laaja oppimäärä

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:

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

Lisätiedot

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Valitsimista valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Muistin virkistykseksi elementtejä http://appro.mit.jyu.fi/doc/www/xhtml/ HTML-elementtien lisäksi valitsimille voidaan luoda

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN

TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN TIEDEJUTTUKURSSI 29.9.2011 FM VILLE SALMINEN YLEISTÄ LUENNOT (8 H) & TYÖPAJA (2 H) YHTEYSTIEDOT ville.salminen@oulu.fi VÄLINEET Tekstieditori Mieluummin Windowsin Notepad kuin esimerkiksi Microsoft Word

Lisätiedot