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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

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

2

3 4. Rakennuslohkot 45 OPPITUNTI 4 Rakennuslohkot Tällä tunnilla joudut paneutumaan itse ohjelmointikieleen. Tarvitset paljon perustietoa ja jos olet aloitteleva ohjelmoija, saatat yllättyä tiedontulvasta. Älä kuitenkaan huolestu, voit aina palata tutkimaan asioita myöhemmin. Keskity nyt pikemminkin kielen ominaisuuksien ymmärtämiseen kuin muistamiseen. Jos olet kokenut ohjelmoija, voit ainakin selata läpi tämän tunnin aineiston. Tunnilla käsitellään muutamia PHP-kohtaisia piirteitä. Tunnin aiheita ovat Mitä muuttujat ovat ja kuinka niitä käytetään Kuinka muuttujia määritellään ja käsitellään Tietotyypeistä Yleisimmät operaattorit Kuinka operaattoreiden avulla luodaan lausekkeita Kuinka vakioita määritellään ja käytetään

4 46 4. Rakennuslohkot Muuttujat Muuttuja on varastopaikka, joka määritetään tallentamaan arvo. Muuttuja koostuu nimestä, jota edeltää taalamerkki ($). Muuttujan nimessä voi olla kirjaimia, numeroita ja alaviivaa (_). Nimissä ei saa olla välilyöntejä tai muita kuin aakkosnumeerisia merkkejä. Seuraavilla riveillä määritellään joitakin hyväksyttyjä muuttujia: $a; $a_longish_variable_name; $2453; $sleepyzzzz Muista, että puolipiste (;) päättää aina PHP-lauseen. Edellä olevilla riveillä puolipisteet eivät liity muuttujien nimiin. Muuttuja tallentaa tietyntyyppistä tietoa. Siihen voidaan sijoittaa numeroita, merkkijonoja, olioita, taulukoita ja boolean-arvoja. Muuttujan sisältöä voidaan muuttaa milloin tahansa. Kuten sait edellä tietää, muuttujan nimeämisessä on paljon valinnaisuutta, vaikka onkin epätavallista, että nimessä esiintyy pelkästään numeroita. Muuttujan esittelyyn riittää, että muuttujanimi sisällytetään skriptiin. Usein muuttujan esittelyn yhteydessä muuttujaan sijoitetaan myös arvo. $num1 = 8; $num2 = 23; Edellä olevilla riveillä esitellään kaksi muuttujaa, joihin sijoitetaan arvot sijoitusoperaattorilla (=). Saat lisätietoa sijoittamisesta jaksosta nimeltä Operaattorit ja lausekkeet. Sen jälkeen kun muuttujiin on sijoitettu arvot, niitä voidaan käsitellä samalla lailla kuin itse arvojakin. Toisin sanoen lause print $num1; on yhdenmukainen lauseen print 8; kanssa niin kauan kuin muuttujassa $num1 on arvo 8.

5 4. Rakennuslohkot 47 Dynaamiset muuttujat Kuten tiedät, voit luoda muuttujan kirjoittamalla taalamerkin ja sen jälkeen muuttujan nimen. PHP:ssä voidaan muuttujanimi tallentaa toiseen muuttujaan, mikä on hieman erikoista. Niinpä seuraava lause $user = "bob"; on yhdenmukainen seuraavien lauseiden kanssa: $holder="user"; $$holder = "bob"; Nyt $holder-muuttuja sisältää merkkijonon "user", joten voit ajatella, että tunnisteessa $$holder on taalamerkki arvon $holder edessä. PHP tulkkaa sen arvoksi $user. Voit käyttää merkkijonovakiota määrittämään dynaamisen muuttujan tavallisen muuttujan sijaan. Voit tehdä sen sijoittamalla muuttujanimenä käyttämäsi merkkijonon aaltosulkuihin: ${"user"} = "bob"; Menettely saattaa tuntua aluksi oudolta. Kuitenkin käyttämällä liittämisoperaattoria ja silmukkaa (katso lukua 5, Ohjelman kulku ), voit käyttää tätä tekniikkaa luomaan kymmeniä muuttujia dynaamisesti. Kun käsittelet dynaamista muuttujaa, syntaksi on sama kuin tavallisen muuttujan kohdalla. Lauseet $user ="bob"; print $user; ovat yhdenmukaisia lauseiden $user ="bob"; $holder="user"; print $$holder; kanssa. Jos haluat tulostaa dynaamisen muuttujan merkkijonon sisällä, sinun on kuitenkin autettava tulkkia hieman. Seuraava tulostuslause

6 48 4. Rakennuslohkot $user="bob"; $holder="user"; print "$$holder"; ei tulosta arvoa "bob" selaimelle, kuten odotit. Sen sijaan lause tulostaa merkkijonot "$" ja "user" eli "$user". Kun asetat muuttujan lainausmerkkeihin, PHP käyttää sen arvoa lauseessa. Tässä tapauksessa PHP korvaa muuttujanimen $holder merkkijonolla "user". Ensimmäinen taalamerkki jätetään paikoilleen. Jotta PHP saisi selville, että merkkijonon sisällä oleva muuttuja on osa dynaamista muuttujaa, se on laitettava aaltosulkujen sisälle. Seuraavan koodin tulostuslause $user="bob"; $holder="user"; print "${$holder}"; tulostaa nyt "bob", joka on muuttujan $user sisältämä arvo. Listaus 4.1 sitoo edellä esitetyt koodit yhteen skriptiksi, jossa merkkijono tallennetaan muuttujaan, jonka avulla muuttuja $user alustetaan ja jolla sitä käsitellään. Listaus 4.1 Muuttujien dynaaminen asettaminen ja käsittely 1: <html> 2: <head> 3: <title>listing 4.1 Dynamically setting and accessing variables</title> 4: </head> 5: <body> 6: <?php 7: $holder = "user"; 8: $$holder = "bob"; 9: 10: // olisi voinut olla: 11: // $user = "bob"; 12: // ${"user"} = "bob"; 13: 14: print "$user<br>"; // tulostaa "bob"

7 4. Rakennuslohkot 49 15: print $$holder; // tulostaa "bob" 16: print "<br>"; 17: print "${$holder}<br>"; // tulostaa "bob" 18: print "${'user'}<br>"; // tulostaa "bob" 19:?> 20: </body> 21: </html> Viittaukset muuttujiin Oletuksena muuttujiin sijoitetaan arvoja. Toisin sanoen, jos sijoitat muuttujaan $avariable arvon $anothervariable, menee muuttujaan $avariable kopio muuttujan $anothervariable arvosta. Jos muuttujaa $avariable muutetaan jälkeenpäin, muutos ei vaikuta muuttujan $anothervariable sisältöön. Listaus 4.2 havainnollistaa edellä kerrottua. Listaus 4.2 Muuttujiin sijoitetaan arvoja 1: <html> 2: <head> 3: <title>listing 4.2 Variables are assigned by value</title> 4: </head> 5: <body> 6: <?php 7: $avariable = 42; 8: $anothervariable = $avariable; 9: // kopio muutt. $avariable sisäll. menee $anothervariable-muuttujaan 10: $avariable = 325; 11: print $anothervariable; // tulostaa 42 12:?> 13: </body> 14: </html> Esimerkissä alustetaan muuttuja $avariable arvolla 42. Sitten muuttujan $avariable sisältö sijoitetaan muuttujaan $anothervariable. Nyt menee muuttujan $avariable arvon kopio muuttujaan $anothervariable. Jos muuttujan $avariable arvoksi laitetaan 325, muutos ei vaikuta muuttujan $anothervariable arvoon. Tulostuslause todentaa vielä tämän (tulostuu arvo 42).

8 50 4. Rakennuslohkot PHP4:ssä voidaan edellä kuvattua käyttäytymistä muuttaa siten, että sijoitetaankin muuttujan $avariable viittaus muuttujaan $anothervariable, eikä siis kopiota muuttujan sisällöstä. Listaus 4.3 havainnollistaa tätä menettelyä. Listaus 4.3 Muuttujan sijoittaminen viittauksena 1: <html> 2: <head> 3: <title>listing 4.3 Assigning a variable by reference</title> 4: </head> 5: <body> 6: <?php 7: $avariable = 42; 8: $anothervariable = &$avariable; 9: // kopio muutt. $avariable sisäll. menee muutt. $anothervariable 10: $avariable= 325; 11: print $anothervariable; // tulostaa :?> 13: </body> 14: </html> Olemme nyt lisänneet vain yhden yksittäisen merkin listauksen 4.2 koodiin. Kun sijoitamme et-merkin (&) muuttujan nimen eteen (&$avariable), toteutamme viittauksen muuttujaan. Tällöin sijoituslauseessa sijoitetaan vasemmalla puolella olevaan muuttujaan ($anothervariable) arvon kopion sijaan viittaus muuttujaan ($avariable). Nyt kaikki muuttujaan $avariable tehdyt muutokset näkyvät myös muuttujassa $anothervariable. Toisin sanoen molemmat muuttujat ($avariable ja $anothervariable) edustavat samaa muistipaikkaa. Koska tällä menettelyllä päästään irti kopioimisesta, ohjelman tehokkuus paranee. Tavallisessa skriptissä suorituskyvyn paranemista ei juurikaan kyllä havaita. Viittaukset on ominaisuus, joka tuli PHP4:n myötä. Tietotyypit Tietotyyppi vaikuttaa muistitilan tarpeeseen. Lisäksi eri tietotyyppiä olevia muuttujia voidaan kohdella eri tavoin skriptien sisällä. Jotkin ohjelmointikielet vaativat ohjelmoijan määrittämään muuttujan tietotyypin etukäteen. PHP4 on löysästi tyypitetty kieli, mikä merkitsee sitä, että tietotyyppi määritetään vasta sitten, kun muuttujaan sijoitetaan arvo. Menettelyssä on sekä hyvää että huonoa. Sen ansiosta muuttujia voidaan

9 4. Rakennuslohkot 51 käyttää joustavasti: muuttuja voi joskus sisältää merkkijonon ja joskus taas kokonaisluvun. Toisaalta tällainen ominaisuus saattaa aiheuttaa sekaannuksia laajassa skriptissä, kun muuttuja ei joissakin kohdin ohjelmaa käyttäydykään niin kuin sen pitäisi tai muuttujassa on odotetusta poikkeava arvo. Taulukko 4.1 esittelee PHP4:n kuusi tietotyyppiä. Taulukko 4.1 Tietotyypit Tietotyyppi Esimerkki Kuvaus Integer (kokonaisluku) 5 Kokonainen luku Double (desimaaliluku) Liukuluku String (merkkijono) Terve Joukko merkkejä Boolean (totuusarvo) true Tosi (true) tai epätosi (false) Object (olio) Katso lukua 8, Oliot Array (taulukko) Katso lukua 7, Taulukot Tutkimme taulukoita ja olioita luvuissa 7 ja 8. Sen sijaan käsittelemme nyt vain neljä perustietotyyppiä. Voit käyttää PHP4:n sisäistä funktiota gettype() testaamaan minkä tahansa muuttujan tietotyypin. Muuttujan nimi sijoitetaan sulkumerkkien sisälle funktion kutsussa ja funktio palauttaa merkkijonon, joka kertoo tietotyyppiä. Listaus 4.4 sijoittaa neljä eri tietotyyppiä yksittäiseen muuttujaan ja tietotyyppi testataan sitten gettype()-funktiolla. Saat lisätietoa funktioiden kutsumisesta luvusta 6, Funktiot. Listaus 4.4 Muuttujan tyypin testaaminen 1: <html> 2: <head> 3: <title>listing 4.3 Testing the type of a variable</title> 4: </head> 5: <body> 6: <?php 7: $testing = 5; 8: print gettype( $testing ); // integer 9: print "<br>"; 10: $testing = "five"; 11: print gettype( $testing ); // string 12: print("<br>"); 13: $testing = 5.0;

10 52 4. Rakennuslohkot 14: print gettype( $testing ); // double 15: print("<br>"); 16: $testing = true; 17: print gettype( $testing ); // boolean 18: print "<br>"; 19:?> 20: </body> 21: </html> Skripti tuottaa seuraavan tulosteen: integer string double boolean Kokonaisluku on kokonainen tai todellinen numero. Siinä ei ole desimaalipistettä eikä desimaaliosia. Merkkijono on joukko merkkejä. Kun käsittelet merkkijonoja, ne tulee laittaa lainausmerkkeihin ( ) tai heittomerkkeihin ( ). Double on liukulukuarvo. Siinä voi olla desimaaliosia. Boolean-tyyppi voi saada arvon true tai false. Boolean-tyyppi tuli vasta PHP4:n mukana. Aiemmin true-arvo viittasi kokonaislukuun 1. Tyypin muuttaminen funktiolla settype() Funktion settype() avulla voidaan muuttujan tietotyyppiä muuttaa ohjelmassa. Muutettavan muuttujan nimi ja uusi tietotyyppi sijoitetaan pilkulla erotettuina sulkumerkkien sisälle funktion kutsussa. Listauksessa 4.5 muunnetaan arvo 3.14 (double) muiksi tyypeiksi. Listaus 4.5 Muuttujan tietotyypin muuttaminen funktiolla settype() 1: <html> 2: <head> 3: <title>listing 4.5 Changing the type of a variable with settype()</title> 4: </head>

11 4. Rakennuslohkot 53 5: <body> 6: <?php 7: $undecided = 3.14; 8: print gettype( $undecided ); // double 9: print " -- $undecided<br>"; // : settype( $undecided, string ); 11: print gettype( $undecided ); // string 12: print " -- $undecided<br>"; // : settype( $undecided, integer ); 14: print gettype( $undecided ); // integer 15: print " -- $undecided<br>"; // 3 16: settype( $undecided, double ); 17: print gettype( $undecided ); // double 18: print " -- $undecided<br>"; // : settype( $undecided, boolean ); 20: print gettype( $undecided ); // boolean 21: print " -- $undecided<br>"; // 1 22:?> 23: </body> 24: </html> Ohjelmassa käytetään gettype()-funktiota vahvistamaan, että tyypin muuttaminen onnistui; sen jälkeen tulostetaan muuttujan $undecided arvo. Kun muunnamme merkkijonon "3.14" kokonaisluvuksi, heitetään arvosta desimaaliosat pois lopullisesti. Siksi muuttujassa on edelleenkin arvo 3, vaikka olemme muuttaneet tietotyypiksi doublen. Viimeisessä muutoksessa laitamme tietotyypiksi boolean-tyypin. Muunnoksen yhteydessä nähdään arvo 0 arvona false ja kaikki muut numeroarvot arvona true. Boolean-arvon tulostuksessa vastaa arvoa true arvo 1 ja arvoa false tyhjä merkkijono. Tyypin muuntaminen pakkomuuntamalla Kun sijoitetaan sulkumerkkien sisällä oleva tietotyyppi muuttujan eteen, luodaan muuttujan arvosta kopio, joka on muunnettu halutun tyyppiseksi. Funktion settype() ja tyyppimuunnoksen pääerona on se, että tyyppimuunnos tuottaa kopion jättäen alkuperäisen muuttujan koskemattomaksi, kun taas settype() muuttaa alkuperäisen muuttujan tietotyypin. Listaus 4.6 havainnollistaa edellä kerrottua.

12 54 4. Rakennuslohkot Listaus 4.6 Muuttujan tietotyypin muuttaminen 1: <html> 2: <head> 3: <title>listing 4.6 Casting a variable</title> 4: </head> 5: <body> 6: <?php 7: $undecided = 3.14; 8: $holder = ( double ) $undecided; 9: print gettype( $holder ) ; // double 10: print " -- $holder<br>"; // : $holder = ( string ) $undecided; 12: print gettype( $holder ); // string 13: print " -- $holder<br>"; // : $holder = ( integer ) $undecided; 15: print gettype( $holder ); // integer 16: print " -- $holder<br>"; // 3 17: $holder = ( double ) $undecided; 18: print gettype( $holder ); // double 19: print " -- $holder<br>"; // : $holder = ( boolean ) $undecided; 21: print gettype( $holder ); // boolean 22: print " -- $holder<br>"; // 1 23:?> 24: </body> 25: </html> Nyt emme todellisuudessa muuttaneet lainkaan muuttujan $undecided tyyppiä, vaan se pysyy doublena koko ajan. Sen sijaan ulkoisen muunnoksen avulla teimme halutun tyyppisiä kopioita muuttujan arvosta. Uusi arvo sijoitettiin muuttujaan $holder. Muuttujan $undecided sisältö pysyi alkuperäisessä muodossaan; sitä ei muutettu samalla lailla kuin listauksessa 4.5.

13 4. Rakennuslohkot 55 Operaattorit ja lausekkeet Nyt osaat sijoittaa tietoa muuttujiin. Osaat myös tutkia ja muuttaa muuttujan tietotyyppiä. Ohjelmointikieli ei kuitenkaan ole kovinkaan hyödyllinen, jos emme pysty muuttamaan muuttujissa olevia arvoja. Operaattorit ovat symboleita, joiden avulla voidaan toteuttaa erilaisia toimintoja uusien arvojen tuottamiseksi. Arvoa, joka on tekijänä operaattorissa, kutsutaan operandiksi. Operaattori on symboli tai joukko symboleja, jotka suorittavat toiminnon yhdessä arvojen kanssa ja tuottavat yleensä uuden arvon. Operandi on arvo, jota operaattori käyttää. Operaattoriin liittyy yleensä kaksi operandia. Seuraava lauseke sisältää tutun operaattorin, johon liittyy kaksi operandia: Nyt arvot 4 ja 5 ovat operandeja. Ne ovat yhteenlaskuoperaattorin osapuolia ja lauseke tuottaa nyt tuloksen 9. Operaattorit ovat melkein aina kahden operandin välissä, vaikkakin saat nähdä myös poikkeuksia myöhemmin tässä luvussa. Operaattorin ja operandien muodostamaa yhdistelmää kutsutaan lausekkeeksi (tai ilmaukseksi). Vaikka operaattorit ovat useimmiten muodostamassa lausekkeita, lausekkeen ei tarvitse sisältää operaattoria. Itse asiassa PHP:ssä lauseke on koodi, joka tuottaa (palauttaa) arvon. Lauseke voi siis olla kokonaislukuarvo (esim. 654), muuttujanimi (esim. $user) tai funktion kutsu (esim. gettype()). Siksi lauseke (4 + 5) on lauseke, joka sisältää kaksi muuta lauseketta ja operaattorin. Lauseke on mikä tahansa funktioiden, arvojen ja operaattoreiden yhdistelmä, joka tuottaa arvon. Peukalosääntönä voisi sanoa, että jos voit käyttää koodia tai tekstiä arvona, kyseessä on lauseke. Olemme nyt käsitelleet periaatteita ja voimmekin siirtyä PHP4:n yleisiin operaattoreihin. Sijoitusoperaattori Olet kohdannut sijoitusoperaattorin muuttujien alustamisen yhteydessä. Se koostuu yhtäsuuruusmerkistä (=). Sijoitusoperaattori sieppaa lausekkeen oikealla puolella olevan arvon ja sijoittaa sen vasemmalla puolella olevaan operandiin: $name ="matt"; Muuttuja $name sisältää nyt merkkijonon "matt". Tämäkin rakennelma on lauseke. Aluksi saattaa näyttää siltä, että sijoitusoperaattori vain muuttaa muuttujaa $name tuottamatta arvoa, mutta itse asiassa sijoitusoperaattori tuottaa kopion oikealla puolella olevasta operandista. Siten lause

14 56 4. Rakennuslohkot print ( $name = "matt" ); tulostaa merkkijonon "matt" samalla kun se sijoittaa arvon muuttujaan. Aritmeettiset operaattorit Aritmeettiset operaattorit toimivat juuri kuin voi odottaakin. Taulukossa 4.2 luetellaan nuo operaattorit. Yhteenlaskuoperaattori lisää oikean operandin vasempaan operandiin. Vähennyslaskuoperaattori vähentää oikean operandin vasemmasta. Kertolaskuoperaattori kertoo vasemman operandin oikealla operandilla. Jakojäännösoperaattori palauttaa jakojäännöksen, kun vasen operandi on jaettu oikealla operandilla. Taulukko 4.2 Aritmeettiset operaattorit Operaattori Operaattorin nimi Esimerkki Tulos + Yhteenlasku Vähennyslasku / Jakolasku 10/ * Kertolasku 10*3 30 % Jakojäännös 10%3 1 Liittämisoperaattori Liittämisoperaattorin symboli on piste. Operaattorin operandeja käsitellään merkkijonoina ja oikealla puolella oleva operandi liitetään vasemmalla puolella olevaan operandiin. Niinpä "hello"." world" palauttaa "hello world" Huolimatta operandien tietotyypeistä niitä käsitellään merkkijonoina ja tuloksena on aina merkkijono. Lisää sijoitusoperaattoreita Vaikka todellisuudessa on olemassa vain yksi sijoitusoperaattori, PHP4 tarjoaa joukon yhdistettyjä operaattoreita, jotka sijoituksen yhteydessä myös muuttavat vasemmalla puolella olevaa operandia. Yleensä operaattorit käyttävät operandejaan muuttamatta niiden arvoja. Sijoitusoperaattorit sotivat tätä sääntöä vastaan. Yhdistetty sijoitusoperaattori sisältää aritmeettisen operaattorin, jota seuraa sijoitusoperaattori. Koodi on suppeampaa, kun yhdellä operaattorilla voidaan korvata kaksi eri operaattoria. Esimerkiksi

15 4. Rakennuslohkot 57 $x = 4; $x += 4; // $x on nyt 8 on identtinen seuraavien lauseiden kanssa: $x = 4; $x = $x + 4; // $x on nyt 8 Tällainen yhdistetty operaattori voidaan toteuttaa aritmeettisten operaattoreiden ja liittämisoperaattorin kanssa. Taulukko 4.3 luettelee yleisimmät yhdistetyt operaattorit. Taulukko 4.3 Joitakin yhdistettyjä sijoitusoperaattoreita Operaattori Esimerkki On sama kuin += $x += 5 $x = $x + 5 -= $x -= 5 $x = $x - 5 /= $x /= 5 $x = $x/5 *= $x *= 5 $x = $x * 5 %= $x %= 5 $x = $x % 5.= $x.= k $x = $x. k Jokaisessa taulukon esimerkissä muunnetaan nyt $x-muuttujan arvoa oikealla puolella olevan arvon avulla. Vertailuoperaattorit Vertailuoperaattorit testaavat operandejaan. Ne palauttavat totuusarvon true, jos testin tulos on tosi ja arvon false, jos testin tulos on epätosi. Tällaisia lausekkeita käytetään haarautumis- ja päätöksentekorakenteissa, esimerkiksi if- ja while-lauseissa. Tutustumme noihin rakenteisiin luvussa 5. Testataksemme, onko muuttujassa $x oleva arvo pienempi kuin 5, voimme käyttää pienempi kuin - operaattoria (<): $x < 5 Jos muuttujassa $x on arvo 3, antaa vertailu tuloksen true. Jos arvo on taas 7, on lausekkeen tulos false.

16 58 4. Rakennuslohkot Taulukko 4.4 luettelee vertailuoperaattorit Taulukko 4.4 Vertailuoperaattorit Operaattori Operaattorin selitys Esimerkki ($x on 4) < Pienempi kuin $x < 5 (true) <= Pienempi tai yhtäsuuri kuin $x <= 5 (true) > Suurempi kuin $x > 5 (false) >= Suurempi tai yhtäsuuri kuin $x >= 5 (false) == Yhtäsuuri kuin $x == 5 (false)!= Eri suuri kuin $x!= 5 (true) Näitä operaattoreita käytetään yleisimmin kokonaislukujen ja desimaalilukujen yhteydessä, vaikkakin yhtäsuuruusoperaattorilla voidaan vertailla myös merkkijonoja. Monimutkaisempien testien luominen loogisten operaattoreiden avulla Loogiset operaattorit testaavat totuusarvoja. Esimerkiksi or-operaattori palauttaa arvon true, jos joko vasen operandi tai oikea operandi on true. Lauseke true false palauttaisi arvon true. And-operaattori palauttaa arvon true, jos sekä vasen että oikea operandi on true. Siksi lauseke true && false palauttaa arvon false. Todennäköisesti et kuitenkaan käytä loogisia operaattoreita totuusarvovakioiden testaamiseen. Sen sijaan on järkevää testata kahta tai useampaa lauseketta, jotka palauttavat totuusarvon. Esimerkiksi lauseke ( $x > 2 ) && ( $x < 15 ) palauttaa arvon true, jos $x sisältää arvon, joka on suurempi kuin 2 ja pienempi kuin 15. Laitoin mukaan sulkumerkit, jotta koodia olisi helpompi lukea. Taulukko 4.5 luettelee loogiset operaattorit.

17 4. Rakennuslohkot 59 Taulukko 4.5 Loogiset operaattorit Operaattori Nimi Selitys Esimerkki OR True, jos vasen tai oikea tai molemmat ovat true true false (tulos on true) or OR True, jos vasen tai oikea tai molemmat ovat true true false (tulos on true) && AND True, jos vasen ja oikea ovat true true && false (tulos on false) and AND True, jos vasen ja oikea ovat true true and false (tulos on false) xor XOR True, jos vasen tai oikea on true true false (tulos on true)! NOT True, jos operandi on false!true (tulos on false) Miksi sekä or- että and-operaattoreista on kaksi eri versiota? Kysymys on suoritusjärjestyksestä, jota tutkimme hieman myöhemmin tässä jaksossa. Inkrementointi ja dekrementointi Ohjelmia kirjoitettaessa joudutaan usein kasvattamaan muuttujan arvoa yhdellä tai vähentämään muuttujan arvosta ykkönen. Yleensä näin tapahtuu silmukoita käytettäessä. Olemme jo käsitelleet kaksi tapaa toteuttaa nuo toiminnot. Voisimme käyttää yhdellä kasvattamiseen yhteenlaskuoperaattoria: $x = $x + 1; // $x kasvaa yhdellä Toinen tapa on käyttää yhdistettyä sijoitusoperaattoria: $x += 1; // $x kasvaa yhdellä Molemmissa tapauksissa sijoitetaan yhdellä kasvatettu arvo muuttujaan $x. Koska yhdellä kasvattaminen ja yhdellä vähentäminen ovat kovin yleisiä toimenpiteitä, on niitä varten kehitetty omat operaattorinsa: inkrementointi (++) ja dekrementointi (--). Nuo operaattorit voidaan sijoittaa muutettavan muuttujan vasemmalle (etuliitteeksi) tai oikealle puolelle (jälkiliitteeksi). Lause $x++; // $x kasvaa yhdellä kasvattaa muuttujaa $x yhdellä. Samalla lailla lause $x--; // $x vähenee yhdellä

18 60 4. Rakennuslohkot vähentää muuttujasta $x arvon 1. Jos näitä operaattoreita käytetään jälkiliitemuodossa ehdollisten operaattoreiden yhteydessä, operandia muutetaan testin suorittamisen jälkeen: $x = 3; $x++ < 4; // true Edellisessä esimerkissä muuttuja $x sisältää arvon 3, kun testaus $x++ < 4 suoritetaan. Niinpä testi palauttaa tuloksen true. Testin suorittamisen jälkeen muuttujaa $x kasvatetaan yhdellä. Joissakin tilanteissa saatat haluta suorittaa inkremennoinnin tai dekremennoinnin muuttujalle ennen testin suorittamista. Tällöin operaattoreita tulee käyttää etuliiteoperaattoreina eli operaattori tulee sijoittaa muutettavan muuttujan vasemmalle puolelle: ++$x; // $x kasvaa yhdellä --$x; // $x:ää vähennetään yhdellä Nyt kasvatus tai vähennys suoritetaan testilauseissa ennen testin suorittamista: $x = 3; ++$x < 4; // false Yllä muuttujaa $x kasvatetaan yhdellä ennen testin suorittamista. Testin tulos on false, koska arvo 4 ei ole pienempi kuin 4. Operaattoreiden prioriteetit Kun käytät operaattoria, tulkki lukee tavallisesti lauseketta vasemmalta oikealle. Monimutkaisissa lausekkeissa, joissa on useita operaattoreita, tilanne voi mutkistua. Katsotaanpa aluksi esimerkiksi seuraavaa helppoa tapausta: Nyt sekaannuksen vaaraa ei ole. PHP vain lisää arvon 4 arvoon 5. Mutta entäpä sitten seuraava koodi? 4 + 5*2

19 4. Rakennuslohkot 61 Nyt meillä on ongelma. Jos kuljemme vasemmalta oikealle, lasketaan ensin summa 4 + 5, joka sitten kerrotaan arvolla 2, joten tulos on 18. Mutta nyt kertolasku suoritetaan ensin (5*2) ja tulokseen (10) lisätään arvo 4, joten lopputulos on 14. Jälkimmäinen ratkaisu on oikein ja niin myös PHP toimii: se liittää operaattoreihin suoritusjärjestykseen vaikuttavan prioriteetin. Nyt kertolaskuoperaattorilla on korkeampi prioriteetti kuin yhteenlaskuoperaattorilla, joten kertolasku suoritetaan ensin. Voit aina pakottaa PHP-tulkin toimimaan haluamallasi tavalla käyttämällä sulkumerkkejä: Lauseke (4 +5)*2 antaa tuloksen 18. Vaikka lauseke suoritettaisiinkin oikein prioriteettien perusteella, kannattaa tavallisesti käyttää sulkumerkkejä selventämään koodia ja varmistamaan suoritusjärjestys. Taulukko 4.6 kertoo operaattoreiden suoritusjärjestyksen; korkeimman prioriteetin omaava operaattori on ylimpänä. Taulukko 4.6 Tiettyjen operaattoreiden suoritusjärjestys (ylempi ennen alempaa) (pakkomuunnos) / * % + - < <= => > == ===!= && = += -= /= *= %=.= and xor or Kuten taulukosta näet, operaattorilla or on alempi prioriteetti kuin operaattorilla. Samoin operaattori and on taulukossa alempana kuin &&-operaattori. Monimutkaisissa testilausekkeissa voisitkin käyttää alemman prioriteetin omaavia loogisia operaattoreita, jos haluaisit muuttaa lausekkeiden suorittamisjärjestystä. Se ei kuitenkaan ole aina hyvä idea. Seuraavat kaksi lauseketta ovat yhdenmukaisia, mutta alempaa lauseketta on helpompi lukea: $x and $y $z ($x && $y) $z Vakiot Muuttujat tarjoavat joustavan keinon tallentaa tietoa. Voit muuttaa niiden arvoja ja tiedon tyyppiä milloin tahansa. Jos haluat kuitenkin käyttää samaa arvoa kaikkialla ohjelmassa koko ohjelman suorittamisen ajan, voit määrittää vakion muuttujan sijaan. PHP:ssä vakio määritetään sisäisen define()-funktion avulla. Määrittämisen jälkeen ei vakion arvoa voi ohjelmassa muuttaa. Vakiota määritettäessä define()-funktiolle kerrotaan vakion nimi sekä sille annettava arvo. Nimi ja arvo annetaan funktion argumentteina, sulkumerkkien sisällä: define( "CONSTANT_NAME", 42 );

20 62 4. Rakennuslohkot Arvona voi olla pelkästään numeroarvo tai merkkijono. Yleinen kirjoittamissääntö kehottaa kirjoittamaan vakioiden nimet isoin kirjaimin. Vakioon viitataan kertomalla vakion nimi eikä siinä nyt käytetä taalamerkkiä. Listaus 4.7 määrittää ja käsittelee vakiota. Listaus 4.7 Vakion määrittäminen 1: <html> 2: <head> 3: <title>listing 4.7 Defining a constant</title> 4: </head> 5: <body> 6: <?php 7: define ( "USER", "Gerald" ); 8: print "Welcome ".USER; 9:?> 10: </body> 11: </html> Huomaa, että käytimme liittämisoperaattoria lisäämään vakiossa oleva arvo merkkijonoon "Welcome". Tämä johtuu siitä, että tulkki ei osaa erottaa vakiota ja merkkijonoa, joka on lainausmerkeissä. Esimääritetyt vakiot PHP tarjoaa automaattisesti joitakin sisäisiä vakioita ohjelmiesi käyttöön. Tällainen vakio on esimerkiksi FILE, joka palauttaa tulkin paraikaa lukeman tiedoston nimen. Vakio LINE palauttaa tiedoston rivimäärän. Nämä vakiot ovat hyödyllisiä virheilmoitusten generointiin. Voit myös esimerkiksi selvittää, mikä PHP-versio on käytössä vakion PHP_VERSION avulla. Se voi olla hyödyllistä, jos haluat rajoittaa skriptin ajamisen tiettyyn PHP-versioon. Yhteenveto Tällä tunnilla tutkimme joitakin PHP-kielen peruspiirteitä. Sait tietoa muuttujista ja siitä, kuinka niihin sijoitetaan arvoja sijoitusoperaattorilla. Opit tuntemaan tavalliset ja dynaamiset muuttujat. Opit sijoittamaan muuttujiin arvoja myös viittauksina. Sen jälkeen sait tutustua operaattoreihin ja niiden käyttämiseen lausekkeissa. Luvun lopussa sait tietoa siitä, kuinka vakioita määritellään ja käsitellään.

21 4. Rakennuslohkot 63 K&V K Miksi voi olla hyödyllistä tietää muuttujan tietotyyppi? V Tietotyyppi vaikuttaa usein siihen, mitä olet tekemässä. Saatat haluta varmistaa, onko muuttujassa kokonaisluku vai desimaaliluku esimerkiksi ennen matemaattisten lausekkeiden suorittamista. Tällaisia tilanteita tutkitaan hieman tarkemmin luvussa 16, Tiedon käsittely. K Tulisiko minun pitäytyä joissakin nimeämistavoissa, kun nimeän muuttujia? V Tavoitteenasi tulisi olla helppolukuinen ja selkeä koodi. Sellainen muuttuja kuin $ab ei kerro mitään muuttujan tarkoituksesta skriptissä. Pyri lyhyisiin ja kuvaaviin muuttujanimiin. Muuttuja nimeltä $f ei varmaankin kerro paljoa muuttujan käytöstä ohjelmassa, kun palaat ohjelman pariin vaikkapa kuukauden kuluttua. Sen sijaan sellainen muuttujanimi kuin $filename saattaisi olla järkevämpi. K Pitäisikö minun opetella operaattoreiden prioriteettitaulukko? V Miksipä ei, mutta ainakin toistaiseksi sinulla saattaa olla hyödyllisempääkin tehtävää. Käyttämällä sulkumerkkejä lausekkeissasi voit varmistaa haluamasi suoritusjärjestyksen. 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. Mitkä seuraavista muuttujanimistä eivät ole sopivia? $a_value_submitted_by_a_user $666666xyz $xyz $ counter $the first $file-name

22 64 4. Rakennuslohkot 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öä? 3. Mitä seuraava lause tulostaa? print gettype("4"); 4. Mitä seuraava koodi tulostaa? $test_val = ; settype( $test_val, "integer" ); print $test_val; 5. Mikä seuraavista ohjelmalauseista sisältää lausekkeen? 4; gettype(44); 5/12; 6. Mitkä kysymyksen 5 lauseet sisältävät operaattorin? 7. Minkä arvon seuraava lauseke palauttaa? 5 < 2 Mitä tietotyyppiä palautettu arvo on?

23 4. Rakennuslohkot 65 Toiminta 1. Luo skripti, joka sisältää ainakin viisi eri muuttujaa. Laita niihin erityyppisiä arvoja ja käytä sitten gettype()- funktiota kunkin tyypin tulostamiseen. 2. Sijoita arvoja kahteen muuttujaan. Käytä vertailuoperaattoreita testaamaan, onko ensimmäinen arvo - sama kuin toinen - pienempi kuin toinen - suurempi kuin toinen - pienempi tai yhtäsuuri kuin toinen Tulosta kunkin vertailun tulos selaimelle. Muuta sitten arvoja ja aja skripti uudelleen.

24 66 4. Rakennuslohkot

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

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

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

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

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

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

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

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

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

4. oppitunti. Ilmaukset ja ohjelmalauseet. Osa

4. oppitunti. Ilmaukset ja ohjelmalauseet. Osa Osa I 4. oppitunti Ilmaukset ja ohjelmalauseet Ohjelma ei todellisuudessa ole mitään muuta kuin joukko komentoja, jotka suoritetaan peräkkäin. Monipuolisuutta ohjelmaan saadaan, kun ohjelmassa haaraudutaan

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

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

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

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

Lisätiedot

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

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

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

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

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

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

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

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

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

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

Lisätiedot

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

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

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä

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

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

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

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

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

Ohjelmointiharjoituksia Arduino-ympäristössä

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

Lisätiedot

Ehto- ja toistolauseet

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

Lisätiedot

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

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

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

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 12.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 12.9.2018 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

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

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

Lisätiedot

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

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

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti

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

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

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

Lisätiedot

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

Lisätiedot

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

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Ehto- ja toistolauseet

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

Lisätiedot

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

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 11.9.2019 CS-A1111 Ohjelmoinnin peruskurssi Y1 11.9.2019 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Muuttujat ja kontrolli. Ville Sundberg

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

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

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

Lisätiedot

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

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 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 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

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

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

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

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

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

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

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

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

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla

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

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi

Lisätiedot

6. Muuttujat ja Java 6.1

6. Muuttujat ja Java 6.1 6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Palautetta viime luennosta

Palautetta viime luennosta Palautetta viime luennosta Kuka saa ja kenen täytyy suorittaa 5op kokonaisuus? Sivuaineopiskelijat suorittavat jos heidän sivuainekokonaisuuteen on merkitty niin Kokonaisuuksia on useita eri tiedekunnittain,

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

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

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1 Tietotyypit ja lausekkeet Lewis & Loftus & Jukka Juslin 1 Tietotyypit Perustavaa laatua olevia ohjelmoinnin käsitteitä Luku 2 käsittelee seuraavia: Merkkijonot Primitiivitietotyypit (eli alkeistietotyypit)

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

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

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat ja operaatiot

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat ja operaatiot 3. Muuttujat ja operaatiot Sisällys Muuttujat. Nimi ja arvo. Algoritmin tila. Muuttujan nimeäminen. Muuttujan tyyppi. Muuttuja ja tietokone. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeetiikka.

Lisätiedot

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi

Lisätiedot

6. Muuttujat ja Java 6.1

6. Muuttujat ja Java 6.1 6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi

Lisätiedot

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin

Lisätiedot

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi

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

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

ICT1TN004. Skriptikielet. Heikki Hietala

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

Lisätiedot

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