Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if
|
|
- Aarne Saaristo
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 3 Lauseet Lue kirjasta s Tämän osan sisältö Ehdollinen lause if Looginen lauseke vertailut AND-operaattori &&, & OR-operaattori, NOT-operaattori! Valintalause switch Toistolauseet while for do while break, continue Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Ehdollinen lause Ehdollinen lause Lue kirjasta s if (ehto) { tai if (ehto) { lauseet1; else { lauseet2; ehto lauseet1 lauseet2 Jos ehto toteutuu (), suoritus jatkuu välittömästi ehdon perässä olevista lauseista Jos ehto ei toteudu (false), suoritus jatkuu else-haaran lauseista, tai jos else-haara puuttuu, koko if-lausetta seuraavista lauseista Ehdot usein yksinkertaisia vertailuja vertaa muuttujan arvoa vakioon vertaa kahden muuttujan arvoja vertaa kahden laskulausekkeen arvoja Yksinkertaisia ehtolausekkeita voi yhdistellä loogisilla AND-, OR- ja NOT-operaattoreilla (&&, ja!) false Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Yksinkertainen ehto Looginen lauseke on muotoa <operandi> <looginen operaattori> <operandi> Operandit voivat olla lausekkeita muuttujia, vakioita tai aritmeettisia ja loogisia lausekkeita operandien arvot voitava laskea ennen ehdon testaamista Operaation tuloksena tyyppiä boolean oleva totuusarvo tai false Javan vertailuoperaattorit Operaattori ==,!= yhtäsuuri kuin, erisuuri kuin Merkitys >, >= suurempi kuin, suurempi tai yhtäsuuri kuin <, <= pienempi kuin, pienempi tai yhtäsuuri kuin Huomaa merkkien järjestys Esimerkkejä Onko henkilön ikä vähintään tasan 30 vuotta boolean kolmekymppinen = (ikä == 30); Jos lauseke oli totta, muuttujan arvoksi tuli, muuten false if (kolmekymppinen) { System.out.println( Oot kolomekymppinen, oot ); Jos ikää on jo 18, niin sano häntä aikuiseksi if (ikä >= 18) { System.out.println( Olet jo aikuinen ); Huomaa yhtäsuuruusoperaattorin ja sijoitusoperaattorin ero Sijoitus (=) asettaa vasemmalla olevaan muuttujaan oikeanpuoleisen lausekkeen arvon Helposti syntyvä moka: if (ikä=30) { Vertailu (==) tarkastaa, onko vasemman- ja oikeanpuoleisen lausekkeen arvot samoja Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S boolean positiivinen; if (luku > 0) { positiivinen = ; else { positiivinen = false; if (positiivinen == ) { boolean positiivinen = false; if (luku > 0) { positiivinen = ; if (positiivinen == ) { positiivinen = (luku > 0); if (positiivinen) { if (luku > 0) { Lohkosulut ja sisennys Suositeltu käytäntö public class MunLuokka { public static void munmetodi() { if (ehto) { else { ks. Oikealla keskellä: vertailulausekkeen arvonahan on tai false! Oikealla alla: loogista lauseketta käytetään suoraan ehdossa ilman boolean-apumuuttujaa Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S
2 Sisäkkäiset if-lauseet import javax.swing.*; public class Vertailu3 { String lukustr; Kirja s. 65 lukustr = JOptionPane.showInputDialog("Anna kokonaisluku :"); luku = Integer.parseInt(lukuStr); if (luku == 100) { Suositus: aina lohkosulut JOptionPane.showMessageDialog(null,"Lukusi on sata"); else if (luku > 100) { JOptionPane.showMessageDialog(null,"Lukusi on > 100"); else { JOptionPane.showMessageDialog(null,"Lukusi on < 100"); System.exit(0); else liittyy aina sitä lähimpänä edellä olevaan if-sanaan Huomaa sisennystapa! Looginen lauseke Lue kirjasta s Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Looginen lauseke Loogiset lausekkeet Looginen lauseke on muotoa <operandi> <looginen operaattori> <operandi> Operandit voivat olla lausekkeita boolean muuttuja / vakio tai looginen lauseke Loogisia lausekkeita voi yhdistellä loogisilla operaattoreilla AND, OR ja NOT käytä tarvittaessa sulkuja selventämään rakennetta Javan loogiset operaattorit Operaattori! NOT &, && Merkitys AND, ehdollinen AND (kynnystävä), OR, ehdollinen OR (kynnystävä) AND-operaattori ehto1 && ehto2 lausekkeen arvo on, jos molemmat ehdot ovat tosia (a >= 10) && (a <= 15) OR-operaattori ehto1 ehto2 lausekkeen arvo on, jos jompikumpi ehdoista on totta (a == 10) (b < 5) NOT-operaattori!ehto lausekkeen arvo on, jos ehdon arvo on false!(b < a) ehto1 ehto2! ehto1 ehto1 && ehto2 ehto1 ehto2 false false false false false false false false false false a: 10 b: 5 Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Ehdolliset && ja Ehdollisuus tarkoittaa, että lausekkeen arvon evaluointi voidaan lopettaa heti, kun ollaan varmoja sen arvosta && perässä tuleva osa evaluoidaan vain, jos alkuosa perässä tuleva osa evaluoidaan vain, jos alkuosa false int x, y; if ((x == 0) (y/x > 2)) {... Jos edellä x on 0, niin OR-lausekkeen arvo loppuosasta riippumatta aina, joten loppuosaa ei suoriteta ehdollisuus takaa sen, että ei pääse syntymään nollallajakoa Käytä sulkuja selventämään lausekkeen rakennetta eivät pakollisia -- operaattoreiden presedenssisäännöt määräävät yksikäsitteisen evaluointijärjestyksen Esim. OR on säännöissä ylempänä kuin vertailuoperaattorit, jotka ovat puolestaan ylempänä kuin aritmeettiset operaattorit if (x == 0 y/x > 2) {... Lue kirjasta s Valintalause Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Valintalause switch (valitsin) { case arvo1: // tähän valitsimen arvolla arvo1 //... välissä muita vaihtoehtoja case arvon: // tähän valitsimen arvolla arvon default: // tähän ellei edeltä löytynyt sopivaa arvoa Kahden peräkkäisen arvon "etäisyys" vakio Valitsin on lauseke, jonka arvona merkki tai kokonaisluku muuttuja, vakio, laskulauseke Myös luetellun tyypin arvo käy, ks. kirja s. 159 default-osa voi puuttua jos mikään case-arvo ei täsmää, suoritus jatkuu switch-lausetta seuraavasta lauseesta break voi puuttua kun case-osassa on break, suoritus jatkuu switch-lauseen jäljessä tulevilla lauseilla, muuten suoritus "valuu" seuraavaan kohtaan public class Arvosana { Vrt. kirja s. 69, 70 System.out.println("Anna arvosanasi (k, h, t tai v): "); char arvosana = Oma.lueChar(); switch (arvosana) { char-vakio case 'k': case 'K': System.out.println("Sait siis kiitettävän!"); Kunkin casesanan jäljessä vain case 'h': case 'H': yksi arvo System.out.println("Sait siis hyvän."); case 't': case 'T': System.out.println("Sait siis tyydyttävän"); case'v': case'v': System.out.println("Sait siis välttävän."); default: // Jos ei ollut mikään edellisistä System.out.println("Ei kelpaa arvosanaksi"); Anna arvosanasi (k, h, t tai v): t Sait siis tyydyttävän Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S
3 Toistolauseet while (ehto) { while (ehto); for (alkutoimet; ehto; lopputoimet) { Toistolauseet Javan toistolauseet ovat alkuehtoinen while loppuehtoinen do-while askeltava for Millä tahansa niistä voi toteuttaa kaikki toistotilanteet Eri lauseilla kuitenkin omat käyttöalueensa Lue kirjasta s Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S while-lause while (ehto) { ehto lauseet false Kun ohjelman suoritus tulee while-lauseeseen: Evaluoi ehto Jos ehto on false, jatka suoritusta while-lausetta seuraavasta lauseesta (ohita lauseosa) Jos ehto on suorita lauseosassa olevat lauseet Palaa taas tutkimaan ehtoa Muista vaikuttaa ehtoon Lauseosan muutettava jotain ehdossa esiintyvää muuttujaa, jotta ehto saa lopulta arvon false muuten suoritus jää ikuiseen silmukkaan while (rahaa > 100) { ostacd(); rahaa = rahaa - maksu; Ole tarkkana lopetusehdon kanssa, varo off-by-one virhettä. Alkuehtoinen toisto evaluoi ensin ehto, päätä sitten pitääkö suorittaa lause-osan lauseet lauseosa suoritetaan 0 tai useampia kertoja Ehto evaluoitava jokaisen toistokerran jälkeen uudelleen Toisto päättyy, kun toiston jatkumisehto ei ole enää Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S public class CDnOsto { double rahaa, hinta; int lkm = 0; System.out.print("Paljonko rahaa käytössä? "); rahaa = Oma.lueDouble(); System.out.print("Paljonko CD maksaa?"); hinta = Oma.lueDouble(); while (rahaa >= hinta) { lkm++; rahaa = rahaa - hinta; System.out.println("Ostat " + lkm + ". CD:n\n" + "Rahaa on jäljellä: " + rahaa + " euroa."); Kirja s. 73 if (lkm==0) { System.out.println("Et saa yhtään CD:tä ); else { System.out.println("Sait rahoillasi " + lkm + " CD:tä."); Paljonko rahaa käytössä? 5.5 Paljonko CD maksaa? 1.5 Ostat 1. CD:n Rahaa on jäljellä 4 euroa. Ostat 2. CD:n Rahaa on jäljellä 2.5 euroa. Ostat 3. CD:n Rahaa on jäljellä 1 euroa. Sait rahoillasi 3 CD:tä. import javax.swing.*; Kirja s. 74 /* Tämä ohjelma tulostaa käyttäjältä pyydetyn kokonaisluvun kertotaulun */ public class KertotauluWhile { String kerrottavastr; int kerrottava, kertoja, tulo; String tuloskertotaulu = ""; kerrottavastr = JOptionPane.showInputDialog( "Anna luku, jonka kertotaulun haluat"); kerrottava = Integer.parseInt(kerrottavaStr); kertoja = 1; while (kertoja <= 10) { tulo = kertoja * kerrottava; tuloskertotaulu += kertoja + " * " + kerrottava + " = " + tulo + "\n"; kertoja++; JOptionPane.showMessageDialog(null, tuloskertotaulu); System.exit(0); Parametriksi voi antaa vain yhden merkkijonon, joten kaikki on kasattava valmiiksi yhtä kutsua varten. Saa sisältää tässäkin kohtaa katenointia (+ merkki) Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Syötteen tarkistaminen Yleinen toistolauseen käyttöyhteys import java.util.scanner; public class Pisteet { static Scanner lukija=new Scanner(System.in) int pistemaara; int summa = 0; int lkm = 1; while (lkm <= 10) { System.out.print("Anna " + lkm + ". pistemäärä: "); pistemaara = lukija.nextint(); while (pistemaara < 0 pistemaara > 5) { System.out.print( "Ei kelpaa. Oltava välillä 0..5.\n" + "Anna " + lkm + ". pistemäärä uudestaan: "); pistemaara = lukija.nextint(); summa += pistemaara; lkm ++; System.out.println("Pistemäärien summa on " + summa); Kirja s. 75 Ohjelmoinnin perusteet / Auvo Häkkinen / K2011 while (ei viimeinen) { pyydä syöte while (syöte ei kelpaa) { tulosta virheilmoitus pyydä uusi syöte käsittele kelvollinen syöte Anna 1. pistemäärä: 6 Ei kelpaa. Oltava välillä 0..5 Anna 1. pistemäärä uudestaan: -1 Ei kelpaa. Oltava välillä 0..5 Anna 1. pistemäärä uudestaan: 5 Anna 2. pistemäärä: jne. Muista aina testata rajakohdat Pistemäärien summa on Tällaiset tarkistukset sopii piilottaa metodiin, jolloin ne eivät tarpeettomasti hämärrä ohjelman rakennetta import java.util.scanner; public class Pisteet { Scanner lukija = new Scanner(System.in); public static int luepistemäärä(int lkm ) { System.out.print("Anna " + lkm + ". pistemäärä: "); int pistemäärä = lukija.nextint(); while (pistemäärä < 0 pistemäärä > 5) { System.out.print("Ei kelpaa. Oltava välillä 0..5.\n" + "Anna " + lkm + ". pistemäärä uudestaan: "); pistemäärä = lukija.nextint(); return pistemäärä; int pistemaara, summa = 0, lkm = 0; pyydä syöte while (syöte ei kelpaa) { tulosta virheilmoitus pyydä uusi syöte palauta kelvollinen syöte while (lkm <=10) { while (ei viimeinen) { lkm ++; lue ja tarkasta seuraava syöte pistemaara = luepistemäärä(lkm); käsittele kelvollinen syöte summa += pistemaara; System.out.println("Pistemäärien summa on " + summa); Ohjelmoinnin perusteet / Auvo Häkkinen / S
4 do-while-lause while (ehto); Kun ohjelmassa tulee do-while-lause Suorita lauseosassa olevat lauseet Tutki sitten ehto Jos ehto on false, jatka suoritusta do-while-lausetta seuraavasta lauseesta Jos ehto on, palaa toiston alkuun suorittamaan uudelleen lauseosan lauseet Loppuehtoinen toisto lauseet ehto false suorita ensin lauseosa kertaalleen, päätä sitten pitääkö lause-osan lauseet suorittaa uudelleen lauseosa suoritetaan 1 tai useampia kertoja Ehto pitää evaluoida jokaisen toistokerran jälkeen uudelleen Toisto päättyy, kun toiston jatkumisehto ei ole enää Esimerkkejä Pyydä tunnuslukua, kunnes saat sen oikein Näkyvyysssäännöt: Ehtomuuttujan esittely ja tutkiminen aina do-while lauselohkon ulkopuolella! import java.util.scanner; Kirja s. 81 public class Tunnusluku { Scanner lukija = new Scanner(System.in) System.out.print("Anna tunnusluku: "); luku = lukija.nextint(); while (luku!= 1234); System.out.println("Tervetuloa"); Anna tunnusluku: 12 Anna tunnusluku: 9876 Anna tunnusluku: 1234 Tervetuloa Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelma kysyy lopuksi, haluaako käyttäjä toistaa ohjelman uudelleen. Käyttäjä vastaa näppäilemällä kirjaimen k tai e. valitse oletustoiminto fiksusti public class Yhteenlaskukone { Kirja s. 81 int luku1, luku2; char vastaus; System.out.println("Anna kaksi kokonaislukua."); System.out.print("Ensimmäinen luku: "); luku1 = Oma.lueInt(); System.out.print("Toinen luku: "); luku2 = Oma.lueInt(); System.out.println("Summa on: " + (luku1+luku2)); System.out.print("\nJatketaanko (k/e): "); vastaus = Oma.lueChar(); while (vastaus!= 'e'); Anna kaksi kokonaislukua. Ensimmäinen luku: 7 Toinen luku: 8 Summa on: 15 Jatketaanko (k/e)? e Kumpi ompi oivempi? System.out.print("Anna luku väliltä 1-10: "); while (luku < 1 luku > 10) { System.out.println ("Luku virheellinen."); System.out.print ("Anna luku väliltä 1-10: "); System.out.println ("Annoit luvun " + luku); Virhetarkistuksen voisi helposti irrottaa omaksi metodikseen System.out.print("Anna luku väliltä 1-10: "); if (luku < 1 luku > 10) System.out.println ("Luku virheellinen."); while (luku < 1 luku > 10); System.out.println ("Annoit luvun " + luku); int luku = annaluku(); System.out.println ("Annoit luvun " + luku); Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S for-lause for (alkutoimet ; ehto ; lopputoimet){ alkutoimet ehto lauseet Tee ensin kertaalleen alkutoimet tavallisesti toistolaskurin esittely + alkuarvo false lopputoimet Tarkista sitten ehdon voimassaolo jos, jatka suoritusta toistettavilla lauseilla jos false, jatka suoritusta koko for-lausetta seuraavasta lauseesta ehto tutkii tavallisesti toistolaskurin arvoa Kun yksi toiston lauseet tehty, suorita toistokerran lopputoimet muuttaa yleensä toistolaskurin arvoa Palaa sitten taas tutkimaan ehtoa Toisto päättyy, kun toiston jatkumisehto ei ole enää laskuri ylittänyt sovitun loppuarvon joku muu syy muuttaa ehdon arvoksi false Toistolaskuri Toistokertojen määrää hallitaan tavallisesti toistomuuttujan avulla Alkutoimet: laskurin määrittely ja alkuarvon asettaminen esim. int i = 1 tehdään vain ensimmäisellä kerralla Ehto: laskurin arvon vertaaminen loppuarvoon esim. i <= 10 Lopputoimet: laskurin arvon askeltaminen esim. i++ tehdään jokaisen toistokerran jälkeen Toistomuuttujan voi määritellä myös for-lauseen ulkopuolella, mutta Tavallisesti laskuria tarvitaan vain for-rakenteessa, joten on perusteltua määritellä se for-rakenteen sisällä Tällöin se on olemassa vain for lauseen sisällä (näkyvyyssäännöt!) Toistomuuttujan vakiintunut tunnus on i Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S for-lausetta käytetään erityisesti silloin, kun toistojen määrä tiedetään ennen kuin toistot edes aloitetaan vakio tai voidaan laskea muuttujien avulla Esimerkiksi halutaan sademäärätiedot viikon jokaiselle päivälle joten: tiedetään, että sademääriä on seitsemän kappaletta joten: ohjelma pyytää sademääriä seitsemän kertaa halutaan käsitellä taulukon kaikki 12 alkiota joten taulukon indeksit saavat arvot 0-11 halutaan käsitellä (esim. tulostaa) peräkkäiset luvut 1-10 for (int i=1; i <=10; i++) { System.out.println(i); Esimerkki Metodi, joka laskee summalausekkeen N arvon, kun N välitetään metodille parametrina public class Laskuri { public static int summa(int n) { int sum=0; for (int i = 1; i <= n; i++) { sum += i; return sum; int z; int x = 10; z = summa(5); System.out.println(Summa on " + z); System.out.println(Summa on " + summa(x)); Summa on 15 Summa on 55 Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S
5 for vs. while for-lauseen voisi korvata while-lauseella for (alkutoimet ; ehto ; lopputoimet){ alkutoimet; while (ehto) { lopputoimet; for-rakenteen etu siinä, että toiston ohjausosat eli toistomuuttujan määrittely ja alustus, toiston jatkumisehto sekä toistomuuttujan kasvatus saadaan aina lähelle toisiaan (samalle riville) Ohjelmoinnin perusteet / Auvo Häkkinen / S Potenssit while-rakennetta ja for-rakennetta käyttäen public class PotenssitWhile { Kirja s. 78 int i=1; // alkutoimet while (i<=10) { // ehto System.out.println( i + potenssiin 2 on + i*i); i++; // lopputoimet vrt. public class Potenssit { // alkutoimet ; ehto ; lopputoimet for (int i=1; i<=10; i++) { System.out.println(i + potenssiin 2 on + i*i); 1 potenssiin 2 on 1 2 potenssiin 2 on 4 3 potenssiin 2 on 9 4 potenssiin 2 on 16 5 potenssiin 2 on 25 6 potenssiin 2 on 36 7 potenssiin 2 on 49 8 potenssiin 2 on 64 9 potenssiin 2 on potenssiin 2 on 100 Ohjelmoinnin perusteet / Auvo Häkkinen / S for-lauseen kontrolliosasta Vaikka for-lauseen kontrollilausekkeessa on kolme osaa (laskurin alustus, toistoehto, laskurin askellus), niistä mikä tahansa puuttua puolipisteet sensijaan pitää olla aina mukana Esimerkiksi päättymättömän silmukan voi kirjoittaa muotoon for ( ; ; ) { Tällaisenkin toistosilmukan sisältä pääsee pois break-lauseella return-lauseella tai System.exit() metodin kutsulla for-lauseen alku- ja lopputoimiin voi kirjoittaa useita lauseita tällöin lauseet erotetaan toisistaan poikkeuksellisesti pilkulla Pilkkuoperaattoria ei voi käyttää missään muussa yhteydessä public class ParillisetPotenssit { Kirja s. 78 for (int i=1, int j=0; i<=10; i++, j+=2) { System.out.println(i + potenssiin + j + = + Math.pow(i,j)); 1 potenssiin 0 = potenssiin 2 = potenssiin 4 = potenssiin 6 = potenssiin 8 = potenssiin 10 = E7 7 potenssiin 12 = E10 8 potenssiin 14 = E12 9 potenssiin 16 = E15 10 potenssiin 18 = 1.0E18 Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Sisäkkäiset for-lauseet for-lauseita on usein tarve kirjoittaa sisäkkäin Sisäkkäisten silmukoiden toistomuuttujat tapana nimetä tunnuksilla i, j ja k for (int i=0; i<3; i++) { System.out.print("i=" + i + ": "); for (int j=0; j<3; j++) { System.out.print("j=" + j + " "); System.out.println(); i=0: j=0 j=1 j=2 i=1: j=0 j=1 j=2 i=2: j=0 j=1 j=2 public class KertotauluFor { vrt. kirja s. 80 // Käyttää vakioita määrittelemään rajat final int ALARAJA1=1, YLARAJA1=10; final int ALARAJA2=1, YLARAJA2=10; int tulo; for (int i=alaraja1; i<=ylaraja1; i++) { for (int k=alaraja2; k<=ylaraja2; k++) { tulo = k*i; System.out.printf("%3s ", tulo); System.out.print("\n"); Muotoiltu tulostus System.out.printf() ks. Java SE 6 API Tehtävä: Tee versio, joka kysyy ala- ja ylärajat Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S Erityislauseet toistosta poistumiseen break continue Javassa on toistorakenteiden katkaisulauseet break lopettaa toiston: suoritus jatkuu toistoa seur. lauseesta continue vie takaisin toiston alkuun: aloita seuraava toistokierros Tavallisesti ohjelman logiikka kannattaa suunnitella s.e. silmukan suorituksen päättyminen näkyy ehto-osasta Joskus break- ja continue-lauseiden käyttö voi jopa selkeyttää ohjelman rakennetta esim. kun toistorakenne vaatisi esivalmisteluja ennen ehdon tarkistusta esim. "lue luku" ennen kuin ehto voidaan tarkistaa Lauseiden käyttöä ei tässä varsinaisesti opetella saati suositella ilman näitäkin pärjäämme vallan mainiosti Lue kirjasta s Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S
6 public class Break{ vrt. kirja s. 95 int summa = 0; System.out.print("Anna luku (lopetus on -1): "); if (luku < 0) //katkaisee silmukan suorituksen välittömästi summa += luku; while (luku >= 0); System.out.println("Summa on " + summa); public class BreakToWhile{ vrt. kirja s. 96 int summa = 0; System.out.print("Anna luku (lopetus on -1): "); if (luku >= 0) summa += luku; while (luku >=0); System.out.println("Summa on " + summa); public class Continue { int luku = -1; while (luku < 10) { luku++; if (luku % 2 == 1) continue; // Takaisin silmukan alkuun System.out.println("Luku on " + luku); vrt. kirja s. 96 Mitä ylläoleva ohjelma tekee? Esitä joutessais sama ilman continue-lausetta! Vihje: for-lause Ohjelmoinnin perusteet / Auvo Häkkinen / S Ohjelmoinnin perusteet / Auvo Häkkinen / S return Lue kirjasta s Ohjelmoinnin perusteet / Auvo Häkkinen / S
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ätiedotEhto- 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ätiedotJava-kielen perusteita
Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan
LisätiedotKoottu 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ätiedotAlkuarvot 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ätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
LisätiedotEhto- 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ätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotJava-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ätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotOhjelmassa 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ätiedot13. 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ätiedotJava-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ätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
LisätiedotOhjausrakenteet. Valinta:
Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla
LisätiedotMetodit. 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ätiedotSisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat
Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen
LisätiedotMetodien 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ätiedotTaulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko
5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen
LisätiedotSisä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ätiedot16. 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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi
Lisätiedot16. 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ätiedotSisä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ätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotTietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:
KERTAUSTEHTÄVIÄ Tietue Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: struct henkilotiedot char nimi [20]; int ika; char puh [10]; ; Edellä esitetty kuvaus määrittelee
Lisätiedot13. 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ätiedotOhjelmoinnin 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ätiedotJava-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ätiedotOhjelmointiharjoituksia 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ätiedotOhjelmoinnin 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ätiedotTietojen 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ätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua
LisätiedotLuokka 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ätiedot2. 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ätiedotOhjelmointitaito (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ätiedot7. 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ätiedotMuuttujat 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ätiedotOhjelmoinnin 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ätiedotSisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Peräkkäinen laskenta Ehdollinen laskenta Laskennan toisto Laskennan hierarkisuus 10/19/99
LisätiedotJava-kielen perusteet
2 Java-kielen perusteet Tämän osan sisältö Syntaksi Ohjelma, luokka, metodi Tunnukset, muuttujat ja tyypit esittely, alustaminen, näkyvyyssäännöt Syöttö ja tulostus Metodit määrittely, kutsu, parametrit,
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotSisä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ätiedotSisä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ätiedotSisä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ätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
LisätiedotYleistä. 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ätiedotOhjelmointitaito (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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=
LisätiedotJavan 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ätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
LisätiedotITKP102 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ätiedot12. 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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
LisätiedotPerusteet. 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ätiedotOhjelmoinnin 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ätiedot8. 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ätiedot1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )
Tehtävä do while + Viikko 1 Tehtävä 27. Salasana (MOOC) Viikko 1 Tehtävä 28. Lämpötilat (MOOC) Tehdään ohjelma, joka kysyy käyttäjältä lukua. Luku kerrotaan aina seuraavalla käyttäjän antamalla luvulla
LisätiedotOhjelmoinnin 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ätiedotPerusteet. 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ätiedot815338A 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ätiedotOhjelmoinnin 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ätiedot815338A Ohjelmointikielten periaatteet 2014-2015
815338A Ohjelmointikielten periaatteet 2014-2015 IV.2 Imperatiivinen ohjelmointi lauseet ja lausekkeet Sisältö 1. Yleistä lausekkeista 2. Presedenssi- ja assosiaatiosäännöt 3. Tyyppimuunnokset 4. Vertailulausekkeet
Lisätiedotif-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta.
if- valintarakenne Yksittäisen vaihtoehdon valinta if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta. Syntaksi: if (ehto) lauseita; Aaltosulkeiden
LisätiedotTaulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu
Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on
LisätiedotJava 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ätiedotITKP102 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ätiedot14. Hyvä ohjelmointitapa 14.1
14. Hyvä ohjelmointitapa 14.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
Lisätiedotpublic static void main (String [] args)
HAAGA-HELIA OHJELMOINTI 1(5) OHJELMALUOKKA Ohjelma-luokan käynnistää public static void main (String [] args) main-metodiin voi koodata 1. ohjelman logiikan tai 2. luoda ohjelma-olion ja kutsua metodia,
LisätiedotSeuraavassa on esimerkki for-, while- ja do-while -lauseesta:
Ilkka Kiistala 30.9.2004 tehtävät: http://www.cs.helsinki.fi/u/wikla/johdohj/ohpe/harjs04/3/ kurssisivu http://www.cs.helsinki.fi/u/wikla/johdohj/ohpe/indexs04.html materiaali: http://www.cs.helsinki.fi/u/wikla/johdohj/sisalto/index.htm
LisätiedotPython-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ätiedotC-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys
Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 18. toukokuuta 2018 Yleistä Tentti 1 oli pistekeskiarvon (12.7) perusteella vaikeudeltaan kohtuullinen. Omasta tehtäväpaperista
LisätiedotOhjelmoinnin 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ätiedotJava-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ätiedot1. ohjelman selitystä Muutamien ohjelman yksityiskohtien läpikäyntiä
C# - kieli 1. ohjelman selitystä Muutamien ohjelman yksityiskohtien läpikäyntiä class MainClass { public static void Main(string[] args) { Console.WriteLine("Hei maailma!"); jokainen C#-ohjelma on aina
LisätiedotTaulukoiden käsittely Javalla
1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen
LisätiedotTietotyypit 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ätiedotLuokan muodostimet (Constructors)
Mikä on muodostin? Luokan muodostimet (Constructors) Millaisia muodostimia on? Oletusmuodostin (Default Constructor) Parametrillinen muodostin Kopiointimuodostin (Copy Constructor) this-muuttuja Miten
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3
15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotSisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.
Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto
Lisätiedot8. 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ätiedotOlio-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ätiedotAlgoritmit. Ohjelman tekemisen hahmottamisessa käytetään
Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.
Lisätiedot13. Hyvä ohjelmointitapa (osa 1) 13.1
13. Hyvä ohjelmointitapa (osa 1) 13.1 Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin
LisätiedotSisällys. 15. Lohkot. Lohkot. Lohkot
Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotTaulukot. 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ätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
LisätiedotSisä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ätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
LisätiedotLista luokan sisällä
Lista luokan sisällä Luokan sisällä on lista Joukkue-luokka, joka sisältää listän joukkueen pelaajista Pelaaja Joukkueen metodit, jotka käyttävät listaa Ohjelmaluokka Luokan sisällä on lista Tarkoitta
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotOhjelmoinnin 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ätiedotJavan GUI Scratchaajalle
Javan GUI Scratchaajalle Kertausta Javan perusteista Java-luokan muotoilu public class Kissa { private String nimi; public Kissa(String annettunimi) { this.nimi = annettunimi; yksi class = yksi hahmo =
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
LisätiedotMitä poikkeuskäsittely tarkoittaa?
Poikkeuskäsittely Mitä poikkeuskäsittely tarkoittaa? Poikkeuskäsittelyluokkien hierakkia Poikkeuksen sieppaaminen Mihin järjestykseen try-catch-lauseen ExceptionType-poikkeukset laitetaan? Poikkeuksen
Lisätiedot