LIITE A Vastaukset kysymyksiin

Koko: px
Aloita esitys sivulta:

Download "LIITE A Vastaukset kysymyksiin"

Transkriptio

1 LIITE A Vastaukset kysymyksiin Liite A Vastaukset kysymyksiin 449 Tämä liite antaa vastaukset lukujen lopussa olleisiin kysymyksiin.

2 450 Liite A Vastaukset kysymyksiin TUNTI 1 1. Mistä kirjaimet PHP tulevat? PHP tulee sanoista personal home page. Se muodostaa joukon makroja, joita kutsutaan nimellä Personal Home Page Tools. 2. Kuka loi alkuperäisen PHP-version? Rasmus Lerdorf kirjoitti alkuperäisen skriptikoneen. 3. Mikä on PHP:n uuden skriptimoottorin nimi? Uuden PHP4-koneen nimi on Zend. 4. Nimeä jokin uusi piirre, joka tuli PHP4-version mukana. PHP4 sisältää muun muassa uudet taulukkofunktiot, uuden foreach-silmukan, boolean-tietotyypin, laajennetun oliotuen, istuntofunktiot, uudet sisäiset muuttujat sekä Java- ja XML-tuen.

3 Liite A Vastaukset kysymyksiin 451 TUNTI 2 1. Mistä löydän PHP:n online-manuaalin? PHP4:n manuaali on saatavilla osoitteesta 2. Kuinka saan apua asetusvaihtoehdoista Unixissa (asetuksista, joita laitetaan configure-skriptin parametreiksi PHP-ohjelmassa)? Kokoonpanoasetuksiin saa apua kutsumalla configure-skriptiä, joka on PHP:n jakelukansiossa, ja viemällä sille help-argumentin./configure --help. 3. Minkä niminen on Apachen asetustiedosto tyypillisesti? Apachen kokoonpanotiedosto on yleensä httpd.conf. 4. Mikä rivi tulee lisätä Apachen asetustiedostoon, jotta taattaisiin, että.php-tunniste tunnistettaisiin? Seuraava rivi AddType application/x-httpd-php.php takaa, että Apache käsittelee.php-loppuisia tiedostoja PHP4-skripteinä. 5. Minkä niminen on PHP:n asetustiedosto? PHP:n kokoonpanotiedosto on nimeltään php.ini.

4 452 Liite A Vastaukset kysymyksiin TUNTI 3 1. Voiko käyttäjä lukea PHP-skriptisi lähdekoodia? Ei, käyttäjä ei näe muuta kuin skriptisi tulostuksen. 2. Millainen on standardi PHP-erotintagi? <?php // oma koodi tänne?> 3. Miltä ASP-tyylinen erotintagi näyttää? <% // oma koodi tänne %> 4. Miltä skriptityylinen erotintagi näyttää? <script language="php"> // oma koodi tänne </script> 5. Millä funktiolla voidaan tulostaa merkkijono selaimella? Print()

5 Liite A Vastaukset kysymyksiin 453 TUNTI 4 1. Mitkä seuraavista muuttujanimistä ei ole sopivia? $a_value_submitted_by_a_user $666666xyz $xyz $ counter $the first $file-name Nimi $666666xyz ei ole kelvollinen, koska se ei ala kirjaimella eikä alaviivalla. Muuttujanimi $the first ei ole kelvollinen, koska se sisältää välilyönnin. Nimi $file-name on myöskin kelvoton, koska se sisältää muun kuin aakkosnumeerisen merkin. 2. Kuinka voisit käyttää merkkijonomuuttujaa, joka on luotu sijoituslauseessa $my_var = "dynamic"; luodaksesi muuttuja -muuttujan (dynaamisen muuttujan), johon sijoitetaan sitten arvo 4. Kuinka voit sitten käsitellä tuon uuden muuttujan sisältöä? Voit asettaa 'muuttuja'-muuttujan käyttämällä taalamerkkiä, jota seuraa merkkijonomuuttuja. Voit päästä käsiksi 'muuttuja'-muuttujaan suoraan tai käyttämällä merkkijonomuuttujaa $my_var = ``dynamic''; $$my_var = 4; print $dynamic; print ``${$my_var}''; 3. Mitä seuraava lause tulostaa? print gettype("4"); Tulostaa "string". 4. Mitä seuraava koodi tulostaa?

6 454 Liite A Vastaukset kysymyksiin $test_val = ; settype( $test_val, "integer" ); print $test_val; Koodi tulostaa arvon 5. Kun double muunnetaan kokonaisluvuksi, desimaalipisteen perässä oleva osa heitetään pois. 5. Mikä seuraavista ohjelmalauseista sisältää lausekkeen? 4; gettype(44); 5/12; Kaikki ovat lausekkeita, koska ne tuottavat arvoja. 6. Mitkä kysymyksen 5 lauseet sisältävät operaattorin? Lause 5/12 sisältää jakolaskuoperaattorin 7. Minkä arvon seuraava lauseke palauttaa? 5 < 2 Mitä tietotyyppiä palautettu arvo on? Lausekkeen tulos on false (epätosi) ja se on boolean-arvo.

7 Liite A Vastaukset kysymyksiin 455 TUNTI 5 1. Kuinka käyttäisit if-lausetta tulostaaksesi merkkijonon Youth message selaimelle, jos $age-muuttujan arvo on väliltä 18-35) Jos muuttujan arvo on jotain muuta, tulisi ohjelman tulostaa viesti Generic message. $age = 22; if ( $age >= 18 && $age <= 35 ) print ``Youth message<br>\n''; else print ``Generic message<br>\n''; 2. Kuinka laajentaisit kysymyksen 1 koodiasi tulostamaan merkkijonon Child message, jos $age-muuttujan arvo on väliltä 1-17? $age = 12; if($age >= 18 && $age<=35) print ``Youth message<br>\n''; elseif ( $age >= 1 && $age <= 17 ) print ``Child message<br>\n''; else print ``Generic message<br>\n''; 3. Kuinka loisit while-lauseen, joka tulostaa parittomat luvut väliltä 1-49? $num = 1; while ( $num <= 49 ) { print ``$num<br>\n''; $num += 2; }

8 456 Liite A Vastaukset kysymyksiin 4. Kuinka muuntaisit kysymyksen 3 while-lauseen for-lauseeksi? for ( $num = 1; $num <= 49; $num += 2 ) print ``$num<br>\n'';

9 Liite A Vastaukset kysymyksiin 457 TUNTI 6 1. Onko tämä totta? Jos funktio ei ota argumenttia, voit jättää sulkumerkit pois kutsun yhteydessä. Lause on false. Funktion kutsussa tulee aina käyttää sulkumerkkejä, vietiinpä funktiolle argumentteja tai ei. 2. Kuinka funktio palauttaa arvon? Avainsanalla return. 3. Mitä seuraava koodi tulostaisi selaimelle? $number = 50; function tentimes() { $number = $number * 10; } tentimes(); print $number; Se tulostaisi 50. Listauksen tentimes()-funktiolla ei ole pääsyä $number-muuttujaan. Kun sitä kutsutaan, se manipuloi omaa paikallista $number-muuttujaansa. 4. Mitä seuraava koodi tulostais selaimelle? $number = 50; function tentimes() { global $number; $number = $number * 10; } tentimes();

10 458 Liite A Vastaukset kysymyksiin print $number; Se tulostaisi 500. Olemme käyttäneet global-lausetta, joka antaa tentimes()-funktiolle pääsyn $numbermuuttujaan. 5. Mitä seuraava koodi tulostaisi selaimelle? $number = 50; function tentimes( $n ) { $n = $n * 10; tentimes( $number ); print $number; Se tulostaa 50. Argumentti viedään tentimes()-funktiolle arvona. Toisin sanoen kopio sijoitetaan muuttujaan $n. Mikään $n-muuttujaan tehtävä muutos ei vaikuta $number-muuttujaan. 6. Mitä seuraava koodi tulostaisi selaimelle? $number = 50; function tentimes( &$n ) { $n = $n * 10; } tentimes( $number ); print $number; Se tulostaa 500. Lisäämällä et-merkin parametrimuuttujaan $n takaamme, että argumentti viedään viittauksena, jolloin $n ja $number viittaavat samaan arvoon, joten kaikki $n-muuttujaan tehdyt muutokset näkyvät myös $number-muuttujassa.

11 Liite A Vastaukset kysymyksiin 459 TUNTI 7 1. Millä funktiolla voit määritellä taulukon? Funktiolla array(). 2. Mikä seuraavan taulukon viimeisen alkion indeksi? $users = array("harry", "Bob", "Sandy"); Viimeinen alkio on $users[2]. Muista, että indeksointi alkaa nollasta. 3. Mikä olisi helpoin keino lisätä arvo Susan edellä määriteltyyn taulukkoon, jos mitään funktiota ei haluta käyttää? $users[] = "Susan"; 4. Mitä funktiota voisit käyttää lisätäksesi merkkijonon Susan $users-taulukkoon? array_push($users, "Susan"); 5. Kuinka voisit ottaa selville taulukon alkioiden määrän? Funktiolla count(). 6. Mikä on yksinkertaisin keino käydä läpi taulukko PHP4:ssä? Uudella foreach-silmukalla. 7. Millä funktiolla voisit yhdistää kaksi taulukkoa? Tauluja voidaan liittää toisiinsa array_merge()-funktiolla.

12 460 Liite A Vastaukset kysymyksiin 8. Kuinka voisit lajitella assosiatiivisen taulukon avainten mukaan? Assosiatiivinen taulukko voidaan lajitella avainten mukaan ksort()-funktiolla.

13 Liite A Vastaukset kysymyksiin 461 TUNTI 8 1. Kuinka esittelisit luokan nimeltä emptyclass(), jolla ei ole metodeja tai ominaisuuksia? Avainsanalla class: class emptyclass { } 2. Jos käytössäsi on emptyclass()-luokka, kuinka loisit tuon luokan olioita? Operaattorilla new: $obj = new emptyclass(); 3. Kuinka voisit esitellä ominaisuuden luokan sisällä? Avainsanalla var: class Point { // ominaisuudet var $x = 0; var $y = 0; } 4. Kuinka valitsisit muodostimen nimen? Konstruktorin nimeä ei voida valita. Sen nimi on luokan nimi. 5. Kuinka loisit muodostimen? Kyseessä on erikoismetodi, jonka nimi on luokan nimi. Muodostinta kutsutaan automaattisesti, kun uusi olio luodaan:

14 462 Liite A Vastaukset kysymyksiin class Point { // ominaisuudet var $x = 0; var $y = 0; // muodostin function Point( $x, $y ) { // asetuskoodi } } 6. Kuinka loisit tavallisen metodin luokkaan? Metodi on funktio luokan sisällä; sen nimi voi olla mikä vain. class Point { // ominaisuudet var $x =0; var $y =0; // muodostin function Point( $x, $y ) { // asetuskoodi } // metodi function moveto( $x, $y ) { } }

15 Liite A Vastaukset kysymyksiin Kuinka käsittelisit luokan ominaisuuksia ja metodeja luokan sisältä käsin? Luokan sisältä käsin ominaisuutta tai metodia kutsutaan $this-muuttujan ja ->-operaattorin avulla: class Point { // ominaisuudet var $x =0; var $y =0; // muodostin function Point( $x, $y ) { // metodin kutsuminen $this->moveto( $x, $y ); } // metodi function moveto( $x, $y ) { // ominaisuuksien asettaminen $this->x = $x; $this->y = $y; } }

16 464 Liite A Vastaukset kysymyksiin 8. Kuinka käsittelisit luokan ominaisuuksia ja metodeja luokan ulkopuolelta käsin? Voit kutsua olion metodia ja käsitellä sen ominaisuuksia käyttämällä viittausta olioon yhdessä nuolioperaattorin (->) kanssa: // luodaan olio $p = new Point( 40, 60 ); // kutsutaan metodia $p->moveto( 20, 200 ); // käsitellään ominaisuutta print $p->x; 9. Mitä lisäisit luokan määrittelyyn, jos haluaisit laittaa sen perimään toiminnallisuuden toiselta luokalta? Luokka voidaan johtaa toisesta luokasta extends-avainsanalla, jonka jälkeen tulee kantaluokan nimi: class funkypoint extends Points { }

17 Liite A Vastaukset kysymyksiin 465 TUNTI 9 1. Mitä ympäristömuuttujaa voisit käyttää määrittääksesi käyttäjän IP-osoitteen? Muuttuja $REMOTE_ADDR tallentaa IP-osoitteen. 2. Mitä ympäristömuuttujaa voisit käyttää saadaksesi selville selaimen, joka kutsui skriptiäsi? Selaimen tyyppi ja versio sekä käyttäjän käyttöjärjestelmä saadaan selville muuttujan HTTP_USER_AGENT avulla. 3. Kuinka sinun tulisi nimetä lomakekenttäsi päästäksesi käsiksi lähetettyihin tietoihin $form_array-nimisen taulukon avulla? Luomalla useita kenttiä nimellä form_array[], jolloin syntyy täytetty taulukko nimeltä $form_array, kun lomake lähetetään. 4. Mikä sisäinen taulukko sisältää kaikki GET-tavalla lähetetyn lomakkeen tiedot? Sisäinen $HTTP_GET_VARS sisältää kaikki arvot, jotka lähetetään osana GET-pyyntöä. 5. Mikä sisäinen taulukko sisältää kaikki POST-tavalla lähetetyn lomakkeen tiedot? Sisäinen $HTTP_POST_VARS sisältää kaikki arvot, jotka lähetetään osana POST-pyyntöä. 6. Mitä funktiota käyttäisit ohjataksesi selaimen uudelle sivulle? Minkä merkkijonon veisit sille? Voit ohjata käyttäjää kutsumalla header()-funktiota. Sinun tulisi viedä sille Location-otsikko: Header(``Location: anotherpage.html'');

18 466 Liite A Vastaukset kysymyksiin 7. Kuinka rajoittaisit sen tiedoston koon, jonka käyttäjä voisi lähettää lomakkeen kautta? Kun luot tiedostojen lataamislomakkeita PHP4:llä, sinun tulisi laittaa mukaan piilotettu kenttä nimeltä MAX_FILE_SIZE : <INPUT TYPE="hidden'' NAME="MAX_FILE_SIZE'' VALUE="51200"> 8. Kuinka voisit asettaa kokorajoituksen kaikilta lomakkeilta ja kaikista skripteistä ladattaville tiedostoille? Tiedoston php-ini asetus upload_max_filesize määrittää ladattavan tiedoston maksimikoon, jonka skriptit hyväksyvät. Oletuskokona on 2 megatavua.

19 Liite A Vastaukset kysymyksiin 467 TUNTI Mitä funktioita voisit käyttää lisätäksesi kirjastokoodin skriptiisi? Voit käyttää require()- tai include()-funktioita liittääksesi PHP-tiedostoja nykyiseen asiakirjaan. 2. Millä funktiolla voisit selvittää, onko tietty tiedosto olemassa järjestelmässäsi? Voit testata tiedoston olemassaoloa funktiolla file_exists(). 3. Kuinka voisit määrittää tiedoston koon? Funktio filesize() palauttaa tiedoston koon tavuina. 4. Mitä funktiota voisit käyttää tiedoston avaamiseen lukemista tai kirjoittamista varten? Funktio fopen() avaa tiedoston. Se ottaa argumenteikseen tiedoston ja merkin, joka edustaa moodia. Se palauttaa tiedosto-osoittimen. 5. Millä funktiolla voit lukea rivillisen tietoa tiedostosta? Funktio fgets() lukee tietoa puskurin koon mukaan, rivin loppuun saakka tai asiakirjan loppuun saakka sen mukaan, mikä rajoite tulee ensimmäisenä vastaan. 6. Kuinka voit kertoa, onko tiedoston loppu saavutettu? Funktio feof() palauttaa arvon true, kun tiedosto-osoitin on saavuttanut tiedoston lopun. 7. Millä funktiolla voisit kirjoittaa rivin tietoa tiedostoon? Voit kirjoittaa tietoa tiedostoon funktiolla fputs().

20 468 Liite A Vastaukset kysymyksiin 8. Kuinka voisit avata hakemiston lukemista varten? Hakemisto voidaan avata lukemista varten funktiolla opendir()s. 9. Millä funktiolla voisit lukea hakemiston sisällä olevan kohteen nimen, kun hakemisto on ensin avattu lukemista varten? Funktio readdir() palauttaa hakemistonkohteen nimen avatusta hakemistosta.

21 Liite A Vastaukset kysymyksiin 469 TUNTI Millä funktiolla voisit avata DBM-tietokannan? Voit avata DBM-tietokannan funktiolla dbmopen(). 2. Millä funktiolla voisit lisätä tietueen DBM-tietokantaan? Funktio dbminsert() lisää tietueen DBM-tietokantaan. 3. Millä funktiolla voisit korvata tietueen DBM-tietokannassa? Funktio dbmreplace() korvaa tietueen DBM-tietokannassa. 4. Kuinka voisit päästä käsiksi tietueeseen nimen perusteella? Funktio dbmfetch() palauttaa elementin, kun DBM-osoitin ja elementin nimi on annettu. 5. Kuinka voisit saada esille ensimmäisen alkion nimen (arvon sijaan)? Funktio dbmfirstkey() palauttaa DBM-tietokannan ensimmäisen elementin nimen. 6. Kuinka saisit esille peräkkäisten elementtien nimet? Funktion dbmfirstkey() kutsumisen jälkeen voit siepata seuraavien elementtien nimiä kutsumalla funktiota dbmnextkey(). 7. Kuinka tuhoaisit nimetyn alkion DBM-tietokannasta? Elementti voidaan tuhota funktiolla dbmdelete().

22 470 Liite A Vastaukset kysymyksiin TUNTI Kuinka avaisit yhteyden MySQL-tietokantapalvelimelle? MySQL-demoniin kytkeydytään mysql_connect()-funktiolla. 2. Mitä funktiota käyttäisit tietokannan valitsemiseen? Funktio mysql_select_db() valitsee tietokannan. 3. Mitä funktiota käyttäisit lähettämään SQL-kysely tietokantaan? Voit lähettää SQL-kyselyn tietokantapalvelimelle funktiolla mysql_query(). 4. Mitä mysql_insert_id()-funktio tekee? Funktio mysql_insert_id() palauttaa automaattisesti kasvatettavan kentän arvon, kun uusi rivi on lisätty taulukkoon. 5. Olettaen, että olet tehnyt onnistuneen SELECT-kyselyn, nimeä kolme funktiota, jotka voisivat käyttää kyselyn palauttamia rivejä? Voit käyttää funktioita mysql_fetch_row(), mysql_fetch_array() tai mysql_fetch_object() päästäksesi käsiksi löydetyn joukon jokaiseen riviin. 6. Olettaen, että olet tehnyt onnistuneen UPDATE-kyselyn, millä funktiolla voisit määrittää, kuinka monta riviä päivitettiin? Voit saada selville SQL-lauseen muuttamien rivien määrän funktiolla mysql_affected_rows().

23 Liite A Vastaukset kysymyksiin Millä funktiolla saisit esille luettelon kaikista MySQL-palvelimen tietokannoista? Funktio mysql_list_dbs() palauttaa tulososoittimen, jota voidaan käyttää listaamaan kaikki saatavilla olevat tietokannat. 8. Mitä funktiota käyttäisit luettelemaan tietokannan kaikki taulukot? Funktio mysql_list_tables() palauttaa tulososoittimen, jolla voidaan listata tietokannan kaikki taulut.

24 472 Liite A Vastaukset kysymyksiin TUNTI Mikä ympäristömuuttuja antaisi viittaavan sivun URL:n? Viittaavan sivun URL löytyy usein muuttujasta $HTTP_REFERRER. 2. Miksi et voi luottaa $REMOTE_ADDR-muuttujaan jäljittääksesi yksittäisen käyttäjän monien skriptisi käyttäjien joukosta? Monet palveluntarjoajat varaavat eri IP-osoitteen käyttäjille jokaisella kytkeytymiskerralla, joten et voi olettaa, että käyttäjä palauttaisi saman osoitteen. 3. Mitä HTTP tarkoittaa? HTTP = HyperText Transfer Protocol. 4. Mikä asiakkaan otsikkorivi kertoo palvelimelle selaimen, joka tekee pyynnön? Asiakas saattaa lähettää User-agent-otsikon, joka kertoo palvelimelle asiakkaan version ja ajettavan käyttöjärjestelmän. 5. Mitä palvelimen vastauskoodi 404 tarkoittaa? Palvelimen vastaus 404 tarkoittaa sitä, että pyydettyä sivua tai resurssia ei löydy palvelimelta. 6. Mitä funktiota voisit käyttää ottaaksesi esille Web-sivun etäpalvelimelta tekemättä omaa verkkoyhteyttä? Funktiota fopen() voidaan käyttää etäkoneilla oleville Web-sivuille sekä myös omassa tiedostojärjestelmässä.

25 Liite A Vastaukset kysymyksiin Jos käytössäsi on IP-osoite, mikä funktio antaisi palvelimen nimen? Funktio gethostbyaddr() ottaa argumentikseen IP-osoitteen ja palauttaa vastaavan palvelinnimen. 8. Mikä funktio luo verkkoyhteyden? Funktio fsockopen() toteuttaa yhteyden etäpalvelimelle. 9. Millä PHP-funktiolla voisit lähettää ia? Voit lähettää ia funktiolla mail().

26 474 Liite A Vastaukset kysymyksiin TUNTI Mikä otsikko pitäisi lähettää selaimelle ennen GIF-kuvan kehittämistäja tulostamista? GIF-kuvan kohdalla tulee header()-funktiolla lähettää rivi "Content-type: image/gif" selaimelle. 2. Mitä funktiota pitäisi käyttää kuvatunnisteen saamiseen muita kuvafunktioita varten? Funktio imagecreate() luo kuvatunnisteen. 3. Mitä funktiota pitäisi käyttää GIF-kuvan tulostamiseen sen muodostamisen jälkeen? GIF voidaan tulostaa funktiolla imagegif(). 4. Mitä funktiota pitäisi käyttää väritunnisteen saamiseen? Väritunniste saadaan esille funktiolla imagecolorallocate(). 5. Mitä funktiota voidaan käyttää viivan piirtämiseen dynaamiseen kuvaan? Funktio imageline() piirtää viivan. 6. Mitä funktiota pitäisi käyttää dynaamisessa kuvassa olevan alueen täyttämiseen? Funktio imagefill() täyttää alueen värillä. 7. Mitä funktiota voidaan käyttää kaaren piirtämiseen? Voit piirtää kaaren funktiolla imagearc().

27 Liite A Vastaukset kysymyksiin Kuinka piirtäisit suorakaiteen? Voit piirtää suorakaiteen funktiolla imagerectangle(). Jos haluat piirtää täytetyn suorakaiteen, voit käyttää funktiota imagefilledrectangle(). 9. Kuinka piirtäisit monikulmion? Voit piirtää monikulmion joko funktiolla imagepolygon() tai imagefilledpolygon(). 10. Mitä funktiota käyttäisit kirjoittamaan merkkijonon dynaamiseen kuvaan (hyödyntämällä FreeTypekirjastoa)? Voit kirjoittaa merkkijonon dynaamiseen kuvaan funktiolla imagettftext().

28 476 Liite A Vastaukset kysymyksiin TUNTI Kuinka saisit esille UNIX:in aikaleiman, joka edustaa nykyistä päivämäärää ja aikaa? Funktio time() palauttaa nykyisen ajan aikaleimamuodossa. 2. Mikä funktio hyväksyy aikaleiman ja palauttaa assosiatiivisen taulukon, joka edustaa annettua päivämäärää? Funktio getdate() palauttaa assosiatiivisen taulukon, jonka elementit sisältävät annetun päivämäärän tiedot. 3. Millä funktiolla voisit muotoillaa aikatietoa? Päivämäärää voidaan muotoilla funktiolla date(). 4. Kuinka saisit otettua minkä tahansa ajankohdan aikaleiman? Kun funktiolle mktime() annetaan argumentit tunnit, minuutit, sekunnit, kuukaudet, kuukauden päivä ja vuosi, funktio palauttaa UNIX-aikaleiman. 5. Millä funktiolla voisit tarkistaa, onko päivämäärä kelvollinen? Voit tarkistaa päivämäärän funktiolla checkdate().

29 Liite A Vastaukset kysymyksiin 477 TUNTI Millä yksittäisellä funktiolla voisit muuntaa minkä tahansa tietotyypin toiseksi tietotyypiksi? Funktiolla settype(). 2. Voisitko tehdä sen myös ilman funktiota? Kyllä, ulkoisen muunnoksen avulla: toinen tietotyyppi on suluissa muunnettavan arvon edessä. 3. Mitä seuraava koodi tulostaa? print "four" * 200; Merkkijonot, jotka eivät ala numeroilla, ovat arvoltaan nollia (0) lausekkeissa, joten edellä tulostuu Kuinka saisit selville, onko muuttujassa taulukko? Se, onko muuttujassa taulukko, voidaan testata is_array()-funktiolla. Vaihtoehtoisesti voit testata palautustyyppiä funktiolla gettype(). 5. Mikä funktio on tarkoitettu muuntamaan argumenttinsa kokonaisluvuksi? Funktio intval() palauttaa sille viedyn argumentin kokonaislukuarvon. 6. Kuinka testaisit, onko muuttuja asetettu? Funktio isset() kertoo, onko muuttuja asetettu. 7. Kuinka testaisit, sisältääkö muuttuja tyhjän arvon, esimerkiksi nollan tai tyhjän merkkijonon? Funktio empty() palauttaa arvon true, jos sille vietyä muuttujaa ei ole asetettu tai siinä on tyhjä arvo.

30 478 Liite A Vastaukset kysymyksiin 8. Millä funktiolla tuhoaisit taulukon alkion? Voit tuhota taulukon elementin funktiolla unset(). 9. Millä funktiolla voisit lajitella numeerisesti indeksoidun taulukon? Voit lajitella taulukkoa halutulla tavalla funktiolla usort().

31 Liite A Vastaukset kysymyksiin 479 TUNTI Mitä muunnosmäärittäjää käyttäisit printf()-funktion yhteydessä muotoillaksesi kokonaisluvun desimaaliluvuksi? Kirjoita koko syntaksi, kun kokonaislukuna on 33. Muunnosmäärittäjää f käytetään muotoilemaan kokonaisluku double-tyypiksi printf(``%f'', 33 ); 2. Kuinka siirtäisit edellisen kysymyksen muunnoksen siten, että tulostuksen eteen tulee tarvittava määrä nollia, jotta desimaaliosa olisi neljä merkkiä? Voit siirtää tulostusta printf()-funktion yhteydessä siirtomäärittäjällä. Se toteutetaan välilyönnillä tai nollalla, jota seuraa numeroarvo, joka määrittää siirrossa käytettävien merkkien määrän. printf(``%04f'', 33 ); 3. Kuinka määrittäisi kahden desimaalin tarkkuuden edellisten kysymysten liukuluvulle? Tarkkuuden määrittäjä koostuu pisteestä (.), jota seuraa numeroarvo, joka edustaa haluttua tarkkuutta. Se tulee sijoittaa ennen muunnosmäärittäjää. printf(``%04.2f'', 33 ); 4. Millä funktiolla määrittäisit merkkijonon pituuden? Funktio strlen() palauttaa merkkijonon pituuden. 5. Millä funktiolla saisit esille jonkin osamerkkijonon esiintymän aloituskohdan? Funktio strstr() palauttaa osamerkkijonon alkuindeksin. 6. Millä funktiolla saisit esille jonkin osamerkkijonon merkkijonosta? Funktio substr() erottaa ja palauttaa osamerkkijonon.

32 480 Liite A Vastaukset kysymyksiin 7. Kuinka voisit poistaa tyhjät merkit merkkijonon alusta? Funktio ltrim() poistaa tyhjät merkit merkkijonon alusta. 8. Kuinka muuttaisit merkkijonon kirjaimet isoiksi kirjaimiksi? Funktio strtoupper() muuntaa merkkijonon kirjaimet isoiksi kirjaimiksi. 9. Kuinka jakaisit merkkijonon osiin, jotka sijoitetaan sitten taulukkoon? Funktio explode() pilkkoo merkkijonon taulukkoon.

33 Liite A Vastaukset kysymyksiin 481 TUNTI Mitä POSIX- funktiota käyttäisit vastaamaan kuviota merkkijonossa? Funktiolla ereg() voidaan hakea kuviota merkkijonosta. 2. Millä säännöllisellä lausekkeella voisit hakea merkkijonosta kirjainta "b", kun kirjain voi esiintyä 1-6 kertaa? Tällöin voidaan käyttää aaltosulkuja, joiden sisällä ovat vastaavat minimi- ja maksimiarvot: b{1,6} 3. Kuinka määrittäisit merkkialueen, joka on väliltä "d" ja "f"? Voit määrittää merkkialueen käyttämällä hakasulkuja: [d-f] 4. Kuinka tekisit kysymyksen 3 merkkialueesta käänteisen? Voit kääntää merkkialueen hattumerkillä (^): [^d-f] 5. Millä syntaksilla voisit vastata joko mitä tahansa numeroa tai sanaa "tree"? Voit hakea vaihtoehtoisia haaroja putkimerkkiä ( ) käyttämällä: [0-9] tree 6. Mitä POSIX-lauseketta käyttäisit korvaamaan vastanneen kuvion? Funktiota ereg_replace() käyttämällä voidaan vastannut kuvio korvata annetulla vaihtoehdolla.

34 482 Liite A Vastaukset kysymyksiin 7. Säännöllinen lauseke.*bc vastaa pikemminkin merkkijonoa "abc000000bc" kuin merkkijonoa "abc". Kuinka muuttaisit lauseketta niin, että se vastaisi vain ensimmäistä löydettyä esiintymää? Lisäämällä kysymysmerkin määrän ilmaisimeen voit pakottaa vasteen olemaan muuta kuin osittainen: /.*?bc/ 8. Millaisella Perl-yhteensopivalla lausekkeella voisit vastata 'white space'.-merkkiä? Merkintä \w vastaa tyhjää aluetta Perl-lausekkeissa. 9. Millaisella Perl-yhteensopivalla funktiolla voisit vastata kuvion jokaista esiintymää? Funktio preg_match_all() vastaa merkkijonon jokaista kuvioesiintymää. 10. Mitä muunninta käyttäisit Perl-yhteensopivassa funktiossa voidaksesi ohittaa haussa isojen ja pienten kirjainten erottelun? Muuntimella /i ohitetaan isojen ja pienten kirjainten erottelu.

35 Liite A Vastaukset kysymyksiin 483 TUNTI Millä funktiolla voit asettaa evästeen vierailijan selaimelle? Funktiolla setcookie() voit asettaa evästeen (vaikka voisitkin tuottaa Set-Cookie-otsikon käyttämällä header()-funktiota). 2. Kuinka voisit tuhota evästeen? Voit tuhota evästeen kutsumalla setcookie()-funktiota ja viemällä sille päivämäärän, joka on jo mennyt. 3. Millä funktiolla voisit kiertää merkkijonon kyselymerkkijonossa? Funktio urlencode() muuntaa merkkijonon niin, että se voidaan sisällyttää kyselymerkkijonoon. 4. Mikä sisäinen muuttuja sisältää raa'an kyselymerkkijonon? Koko kyselymerkkijono on muuttujassa $QUERY_STRING. 5. Kyselmymerkkijonon mukana viedyt nimi/arvo-parit ovat saatavilla globaaleina muuttujina. Ne voidaan myös sisällyttää sisäiseen assosiatiiviseen taulukkoon. Mikä sen nimi on? Muuttuja $HTTP_GET_VARS sisältää nimi/arvo-parit, jotka viedään osana kyselymerkkijonoa.

36 484 Liite A Vastaukset kysymyksiin TUNTI Mikä funktio voisi käynnistää tai lopettaa istunnon? Istunto voidaan käynnistää funktiolla session_start(). 2. Mikä funktio sisältää nykyisen istunnon ID:n? Voit saada nykyisen istunnon ID:n funktiolla session_id(). 3. Kuinka voit yhdistää muuttujan istuntoon? Funktio session_register() liittää annetun muuttujan nykyiseen istuntoon. 4. Kuinka voit päättää istunnon ja tuhota kaikki jäljet siitä? Funktio session_destroy() poistaa kaikki istunnon jäljet. 5. Kuinka voisit tuhota istuntomuuttujat sekä nykyisestä skriptistä että istunnosta. Funktio session_unset() poistaa istuntomuuttujat sekä nykyisestä skriptistä että istunnosta. 6. Mitä SID-vakio tekee? Jos evästeet eivät ole saatavilla, SID-vakio sisältää nimi/arvo-parin, joka voidaan liittää kyselymerkkijonoon. Sillä tavoin viedään istunnon ID skriptipyynnöstä toiseen. 7. Kuinka testaisit, onko muuttujaa nimeltä $test rekisteröity istunnon mukana? Voit käyttää funktiota is_registered() tarkistamaan, että muuttuja on liitetty nykyiseen istuntoon. is_registered(``test'')

37 Liite A Vastaukset kysymyksiin 485 TUNTI Millä funktiolla avaisit putken prosessiin? Funktiolla popen(). 2. Kuinka lukisit tietoa prosessista sen jälkeen, kun olet avannut yhteyden? Voit lukea tietoa prosessista, jonka olet avannut popen()-funktiolla, samalla lailla kuin tiedostosta. Toisin sanoen voit käyttää sellaisia funktioita kuin feof() ja fgets(). 3. Kuinka voit kirjoittaa tietoa prosessiin sen jälkeen, kun yhteys on luotu? Voit kirjoittaa prosessiin samalla lailla kuin tiedostoon; yleensä fputs()-funktiolla. 4. Tulostaako exec()-funktio shell-komennon tuotoksen suoraan selaimelle? Tuotos ei mene suoraan selaimelle, vaan se tallennetaan argumenttina olevaan taulukkoon. 5. Mitä system()-funktio tekee suorittamansa ulkoisen komennon tuotoksella? Funktio tulostaa tuotoksen suoraan selaimelle. 6. Mitä heittomerkkioperaattori palauttaa? Se palauttaa kutsumansa ulkoisen komennon tuotoksen, joka voidaan sitten tallentaa, jäsennellä tai tulostaa. 7. Kuinka voit suodattaa käyttäjän syötön tehdäksesi sen hieman turvallisemmaksi ennen sen viemistä shellkomennolle? Voit tehdä sen escapeshellcmd()-funktiolla. Turvallisin tapa suorittaa shell-komentoja on kuitenkin sellainen, jossa tietoja ei oteta suoraan käyttäjältä.

38 486 Liite A Vastaukset kysymyksiin 8. Kuinka suorittaisit ulkoisen CGI-skriptin omasta skriptistäsi käsin? Funktio nimeltä virtual() kutsuu ulkoista CGI-skriptiä.

39 Liite A Vastaukset kysymyksiin 487 TUNTI Mikä funktio tulostaa hyödyllistä tietoa PHP-kokoonpanosta selaimelle? Funktio nimeltä phpinfo() tulostaa PHP-tietoa: asetustietoa sekä nykyisen skriptin saatavilla olevat ympäristömuuttujat. 2. Mitä funktiota käyttäisit sisällyttääksesi syntaksin värittämisen PHP-lähdekoodilistauksiin? Funktio nimeltä show_source() ottaa argumentikseen PHP-skriptin ja sisällyttää syntaksin värittämisen skriptissä oleviin listauksiin. 3. Mikä php.ini-tiedoston direktiivi sallii sinun kontrolloida virheilmoitusten tarkkuutta? Tiedoston php.ini error_reporting-sääntö kontrolloi sitä, kuinka PHP raportoi virheistä. 4. Mitä funktiota voidaan käyttää korvaamaan tuo sääntö? Funktio error_reporting() sallii sinun korvata php.ini-tiedoston samanniminen asetus. 5. Millä funktiolla voit kirjata virheitä? Virheitä voidaan kirjata funktiolla error_log(). 6. Mikä sisäinen muuttuja sisältää virheilmoituksen, jos php.ini-tiedostossa oleva trac_errors-asetus on päällä? Muuttuja $php_errormsg tallentaa viimeisimmän virheviestin.

40 488 Liite A Vastaukset kysymyksiin TUNTI Mitä PHP-funktiota voisimme käyttää toteuttamaan yhteyden MySQL-tietokantapalvelimille? Funktio nimeltä mysql_connect() yrittää toteuttaa yhteyden MySQL-demoniin. 2. Millä PHP-funktiolla voimme aloittaa tai lopettaa istunnon? Funktio nimeltä session_start() aloittaa istunnon. 3. Millä funktiolla voidaan sisällyttää kirjastotiedostoja projektisivuillemme? Funktio nimeltä include() yhdistää kirjastotiedoston nykyiseen skriptiin. 4. Mitä PHP-funktiota voidaan käyttää lähettämään SQL-kyselyjä MySQL-tietokannalle? Funktio nimeltä mysql_query() vie SQL-kyselyn tietokannalle. 5. Mitä vakiota käytetään lisäämään istunnon ID HTML-linkkiin? Vakio nimeltä SID sisältää nimi/arvo-parin, joka voidaan lisätä kyselymerkkijonoon. Nimenä on istunnon nimi ja arvona taas istunnon ID. 6. Kuinka käyttäjä voidaan siirtää uudelle sivulle? Käyttäjä voidaan johdattaa uudelle sivulle header()-funktiolla. Tällöin on laitettava mukaan Locationotsikko. header(``location: membersmenu.php?''.sid); 7. Millä funktiolla voidaan muotoilla päivämäärätietoa? Funktio nimeltä date() ottaa argumentikseen muotoilun liput ja päivämäärän, joka on aikaleimamuodossa. Se palauttaa muotoillun päivämäärämerkkijonon.

41 Liite A Vastaukset kysymyksiin 489 TUNTI Millä funktiolla voit lisätä elementin taulukon loppuun? Funktio nimeltä array_push() lisää elementin taulukkoon. 2. Onko mahdollista lisätä elementti taulukkoon käyttämättä funktiota? Voit lisätä elementin taulukkoon sijoittamalla sen taulukkomuuttujaan, jonka nimen lopussa on tyhjä hakasulkupari: $array[] = $new_element 3. Mitä funktiota käyttäisit kääntääksesi erikoismuuttujat HTML-formaattiin? Funktio nimeltä htmlspecialcharacters() kääntää erikoismerkit HTML-yksiköiksi, jotta selain osaisi esittää ne oikein. 4. Mitä funktiota käyttäisit kääntämään rivinvaihtomerkit BR-tageiksi? Funktio nimeltä nl2br() muuntaa rivinvaihdot BR-tageiksi. 5. Kuinka voisit käyttää SID-vakiota viemään istunnon ID:n toiselle sivulle HTML-linkin kautta? Kuinka saisit aikaan saman toiminnon lomakkeen avulla? Istunnon ID upotetaan HTML-lomakkeelle piilokentän avulla. Piilokenttä tulee nimetä $session_name()- funktion palauttaman merkkijonon mukaan ja sille tulee antaa arvo, jonka $session_id()-funktio palauttaa. <input type=''hidden'' name=''<?php print session_name()?>'' value=''<?php print session_id()?>''>.

42 490 Liite A Vastaukset kysymyksiin

HAKEMISTO. Hakemisto 491

HAKEMISTO. Hakemisto 491 Hakemisto 491 HAKEMISTO - (vähennyslasku); 56 $HTTP_COOKIE_VARS; 378 $HTTP_GET_VARS; 348, 378 $HTTP_GET_VARS-taulukko; 157 $HTTP_POST_FILES-taulukko; 168 $HTTP_POST_VARS; 378 $HTTP_REFERER; 235 $HTTP_USER_AGENT;

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

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

7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan 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

Lisätiedot

PHP. Trainer Kit. Matt Zandstra. Copyright IT Press Tämän e-kirjan kopiointi, tulostaminen ja jakeleminen eteenpäin luvatta on kielletty.

PHP. Trainer Kit. Matt Zandstra. Copyright IT Press Tämän e-kirjan kopiointi, tulostaminen ja jakeleminen eteenpäin luvatta on kielletty. PHP Trainer Kit Matt Zandstra PHP Kirjoittajat Kääntäjä Kansi Kannen kuva Kustantaja Matt Zandstra Tmi S. Kolehmainen Frank Chaumont Frank Chaumont ja Santeri Salmi Oy Edita Ab IT Press PL 760 00043 EDITA

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

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

OPPITUNTI 21 Palvelinympäristö

OPPITUNTI 21 Palvelinympäristö 21. Palvelinympäristö 365 OPPITUNTI 21 Palvelinympäristö Edellisellä tunnilla tutkimme tekniikoita, joiden avulla voidaan kommunikoida etäkoneiden kanssa ja saada tietoa käyttäjiltä. Tällä tunnilla käsittelemme

Lisätiedot

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

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

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

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

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

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

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

OPPITUNTI 14 Dynaamisten kuvien käsittely

OPPITUNTI 14 Dynaamisten kuvien käsittely 14. Dynaamisten kuvien käsittely 249 OPPITUNTI 14 Dynaamisten kuvien käsittely Tässä luvussa käsiteltävät funktiot liittyvät avoimeen lähdekirjastoon nimeltä GD. GD-kirjasto on joukko työkaluja, joiden

Lisätiedot

OSA III PHP:n käyttö. Oppitunti

OSA III PHP:n käyttö. Oppitunti OSA III PHP:n käyttö Oppitunti 9. Lomakkeiden käsittely 10. Tiedostojen käsittely 11. DBM-funktioiden käyttö 12. MySQL-tietokantojen integrointi 13. Pintaa syvemmältä 14. Dynaamisten kuvien käsittely 15.

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

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

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 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 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla

OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla 19. Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla 337 OPPITUNTI 19 Tilan tallentaminen evästeiden ja kyselymerkkijonojen avulla HTTP on tilaton protokolla. Se merkitsee sitä, että jokainen

Lisätiedot

OPPITUNTI 17 Merkkijonoilla työskentely

OPPITUNTI 17 Merkkijonoilla työskentely 17. Merkkijonoilla työskentely 301 OPPITUNTI 17 Merkkijonoilla työskentely World Wide Web on paljolti pelkkä tekstiympäristö. Olipa sisältö kuinka monipuolista tahansa, kaiken takana on aina HTML-koodi.

Lisätiedot

OPPITUNTI 12 MySQL-tietokannan käyttö

OPPITUNTI 12 MySQL-tietokannan käyttö 12. MySQL-tietokannankäyttö 211 OPPITUNTI 12 MySQL-tietokannan käyttö PHP-kieleen kuuluu olennaisesti tietokantojen käyttämisen helppous. Tällä tunnilla keskitymme MySQLtietokantaan, mutta samanlaisia

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

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

OSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto

OSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto 17 Johdanto OSA I Aloitetaan Oppitunti 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi 18 1. Kotisivusta Portaaliin 19 OPPITUNTI 1 PHP: Kotisivusta portaaliin Tervetuloa PHP-maailmaan!

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

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

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

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

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

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

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

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

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

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

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

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

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

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

Lisätiedot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

T-111.361 Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot T-111.361 Hypermediadokumentin laatiminen -Ohjelmointi Peruskäsitys www-ohjelmoinnin kentästä Tekniikat interaktiivisuuden toteuttamiseen tekniikat tekniikat Tietokannat Juha Laitinen TKK/TML juha.laitinen@hut.fi

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

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

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

Lisätiedot

Java-kielen perusteet

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

Lisätiedot

Harjoitus 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

Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu

Digitaalisen median tekniikat, k2004 HY/TKTL, palvelinohjelmointi_1 21/04/2004. Harri Laine 1. Palvelinohjelmointi. Staattinen www-sivu Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja

Lisätiedot

Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1

Digitaalisen median tekniikat. Palvelinohjelmointi Harri Laine 1 Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu

Lisätiedot

Digitaalisen median tekniikat. Palvelinohjelmointi

Digitaalisen median tekniikat. Palvelinohjelmointi Digitaalisen median tekniikat Palvelinohjelmointi 21.4.2004 Harri Laine 1 Palvelinohjelmointi Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

13. Pintaa syvemmältä 233

13. Pintaa syvemmältä 233 13. Pintaa syvemmältä 233 OPPITUNTI 13 Pintaa syvemmältä Tällä tunnilla tutkimme joitakin funktioita, joilla saamme informaatiota ympäristöstä tai kommunikoimme ulkoisen maailman kanssa. Tämän tunnin aiheita

Lisätiedot

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi

Harri Laine 1. Digitaalisen median tekniikat, s2007 HY/TKTL, palvelinohjelmointi_1. Palvelinohjelmointi Digitaalisen median tekniikat Staattinen www-sivu Palvelimelle tallennettu valmis sivu Sama URL antaa aina saman sisällön Teknisesti sivu voi muodostua monesta osasta, esimerkiksi kuvat ovat eri tiedostoja

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

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

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

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

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

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

OPPITUNTI 18 Säännöllisten lausekkeiden käyttäminen

OPPITUNTI 18 Säännöllisten lausekkeiden käyttäminen 18. Säännöllisten lausekkeiden käyttäminen 319 OPPITUNTI 18 Säännöllisten lausekkeiden käyttäminen Säännölliset lausekkeet ovat tehokas keino tutkia ja muokata tekstiä. Ne mahdollistavat kuvioiden etsimisen

Lisätiedot

OPPITUNTI 10 Tiedostojen käsittely

OPPITUNTI 10 Tiedostojen käsittely 10. Tiedostojen käsittely 173 OPPITUNTI 10 Tiedostojen käsittely Tiedostojen testaaminen, lukeminen ja kirjoittaminen ovat yleisiä toimenpiteitä käytännön ohjelmissa ja niitä vastaava tekniikka on mukana

Lisätiedot

Taustaa. CGI-ohjelmointi

Taustaa. CGI-ohjelmointi Taustaa CGI-ohjelmointi CGI = Common Gateway Interface Hyvin yksinkertainen ja helppo tapa toteuttaa dynaamisuutta ja interaktivisuutta htmldokumentteihin Kehitetty tiedon siirtoon palvelimen ja asiakasselaimen

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

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

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

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB Android ohjelmointi Tunti 5 SQLite, Cursor, Intent ja ADB SQLite Tuetut tietotyypit: NULL INTEGER kokonaisluku REAL Reaaliluku, float, desimaali. Tallennetaan 1-8 tavun tarkkuudella luvun suuruudesta riippien

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

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

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

2. PHP:n asentaminen 25

2. PHP:n asentaminen 25 2. PHP:n asentaminen 25 OPPITUNTI 2 PHP:n asentaminen Ennen kuin aloitamme PHP:n tutkimisen, on PHP-tulkki ensin hankittava ja asennettava; lisäksi on PHP:n kokoonpanoasetukset laitettava kohdalleen. PHP

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

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

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

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

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

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

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

Lisätiedot

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

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

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

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

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

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

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat.2 2. Asennusohje..2 3.

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

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

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

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

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

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

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