Olion ominaisuuksiin ja metodeihin viitataan pistenotaatiolla:

Koko: px
Aloita esitys sivulta:

Download "Olion ominaisuuksiin ja metodeihin viitataan pistenotaatiolla:"

Transkriptio

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

2 Olio, voidaan luoda o alustajalla (initializer) var kirja1={aihe:"jquery", tekija:"david Sawyer McFarland"}; <!DOCTYPE HTML> <head> <title>itse määritelty olio</title> </head> <body> <h1>opetellaan JavaScriptiä 2</h1> <script type="text/javascript"> // Luodaan ja ja alustetaan kirja olio, jolla jolla kaksi kaksi ominaisuutta ominaisuutta var kirja = {aihe:"jquery", tekija:"david Sawyer Sawyer McFarland"}; // kutsutaan seuraavassa luotua oliota document.write("kirjan nimi: " " + kirja.aihe + + "<br>"); + document.write("kirjoittaja: " " + kirja.tekija + + "<br>"); + "<br>"); </body> </html> Olio, voidaan luoda o new operaattorin ja Object() konstruktorin avulla var kirja1 new Object(); o antamalla sen jälkeen oliolle ominaisuudet sijoituslausein <!DOCTYPE HTML> <html> <head> <meta charset="utf 8"> <title>oma olio</title> </head> <body> <h1>opetellaan JavaScriptiä 3</h1> <script type="text/javascript"> var kirja = = new new Object(); // Luodaan // Luodaan olio olio kirja.aihe = "jquery"; = // ja // asetetaan ja asetetaan oliolle ominaisuudet oliolle ominaisuudet kirja.tekija = "David = "David Sawyer Sawyer McFarland"; McFarland"; // kutsutaan seuraavassa otsikko osassa luotua oliota luotua oliota document.write("kirjan nimi: nimi: " + kirja.aihe " + kirja.aihe + "<br>"); + "<br>"); document.write("kirjoittaja: " + kirja.tekija " + kirja.tekija + "<br>"); + "<br>"); </body> </html>

3 Konstruktori funktion avulla <!DOCTYPE HTML> <head> <meta charset="utf 8"> <title>konstruktorilla määritelty olio</title> <script <script type="text/javascript"> type="text/javascript"> //kostruktori: funktio funktio Kirja tyyppisen Kirja tyyppisen olion luomiseksi olion luomiseksi function Kirja(mj1, mj2){ mj2){ this.aihe = mj1; = mj1; this.tekija = mj2; = mj2; } </head> <body> <h1>opetellaan JavaScriptiä 4</h1> <script type="text/javascript"> var kirja1 = new = new Kirja("jQuery","David Sawyer McFarland"); Sawyer McFarland"); document.write("<p class='tausta'>kirjan nimi: " nimi: + kirja1.aihe " + kirja1.aihe + "<br>"); + "<br>"); document.write("kirjoittaja: " + kirja1.tekija " + kirja1.tekija + "<br>"); + "<br>"); </body> </html> Olioiden metodien määritys tapahtuu samaan tapaan o nyt metodille vaan annetaan arvoksi funktio. o olion metodit ovat sellaisia olion ominaisuuksia, jolle ei annetakaan arvoksi perustietotyyppiä, vaan funktio <!DOCTYPE html> <head> <meta charset="utf 8"> <title>metodin itse tehdylle oliolle</title> <script type="text/javascript"> function Asiakas(mj1, mj2, luku) { <script type="text/javascript"> this.etunimi = mj1; function Asiakas(mj1, mj2, luku) { this.sukunimi this.etunimi = mj1; = mj2; this.ika this.sukunimi = luku; = mj2; // this.ika liitetään = luku; olioon metodi this.syntynyt // liitetään olioon = Syntymavuosi; metodi this.syntynyt = Syntymavuosi; } } function Syntymavuosi(vuosiNyt) { { var var svuosi = vuosinyt this.ika; return svuosi; } } </head> <body> <h1>opetellaan JavaScriptiä 5</h1> <script <script type="text/javascript"> type="text/javascript"> var var asiakas_001 asiakas_001 = = new new Asiakas("Kalle", "Kuluttaja", 28); 28); document.write("asiakkaan 001 nimi on: "" + + asiakas_001.etunimi + + "" "" + + asiakas_001.sukunimi + + "" (" (" + + asiakas_001.ika + + "v)" "v)" + + ", ", hän hän on on siis siis syntynyt syntynyt vuonna: vuonna: "" + + asiakas_001.syntynyt(2013)); asiakas_001.syntynyt(2013)); </p> </body> </html>

4 Joskus muuttujaa on tarpeen käsitellä oliona o esimerkiksi halutaan määritellä sille sen metodeja o voi esitellä perustietotyypin number sijasta olioksi Number. var luku = new Number(15); Muita Number oliolle määriteltyjä ominaisuuksia ja metodeja o MAX_VALUE suurin esitettävissä oleva luku o MIN_VALUE suurin esitettävissä oleva luku o NaN arvo, joka tarkoittaa, että muuttujan arvo ei ole luku (esim. 0/0) o toexponential(luku), palauttaa luvun eksponenttinotaation merkkijonona o tofixed(luku), palauttaa luvun desimaalipiste esitymuotoisena merkkijonona o tostring(luku), palauttaa luvun merkkijonona Number-oliolle on määriteltyjen metodien avulla olio voidaan esimerkiksi pakottaa tulostumaan eksponenttimuodossa tai muuttaa merkkijonoksi tai perustietotyypiksi number. Tarkemmin Number-olion ominaisuuksista ja metodeista: var mja = new Boolean(totuusarvo); o jos oliolle ei anneta alkuarvoa, tai o annettu alkuarvo on 0, 0. null, "", undefined, NaN tai o ehto, jonka arvo on epätosi saa muuttuja arvokseen epätosi o kaikissa muissa tilanteissa (huom. myös tilanteessa mja= new Boolean(false)) saa luotu muuttuja arvokseen tosi Muita Boolean oliolle määriteltyjä metodeja o tostring(), palauttaa totuusarvon merkkijonona true tai false o valueof(), palauttaa Boolean olion primitiiviarvon var b1 = new Boolean(1); var mja1 = b1.tostring(); // merkkijono true var b2 = new Boolean(0); var mja2 = b2.valueof(); // primitiiviarvo false

5 Number-oliolle on määriteltyjen metodien avulla olio voidaan esimerkiksi pakottaa tulostumaan eksponenttimuodossa tai muuttaa merkkijonoksi tai perustietotyypiksi number. Tarkemmin Number-olion ominaisuuksista ja metodeista: var str = new String("Tämä on merkkijono olio"); String ominaisuus o length palauttaa merkkijonon pituuden String oliolle määriteltyjä metodeja mm. o charat() palauttaa merkkijon merkin halutulla indeksillä o match() etsii säännöllisen lausekkeen avulla määriteltyä osamerkkijonoa o lastindexof() palauttaa viimeisen indeksin, jossa määrätty merkki sijaitsee o substr() muodostaa määrätyn osamerkkijonon o split() muodostaa listan osamerkkijonoja (taulukkoon) o replace() etsii ja korvaa osamerkkijonon o tolowercase() muuntaa merkkijonon merkit pieniksi kirjaimiksi o touppercase() muuntaa merkkijonon merkit isoiksi kirjaimiksi o valueof() palauttaa String olion primitiiviarvon string Number-oliolle on määriteltyjen metodien avulla olio voidaan esimerkiksi pakottaa tulostumaan eksponenttimuodossa tai muuttaa merkkijonoksi tai perustietotyypiksi number. Tarkemmin Number-olion ominaisuuksista ja metodeista: Taulukko on JavaScriptissä toteutettu oliona o järjestetty joukko arvoja, joihin voi viitata joko nimellä tai indeksillä o voidaan luoda usealla eri tavalla var taulu = new Array(alkio0, alkio1,..., alkion); var taulu = Array(alkio0, alkio1,..., alkion); var taulu = [alkio0, alkio1,..., alkion]; o Jos taulukko luodaan antamatta sille sisältöä, sille voi antaa pituuden taulukon luonnissa var taulu = new Array(3); var taulu = Array(3), var taulu = []; taulu3.length = 3; taulu[0]=alkio1; taulu[1]=alkio2; taulu[2]=alkio3;

6 Luodaan sisäkkäisten taukoiden avulla (solu edelleen taulukko) var imax = 5; var i, j; // silmukkamuuttujat var matriisi = new Array(iMax + 1); // taulukon pituudeksi imax+1, //(indeksointi lähtee nollasta) */ for (i = 1; i <= imax; i++) { // kullekin taulukon riville matriisi[i] = new Array(iMax + 1); // Luo taulukon sarakkeet for (j = 1; j <= imax; j++) { // täytetään taulukko matriisi[i][j] = i * j; } } document.write(matriisi[3][4] + <br /> ); document.write(matriisi[5][2] + <br /> ); document.write(matriisi[1][4] + <br /> ); Tulostuisi: Array ominaisuus o length palauttaa taulukon pituuden Array oliolle määriteltyjä metodeja mm. o indexof() etsii taulukon alkion ja palauttaa sen indeksin o pop() palauttaa viimeisen alkion ja poistaa sen taulukosta o push() lisää uuden alkion taulukon loppuun ja palauttaa taulukon uuden pituuden o reverse() kääntää taulukon alkiot päinvastaiseen järjestykseen o shift() palauttaa ensimmäisen alkion ja poistaa sen taulukosta o unshift() lisää elementin taulukon alkuun ja palauttaa taulukon uuden pituuden o tostring() muuntaa taulukon sisällön merkkijonoksi

7 Date muuttujaan voi tallentaa päiväyksen ja ajan Ajan voi ilmaista oliomuuttujaa luodessaan antamalla konstruktorille o kokonaisluku: millisekunteja tulkitaan samoin kuin gettime() metodin antama kokonaisluku, millisekunteina lähtien ajankohdasta :00:00 o merkkijono: esimerkiksi "April 27, :02:00" o kolme kokonaislukua pilkulla toisistaan erotettuna: esim. 2013, 04, 26 luo päiväyksen vuosi, kuukausi, päivä o kuusi kokonaislukua pilkulla tosistaan eroteltuna: 2013, 04, 26, 16, 02, 00, edellisen lisäksi määritellään myös tunnit, minuutit ja sekunnit var luotu = new Date(2013, 04, 27, 16, 02, 00); var nyt = new Date(); Date oliolle määriteltyjä metodeja mm. o getdate() palauttaa päiväyksen kuukauden päivän (1 31) o getday() palauttaa päiväyksen viikonpäivän (0 6) o getfullyear() palauttaa päiväyksen vuoden o getminutes() palauttaa päiväyksen minuutit o getmonth() palauttaa päiväyksen kuukauden (0 11) o gettime palauttaa lukuarvon millisekunteina ajankohdasta o parse() jäsentää merkkijonosta päiväyksen ja palauttaa lukuarvon millisekunteina o tostring() muuntaa päiväyksen merkkijonoksi Myös get metodeja vastaavat set metodit

8 Math olioille on määriteltynä ominaisuuksia ja metodeita, jotka helpottavat matemaattisten operaatioiden tekemistä. o esimerkiksi tallennettu piin (Π) arvo ominaisuudeksi o Math.PI ja trigonometriset funktiot metodeiksi. Math prototyypistä ei normaalisti ole tarvetta luoda oliota, vaan sen ominaisuuksia ja metodeita voi käyttää suoraan prototyypistä. var pii = Math.pii; var rad = Math.sin(x); // x kokonaisluku, palauttaa arvon sin(x) radiaaneissa for...in silmukan avulla käydään läpi olion kaikki ominaisuudet <!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="tiedot tahan">ei tietoja. </p> <script> <script> var tieto; var asiakastiedot tieto; = ""; var asiakastiedot = ""; var asiakas= var asiakas= {etunimi:"aarne", {etunimi:"aarne", sukunimi:"asiakas",ika:30}; for (tieto in in asiakas) asiakastiedot = asiakastiedot = + + asiakas[tieto] + " "; document.getelementbyid( asiakas[tieto] + " "; "tiedot tahan").innerhtml == asiakastiedot; document.getelementbyid("tiedottahan").innerhtml = asiakastiedot; </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ä.

9 Sekvenssi lauseita voidaan sulkea funktioksi o lauseiden suoritetus mistä tahansa kohdasta funktion kutsulla o funktioon voidaan syöttää kutsukohdasta arvoja parametrien avulla - parametrit annetaan sulkeissa (sulkeet kirjoitetaan, vaikka funktiolla ei olisikaan parametreja) <!DOCTYPE html> <html> <head> <meta charset="utf 8"> <title>asiakastietojen käsittely</title> <script type="text/javascript"> function asiakas(mj1, mj2, luku) { this.etunimi = mj1; this.sukunimi = mj2; this.ika = luku; // vie metodi ominaisuudeksi } 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 asiakastiedot ja muodostetaan niistä merkkijono. </p> <p> Tuloksena on: <span id="korvaa tama">ei tietoja.</span> </p> <script type="text/javascript"> var asiakas1 = = new asiakas("kalle", "Kuluttaja", 28); var str1 = = muodostaasiakastiedot(asiakas1); document.getelementbyid("korvaa tama").innerhtml = = str1; </body> </html> JavaScriptissä on toteutettu kolme valitaikkunatyyppiä o alert, confirm ja promt o modaalisia ikkunoita, aukeavat pop up tyyppisesti selainikkunan päälle o selaimen käyttämisen jatkaminen vaatiokäyttäjältä toimintaa (hiiren napsauttamista tai syötteen antamista) alert ikkuna on tarkoitettu viestien ja (virhe)ilmoitusten antamiseen alert("asiakas.etunimi on nyt: " + asiakas.etunimi)

10 confirm ikkunan avulla käyttäjälle voi esittää kysymyksen o vastaus joko ok tai cancel o "ok funktio palauttaa arvonaan kutsukohtaan totuusarvon true o jos "cancel" funktion arvona palautuu false if (confirm("haluatko jatkaa?")==true) alert("okei, jatketaan!) else alert("hyvä on, lopetaan."); prompt ikkunan avulla käyttäjältä voidaan pyytää syötettä tekstikenttään o Myös ok ja cancel painikkeet o jos käyttäjä painaa ok, funktio palauttaa syötetyn arvon, jos cancel, palautetaan null var nimi = prompt("kirjoita tähän nimesi:","matti Malliesimerkki") alert("hyvää päivää " + nimi + " nimi");

11 Edellä skriptipalat suoritettu dokumentin latautuessa selaimeen, ts. ne oli kirjoitettu sivulle ns. inline skripteinä JavaScriptin olennainen periaate o tapahtumat (event) ja niihin JavaScript funktioina itse kirjoitetut o tapahtumankäsittelijät (event handler) o tapahtumankäsittelijöiden tulee jollain tavalla saada tieto tapahtumista o kun käyttäja tekee jotain sivulla, selain rekisteröi sen tapahtumana o yksinkertaisin tällainen tapahtuma voisi olla esimerkiksi hiiren napsautus - tapahtuma onclick - jos hiiren napsautus tapahtuisi esimerkiksi kuvan päällä tapahtumankäsittelijä voitaisiin yhdistää <img> elementtiin seuraavasti: <img href="kuvan osoite" onclick="kasittelijafunktio(parametrit)">

12 Selain paitsi tuottaa HTML dokumentista www sivun, samalla tallentaa sivun DOM puuksi Puuhun tallentuvat tiedot sivun: o elementeistä o niiden attribuuteista ja o sisällöstä DOM puun kautta JavaScript "pääsee kiinni" sivun sisältöön o tarjoaa mahdollisuuden sivun dynaamiseen, vuorovaikutteiseen, muokkaukseen tai täysin uudenkin sisällön tuomiseen sivulle Puu koostuu solmu olioista (Node objects), erilaisia solmutyyppejä, esimerkiksi o document solmu: puun juurisolmu o elementti solmu: html elementti sivulla o attribuutti solmu: html elementin attribuutti o teksti solmu: tekstisisältö sivulla DOM puun kaikki solmu olioilla on kolme yhteistä ominaisuutta: onodetype, kertoo solmun tyypin kokonaisluku väliltä 1 12, esim 1=elementtisolmu, 2=attribuuttisolmu, 3=tekstisolmu, 9=kommenttisolmu ja 10=dokumenttisolmu onodename, solmun nimi merkkijonona DOM spesifikaatiossa kaikille elementeille annettu vakionimet, jotka on kirjoitettu kapitaalikirjaimin, esimerkiksi <p> elementille solmun nodename olisi P. onodevalue, solmun arvo Tekstisolmujen (nodetype=3) arvo on teksti itse ja attribuuttisolmujen (nodetype=2) arvo on attribuutin arvo, mutta elementtisolmuille (nodetype=1) arvo on null.

13 <!DOCTYPE HTML> <html> <head> <meta charset="utf 8"> <title>dom esimerkkipohja</title> </head> <body> <h1 class="palkki">my: Meidän Yritys</h1> <p>tervetuloa Meidän Yritykseen!</p> <p>my tuotteet:</p> <ul> <li id="eka"><a href="tuote1.html">päätuote</a></li> <li id="toka"><a href="tuote2.html">kakkostuote</a></li> <li id="kolmas"><a href="tuote3.html">kolmostuote</a></li> </ul> <form method="post" action="osoite"> <div> <label for="tuote nimi">minkä tuotteen haluat tilata:</label> <input type="text" name="tuote nimi" id="tuote nimi" /> <input type="submit" name="osta" value="osta" /> </div> </form> </body> </html> helpoin tapa on käyttää elementin id attribuuttia: o getelementbyid("id tunnus") o palautuva arvo on tyypiltään joku solmu, tyypin voi tarkastaa tulostamalla haetun arvon merkkijononona: var e = document.getelementbyid("eka"); alert("e: " + e + "\ntyyppi:" + e.nodetype + " nimi: " + e.nodename + " arvo: " + e.nodevalue);

14 Toinen tapa on käyttää html elementtinimeä: getelementsbytagname"("elementti") Funktio palauttaa yhden solmun (Node olion) sijasta listan solmu olioita (NodeList), sen oliotyyppi on HTMLCollection oviittaus listan yksittäisiin solmuihin indeksoinnilla [0], [1], oon tarpeen tietää listan pituus, ts. solmujen lukumäärä otallennettu solmulistan ominaisuuteen length osolmulistan elem ensimmäinen ja viimeinen alkio: elem[0] elem[elem.length 1] var es = document.getelementsbytagname("p"); alert("es: " + es + "\nsolmulistan ensimmäisen elementin + "\ntyyppi:" + es[0].nodetype + " nimi: " + es[0].nodename + " arvo: " + es[0].nodevalue); Muita document liittymän metodeja: Level 3 Core/core.html#i Document Kun on olemassa viittaus johonkin DOM puun elementeistä, pääsee sen kautta kiinni mihin tahansa sivun muista elementeistä. 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] nextsiebling, seuraava sisarussolmu previoussibling, edellinen sisarussolmu parentnode, solmun äiti var e = document.getelementbyid("toka"); alert(e.firstchild.firstchild.nodevalue); Tuottaisi valintaikkunaan tekstin: Kakkostuote

15 Vaikka elementtien noutaminen DOM puun kautta on mahdollista, se ei ole kovin intuitiivista ja helppoa. Tyhjätilamerkkien ongelmallisuus o DOM puuhun tallennetaan muutakin kuin vain esitellyt elementit o sivun sisällön (tekstit, kuvat, jne.) ottaminen mukaan DOM puuhun on siemen ongelmille o rakentaessaan DOM puuta selaimet tulkitsevat tyhjätilamerkit eri tavoin o jotkut selaimet ohittavat ne, toiset tekevät niistä oman DOM solmunsa. Selainten tulkinta DOM puun rakentamisesta toivottavasti tarkentuu ajan myötä o toistaiseksi turvallisen JavaScript koodin kirjoittaminen vaatii aikaa tarkastaa miten pääselaimet joissain erikoistilanteissa rakentavat oman DOM puunsa Viittaminen sivun kohteisiin vaikuttaa monimutkaiselta o kun otetaan huomioon, että CSS:ään on jo toteutettu selkeät ja yksikäsitteiset valitsimet. Ratkaisuna näihin ongelmiin: o JavaScript kirjastot o jos käytämme Javasciptiä jonkun yleisesti hyvälaatuiseksi todetun javascript kirjaston kautta, nämä perustason ongelmat on niissä valmiiksi ratkaistu jquery dokumentit: tutoriaali esim: Jotta jquery funktioita voi käyttää kirjasto tulee tuoda omaan ohjelmaan (kuten mikä tahansa muukin JavaScriptfunktiotiedosto) 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">

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

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

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

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

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

o Edellinen luento o Tällä kertaa: JavaScript Perustietotyypit Lauseet Oliot Built in oliot 29.4.2014 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

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 3 (Metropolia 11/2011)

JavaScript alkeet Esimerkkikoodeja moniste 3 (Metropolia 11/2011) JavaScript alkeet Esimerkkikoodeja moniste 3 (Metropolia 11/2011) Array (taulukko) olio Esim. 9.1. taulukko eli Array olio kirjataulukko

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

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

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 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

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

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

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

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

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

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

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

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

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public) Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä

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

JavaScript alkeet Esimerkkikoodeja moniste 3 ( av-heltech)

JavaScript alkeet Esimerkkikoodeja moniste 3 ( av-heltech) JavaScript alkeet Esimerkkikoodeja moniste 3 (27.04.11 av-heltech) Esim. 9.1. taulukko eli Array olio kirjataulukko var kirja = new Array(6); // Create an Array object

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

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

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

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

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

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

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

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

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 1 Taulukot ja merkkijonot Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

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

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

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

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26

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

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

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 Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

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

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

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

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

OpenOffice.org Base 3.1.0

OpenOffice.org Base 3.1.0 OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys

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

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

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

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

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

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

- Komposiittityypit - Object (Mukaanlukien funktiot) - Array. - Erikoisdatatyypit - null - undefined

- Komposiittityypit - Object (Mukaanlukien funktiot) - Array. - Erikoisdatatyypit - null - undefined Ohjelmointitekniikka Tyyppiturvallisuuden tavoittelua Javascriptissa muuttujat ovat tyypittömiä, mutta arvoilla on tyyppi. Muuttuja esitellään var -avainsanalla ja muuttujan tyypin arvoa ei erikseen määritellä.

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

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

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

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

Ohjelmoinnin perusteet Y Python

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

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

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

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

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)

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

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN Usein tarvitaan käyttäjän käsin syöttämiä lukuja eri tarkoituksiin. Tällaisia ovat mm. budjetti-, ennuste-, tavoite- ym. luvut. Lukuja syötetään eri kohteille,

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

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

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

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

FUNKTION KUVAAJAN PIIRTÄMINEN

FUNKTION KUVAAJAN PIIRTÄMINEN FUNKTION KUVAAJAN PIIRTÄMINEN Saat kuvapohjan painamalla @-näppäintä tai Insert/Graph/X-Y-POT. Kuvapohjassa on kuusi paikanvaraaja: vaaka-akselin keskellä muuttuja ja päissä minimi- ja maksimiarvot pystyakselin

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

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

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

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

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

ICT1TN004. Skriptikielet. Heikki Hietala

ICT1TN004. Skriptikielet. Heikki Hietala Skriptikielet Heikki Hietala Skriptikielet Skriptikielet eli komentosarjakielet ovat ohjelmointikieliä, joilla automatisoidaan tehtäviä Toisaalta niitä käytetään käyttöjärjestelmälle ominaisia tehtäviä

Lisätiedot

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

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

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

Lisätiedot

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto Opiskelijan pikaopas STACK-tehtäviin Lassi Korhonen, Oulun yliopisto 21.3.2016 SISÄLLYSLUETTELO Oppaan käyttäminen... 2 Vastauksen syöttämisen perusteet... 2 Operaatiot... 2 Luvut ja vakiot... 3 Funktiot...

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

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-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

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