7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan

Koko: px
Aloita esitys sivulta:

Download "7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan"

Transkriptio

1 7. Taulukot 105 OPPITUNTI 7 Taulukot Taulukot ja niiden käsittelyyn liittyvät toiminnot laajentavat suuresti PHP4-skriptien käyttöaluetta ja joustavuutta. Kun tunnet taulukot, voit tallentaa niihin monimutkaisia tietorakenteita ja pitää ne järjestyksessä. Tällä tunnilla sinulle esitellään taulukot ja joitakin funktioita, joiden avulla voit käsitellä taulukoita helpommin. Tämän tunnin aiheita ovat seuraavat: Mitä taulukot ovat ja kuinka niitä luodaan Kuinka saada tietoa taulukoista Kuinka taulukoiden tietoa käsitellään ja lajitellaan

2 Taulukot Mikä on taulukko? Tiedät jo, että muuttuja on kori, johon voidaan tilapäisesti tallentaa arvo. Käyttämällä muuttujia voit luoda skriptin, joka tallentaa, muokkaa ja tulostaa erilaista tietoa jokaisella ajokerralla. Valitettavasti voit tallentaa muuttujaan vain yhden arvon kerrallaan. Taulukot ovat erikoismuuttujia, jotka sallivat poikkeuksia tähän rajoitukseen. Taulukkoon voidaan tallentaa haluttu määrä arvoja. Kuhunkin arvoon liittyy merkkijono tai järjestysnumero eli indeksi, joka kertoo, missä kohtaa taulukkoa arvo sijaitsee. Jos muuttuja on ikään kuin yksittäinen laatikko, voidaan taulukkoa pitää lipastona tai laatikostona. Kyseessä on yksi säiliö, johon voidaan sijoittaa useita kohteita. Taulukko on luettelomuuttuja eli muuttuja, joka sisältää useita alkioita, jotka on indeksoitu numeroiden tai merkkijonojen avulla. Taulukkoon voidaan tallentaa useita arvoja, arvot voidaan asettaa haluttuun järjestykseen ja niitä voidaan käsitellä käyttäen yhtä muuttujanimeä. Jos ohjelmassa on tallennettava viisi arvoa, voidaan niitä varten tietenkin määritellä viisi erillistä muuttujaa. Miksi taulukko olisi sitten parempi vaihtoehto? Ensinnäkin taulukko on joustava. Siihen voidaan tilanteen mukaan tallentaa kaksi arvoa tai 200 arvoa eikä uusia muuttujia tarvitse lainkaan määritellä. Toiseksi, taulukon tietoja on helppo käsitellä. Voit esimerkiksi käydä kaikki alkiot läpi silmukassa tai ottaa esille vain yhden alkion. Voit lajitella kohteet numeerisesti, aakkosjärjestykseen tai jopa oman kaavasi mukaan. Jokaista taulukon kohdetta kutsutaan taulukon alkioksi. Alkioon päästään käsiksi sen indeksin avulla. Indeksi voi olla merkkijono tai numero. Oletuksena taulukon alkioiden indeksit alkavat numerosta nolla (0). On siis tärkeää muistaa, että viimeinen indeksi on alkioiden määrä vähennettynä yhdellä. Taulukko 7.1 esittää users-taulukon alkiot. Huomaa, että kolmannella alkiolla on indeksi kaksi. Taulukko 7.1. Users-taulukon alkiot Indeksinumero Arvo Monesko alkio? 0 Bert 1. 1 Sharon 2. 2 Betty 3. 3 Harry 4. Merkkijonojen käyttäminen indeksointiin voi olla hyödyllistä silloin, kuin taulukkoon on tallennettava sekä nimiä että arvoja. PHP4 tarjoaa käyttöön työkaluja taulukoiden käsittelyyn. Käymme läpi joitakin työkaluja tällä tunnilla ja joitakin taas luvussa 16 Tiedon käsittely : Taulukoiden luonti Oletuksena taulukot ovat arvoluetteloja, jotka on indeksoitu numeroin. Taulukkoon voidaan sijoittaa arvoja kahdella tavalla: array()-funktion avulla tai suoraan taulukon nimen ja hakasulkuparin avulla. Seuraavissa jaksoissa käytetään kumpaakin menettelytapaa. Taulukoiden määrittely array()-funktiolla Array()-funktio on hyödyllinen, kun haluat sijoittaa taulukkoon useita arvoja yhdellä kertaa. Määritelkäämme nyt taulukko nimeltä $users ja sijoittakaamme siihen neljä merkkijonoa: $users = array ("Bert", "Sharon", "Betty", "Harry" ); Voit nyt käsitellä kolmatta alkiota käyttäen indeksiarvoa 2:

3 7. Taulukot 107 print "$users[2]"; Lause tulostaisi nimen Sharon. Taulukon alkion indeksi sijoitetaan taulukon nimen perässä olevien hakasulkujen sisälle. Samalla tavalla voidaan joko lukea arvo taulukosta tai sijoittaa arvo taulukkoon. Muista, että taulukoiden indeksointi alkaa oletuksena nollasta, joten viimeinen indeksi on aina yhtä pienempi kuin alkioiden määrä. Taulukoiden määrittely tai alkioiden lisääminen taulukkoon hakasulkuoperaattoria käyttäen Voit luoda uuden taulukon (tai tehdä lisäyksiä aiempaan taulukkoon) hakasulkuoperaattorin avulla. PHP4:ssä hakasulkuoperaattoria voidaan kutsua myös taulukkotunnukseksi. Määrittelyssä ja alkioiden lisäämisessä ei tarvitse käyttää indeksinumeroa. Seuraavassa luodaan $users-taulukko uudelleen: $users[] = " Bert"; $users[] = " Sharon"; $users[] = " Betty"; $users[] = " Harry"; Huomaa, että hakasulkujen sisällä ei ole indeksejä. PHP4 hoitaa indeksinumerot automaattisesti, joten sinun ei tarvitse murehtia sitä, mikä on seuraava vapaa paikka. Olisimme voineet lisätä indeksinumerot halutessamme ja tulos olisi ollut aivan sama. Niin ei kuitenkaan kannata tehdä. Katsopa seuraavaa koodia: $users[0] = " Bert"; $users[200] = "Sharon"; Taulukossa on kaksi alkiota, mutta viimeisen alkion indeksi on 200. PHP4 ei tule alustamaan väliin jääviä alkioita. Tällainen menettely aiheuttaisi sekaannusta, kun taulukon alkioita yritetään käsitellä. Taulukoiden luomisen lisäksi hakasulkuoperaattorin avulla voidaan myös lisätä uusia arvoja olemassa olevan taulukon loppuun. Seuraava koodilohko määrittelee $users-taulukon array()-funktion avulla ja käyttää sitten hakasulkuja uuden alkion lisäämiseen: $users = array ("Bert", " Sharon", "Betty", "Harry" ); $users[] = "sally";

4 Taulukot Assosiatiiviset taulukot Numeerisesti indeksoidut taulukot ovat hyödyllisiä tallennettaessa taulukkoon arvoja tietyssä järjestyksessä. Joskus taulukon alkioihin on hyvä päästä käsiksi myös alkion nimen avulla. Assosiatiivinen taulukko käyttää indeksointiin merkkijonoja, jotka sijoitetaan hakasulkujen sisälle numeroarvojen sijaan. Otetaan esille vaikkapa osoitekirja. Kumpi olisi helpompaa: nimitietojen hakeminen merkkijonon nimi avulla vai jonkin numeroarvon (indeksin) avulla? Taulukoita, joiden indeksoinnissa käytetään merkkijonoja, kutsutaan assosiatiivisiksi taulukoiksi. Niihin voidaan myös viitata nimellä hash-taulukko. Myös assosiatiivinen taulukko voidaan määritellä käyttäen joko array()-funktiota tai hakasulkuja. Assosiatiivisen ja numeerisesti indeksoidun taulukon erottelu ei ole aivan ehdotonta PHP:ssä. Ne eivät ole erityyppisiä taulukoita kuten Perlissä. On kuitenkin hyvä kohdella niitä eri tavoin. Kumpikin vaatii omat menettelytapansa käsittelyyn ja muokkaamiseen. Assosiatiivisen taulukon määrittely array()-funktiolla Määrittelyssä on annettava jokaisen alkion avain ja arvo. Seuraava koodi luo assosiatiivisen taulukon nimeltä $character, johon tulee neljä alkiota: $character = array ( name=>"bob", occupation=>"superhero", age=>30, "special power"=>"x-ray vision" ); Nyt voimme vaikkapa tulostaa tietyn kentän arvon lauseella: print $character[age]; Assosiatiivisen taulukon avaimet ovat merkkijonoja, mutta niitä ei ole välttämätöntä laittaa lainausmerkkeihin ellei niissä ole enempää kuin yksi sana.

5 7. Taulukot 109 Assosiatiivisen taulukon suora määrittely tai kasvattaminen Voit luoda tai lisätä nimi/arvo-pareja assosiatiiviseen taulukkoon yksinkertaisesti sijoittamalla arvon nimettyyn alkioon. Seuraava koodi luo aiemman $character-taulukon uudelleen lisäämällä arvon kuhunkin avaimeen: $character[name] = "bob"; $character[occupation] = "superhero"; $character[age] = 30; $character["special power"] = "x-ray vision"; Moniulotteiset taulukot Toistaiseksi olemme vain sanoneet, että taulukon alkiot ovat arvoja. $character-taulukkomme kolmessa alkiossa oli merkkijonoja ja yhdessä kokonaisluku. Todellisuus on kuitenkin hieman monimutkaisempi. Itse asiassa taulukon alkio voi olla arvo, olio tai jopa toinen taulukko. Moniulotteinen taulukko on taulukoista koostuva taulukko. Kuvittele taulukkoa, jonka alkiot ovat taulukoita. Kolmannen alkion toisen alkion käsittelyssä on käytettävä kahta indeksiä: $array[1][2] Taulukoita, jotka sisältävät alkioinaan taulukoita, kutsutaan moniulotteisiksi taulukoiksi. Koska taulukon alkiona voi olla taulukko, on mahdollista luoda kehittyneitä tietorakenteita suhteellisen helposti. Listaus 7.1 määrittelee taulukon, jonka jokainen alkio on assosiatiivinen taulukko. Listaus 7.1 Moniulotteisen taulukon määritteleminen 1: <html> 2: <head> 3: <title>listing 7.1</title> 4: </head> 5: <body> 6: <?php 7: $characters = array ( 8: array ( name=>"bob", 9: occupation=>"superhero", 10: age=>30, 11: specialty=>"x-ray vision" ),

6 Taulukot 12: array ( name=>"sally", 13: occupation=>"superhero", 14: age=>24, 15: specialty=>"superhuman strength" ), 16: array ( name=>"mary", 17: occupation=>"arch villain", 18: age=>63, 19: specialty=>"nanotechnology" ) 20: ); 21: 22: print $characters[0][occupation]; 23: // tulostaa "superhero" 24:?> 25: </body> 26: </html> Huomaa, että olemme laittaneet taulukkofunktion kutsut taulukkofunktiokutsun sisälle. Ensin määrittelemme taulukon. Sitten määrittelemme assosiatiivisen taulukon jokaiseksi alkioksi. Viittaus $user[2] viittaa siksi päätaulukon kolmanteen assosiatiiviseen taulukkoon. Sen jälkeen voimmekin käsitellä mitä tahansa assosiatiivisen taulukon kenttää. Esimerkiksi kentän $user[2][name] arvona on mary ja kentän $user[2][age] arvona on 63. Kun omaksut tuon ajattelun, on helppoa luoda monimutkaisia assosiatiivisten ja numeerisesti indeksoitujen taulukoiden yhdistelmiä. Taulukoiden käsittely Toistaiseksi olet nähnyt tapoja luoda taulukoita ja lisätä niiden kokoa. Tässä jaksossa saat tutustua joihinkin PHP4:n tarjoamiin työkaluihin, joiden avulla saat tietoa taulukoista ja voit käsitellä niiden alkioita. Taulukon koon selvittäminen Taulukon alkioon päästään käsiksi indeksin avulla: print $user[4] Koska taulukko on joustava tietorakenne, et aina tiedä, kuinka monta alkiota tietyssä taulukossa on. Voit käyttää count()-funktiota ongelman ratkaisemiseen. Funktio palauttaa taulukon alkioiden lukumäärän. Seuraavassa koodissa määritellään numeerisesti indeksoitu taulukko ja käytetään count()-funktiota sen viimeisen alkion käsittelyyn:

7 7. Taulukot 111 $users = array ("Bert", "Sharon", "Betty", "Harry" ); print $users[count($users)-1]; Huomaa, että vähensimme ykkösen count()-funktion palauttamasta arvosta. Se johtuu siitä, että count() palauttaa alkioiden lukumäärän, ei viimeistä indeksiä. Vaikka taulukoiden indeksointi alkaakin oletuksena nollasta, on mahdollista muuttaa käytäntöä. Selvyyden ja johdonmukaisuuden vuoksi sitä ei kuitenkaan suositella. Taulukon läpikäynti silmukalla Taulukkoa voidaan käydä läpi silmukan avulla monin eri tavoin. Seuraavissa esimerkeissä käytetään PHP4:n tehokasta foreach-lausetta. Muutamia muita metodeja tutkitaan luvussa 16. Foreach-lause esiteltiin PHP4:n myötä. Numeerisesti indeksoitujen taulukoiden yhteydessä voit käyttää foreach-lausetta seuraavasti: foreach( $array as $temp ) //... jossa $array on läpikäytävä taulukko ja $temp muuttuja, johon kukin alkio tallennetaan tilapäisesti. Seuraava koodi määrittelee numeerisesti indeksoidun taulukon ja käyttää foreach-lausetta sen jokaisen alkion käsittelyyn $users = array ("Bert", "Sharon", "Betty", "Harry" ); foreach ( $users as $val ) print "$val<br>"; Koodin aikaansaama tulostus esitetään kuvassa 7.1. Kunkin alkion arvo tallennetaan tilapäisesti muuttujaan $val, joka sitten tulostetaan selaimelle. Jos siirryt PHP4:stä Perliin, pidä mielessäsi kielten välinen merkittävä ero foreach-lauseen käyttäytymisessä. Jos

8 Taulukot Perlissä muutetaan tilapäismuuttujan arvoa silmukan sisällä, taulukon vastaava alkio muuttuu myöskin. Vastaavasti PHP4:ssä tilapäismuuttujan arvon muutoksella ei ole vaikutusta taulukon alkioon. Niinpä edellisessä koodissa $val-muuttujan arvon muuttamisella ei olisi vaikutusta $users-taulukkoon. Luvussa 16 on esillä tapa muuttaa numeerisesti indeksoitua taulukkoa foreach-silmukalla. Assosiatiivisen taulukon läpikäynti Voidaksesi käsitellä sekä avaimia että arvoja, sinun on muutettava foreach-lauseen käyttötapaa hieman. KUVA 7.1 Taulukon läpikäynti. Assosiatiivisten taulukoiden kohdalla foreach-lauseen tulisi näyttää tältä: foreach( $array as $key=>$value ) //... jossa $array on kohdetaulukko, $key muuttuja, johon kukin avain tallennetaan tilapäisesti ja $value muuttuja, joka tallentaa tilapäisesti kunkin arvon. Listaus 7.2 luo assosiatiivisen taulukon ja käsittelee kutakin avainta ja arvoa vuoron perään. Listaus 7.2 Assosiatiivisen taulukon läpikäynti foreach-silmukalla 1: <html> 2: <head> 3: <title>listing 7.2</title> 4: </head> 5: <body> 6: <?php

9 7. Taulukot 113 7: $character = array ( 8: name=>"bob", 9: occupation=>"superhero", 10: age=>30, 11: "special power"=>"x-ray vision" 12: ); 13: foreach ( $character as $key=>$val ) 14: 15: print "$key = $val<br>"; 16: 17: 18:?> 19: </body> 20: </html> Listauksen tuottama tulostus esitetään kuvassa 7.2. KUVA 7.2 Assosiatiivisen taulukon läpikäynti Moniulotteisen taulukon tulostaminen Nyt voimme yhdistää nuo kaksi tekniikkaa ja tulostaa moniulotteisen taulukon sisällön. Tuo taulukko luotiin listauksessa 7.1. Listaus 7.3 määrittelee samanlaisen taulukon ja käyttää foreach-silmukkaa taulukon alkioiden käsittelyyn. Listaus 7.3 Moniulotteisen taulukon läpikäynti 1: <html> 2: <head> 3: <title>listing 7.3</title>

10 Taulukot 4: </head> 5: <body> 6: <?php 7: $characters = array ( 8: array ( name=>"bob", 9: occupation=>"superhero", 10: age=>30, 11: specialty=>"x-ray vision" ), 12: array ( name=>"sally", 13: occupation=>"superhero", 14: age=>24, 15: specialty=>"superhuman strength" ), 16: array ( name=>"mary", 17: occupation=>"arch villain", 18: age=>63, 19: specialty=>"nanotechnology" ) 20: ); 21: 22: foreach ( $characters as $val ) 23: 24: foreach ( $val as $key=>$final_val ) 25: 26: print "$key: $final_val<br>"; 27: 28: print "<br>"; 29: 30:?> 31: </body> 32: </html> Voit nähdä listauksen 7.3 aikaansaaman tulosteen kuvassa 7.3. Koodissa luodaan nyt kaksi foreachsilmukkaa. Ulompi silmukka käsittelee kutakin numeerisesti indeksoidun $users-taulukon alkiota ja sijoittaa kunkin arvon $val-muuttujaan. Koska $val itse sisältää assosiatiivisen taulukon, voimme käydä sen läpi ja tulostaa sen alkiot (jotka tallennetaan tilapäisesti muuttujiin $key ja $final_val).

11 7. Taulukot 115 Jotta tämä tekniikka toimisi odotetulla tavalla, meidän on varmistettava, että $val sisältää aina taulukon. Voisimme ehkäistä mahdollisia virheitä käyttämällä is_array()-funktiota testaamaan $val. Jos is_array() palauttaa arvon true, on argumentti taulukko. KUVA 7.3 Moniulotteisen taulukon läpikäynti. Taulukoiden manipulointi Nyt voisimme täyttää taulukoita ja käsitellä niiden alkioita edellä kuvatuin menetelmin. PHP4 tarjoaa kuitenkin käyttöön funktioita, joilla voidaan tehdä paljon muutakin ja vieläpä helposti. Jos olet käyttänyt Perliä, huomaat jotkin funktiot tutuiksi! Kahden taulukon liittäminen array_merge()-funktiolla Array_merge() ottaa argumenteikseen kaksi tai useampia taulukoita ja palauttaa taulukon, jossa niiden alkiot on liitetty toisiinsa. Seuraava esimerkki luo ensin kaksi taulukkoa ja liittää sitten toisen taulukon ensimmäiseen. Lopuksi tuloksena oleva taulukko tulostetaan: $first = array("a", "b", "c"); $second = array(1,2,3); $third = array_merge( $first, $second ); foreach ( $third as $val ) print "$val<br>";

12 Taulukot $third-taulukko sisältää sekä $first- että $second-taulukon kaikki alkiot. Siten koodin foreach-lause tulostaa arvot 'a', 'b', 'c', 1, 2, 3 ja <BR>-tagin (rivinvaihdon) niiden väliin. Muista, että array_merge()-funktiolle viedyt taulukot jäävät itse koskemattomiksi. Array_merge()-funktio esiteltiin PHP4:n myötä. Useiden arvojen sijoittaminen taulukkoon array_push()-funktiolla Array_push() ottaa argumentikseen taulukon ja sitten halutun määrän muita parametreja, jotka ovat taulukkoon sijoitettavia arvoja. Huomaa, että array_push() poikkeaa array_merge()-funktiosta siinä, että array_push() muuttaa argumenttina olevaa taulukkoa. Funktio palauttaa taulukon alkioiden kokonaismäärän. Luokaamme nyt taulukkoa ja lisätkäämme siihen joitakin arvoja: $first = array("a", "b", "c"); $total = array_push( $first, 1, 2, 3 ); print "There are $total elements in \$first<p>"; foreach ( $first as $val ) print "$val<br>"; Koska array_push() palauttaa muuntamansa taulukon alkioiden määrän, voimme tallentaa arvon (6) muuttujaan ja tulostaa selaimelle. Nyt $first-taulukko sisältää sen alkuperäiset alkiot ja lisäksi kolme kokonaislukua, jotka annettiin array_push()-funktion argumentteina. Nuo arvot tulostetaan selaimelle foreach-lauseessa. Huomaa, että käytimme kenoviivamerkkiä tulostaessamme merkkijonon \$first. Jos käytät taalamerkkiä, jota seuraa merkkijonossa olevia numeroita ja kirjaimia, PHP yrittää lisätä tuon nimisen muuttujan arvon. Yllä olevassa esimerkissä halusimme tulostaa merkkijonon $first emmekä $first-muuttujan arvoa. Kun haluamme tulostaa erikoismerkin $, meidän on laitettava sen eteen kenoviiva (\). PHP tulostaa sitten itse taalamerkin tulkkaamatta sitä muuttujan etuliitteeksi. Tässä prosessissa kenoviivaa kutsutaan escapemerkiksi. Escape-merkkiä käyttämällä voidaan jonkin merkin alkuperäinen merkitys ohittaa. Huomio, kaikki Perl-käyttäjät! Jos olet käyttänyt Perlin push()-funktiota, sinun tulisi huomata, että jos viet toisen taulukon array_push()-funktiolle, se sijoitetaan yksittäisenä alkiona ja luodaan moniulotteinen taulukko. Jos haluat yhdistää kaksi taulukkoa, käytä array_merge()-funktiota.

13 7. Taulukot 117 Taulukon ensimmäisen alkion poistaminen array_shift()-funktiolla Funktio array_shift() poistaa ja palauttaa viedyn taulukon ensimmäisen alkion. Seuraavassa esimerkissä käytetään array_shift()-funktiota yhdessä while-silmukan kanssa. Testaamme count()-funktion palauttaman arvon nähdäksemme, sisältääkö taulukko edelleenkin alkioita: <?php $an_array = array("a", "b", "c"); while ( count( $an_array) ) $val = array_shift( $an_array); print "$val<br>"; print "there are ".count($an_array)." elements in \$an_array <br>";?> Koodin tulostus esitetään kuvassa 7.4. KUVA 7.4 Funktion array_shift() käyttäminen taulukon alkioiden poistamiseen Funktio on hyödyllinen, kun on luotava jono ja käsiteltävä sitä, kunnes se on tyhjä. Array_shift() tuli sekin PHP4:n mukana. Taulukoiden pilkkominen array_slice()-funktiolla Array_slice() erottaa viipaleen taulukosta. Se ottaa argumenteikseen taulukon, alkusiirtymän ja (valinnaisen) pituuden. Jos pituutta ei anneta, funktio olettaa, että mukaan on otettava kaikki loput alkiot lähtöpisteestä alkaen. Array_slice() ei muuta vietyä taulukkoa. Se palauttaa uuden taulukon, joka sisältää pyydetyt alkiot. Seuraavassa esimerkissä luomme taulukon ja erotamme siitä uuden kolmialkioisen taulukon:

14 Taulukot $first = array("a", "b", "c", "d", "e", "f"); $second = array_slice($first, 2, 3); foreach ( $second as $var ) print "$var<br>"; Koodi tulostaa arvot 'c', 'd' ja 'e' laittaen väliin <BR>-tagin. Huomaa, että siirtymä on sisäinen, jos ajattelemme sitä ensimmäisen pyydettävän alkion indeksinä. Toisin sanoen $second-taulukon ensimmäinen alkio on sama kuin $first[2]. Jos annamme array_slice()-funktiolle siirtymäarvon, joka on pienempi kuin nolla, palautettuun taulukkoon laitetaan alkiot viedyn taulukon lopusta alkaen. Jos pituutena on kutsun yhteydessä negatiivinen arvo, palautettu osa sisältää kaikki alkiot siirtymäkohdasta loppuun saakka. Array_slice() tuli PHP4:n mukana. s Taulukoiden lajittelu Lajittelu on ehkä ovelinta, mitä taulukoille voidaan tehdä. PHP4:n funktioilla on helppo järjestellä taulukoita. Tässä jaksossa tutkimme muutamia funktioita, joilla voimme lajitella sekä numeerisesti indeksoituja että assosiatiivisia taulukoita. Numeerisesti indeksoitujen taulukoiden lajittelu sort()-funktiolla Sort()-funktio ottaa argumentikseen taulukon ja lajittelee sen joko aakkosjärjestykseen (jos taulukossa on merkkijonoja) tai numeeriseen järjestykseen (jos alkiot ovat lukuja). Funktio ei palauta mitään arvoa, se vain muokkaa vietyä taulukkoa. Huomaa, että toiminta eroaa Perlin sort()-funktiosta tältä osin. Seuraava koodi alustaa taulukon yksittäisillä kirjaimilla, lajittelee sen ja tulostaa muunnetun taulukon: $an_array = array("x","a","f","c"); sort( $an_array); foreach ( $an_array as $var ) print "$var<br>";

15 7. Taulukot 119 Älä vie assosiatiivista taulukkoa sort()-funktiolle. Havaitset piankin, että arvot lajitellaan, mutta avaimesi ovat kadonneet. Ne korvataan numeerisilla indekseillä, jotka ovat lajittelujärjestyksen mukaisia. Taulukko voidaan laittaa myös käänteiseen järjestykseen rsort()-funktiolla, jonka syntaksi on samanlainen kuin sort()-funktiolla. Assosiatiivisen taulukon lajittelu asort()-funktiolla Asort() lajittelee assosiatiivisen taulukon samalla lailla kuin sort(). Se säilyttää kuitenkin taulukon avaimet: $first = array("first"=>5,"second"=>2,"third"=>1); asort( $first ); foreach ( $first as $key => $val ) print "$key = $val<br>"; Tämän koodin tulostus esitetään kuvassa 7.5. Voit lajitella assosiatiivisen taulukon käänteiseen järjestykseen arsort()-funktiolla. KUVA 7.5 Assosiatiivisen taulukon lajittelu arvojen mukaan asort()-funktiolla

16 Taulukot Assosiatiivisen taulukon lajittelu avaimen mukaan ksort()-funktiolla Ksort() lajittelee assosiatiivisen taulukon avainten mukaan. Funktio muuttaa vietyä taulukkoa, mutta ei palauta mitään arvoa return-lauseella. $first = array("x"=>5,"a"=>2,"f"=>1); ksort( $first ); foreach ( $first as $key => $val ) print "$key = $val<br>"; Koodin tulostus on kuvassa 7.6. Assosiatiivinen taulukko voidaan asettaa käänteiseen avainjärjestykseen funktiolla krsort(). Kuva 7.6 Assosiatiivisen taulukon lajittelu avaimen mukaan ksort()-funktiolla. Yhteenveto Tällä tunnilla opit tuntemaan taulukot ja joitakin PHP4:n tarjoamia taulukkofunktioita. Nyt sinun tulisi kyetä luomaan sekä numeerisesti indeksoitu että assosiatiivinen taulukko ja tulostamaan niiden arvot foreachsilmukan avulla. Luvussa käsiteltiin myös taulukoiden yhdistämistä moniulotteisten taulukoiden luomiseksi. Näit myös, kuinka taulukoihin voidaan lisätä uusia alkioita ja poistaa niistä useita alkioita. Lopuksi tutkimme joitakin tekniikoita, joilla PHP4 lajittelee taulukoita.

17 7. Taulukot 121 K&V K Jos foreach-lause tuli vasta PHP4:n mukana, kuinka PHP3:n käyttäjät kävivät taulukkoa läpi? V PHP3:ssa taulukkoa tutkittiin each()-lauseella, joka yhdistettiin while-lauseeseen. Tästä menettelystä kerrotaan luvussa 16. K Onko taulukoiden käsittelyyn olemassa muitakin funktioita kuin ne, jotka käsiteltiin tässä luvussa? V PHP4 tukee monia taulukkofunktioita. Voit lukea joistakin niistä hieman lisää luvusta 16; tarkat kuvaukset kaikista vastaavista funktioista ovat PHP:n virallisissa manuaaleissa ( K Jos haluan tutkia taulukon jokaisen alkion, olisiko for-silmukka mukava keino siihen? V For-silmukan kanssa tulee olla huolellinen. Et voi aina olla varma siitä, että indeksoinnissa on käytetty peräkkäin numeroituja avaimia. KUVA 7.6 Assosiatiivisen taulukon lajittelu avainten mukaan ksort()-funktiolla. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A. Kysymyksiä 1. Millä funktiolla voit määritellä taulukon? 2. Mikä on seuraavan taulukon viimeisen alkion indeksi? $users = array("harry", "Bob", "Sandy"); 3. Mikä olisi helpoin keino lisätä arvo Susan edellä määriteltyyn taulukkoon, jos mitään funktiota ei haluta käyttää? 4. Millä funktiolla voisit lisätä merkkijonon Susan $users-taulukkoon? 5. Kuinka voisit ottaa selville taulukon alkioiden määrän?

18 Taulukot 6. Mikä on yksinkertaisin keino käydä läpi taulukko PHP4:ssä? 7. Millä funktiolla voisit yhdistää kaksi taulukkoa? 8. Kuinka voisit lajitella assosiatiivisen taulukon avainten mukaan? Toiminta 1. Luo moniulotteinen elokuvia sisältävä taulukko, joka on organisoitu tyypin mukaan. Taulukon avaimina tulisi olla elokuvan tyyppi, esimerkiksi "SF", "Action", "Romance" jne. Tämän assosiatiivisen taulukon jokaisen alkion tulisi sisältää elokuvien nimiä ("2001", "Alien", "Terminator" jne). 2. Tulosta edellisen tehtävän taulukon elokuvatyyppi ja siihen liittyvät elokuvat.

8. Oliot 123. Kuinka luokkia luodaan ja olioita saadaan aikaan. Kuinka luodaan ja käsitellään ominaisuuksia ja metodeja

8. Oliot 123. Kuinka luokkia luodaan ja olioita saadaan aikaan. Kuinka luodaan ja käsitellään ominaisuuksia ja metodeja 8. Oliot 123 OPPITUNTI 8 Oliot Oliopohjainen ohjelmointi on vaarallista. Se muuttaa koodaamista koskevia ajatuksiasi ja kun uudet käsitteet ovat saaneet jalansijaa, ne eivät katoa mitenkään. PHP on Perlin

Lisätiedot

6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja

6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja 6. Funktiot 85 OPPITUNTI 6 Funktiot Funktiot ovat hyvin laaditun skriptin perusta. Ne tekevät koodista helppolukuista ja uudelleen käytettävää. Laajoja projekteja on mahdotonta hallita ilman funktioiden

Lisätiedot

OPPITUNTI 16 Tiedon käsittely

OPPITUNTI 16 Tiedon käsittely 16. Tiedon käsittely 283 OPPITUNTI 16 Tiedon käsittely Tällä tunnilla käsittelemme tarkemmin tiedon testaamista ja muokkaamista. Tutkimme uudelleen tietotyyppejä. PHP käsittelee tietotyyppejä automaattisesti

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

OPPITUNTI 5 Ohjelman kulku

OPPITUNTI 5 Ohjelman kulku 5. Ohjelman kulku 67 OPPITUNTI 5 Ohjelman kulku Viime tunnilla luomamme skriptit olivat suoraviivaisia. Ohjelmalauseet suoritettiin aina samassa järjestyksessä, joten ohjelmissamme ei ollut lainkaan joustavuutta.

Lisätiedot

OPPITUNTI 3 Ensimmäinen skripti

OPPITUNTI 3 Ensimmäinen skripti 3. Ensimmäinen skripti 35 OPPITUNTI 3 Ensimmäinen skripti Kun olet asentanut PHP:n ja asettanut sen kokoonpanon, on aika laittaa ohjelmisto testaukseen. Tällä tunnilla luot ensimmäisen skriptisi ja tutkit

Lisätiedot

OPPITUNTI 11 DBM-funktioiden käyttö

OPPITUNTI 11 DBM-funktioiden käyttö 11. DBM-funktioiden käyttö 193 OPPITUNTI 11 DBM-funktioiden käyttö Jos sinulla ei ole pääsyä SQL-tietokantaan, esimerkiksi MySQL- tai Oracle-tietokantaan, sinulla on varmaankin mahdollisuus käyttää DBM-tyylistä

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

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

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

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

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

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

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

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

OPPITUNTI15 Päivämäärien käsittely

OPPITUNTI15 Päivämäärien käsittely 15. Päivämäärien käsittely 269 OPPITUNTI15 Päivämäärien käsittely Päivämäärät kuuluvat niin usein jokapäiväiseen elämään, että niiden käsittely on rutiininomaista. Kalenterin käsittely ei aina ole kuitenkaan

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

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

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

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

Lisätiedot

Sisältö. 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

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

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

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

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

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

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

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

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

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita. Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

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

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

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja. Pikaopas Microsoft Excel 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Komentojen lisääminen pikatyökaluriville Pidä

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

3. Muuttujat ja operaatiot 3.1

3. Muuttujat ja operaatiot 3.1 3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

OSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot

OSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot 43 OSA II Kieli Oppitunti 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot 4. Rakennuslohkot 45 OPPITUNTI 4 Rakennuslohkot Tällä tunnilla joudut paneutumaan itse ohjelmointikieleen.

Lisätiedot

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014

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

Lisätiedot

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

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla 20. Tilan tallentaminen istuntofunktiolla 353 OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla Edellisellä tunnilla tutkimme tilan tallentamista evästeiden ja kyselymerkkijonojen avulla. PHP4 on kuitenkin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

Tieto- ja tallennusrakenteet

Tieto- ja tallennusrakenteet Tieto- ja tallennusrakenteet Sisältö Tyyppi, abstrakti tietotyyppi, abstraktin tietotyypin toteutus Tallennusrakenteet Taulukko Linkitetty rakenne Abstraktit tietotyypit Lista (Puu) (Viimeisellä viikolla)

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Rekursio Rekursion käyttötapauksia Rekursio määritelmissä Rekursio ongelmanratkaisussa ja ohjelmointitekniikkana Esimerkkejä taulukolla Esimerkkejä linkatulla listalla Hanoin

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

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

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

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit. 3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen

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

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Harjoitus 4 (viikko 47)

Harjoitus 4 (viikko 47) Kaikki tämän harjoituksen tehtävät liittyvät joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Saa hyvän alun harjoitustyön tekoon, kun ratkaiset mahdollisimman monta tehtävää. Mikäli tehtävissä

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 14.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 14.2.2011 1 / 55 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Merkintöjen tulkintoja *++Pstack->top = item *Pstack->top++ = item (*Pstack->top)++ *(Pstack++)->top = item *(++Pstack)->top = item Lisää pinon toteutuksia Dynaaminen taulukko

Lisätiedot

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

1. Mitä tehdään ensiksi?

1. Mitä tehdään ensiksi? 1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla

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

PHP:n alkeita ja taustaa. Markus Norrena

PHP:n alkeita ja taustaa. Markus Norrena PHP:n alkeita ja taustaa Markus Norrena PHP on ohjelmointikieli joka toimii yhteistyössä html:n kanssa PHP suoritetaan palvelimella Toisin kuin esim. JavaScript joka suoritetaan selaimessa Tästä syystä

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

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

1 PHP-sovelluksen toiminta

1 PHP-sovelluksen toiminta AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015

815338A Ohjelmointikielten periaatteet 2014-2015 815338A Ohjelmointikielten periaatteet 2014-2015 X Skriptiohjelmointi Sisältö 1. Johdanto 2. Skriptikielten yleispiirteitä 3. Python 815338A Ohjelmointikielten periaatteet, Skriptiohjelmointi 2 X.1 Johdanto

Lisätiedot

Rakenteiset tietotyypit Moniulotteiset taulukot

Rakenteiset tietotyypit Moniulotteiset taulukot C! Rakenteiset tietotyypit Moniulotteiset taulukot 22.2.2018 Agenda Rakenteiset tietotyypit Vilkaisu 6. kierroksen tehtäviin Moniulotteiset taulukot Esimerkki Seuraava luento to 8.3. Ilmoittautuminen ohjelmointikokeeseen

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

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

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

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

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017

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

Korpusten käsittely clt131, P Luento 5

Korpusten käsittely clt131, P Luento 5 Korpusten käsittely clt131, P2 2006 Luento 5 Nicholas Volk 1.12.2006 Humanistinen tiedekunta Perl Perl niminen ohjelmointikieli mahdollistaa tekstin monipuolisen muokkaamisen helposti

Lisätiedot

OPPITUNTI 24 Esimerkki (Osa 2)

OPPITUNTI 24 Esimerkki (Osa 2) 24. Esimerkki (Osa 2) 429 OPPITUNTI 24 Esimerkki (Osa 2) Luvussa 23, "Esimerkki (Osa 1)" rakensimme ympäristön, joka sallii käyttäjien kirjoittautua palveluun ja lisätä kerho- ja tapahtumatiedot järjestelmään.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

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

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

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 2. Luento 3 Ti Timo Männikkö Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018

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

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle (Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

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

Taulukoiden käsittely Javalla

Taulukoiden käsittely Javalla 1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen

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

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus?

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus? Osa III 11. oppitunti Viittaukset Kahdessa viime luvussa opit käyttämään osoittimia kohteiden käsittelyyn vapaalla muistialueella sekä viittaamaan noihin kohteisiin epäsuorasti. Tässä luvussa käsiteltävät

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

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN Tämän tehtävän tarkoitus on tutustuttaa ympäristöön sekä tutustuttaa wwwdokumenttien tekoon php:llä. Alkutoimet Varmistetaan, että verkkolevyllä on kansio

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti ITKP2 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 17. toukokuuta 219 Yleistä Tentti 1 oli pistekeskiarvon (14,6) perusteella hieman tavanomaista helpompi. Omasta tehtäväpaperista

Lisätiedot

Ryhmät. Pauliina Munter/Suvi Junes Tampereen yliopisto/ Tietohallinto 2014

Ryhmät. Pauliina Munter/Suvi Junes Tampereen yliopisto/ Tietohallinto 2014 1 Ryhmät Moodlessa voi jakaa opiskelijoita pienempiin alaryhmiin, joilla toimitaan esim. keskustelualueella tai työskennellään wikissä. Ryhmätoiminto on hyödyllinen, jos kurssilla on paljon osallistujia

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

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