Home

Jakojäännös ohjelmointi

100 99 98 (välissä paljon rivejä) 3 2 1 Parilliset luvut Tee ohjelma, joka tulostaa parilliset kokonaisluvut väliltä 2–100. Translation for 'ohjelmointi' in the free Finnish-English dictionary and many other English translations Anna lukuja: 5 2 4 -1 Kiitos ja näkemiin! Lukujen summa Laajenna edellistä ohjelmaa siten, että ohjelma ilmoittaa käyttäjän syöttämien lukujen summan. (Lukua -1 ei lasketa mukaan.)

Ohjelmoinnin MOOC, Ohjelmoinnin perusteet ja ohjelmoinnin

nimet = ["Arto V.", "Matti P.", "Matti L.", "Antti L.", "Pekka M.", "Juhana L.", "Martin P."]; ika = 1; for i in range(len(nimet)): nimet[i] = nimet[i] + " on " + str(ika) + " vuotta vanha."; ika = ika + 1; for nimi in nimet: print nimi; Arto V. on 1 vuotta vanha. Matti P. on 2 vuotta vanha. Matti L. on 3 vuotta vanha. Antti L. on 4 vuotta vanha. Pekka M. on 5 vuotta vanha. Juhana L. on 6 vuotta vanha. Martin P. on 7 vuotta vanha. Seuraavassa esimerkissä muutetaan listassa oleva merkkijono "Arto V." merkkijonoon "Matti V.". StringTokenizer st = new StringTokenizer(s," ,;"); Yll luodaan uusi StringTokenizer-olio, joka pilkkoo parametrimuuttujaa s, vlilynnin, puolipisteen, sek pilkun kohdalta.

import java.util.StringTokenizer; /** * Demonstroidaan merkkijonojen pilkkomista. * @author vesal * @version 13.10.2008 */ public class Pilkkominen { /** * Tulostaa merkkijonon palat erotellen merkkijonon vlilynnin, puolipisteen ja * pilkun kohdalta. * @param s eroteltava merkkijono */ public static void tulostaPalatTokenizer(String s) { StringTokenizer st = new StringTokenizer(s," ,;"); System.out.println("Palasia tulee :" + st.countTokens()); int n = 0; System.out.println("---------------------------------------------------"); while ( st.hasMoreTokens() ) { String pala = st.nextToken(); System.out.printf("%d: %s%n",n,pala); n++; } } /** * Testataan aliohjelmaa * @param args ei kytss */ public static void main(String[] args) { String s = "kissa,,,istuu,3,4,5,mato,kana;koira hirvi"; tulostaPalatTokenizer(s); } } Tutkitaan esimerkki tarkemmin. Aliohjelma saa parametrinaan pilkottavan merkkijonon s.Ers trke algoritmien kirjoittamisen vaihe on yleistminen. Tllin valmiiksi tehdyst algoritmista pyritn paikantamaan kaikki alunperin annetusta tehtvst riippuvat tekijt, ja pohditaan voitaisiinko ne kenties kokonaan poistaa tai korvata joillakin yleisemmill tekijill.

Peliohjelmointi C++:lla: matopeli

Muuta ohjelmaa siten, että tulostatkin sisemmässä for:issa tulon sijaan i:n ja j:n arvot niin näät miten ne etenevät.Tavallinen ehtolause sislt aina sanan ”jos”, ehdon ja toimenpiteet mit tehdn jos ehto on tosi. Arkielmn ehtolause voitaisiin ilmaista vaikka seuraavasti: ”Jos aurinko paistaa, mene ulos.” Hieman monimutkaisempi ehtolause voisi sislt mys ohjeen, mit tehdn jos ehto ei pdekn: ”Jos aurinko paistaa, mene ulos, muuten koodaa sisll”. Molemmille rakenteille lytyy Javasta vastineet. Tutustutaan ensiksi ensimmiseen eli if-rakenteeseen.

Ohjelmoijan matematiikka

This book is a detailed and authoritative introduction to all aspects of Lua programming written by Lua's chief architect. Programming in Lua provides a solid base to any programmer who wants to use Lua double on kooltaan 64 bitti. Siinkin ensimminen bitti tarkoittaa etumerkki, seuraavat 11 bitti eksponenttia ja jljelle jvt 52 bitti kuvaavat mantissaa.Toisin kuin kokonaislukutyyppinen muuttuja, lista ei sijaitsekaan samalla tapaa "lokerossa", vaan listan nimi, eli ylläolevassa esimerkissä luvut onkin ainoastaan viite paikkaan missä lista oikeasti sijaitsee. Yksi tapa ajatella asiaa, on että lista on "langan päässä", eli listamuuttujan nimi luvut on lanka jonka päästä lista löytyy. Kun funktiokutsun parametrina on lista, käykin niin että funktiolle annetaan lanka jonka päässä on sama lista jonka funktion kutsuja näkee.Javan primitiivityypit sen sijaan sijoittuvat suoraan arvoina pinomuistiin (tai myhemmin olioiden attribuuttien tapauksessa oliolle varattuun muistialueeseen). Siksi vertailu Dokumentaatiossa nkyy kaikki luokan aliohjelmat ja metodit. Huomaa, ett koska Javassa yleisesti mys aliohjelmia kutsutaan metodeiksi, lytyvt ne siksi kaikki Method Summary-osiosta.

Tehdn aluksi yksinkertainen versio, jossa ei viel piirret hirsipuuta ja ukkoa, vaan vrien arvauksien lukumr vain kerrotaan kyttjlle. Ohjelman tulisi toimia seuraavasti:Javan alkeistietotyypit antavat melko rajoittuneet puitteet ohjelmointiin. Niill pystytn tallentamaan ainoastaan numeroita ja yksittisi kirjaimia. Vhnkin monimutkaisimmissa ohjelmissa tarvitaan monimutkaisempia rakenteita tiedon tallennukseen. Javassa ja muissa oliokieliss tllaisen rakenteen tarjoavat oliot. Javassa jo merkkijonokin toteutetaan oliona. int jaettava = 3; int jakaja = 2; tulos = jaettava / jakaja * 1.0; print tulos; Tehtäviä Yhteenlasku Tee ohjelma, jonka avulla voidaan laskea kahden luvun summa. Ohjelman alussa määritellään kaksi muuttujaa, jotka sisältävät summattavat luvut. Voit tarvittaessa käyttää myös muita muuttujia.

Tee ohjelma, joka laskee, kuinka monta sekuntia on vuodessa. Voit olettaa, että vuodessa on 365 päivää (eli ei ole karkausvuosi).Jos saat virheilmoituksen ” 'javac' is not recognized as an internal or external command, operable program or batch file.”, niin komentoa ”javac” ei silloin lydy hakupolusta. Lisminen onnistuu komennolla: Yleens laskutoimituksen tulos sijoitetaan johonkin muuttujaan ja siksi laskutoimitukset esiintyvt lhinn sijoituslauseissa. Seuraavassa taulukossa esitetn tiivistetysti laskutoimitukset. Laskutoimitusten tulokset sijoitetaan muuttujaan tulos. Tll kertaa kaikki laskettavat luvut ovat kokonaislukuja, joten mys vastaukset ovat kokonaislukuja ja muuttuja tulos voidaan mritell int-tyyppiseksi. Jos laskussa on yksikin desimaaliluku, laskun tulos on mys desimaaliluku ja muuttuja tulos on siis mriteltv double-tyyppiseksi. Voisimme nyt muuttaa hirsipuupeli niin, ett se arpoo arvattavan sanan tiedostossa luetelluista sanoista. Sovitaan, ett jokainen arvailtava sana on kirjoitettava tiedostoon omalle riville, niin sanojen erottelu sujuu helpommin. Tehdn nyt sanat.txt-niminen tiedosto, jonka sislt on vaikka seuraava:Kun muutetaan 10-jrjestelmn luku liukuluvun binriesitykseksi, tytyy ensiksi selvitt liukuluvun eksponentti. Tm saadaan selville skaalaamalla luku vlille [1,2[ kertomalla tai jakamalla lukua toistuvasti luvulla 2, niin, ett luku x on aluksi muodossa:

Python-ohjelmointi Harjoitus 2 - PDF Free Downloa

def onJoSyotetty(sana, joSyotetyt): if sana in joSyotetyt: return True; return False; sanat = []; # luodaan tyhjä lista while True: sana = raw_input("Anna sana: "); if onJoSyotetty(sana, sanat): break; sanat.append(sana); print "Annoit saman sanan uudestaan"; Totesimme tällöin, että vaikka ratkaisu oli valmis, oli se luettavuudeltaan kohtuullinen.Ensimmisen rivin perss on oikealle auki oleva aaltosulku. Useissa ohjelmointikieliss yhteen liittyvt asiat ryhmitelln tai kootaan aaltosulkeiden sislle. Oikealle auki olevaa aaltosulkua sanotaan aloittavaksi aaltosuluksi ja tss tapauksessa se kertoo kntjlle, ett tst alkaa HelloWorld-luokkaan liittyvt asiat. Jokaista aloittavaa aaltosulkua vastaan tytyy olla vasemmalle auki oleva lopettava aaltosulku. HelloWorld-luokan lopettava aaltosulku on rivill seitsemn, joka on samalla ohjelman viimeinen rivi. Aaltosulkeiden rajoittamaa aluetta kutsutaan lohkoksi (block).

Video: ohjelmointi/kokonaisluku

Metodeita ja aliohjelmia, joilla on parametri tai parametreja ja paluuarvo sanotaan joskus mys funktioiksi. Nimitys ei ole hullumpi, jos vertaa keskiarvo-aliohjelmaa vaikkapa matematiikan funktioon f(x,y): (x + y)/2. Funktiolla ei lisksi saisi olla sivuvaikutuksia, kuten esimerkiksi tulostamista tai globaalien muuttujien muuttamista. luku 2: 0010 knnetn bitit: 1101 listn 1: 1110 Saatiin siis, ett -2 on kahden komplementtina 1110. Kokeillaan viel muuttaa 3 vastaavaksi negatiiviseksi luvuksi.Jos kooditiedostomme on jonkun paketin sisll, tytyy se ilmoittaa kooditiedostossa pakettiesittelyll (package declaration). Tm tehdn ennen kaikkia muita lauseita ja esittelyit. Esimerkiksi jos tiedosto HelloWorld.java sijaitsee paketin esimerkit sisll, kirjoitetaan HelloWorld.java-tiedoston alkuun lause:Yleensä luokka määritellään jotain mielekästä kokonaisuutta varten. Joskus "mielekäs kokonaisuus" voi esim. kuvata jotain reaalimaailman asiaa. Jos tietokoneohjelman pitää käsitellä henkilötietoja, voisi olla mielekästä määritellä erillinen luokka Henkilo joka kokoaa yhteen henkilöön liittyvät metodit ja ominaisuudet.Kokeillaan komentoa raw_input. Sille annetaan sulkuihin parametrina merkkijono, jota käyttäjältä kysytään ennen syötteen lukemista. Älä hätäile vaikka saattaa näyttää vaikeaselkoiselta, pythonin valmiiksi tarjoamien komentojen käyttö tulee vielä tutuksi.

Ohjelmoinnin MOO

  1. en muuttuja. Muuttujaan talletetaan kuinka monta kertaa kyttj saa arvata vrin. Tm saadaan selville kutsumalla hirsi-olion vaiheitaJaljella-metodia.
  2. class Sanajoukko: # ... def palindromeja(self): palindromit = 0; for sana in self.sanat: if self.onPalindromi(sana): palindromit = palindromit + 1; return palindromit; def onPalindromi(self, sana): loppu = len(sana) - 1; for indeksi in range(len(sana) / 2): if sana[indeksi] != sana[loppu-indeksi]: return False; return True; Eli metodi palindromeja käy läpi kaikki joukon sanat ja apumetodin onPalindromi avulla laskee paindromien määrän.
  3. en yksinumeroisella jakajalla ja jätetään jakojäännös
  4. Defenition of the word ohjelmointi. See other words. Meaning of the word ohjelmointi
  5. aiemmatSanat = Sanajoukko(); while True: sana = raw_input("Anna sana: "); if aiemmatSanat.sisaltaa(sana): break; aiemmatSanat.lisaa(sana); print "Annoit saman sanan uudestaan"; Pääohjelman, eli sanajoukon käyttäjän kannalta Sanajoukko olisi hyvä jos sillä olisi metodit sisaltaa jolla tarkastetaan sisältyykö annettu sana jo sanajoukkoon ja lisaa jolla annettu sana lisätään joukkoon.
  6. en:"; tervehdi(); print "Näyttää siltä, kokeillaan vielä:"; tervehdi(); tervehdi(); tervehdi(); Ohjelman suoritus saa aikaan seuraavan tulosteen:

luku = 4 * palautetaanAinaKymppi() + palautetaanAinaKymppi() / 2 - 8; print "laskutoimituksen tulos " + str(luku); Seuraavassa esimerkissä määritellään funktio summan laskemiseen. Tämän jälkeen funktiota käytetään laskemaan luvut 2 ja 7 yhteen, funktiokutsusta saatava paluuarvo asetetaan muuttujaan lukujenSumma.Varsinaista aliohjelman toiminnallisuuden kirjoittamista sanotaan aliohjelman mrittelyksi tai esittelyksi (declaration). Kirjoitetaan nyt mrittely aliohjelmalle, jonka kutsun jo teimme. Monesti on viisasta suunnitella aliohjelmakutsu ensiksi, kirjoittaa se paikalleen ja toteuttaa varsinainen aliohjelman kirjoittaminen vasta myhemmin. Monet tykalut osaavatkin luoda meille valmiiksi rungon aliohjelman toteutusta varten, jos olemme kirjoittaneet sille ensiksi kutsun. Katso kohta 10.3.2 Quick Fix . Eksponentti esitetn niin, ett siit vhennetn ns. BIAS arvo. BIAS arvo floatissa on 127 ja doublessa se on 1023. Nin samalla binriluvulla saadaan esitetty sek positiiviset ett negatiiviset eksponentit. Jos floatin eksponenttia kuvaavat bitit olisivat esimerkiksi 01111110, eli desimaalimuodossa 126, niin eksponentti olisi 126 - 127 = -1. 0 01111111 00000000000000000000000 Ensimminen bitti on nolla, eli luku on positiivinen. Seuraavat 8 bitti ovat 01111111, joka on 10-jrjestelemn lukuna 127 eli eksponentti on 127-127 = 0. Mantissaa esittviksi biteiksi j pelkki nollia, eli mantissa on 1.0, koska mantissahan oli aina vhintn 1. Nyt liukuluvun kaavalla voidaan laskea mik luku on kyseess:

Ohjelmointiputka: Oppaat Python-ohjelmointi

  1. while (i < taulukko.length) { Yll olevalla aliohjelman toisella rivill aloitetaan while-silmukka. Ehtona, ett silmukkaa suoritetaan niin kauan kuin muuttujan i arvo on pienempi kuin taulukon pituus. Taulukon pituus saadaan aina selville kirjoittamalla nimen pern .length. Huomionarvoinen seikka on, ett length-sanan pern ei tule sulkuja, sill se ei ole metodi vaan attribuutti.
  2. Merkkijonoihin voidaan ”+”-merkki kyttmll yhdistell mys numeeristen muuttujien arvoja. Tllin ero siin, ett toimiiko ”+”-merkki aritmeettisena operaattorina vai merkkijonoja yhdistelevn operaattorina on todella pieni. Tutki alla olevaa esimerkki:
  3. en tehdn samalla periaatteella kun yll. Nyt desimaaliosaan mentess potenssien vhentmist edelleen jatketaan, jolloin potenssit muuttuvat negatiivisiksi:
  4. String-oliot sisltvt charAt-metodin. Sill saadaan merkkijonosta kyttn yksittinen merkki. Parametrinaan se saa indeksin, eli monesko merkki merkkijonosta halutaan. Ensimminen merkki on indeksiss 0, kuten taulukoissa ensimminen alkio. Alla on tt kyttmll otettu syote-muuttujan ensimminen kirjain.
  5. Merkkijonoja ksiteltess vlilynneill, tabulaattoreilla ja rivinvaihdoilla on kuitenkin merkityst. Vertaa alla olevia tulostuksia.

Ohjelmoinnin perusteet Python-kielell

for (int i=1; i <= 10; i++) { System.out.println("Hello World!"); } Kontrollilausekkeessa alustetaan aluksi muuttujan i arvoksi 1. Seuraavaksi ehtona on, ett silmukan suoritusta jatketaan niin kauan kuin muuttujan i arvo on pienemp tai yht suurta kuin luku 10. Lopuksi ilmoitetaan, ett muuttujan i arvoa kasvatetaan joka kierroksella yhdell.Haluamme siis aliohjelman, joka piirt meille lumiukon tiettyyn ikkunan pisteeseen. Kuten metodeille, mys aliohjelmalle viedn parametrien avulla sen tarvitsemaa tietoa. Parametreina tulisi vied vain minimaalisimmat tiedot, joilla aliohjelman tehtv saadaan suoritettua.Aliohjelmassa keskiarvo on syyt tehd testit sek positiivisille ett negatiivisille parametreille. Lisksi tytyy tehd testi, jossa toinen parametreista on negatiivinen ja toinen positiivinen.

Anna lukuja: 9 5 2 -1 Pienin: 2 Suurin: 9 Anna lukuja: 5 3 7 8 -1 Pienin: 3 Suurin: 8 Anna lukuja: 4 -1 Pienin: 4 Suurin: 4 for Seuraavassa esimerkissä aloitamme laskemisen 0:sta ja toistamme while-toistolausekkeen lohkoa, kunnes olemme lukeneet käyttäjältä kolme lukua, jolloin ehto ei ole enää voimassa. Anna kolme lukua: 5 2 3 Lukujen 5, 2 ja 3 keskiarvo on 3.3333333333333335 Liukulukujen kanssa tapahtuu usein pyöristysvirheitä, niin myös tässä esimerkissä. Lukujen keskiarvo on 3,333333..., mutta ohjelmassa loppuun ilmestyy numero 5.

Video: Ohjelmoinnin peruskurssi Java-kielell

Ohjelmointi

StringBuilder tulos = luoTulosjono(sana); Yll olevalla rivill luodaan StringBuilder-olio tulos. Aliohjelma luoTulosjono palauttaa StringBuilder-olion, jossa parametrina saatu sana on muutettu merkkijonoksi, joka sislt saman verran pelkki alaviivoja. Muuttujalla tulos kontrolloidaan mit sanoja kyttj on jo arvannut. Alaviivoja korvataan siis arvattavan sanan kirjaimilla sit mukaan kun kyttj niit arvailee. while (ehto) { lause1; lause2; lauseX; } ikuinen silmukka = Silmukka joka ei pty koskaan. Ikuinen silmukka johtuu siit, ett silmukan ehto ei saa koskaan arvoa false. Useimmiten ikuinen silmukka on ohjelmointivirhe, mutta silmukka voidaan kyll joskus asettaa aluksi jatkumaan ikuisesti, jolloin silmukasta kuitenkin poistutaan jollain ehdolla break-lauseen avulla. Tllinhn silmukka ei oikeastaan ole ikuinen, vaikka tllaisesta silmukasta sit nimityst usein kytetnkin. break-lauseesta puhutaan tss luvussa myhemmin kohdassa 15.6.1 break.

31 parasta kuvaa: Ohjelmointi Ohjelmointi, Koodaus ja Tietotekniikk

  1. Kun silmukan suoritusten lukumr on ennalta tiedossa, on jrkevint kytt for-silmukkaa. Esimerkiksi taulukoiden ksittelyyn for-silmukka on yleens paras vaihtoehto. Syntaksiltaan for-silmukka eroaa selvsti edellisist. Perinteinen for-silmukka on yleisess muodossa seuraavanlainen:
  2. class Henkilo: def __init__(self, nimi): self.nimi = nimi; self.ika = 0; def kerro(self): return "Hei! Olen " + self.nimi + " ja ikäni on " + str(self.ika); def vanhene(self): self.ika = self.ika + 1; Lisätään luokalle vielä kaksi muuttujaa "pituus" ja "paino", jotka kummatkin saavat arvoksi 0.
  3. size (1000, 100); colorMode (HSB, 100); background (0); // musta tausta textSize (16); // tekstin koko // tekstin keskikohta annetuissa koordinaateissa textAlign (CENTER, CENTER); final float VALI = 30; // tekstin keskipisteiden väli final float Y = height / 2.0; // tekstin keskipisteen Y-koordinaatti float x = VALI; // ensimmäisen luvun x-koordinaatti // piirretään 25 numeroa for (int n = 1; n <= 25; n += 1, x += VALI) { if (n == 10) fill (0, 100, 100); // punainen teksti else fill (100); // valkoinen teksti // luku tekstinä text (n, x, Y); } <<kokonaisluku-luvut-rivissa>> Milloin käytetään kokonaislukumuuttujaa tai -vakiota? Kokonaislukumuuttujaa täytyy käyttää silloin, kun
  4. en ei ole pakollista. Se tulee aina catch-lohkojen jlkeen. finally-lohko suoritetaan joka tapauksessa riippumatta siit aiheuttiko try-lohko poikkeuksia. Monesti finally-lohko onkin hydyllinen muun muassa ksiteltess tiedostoja, jolloin tiedosto on suljettava aina ksittelyn jlkeen poikkeuksista riippumatta. finally-lohkon sisltv try-catch -rakenne olisi yleisess muodossa seuraava:
  5. try { //jotain lauseita mit koitetaan suorittaa } catch (PoikkeusLuokanNimi poikkeukselleAnnettavaNimi) { //jotain toimenpiteit mit tehdn kun poikkeus ilmenee } finally { //joka tapauksessa suoritettavat lauseet }
  6. Control Panel → System and Maintenance → System → Advanced system settings → Environment variables...[VES]

Jakojäännös - Wikipedi

Muuttujan nimen tytyy olla siihen talletettavaa tietoa kuvaava. Yleens pelkk yksi kirjain on huono nimi muuttajalle, sill se harvoin kuvaa kovin hyvin muuttujaa. Kuvaava muuttujan nimi selkeytt koodia ja vhent kommentoimisen tarvetta. Jotkut luulevat, ett lyhyet muuttujien nimet ovat parempia, sill se nopeuttaa koodin kirjoittamista. Nykyaikaisia kehitysympristj kytettess tm on kuitenkin virheluulo, sill editorit osaavat ennustaa mriteltyjen muuttujien nimi, joten niit ei tarvitse kirjoittaa kokonaan kuin ensimmisen kerran.Ohjelmien pilkkominen useampaan osaan -- oleellinen ohjelmoijan taito -- ei koske pelkästään ohjelman pilkkomista metodeiksi ja luokiksi, vaan myös erillisiksi lähdekooditiedostoiksi pilkkomista. Onnea ohjelmointiuralle!Tehdn aliohjelma, joka piirt halutun kokoisen tikkataulun haluttuun paikkaan. Kytetn piirtmiseen JY:n Graphics-kirjaston EasyWindow-luokkaa.

1. Materiaali: Kosmisten muuttujien arvoitus - Ohjelmoinnin alkee

<local variable declaration statement> ::= <local variable declaration>; <local variable declaration> ::= <type> <variable declarators> <type> ::= <primitive type> | <reference type> <primitive type> ::= <numeric type> | boolean <numeric type> ::= <integral type> | <floating-point type> <integral type> ::= byte | short | int | long | char <floating-point type> ::= float | double <reference type> ::= <class or interface type> | <array type> <class or interface type> ::= <class type> | <interface type> <class type> ::= <type name> <interface type> ::= <type name> <array type> ::= <type> [] <variable declarators> ::= <variable declarator> | <variable declarators> , <variable declarator> <variable declarator> ::= <variable declarator id> | <variable declarator id>= <variable initializer> <variable declarator id> ::= <identifier> | <variable declarator id> [] <variable initializer> ::= <expression> | <array initializer> Lopetetaan muuttujan mrittelyn kuvaaminen thn. Kokonaisuudessaan siit tulisi todella pitk. Koko Javan syntaksin BNF:n lyt seuraavasta linkist.Vastaavasti syntaksia voidaan kuvata ”junaradoilla”. Tm on ers graafinen tapa kuvata syntaksia. Kuvataan seuraavaksi muuttujaan mrittely ”junaratojen” avulla. syote = raw_input("Kirjoita jotain: "); syote = syote.lower(); print "Kirjoittamasi teksti pienillä kirjaimilla: " + syote; Kirjoita jotain: PORKKANA Kirjoittamasi teksti pienillä kirjaimilla: porkkana Edellisen luvun muuttujiin liittyvät funktiot voi saada edellisestä lisävalaistusta. Eli kun kutsutaan syote.lower(), on kyse nimenomaan muuttujassa syote olevan merkkijonon funktion syote() kutsumisesta.Tee ohjelma, joka kysyy käyttäjältä sanoja, kunnes käyttäjä antaa saman sanan uudestaan. Voit olettaa, että käyttäjä antaa korkeintaan 1000 sanaa. if ( !( a < 5 && b < 3 ) ) ... if ( !(a < 5) || ! (b < 3 ) ) ... if ( a >= 5 || b >= 3 ) ... niin not -operaattorin siirto voikin olla mielekst. Toinen tllainen laki on osittelulaki.

Olioviite mritelln kirjoittamalla ensiksi sen luokan nimi, josta olio luodaan. Seuraavaksi kirjoitetaan olion nimi. Nimen jlkeen tulee yhtsuuruusmerkki, jonka jlkeen oliota luotaessa kirjoitetaan sana new ilmoittamaan, ett luodaan uusi olio. Seuraavaksi kirjoitetaan luokan nimi uudelleen, jonka pern kirjoitetaan sulkuihin mahdolliset olion luontiin liittyvt parametrit. Parametrit riippuvat siit kuinka luokan konstruktori (constructor) on toteutettu. Konstruktori (eli muodostaja) on metodi, joka suoritetaan aina kun uusi olio luodaan. Valmiita luokkia kyttkseen ei tarvitse kuitenkaan tiet konstruktorin toteutuksesta, vaan tarvittavat parametrit selvivt aina luokan dokumentaatiosta. Yleisess muodossa uusi olio luodaan alla olevalla tavalla.Yksi tutkituimmista ohjelmointiongelmista ja algoritmeista on jrjestmisalgoritmi. Siis kuinka saamme esimerkiksi korttipakan kortit numerojrjestykseen. Tai ohjelmointiin soveltuvammin kuinka saamme jrjestetty taulukon luvut? Vaikka aluksi tuntuu, ettei erilaisia tapoja jrjestmiseen ole kovin montaa, on niit oikeasti kymmeni ellei satoja. Jakojäännös kokonaislukujen osamäärässä. Tällöin se päätyy joko siihen, että jako menee tasan (jakojäännös on 0), jolloin luku ei ole alkuluku tai siihen, ettei jako mene koskaan tasan, jolloin luku.. /** * Laskee parametrina saamiensa lukujen keskiarvon. * @example * <pre name="test"> * keskiarvo(0,0) === 0.0; * keskiarvo(0,5) === 2.5; * keskiarvo(-1,1) === 0.0; * keskiarvo(10,20) === 15.0; * keskiarvo(-5,-10) === -7.5; * </pre> * @param a ensimminen luku * @param b toinen luku * @return lukujen keskiarvo */ public static double keskiarvo(int a, int b) { return (a+b)/2.0; } Tarkastellaan testej nyt hieman tarkemmin.Koska lukujrjestelmt sisltvt samoja symboleja, tytyy ne osata jotenkin erottaa toisistaan. Tm tehdn usein alaindekseill. Esimerkiksi binriluku 11 voitaisiin kirjoittaa muodossa 112.Tllin sen erottaa 10-jrjestelmn luvusta 11, joka voitaisiin vastaavasti kirjoittaa muodossa 1110. Koska alaindeksien kirjoittaminen koneella on hieman haastavaa, kytetn usein mys merkint, jossa binriluvun pern listn B-kirjain. Esimerkiksi 11B tarkoittaisi samaa kuin 112.

Ohjelmoinnin aloittaminen

Kerro nimi: Matti Kerro ikä: 14 Kerro nimi: Arto Kerro ikä: 12 Matti ja Arto ovat yhteensä 26 vuotta vanhoja. Lukujen keskiarvo Tee ohjelma, joka kysyy käyttäjältä kolme lukua ja tulostaa niiden keskiarvon. Mihin asti? 3 Summa 1+2+...+3 on 6 Mihin asti? 7 Summa 1+2+...+7 on 28 Huom: tulostuksen tarkka muoto ei ole tässä eikä seuraavassa tehtävässä kovin oleellinen, tärkeintä on summan laskeminen ja sen tulostaminen.

p && (q || r) = (p && q) || (p && r) Pinvastoin kuin normaalissa logiikassa, loogisille operaatioille osittelulaista on mys toinen versio:Toteutetaan nyt aliohjelma, joka laskee kahden kokonaisluvun keskiarvon ja palauttaa tuloksen paluuarvona.Muutama huomio: konstruktorin sisällä on komento self.ika = 0. Tässä asetetaan arvo 0 olion sisäiselle muuttujalle ika. Toinen komento self.nimi = nimi; taas asettaa olion sisäiselle muuttujalle nimi arvoksi parametrina annetun merkkijonon nimi. Huomaa että ilman määrittelyä self emme tietäisi mihin nimi-muuttujaan parametrina saatu arvo asetetaan. public class Silmukat { /** * Tulostaa int-tyyppisen taulukon sislln. * * @param taulukko tulostettava taulukko */ public static void tulostaTaulukko(int[] taulukko) { int i = 0; while (i < taulukko.length){ System.out.print(taulukko[i] + " "); i++; } } public static void main(String args[]) { int[] kuukausienPaivienLkm = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; tulostaTaulukko(kuukausienPaivienLkm); } } Tarkastellaan tulostaTaulukko-aliohjelman sislt hieman tarkemmin.

Tulostettavan tekstin osana voi olla muutamia erikoismerkkejä. Tärkein näistä on \n, joka vaihtaa riviä. Erikoismerkkejä on muitakin. for i in range(1, 11): # i in range(1, 11) käy läpi luvut 1, 2, ..., 10 print i; # huomaa että pelkkää lukua ei tarvitse muuttaa tekstityyppiseksi tulostettaessa Käytännössä for on while-lauseen pelkistetympi muoto. Komennolle range voi asettaa myös kolmannen arvon, joka kertoo askeleen koosta. Esimerkiksi komento range(1, 10, 3) käy läpi luvut 1, 4, 7 (luku 10 ei tule mukaan koska toiseksi arvoksi -- eli ylärajaksi -- on asetettu 10).

Mys testit tytyy testata. Voihan olla, ett kirjoittamissamme testeiss on mys virheit. Tm onkin syyt testata kirjoittamalla testeihin virhe tarkoituksella. Tllin JUnit-vlilehdell pitisi tietenkin nky punainen palkki. Jos nin ei ole, on joku testeist vrin. Hyvien testien kirjoittaminen on mys oma taitonsa. Kaikkia mahdollisia tilanteitahan ei milln voi testata, joten joudumme valitsemaan, mille parametreille testit tehdn. Tytyisi ainakin testata todennkiset virhepaikat. Nit ovat yleens ainakin kaikenlaiset "ritilanteet". class Henkilo: # ... def __str__(self): return "Hei! Olen " + self.nimi + " ja ikäni on " + str(self.ika); Eli __str__ toimii samaan tyyliin kuin kerro, mutta se ei itse tulosta mitään vaan palauttaa merkkijonoesityksen itsestään, jotta metodin kutsuja voi halutessaan suorittaa tulostamisen. for (taulukonAlkionTyyppi alkio : taulukko) { lauseet; } Nyt for-silmukan kontrollilausekkeessa ilmoitetaan vain kaksi asiaa. Ensiksi annetaan tyyppi ja nimi muuttujalle, joka viittaa yksittiseen taulukon alkioon. Tyypin tytyy olla sama kuin ksiteltvn taulukon alkiotyyppi, mutta nimen saa itse keksi. Tlle muuttujalle tehdn ne toimenpiteet, mit jokaiselle taulukon alkiolle halutaan tehd. Toisena tietona for-each -silmukalle pit antaa sen taulukon nimi, mit halutaan ksitell. Huomaa, ett tiedot erotetaan for-each -silmukassa kaksoispisteell. Tm erottaa for-each -silmukan for-silmukasta. Esimerkiksi kuukausienPaivienLkm-taulukon alkioita voisi nyt tulostaa seuraavasti:Jos laskisimme useiden oppilaiden tenttiarvosanoja, niin aliohjelmamme laskisi mys arvosanaRajat-taulukon arvot jokaisella kerralla erikseen. Tm on melko typer tietokoneen resurssien tuhlausta. Meidn kannattaakin tehd oma aliohjelma siit osasta, joka laskee tenttiarvosanojen rajat. Tm aliohjelma voisi palauttaa arvosanojen rajat suoraan taulukossa. Nyt voisimme muuttaa laskeArvosana-aliohjelmaa niin, ett se saa parametrikseen arvosanojen rajat taulukossa ja opiskelijan tenttipisteet.

Jakokulmassa jakaminen yksinum

Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja tulostaa niistä suuremman. Jos luvut ovat yhtä suuret, ohjelma huomaa myös tämän. Kissa istuu puussa koostuisi oikeasti Windows-kyttjrjestelmss biteist (joiden arvot on lukemisen helpottamiseksi seuraavassa kuvattu heksana):Olioon liittyvää metodia kutsuttaessa tulee pisteen vasemmalle puolelle sen olion nimi, jolle metodia kutsutaan. Eli kun lisätään listalle maat uusi merkkijono, kutsu on muotoa maat.append("merkkijono") eli kutsutaan maat oliolle sen metodia append. Metodin mahdollisesti palauttama tulos riippuu olion maat tilasta, eli muut listat kuten kaupungit eivät vaikuta metodin suoritukseen millään tavalla.

int tammikuu = 31; int helmikuu = 28; int maaliskuu = 31; int huhtikuu = 30; int toukokuu = 31; int kesakuu = 30; int heinakuu = 31; int elokuu = 31; int syyskuu = 30; int lokakuu = 31; int marraskuu = 30; int joulukuu = 31; Kuukausien tapauksessa tmkin tapa toimisi viel jotenkin, mutta ents jos meidn tytyisi tallentaa vaikka Ohjelmointi 1-kurssin opiskelijoiden nimet tai vuoden jokaisen pivn keskilmptila? Kuinka vanha olet? 12 Et ole vielä täysi-ikäinen! Kuinka vanha olet? 32 Olet jo täysi-ikäinen! Pariton vai parillinen? Tee ohjelma, joka kysyy käyttäjältä luvun ja ilmoittaa, onko se parillinen vai pariton.Liukuluvut ovat tarkkoja, jos niill esitettv luku on esitettviss mantissan bittien mrn mukaisena kahden potenssien kombinaatioina. Esimerkiksi luvut 0.5, 0.25 jne. ovat tarkkoja. Harmittavasti kuitenkin edell todettiin ett 10-jrjestelmn luku 0.1 ei ole tarkka. Siksi esimerkiksi rahalaskuissa on kytettv joko senttej tai esimerkiksi Javan BigDecimal-luokkaa. Laskuissa kuitenkin nm erikoistyypit ovat hitaampia, tilanteesta riippuen eivt kuitenkaan vlttmtt merkitsevsti.

Luokka:61.3 Ohjelmointi. Ohjelmointikielet - Wikikirjast

Java-ohjelmoinnin aloittelijat sivu 2 MuroBB

Kntminen tehtiin Windowsissa komentorivill (Command Prompt) kyttmll komentoa ”javac tiedostonNimi.java”. yks. nom. ohjelmointi, yks. gen. ohjelmoinnin, yks. part. ohjelmointia, yks. ill. ohjelmointiin, mon ohjelmointi. salaaminen, koodaaminen, salakirjoituksella kirjoittaminen, piilokirjoittaminen, salaus.. def onJoSyotetty(sana): if sana == "loppu": return True; return False; sanat = []; # luodaan tyhjä lista while True: sana = raw_input("Anna sana: "); if onJoSyotetty(sana): break; sanat.append(sana); print "Annoit saman sanan uudestaan"; print sanat; # voimme tulostaa listan sisällön yksinkertaisella print-kutsulla Muokataan aiemmin tekemämme funktio onJoSyotetty tutkimaan onko kysytty sana jo syötettyjen joukossa, eli listassa:

Tarkistusmerkkien laskentamenetelmi

double x, y; x=20; y=80; window.addCircle(x,y-2*15-20-10,10); window.addCircle(x,y-15-20,15); window.addCircle(x,y,20); x=70; y=90; window.addCircle(x,y-2*15-20-10,10); window.addCircle(x,y-15-20,15); window.addCircle(x,y,20); Tarkastellaan nyt muutoksia hieman tarkemmin. PHP Ohjelmointi. 2 likes · 1 talking about this. PHP Ohjelmointi. 17 August 2018 ·. Kun kirjoittaa www -sivun englanniksi, tavoittaa koko maailman

ohjelmointi (5-J). tietokoneohjelman kirjoittaminen ohjelmointikielellä. ohjelma, ohjelmoida. ohjelmointikieli, ohjelmointivirhe, systeemiohjelmointi. ohjelmointi Kielitoimiston sanakirjassa Kuinka monta lukua? 4 Anna 1. luku: 4 Anna 2. luku: 8 Anna 3. luku: 2 Anna 4. luku: 1 Luvut uudestaan: 4 2 8 1 Tehtäviä Lukujen kääntäminen Tee ohjelma, joka kysyy käyttäjältä lukujen määrän ja joukon lukuja. Sitten ohjelma tulostaa luvut käänteisessä järjestyksessä. /** * Tutkitaan olioviitteiden kyttytymist * @author Vesa Lappalainen * @version 1.0, 08.01.2003 */ class Jonotesti { /** * Testaillaan olioiden ja alkeismuuttujien eroja. * @param args */ public static void main(String[] args) { String s1 = "eka"; String s2 = new String("eka"); System.out.println(s1 == s2); // false System.out.println(s1.equals(s2)); // true int i1 = 11; int i2 = 10 + 1; System.out.println(i1 == i2); // true Integer io1 = new Integer(3); Integer io2 = new Integer(3); System.out.println(io1 == io2); // false System.out.println(io1.equals(io2)); // true System.out.println(io1.intValue()== io2.intValue()); // true s2 = s1; System.out.println(s1 == s2); // true } } Tarkastellaan ohjelmaa hieman tarkemmin: metodinNimi(parametri1, parametri2,..., parametriX); Vertaa yll olevaa yleist muotoa addCircle-metodiin alla.

if (etunimi.equals("Aku")) System.out.println("Lytyi!"); equalsIgnoreCase(String anotherString) Palauttaa tosi jos kaksi merkkijonoa on sisllltn samoja jos kirjainten koko unohdetaan.continue-lauseella hyptn silmukan alkuun ja silmukan suoritus jatkuu siit normaalisti. Sill voidaan siis ohittaa lohkon loppuosa.

Kun olioon ei en viittaa yhtn muuttujaa, tytyy olion kyttmt muistipaikat vapauttaa muuhun kyttn. Tst huolehtii Javan automaattinen roskienkeruu (garbage collection). Kun olioon ei ole en viitteit, se merkataan ja aina tietyin vliajoin roskienkerj (garbage collector) vapauttaa merkattujen olioiden muistipaikat. print "Anna kolme lukua ja kerron niiden summan"; luettu = 0; summa = 0; while luettu < 3: luku = int(raw_input("Anna luku: ")); summa = summa + luku; # tai summa += luku; luettu += 1; # tai luettu = luettu + 1; print "Lukujen summa on: " + str(summa); Tiedämme usein jo etukäteen kuinka monta kertaa tahdomme suorittaa toistolausekkeen lohkon. Edellisessä esimerkissä suoritimme lohkon 3 kertaa. Tämän voi ilmaista myös käyttämällä for-toistolausetta seuraavalla tavalla.Varsinaista aliohjelman toiminnallisuutta kirjoittaessa kytmme nyt parametreille antamiamme nimi. Alimman ympyrn keskipisteen koordinaatit saamme nyt suoraan parametreista x ja y, mutta muiden ympyriden keskipisteet meidn tytyy laskea alimman ympyrn koordinaateista. Tm tapahtuu tysin samalla tavalla kuin edellisess esimerkiss. Itse asiassa, jos vertaa aliohjelman lohkon sislt edellisen esimerkin koodiin, on se tysin sama.

Kun meidn tytyy ksitell useita samaan asiaan liittyvi fyysisesti samankaltaisia arvoja, on usein syyt ottaa kyttn taulukko (array). Taulukko on tietorakenne, johon voi tallentaa useita samantyyppisi muuttujia. Taulukon koko tytyy mritt etukteen, eik sit voi myhemmin muuttaa. Yksittist taulukon muuttujaa sanotaan alkioksi (element). Jokaisella alkiolla on taulukossa paikka, jota sanotaan indeksiksi (index). Taulukon indeksointi alkaa aina nollasta, eli esimerkiksi 12-alkioisen taulukon ensimmisen alkion indeksi olisi 0 ja viimeisen 11. # -*- coding: latin-1 -*- import random; # tuodaan random-moduuli käyttöön # funktio sään ennustamiselle def ennustaSaa(todennakoisyys): if todennakoisyys Aliohjelma ei kuitenkaan voi palauttaa kerralla suoranaisesti useita arvoja. Toki voidaan palauttaa esimerkiksi taulukko, jossa sitten on monia arvoja. Toinen keino olisi tehd olio, joka sisltisi useita arvoja ja palautettaisiin.

Duyệt tìm Ohjelmointi

  1. luku = 1024; while luku >= 1: print luku; luku /= 2; # luku = luku / 2; Tehtäviä Yhdestä sataan Tee ohjelma, joka tulostaa kokonaisluvut väliltä 1–100.
  2. Koska ComTest on viel kehitysvaiheessa, lytyy sivuilta mys ajankohtaisimmat tiedot ComTest:n kytst.
  3. kään" metodia, esim. metodia vanhene:
  4. “The city’s central computer told you? R2D2, you know better than to trust a strange computer!” -C3PO
  5. 73457 + 12888 = 86345 Kertolasku Tee edellistä ohjelmaa vastaava ohjelma, joka laskee kertolaskun.

Esimerkkin voidaan piirt neli kyttmll Jyvskyln yliopiston Graphics-kirjastoa. Monikulmioita voidaan piirt mm. EasyWindow-luokan addPolygon-metodilla. Metodille voi antaa monikulmion pisteet, joko kaksiulotteisena taulukkona tai kahtena yksiulotteisena taulukkona, joista toisessa on pisteiden x-arvot ja toisessa y-arvot. Kytetn tss ensimmist tapaa. Lis tietoa metodista lydt Graphics-kirjaston dokumentaatiosta:Java-ohjelmia voi kirjoittaa mill tahansa tekstieditorilla. Tekstieditoreja on kymmeni, ellei satoja, joten yhden nimeminen on vaikeaa. Osa on kuitenkin suunniteltu varta vasten ohjelmointia ajatellen. Tllaiset tekstieditorit osaavat muotoilla ohjelmoijan kirjoittamaa koodia automaattisesti, joka selkeytt koodin ymmrtmist. Ohjelmoijien suosimia ovat mm. ConText, Vim ja Emacs, mutta monet muutkin ovat varmasti hyvi. Monisteen alun esimerkkien kirjoittamiseen soveltuu hyvin mik tahansa tekstieditori. Anna luku: 4 Luku on listassa. Anna luku: 3 Lukua ei ole listassa. Onko sana listassa? Tee ohjelma, joka kertoo, onko käyttäjän antama sana listassa.Kuvasta puuttuu viel tekstiesimerkiss olevien identifier ja variable_intializer non-terminaalien junarataesitys. Piirr niiden ”junaradat” samaan tapaan. double liukuluku; int kokonaisluku = 4; liukuluku = kokonaisluku; Sen sijaan toisinpin tm ei onnistu. Alla oleva koodi ei kntyisi:

# -*- coding: latin-1 -*- print "Hei maailma."; Luomme nyt ohjelmaamme uuden luokan nimeltä Henkilo. Luokka on tässä esimerkissä samassa lähdekooditiedostossa, mutta siirrämme sen myöhemmin erilliseen lähdekooditiedostoon.Muuttujien lisksi ohjelmointikieliss voidaan mritell vakioita (constant). Vakioiden arvoa ei voi muuttaa mrittelyn jlkeen. Javassa vakio mritelln muuten kuten muuttuja, mutta muuttujan tyypin eteen kirjoitetaan lismre final.

vuoristorata = Laite("Vuoristorata", 120); pekka = Henkilo("Pekka", 24); if vuoristorata.paaseeKyytiin(pekka): print pekka.nimi + " pääsi kyytiin :)"; else: print pekka.nimi + " ei päässyt kyytiin :(" Ohjelma tulostaa: Aiemmin tutustuttiin helppokäyttöiseen listarakenteeseen. Listoille pystyi helposti laittamaan esim. merkkijonoja ja listalla olevien merkkijonojen läpikäynti, etsiminen, poistaminen, järjestäminen ym. olivat vaivattomia toimenpiteitä. Tyontekija akuAnkka = new Tyontekija("Aku Ankka", "Johtaja", "Osasto3" , 3000); Monisteen alussa loimme lumiukkoja piirrettess EasyWindow-luokan olion seuraavasti. if ( n <= 1 ) return 1; Yll oleva rivi on ikn kuin rekursion lopetusehto. Jos n on pienemp tai yht suurta kuin 1, niin palautetaan luku 1. Oleellista on, ett lopetusehto on ennen uutta rekursiivista aliohjelmakutsua.

ohjelmointi - Sivistyssanakirja - Suomi Sanakirj

def onJoSyotetty(sana): return True; while True: sana = raw_input("Anna sana: "); if onJoSyotetty(sana): break; print "Annoit saman sanan uudestaan"; Ohjelmaa on hyvä testata koko ajan, joten tehdään funktiosta kokeiluversio: int i; i = luku; // kntyy kuten i = luku.intValue(); Tt ominaisuutta kytten voidaan muodollisesti tallentaa mys perustyyppej:

public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } Tmn ohjelman pitisi tulostaa nytlle teksti Hello World! Voidaksemme kokeilla ohjelmaa kytnnss, tytyy se ensiksi knt tietokoneen ymmrtmn muotoon. for i in range(3): print str(i) + ": "; # sisemmäinen for Eli ensin muuttuja i saa arvokseen 0, tulostetaan 0: ja rivinvaihto. Tämän jälkeen i kasvaa ja tulostuu ykkönen, jne., eli ulompi for saa aikaan seuraavan:

luvut = [3,8,9,14]; print "Minulla on neljä lukua väliltä 1-15."; arvaus = int(raw_input("Arvaa luku 1-15 välillä: ")); for luku in luvut: if luku == arvaus: print "Arvasit oikein luvun " + str(luku) + "!"; Lista järjestetyn tiedon säilyttäjänä Seuraavassa "yhdistämme" kaksi listaa siten, että kahdessa listassa on yhtä monta alkiota ja jokainen alkio liittyy toisen listan vastaavan indeksin alkioon. Tällöin kummassakin listassa on tietoa samassa järjestyksessä. Tämän lisäksi tutuksi tulevat ohjelmistoprojektissa toimiminen, graafisen käyttöliittymän toteuttaminen, dokumentointi, testaus ja olio-ohjelmointi. Koulutuksen aikana tullaan oppimaan ohjelmoinnin.. Sovitaan, ett aliohjelmamme piirt aina samankokoisen lumiukon haluamaamme EasyWindow-ikkunan pisteeseen. Mitk ovat minimaalisimmat aliohjelman tarvitsemat tiedot, joiden avulla lumiukko saadaan piirretty? Kaikki tiedot luokista, luokkien metodeista sek siit mit parametreja metodeille tulee antaa lydt kyttmsi kirjaston dokumentaatiosta. Kyttmmme Graphics-luokan dokumentaatio lytyy osoitteesta: http://users.jyu.fi/~vesal/kurssit/ohj1/graphics/. double luku3 = Syotto.kysy("Syt reaaliluku",0.0); double luku4 = Syotto.kysyDouble("Syt toinen reaaliluku"); System.out.println("Sytit " + luku3 + " ja " + luku4); Toiminta:

public static double keskiarvo(int a, int b) { double ka; ka = (a+b)/2.0; // Huom 2.0 auttaa, ett tulos on reaaliluku return ka; } Ensimmisell rivill mritelln jlleen julkinen ja staattinen aliohjelma. Lumiukko-esimerkiss static-sanan jlkeen luki void, joka tarkoitti, ett aliohjelma ei palauttanut mitn arvoa. Koska nyt haluamme, ett aliohjelma palauttaa parametrina saamiensa kokonaislukujen keskiarvon, niin meidn tytyy kirjoittaa paluuarvon tyyppi void-sanan tilalle static-sanan jlkeen. Koska kahden kokonaisluvun keskiarvo voi olla mys desimaaliluku, niin paluuarvon tyyppi on double. Sulkujen sisll ilmoitetaan jlleen parametrit. Nyt parametreina on kaksi kokonaislukua a ja b. Toisella rivill mritelln reaalilukumuuttuja ka. Kolmannella rivill lasketaan parametrien a ja b summa ja jaetaan se kahdella muuttujaan ka. Neljnnell rivill palautetaan ka-muuttujan arvo.Olio (object) on tietorakenne, jolla pyritn ohjelmoinnissa kuvaamaan mahdollisimman tarkasti reaalimaailman ilmiit. Luokkapohjaisissa kieliss (kuten Java ja C++ sek C#) olion rakenteen ja kyttytymisen mrittelee luokka, joka kuvaa olion attribuutit ja metodit. Attribuutit ovat olion ominaisuuksia ja metodit olion toimintoja. Olion sanotaan olevan luokan ilmentym. Yhdest luokasta voi siis luoda useita olioita, joilla on samat metodit ja attribuutit. Attribuutit voivat sen sijaan saada samasta luokasta luoduilla olioilla eri arvoja. Olioita voi joko tehd itse tai kytt jostain kirjastosta lytyvi valmiita olioita. Tarkastellaan olioiden ksitteit esimerkin avulla.Tsskin esimerkiss monet if-lauseet voitaisiin vltt taulukoinnilla. Tst puhutaan luvussa 14 Taulukot.Wired-lehden 10 pahimman ohjelmistobugin listalle on pssyt Intelin prosessorit, joissa ilmeni vuonna 1993 virheit, kun suoritettiin jakolaskuja tietyll vlill olevilla liukuluvuilla. Prosessorien korvaaminen aiheutti Intelille arviolta 475 miljoonan dollarin kulut. Tosin virhe esiintyi kytnnss vain muutamissa harvoissa erittin matemaattisissa ongelmissa, eik oikeasta hirinnyt tavallista toimistokyttj milln tavalla. Tst ja muista listan bugeista voi lukea lis alla olevasta linkist.

Monissa ohjelmointikieliss, kuten mys Javassa, ASCII-merkkien desimaaliarvoja voidaan sijoittaa suoraan char-tyyppisiin muuttujiin. Esimerkiksi pikku-a:n (a) voisi sijoittaa muuttujaan c seuraavasti:Lyhenisik koodi ja tarvittaisiinko else-lauseita, jos lause arvosana = 5; korvattaisiin lauseella return 5; ?Jatketaan ohjelman laajentamista. Tehdään henkilölle metodi jonka avulla voidaan selvittää onko henkilö täysi-ikäinen. Metodi palauttaa joko True tai False: class Sanajoukko: sanat = [] def sisaltaa(self, sana): return sana in self.sanat; def lisaa(self, sana): self.sanat.append(sana); Ratkaisu on nyt varsin elegantti. Erillinen käsite on saatu erotettua ja pääohjelma näyttää siistiltä. Kaikki "likaiset yksityiskohdat" (lista ja lukumäärä sanoista) on saatu siivottua eli kapseloitua olion sisälle.

Lumiukon alimmainen ympyr piirretn pisteeseen (20,80) ja sen sde on 20. Se piirretn siis lauseella: Ohjelmointi- ja selitystehtävien lisäksi materiaalissa on tutkimuskysymyksiä ja kyselyitä. Kyselyihin vastaamalla tuet ohjelmoinnin oppimiseen liittyvää tutkimusta.Vastaamalla rehellisesti kaikkiin.. Tarkastele edell esitetty algoritmia kahvin keittmiseksi ja luo vastaava algoritmi teen keittmiseksi. Vertaile algoritmeja: mit samaa ja mit eroa niiss on? Onko mahdollista luoda algoritmi, joka yksiselitteisesti selviisi sek kahvin ett teen keitosta? Onko mahdollista luoda algoritmi, joka saman tien selviytyisi maitokaakosta ja rommitotista?Kyttmmme lukujrjestelmt ovat paikkajrjestelmi, eli jokaisen numeron paikka luvussa on merkitsev. Jos numeroiden paikkaa luvussa vaihdetaan, muuttuu luvun arvokin. LuvunOhjelmointi on yksinkertaisimmillaan toimintaohjeiden antamista ennalta mrtyn toimenpiteen suorittamista varten. Ohjelmoinnin kaltaista toimintaa esiintyy jokaisen ihmisen arkielmss lhes pivittin. Algoritmista esimerkkin voisi olla se, ett annamme jollekulle puhelimessa ajo-ohjeet, joiden avulla hnen tulee pst perille ennestn vieraaseen paikkaan. Tllin luomme sarjan ohjeita ja komentoja, jotka ohjaavat toimenpiteen suoritusta. Alkeellista ohjelmointia on tavallaan mys mikroaaltouunin kyttminen, sill tllin uunille annetaan selket ohjeet siit, kuinka kauan ja kuinka suurella teholla sen tulee toimia.

Yksikirjaimisia muuttujien nimikin voi perustellusti kytt, jos niill on esimerkiksi jo matematiikasta tai fysiikasta ennestn tuttu merkitys. Nin koordinaatteja kuvaamaan nimet x ja y ovat hyvi. Fysikaalisessa ohjelmassa s voi hyvin kuvata matkaa.Esimerkkikoodissamme on vielä hyvin epämääräinen muuttuja t. Korvataan se kuvaavammalla muuttujannimellä lista. def tulostaLista(lista): for luku in lista: print luku; print ""; def kasvataListanAlkioitaYhdella(lista): for i in range(len(lista)): lista[i] = lista[i] + 1; luvut = [1, 2, 3, 4, 5]; tulostaLista(luvut); kasvataListanAlkioitaYhdella(luvut); tulostaLista(luvut); Koodin yleistäminen Abstrahoimalla eli yleistämällä koodia hiukan lisää voisimme muokata funktion kasvataListanAlkioitaYhdella ottamaan toisena parametrinaan kasvatusmäärän. Funktiot ja ohjelma näyttäisivät tällöin seuraavalta: Jokaisella kyttjrjestelmll (Windows, Linux, Macintosh, mobiililaitteet, ym.) on oltava oma Java-virtuaalikone, koska jokainen kyttjrjestelm toimii eri lailla. Tmn ansiosta Java-ohjelmat kuitenkin toimivat kaikissa jrjestelmiss joille on saatavilla Java-virtuaalikone. [VES][KOS] 1. Materiaali: Kosmisten muuttujien arvoitus¶. Mitä täällä oikein tapahtuu?¶ Ohjelmoinnin alkeet kurssin nimenä tarkoittaa, että kurssilla opitaan ohjelmointia ilman minkäänlaisia esitietovaatimuksia

luvut = [100, 1, 42]; print "Listassa luvut on yhteensä " + str(len(luvut)) + " alkiota."; Listassa luvut on yhteensä 3 alkiota. Huomaa että komento len palauttaa kokonaislukutyyppisen muuttujan, eli joudumme käyttämään str-komentoa jotta voimme katenoida sen merkkijonoon. System.out.println( kuukausienPaivienLkm[0] ); //tulostuu 31 Tai tallentaa tammikuun pituuden edelleen muuttujaan: public static String kirjallinenArvosana(int numero) { switch(numero) { case 0: return "Hyltty"; case 1: return "Vlttv"; case 2: return "Tyydyttv"; case 3: return "Hyv"; case 4: return "Kiitettv"; case 5: return "Erinomainen"; default: return "Virheellinen arvosana"; } } break-lauseen voi siis turvallisesti jtt pois case-osasta, jos case-osassa palautetaan joku arvo return-lauseella. Kun return-lause tulisi ennen break-lausetta, ei break-lausetta kuitenkaan koskaan suoritettaisi. Muulloin break-lauseen poisjttminen johtaa siihen, ett suoritusta jatketaan seuraavasta case-kohdasta. Joskus nin halutaankin, mutta aloittelijalle breakin puuttuminen on lhes aina virhe. for(int vasen = 0, oikea = taulukko.length-1; vasen < oikea; vasen++, oikea--) { Kontrollirakenteessa alustetaan ja pivitetn nyt kahta eri muuttujaa. Muuttujat erotetaan toisistaan pilkulla. Huomaa, ett muuttujan tyyppi kirjoitetaan vain yhden kerran! Ehtona on, ett suoritusta jatketaan niin kauan kuin muuttuja vasen on pienemp kuin muuttuja oikea. Lopuksi pivitetn viel muuttujien arvoja. Eri muuttujien pivitykset erotetaan toisistaan jlleen pilkulla. Muuttujaa vasen kasvatetaan joka kierroksella yhdell kun taas muuttujaa oikea sen sijaa vhennetn.

int tulos = 0; int i = 0; while i < 4: tulos += 3; # tämä on siis sama kuin tulos = tulos + 3; i += 1; # tarkoittaa samaa kuin i = i + 1; Tehtäviä Summa 1+2+3+...+n Tee ohjelma, joka laskee summan 1+2+3+...+n, missä n on käyttäjän syöttämä luku. if ( oikeita >= sana.length() ) { System.out.println("Voitit!"); break; } Yll olevalla koodinptkll tarkastetaan onko kaikki kirjaimet jo arvattu. Tm selvi vertaamalla muuttujaa oikeita muuttujan sana pituuteen. Jos muuttuja oikeita oli suurempi tai yht suuri kuin muuttujan sana pituus, sana on arvattu ja voidaan tehd tarvittavat tulostukset ja poistua silmukasta ja samalla koko ohjelmasta break-lauseella.

/** * Funktiolla arvotaan yksi merkkijono taulukosta * @param jonot taulukko josta jono arvotaan * @return satunnainen jonot-taulukon rivi */ public static String arvo(String[] jonot) { Random rand = new Random(); int n = rand.nextInt(jonot.length); return jonot[n]; } Aliohjelma saa parametrinaan merkkijonotaulukon ja palauttaa siit satunnaisen merkkijonon. Koska taulukon nimi on jonot, tytyy meidn arpoa luku vlilt [0,jonot.length-1]. Kokonaisluvuissa tm on siis sama asia kun arpoa luku puoliavoimelta vlilt [0,jonot.length[. Lopuksi palautetaan merkkijonotaulukon alkio arvotusta kohdasta.Kaikki henkilöoliot ovat luontihetkellä 0-vuotiaina, sillä konstruktori asettaa uuden henkiön ika-oliomuuttujan arvoksi 0:

There are 28 videos about ohjelmointi on Vimeo, the home for high quality videos and the people who love them if ( ehto ) { lause1; lause2; lause3; } else { lause4; lause5; } if-else -rakennetta voisi sen sijaan kuvata seuraavalla vuokaaviolla:Osa tulevistakin tehtävistä on edellisten tehtävien tapaan valmiiksi osiin pilkottuja. Usein jokainen osa kuitenkin pitää vielä pilkkoa ohjelmoinnin kannalta vieläkin pienempiin paloihin. Kannattaa jopa tehdä siten, että lähes jokaisen koodirivin jälkeen suoritetaan ohjelma ja varmistetaan, että ratkaisu on etenemässä haluttuun suuntaan. boolean onkoKalastaja = true; char merkki = 't'; int kalojenLkm = 0; double luku1 = 0, luku2 = 0, luku3 = 0; Huomio, ett char-tyyppiseen muuttujaan sijoitetaan arvo laittamalla merkki '-merkkien vliin. Nin sen erottaa myhemmin ksiteltvst String-tyyppiseen muuttujaan sijoittamista, jossa sijoitettava merkkijono laitetaan "-merkkien vliin. Sijoituslause voi sislt mys monimutkaisiakin lausekkeita, esimerkiksi aritmeettisia operaatioita:refaktorointi = prosessi, jossa tietokoneohjelman lhdekoodia muutetaan siten, ett sen toiminnallisuus silyy, mutta sisinen rakenne paranee. Refaktrointia on esimerkiksi muuttujien, aliohjelmien, metodien jne. uudelleennimeminen paremmin merkitystn kuvaavaksi (rename) ja pitkien metodien (ja aliohjelmien) pilkkominen pienempiin osiin (extract method). Kattava listaus erilaisista refaktoroinneista lytyy seuraavasta linkist: http://www.refactoring.com/catalog/index.html

kunJaettavaOnLiukuluku = 3.0 / 2; # tulokseksi: 1.5 kunJakajaOnLiukuluku = 3 / 2.0; # tulokseksi: 1.5 Seuraava esimerkki tulostaa "1.5", sillä jaettavasta tehdään liukuluku kertomalla se liukuluvulla (1.0 * 3 = 3.0) ennen jakolaskua. Learn how to do just about everything at eHow. Find expert advice along with How To videos and articles, including instructions on how to make, cook, grow, or do almost anything Kuten ehk huomasit, aliohjelmilla ja metodeilla on paljon yhteist. Monissa Java kirjoissa nimitetn mys aliohjelmia metodeiksi. Tllin aliohjelmat erotetaan olioiden metodeista nimittmll niit staattisiksi metodeiksi. Tss monisteessa metodeista puhutaan kuitenkin vain silloin, kun tarkoitetaan olioiden toimintoja. Esimerkiksi lumiukon piirrossa piirsimme ympyrn kyttmll addCircle-metodia. Se on EasyWindow luokan ilmentymn, eli olion toiminto. addCircle-metodia ei voi kutsua ilman EasyWindow-oliota, joka tiet, mihin ympyr piirretn.Usein ohjelmoinnissa tulee tilanne, jossa haluamme pilkkoa merkkijonoa tietyn merkin kohdalta. Tm onnistuu StringTokenizer-luokan oliolla. StringTokenizer-olio voidaan luoda muun muassa antamalla konstruktorille parametreina pilkottava merkkijono sek merkkijonossa merkit joiden kohdalta pilkotaan. Voisimme esimerkiksi luoda StringTokenizer-olion pilkkomaan merkkijonoa s pilkkujen (,) kohdalta seuraavalla lauseella. luvut = [100, 1, 42]; luvut[1] = 101; luvut[0] = 1; # luvut-lista on nyt [1,101,42] print luvut; Jos indeksillä osoitetaan listan ohi, eli alkioon jota ei ole olemassa, niin saadaan virhe IndexError: list assignment index out of range, joka kertoo että indeksi johon osoitimme ei ole olemassa. Listan ohi (indeksiin joka on pienempi kuin 0, tai indeksiin joka on suurempi tai yhtäsuuri kuin listan koko) ei siis saa viitata.

  • Wohnung mieten wennigsen.
  • Rusetti muotti.
  • Kaffa roastery oy.
  • Kraateri vai kraatteri.
  • Lakko sims 4 rap.
  • Kultarahaksi huijaus.
  • Windows 10 photos app download offline.
  • Six sigma pähkinänkuoressa.
  • Richard simmons wiki.
  • Rolling stones keikat 2018.
  • Fortuna peli tokmanni.
  • Bora bora ilmasto.
  • Lupapiste raahe.
  • Lastenistuin pyörään vertailu.
  • Nahkasohva valkoinen.
  • Minne hajuvettä laitetaan.
  • Kindling cracker hinta.
  • Suomi hymiöt.
  • Varasto 1.
  • List all user ubuntu.
  • Kuolinilmoitus tammenlehvä.
  • Star wars the last jedi planets.
  • Vw forum berlin ausstellung.
  • Taaperon hiustenleikkaus.
  • Keuhkopöhö ensihoito.
  • Spectre.
  • Samsung smart control kaukosäädin.
  • Portsmouth football.
  • Augmented reality wiki.
  • Isover tehdas hyvinkää.
  • Marimuksu.
  • Kohduton ry.
  • Wolfgang amadeus mozart lebenslauf steckbrief.
  • Guy fawkes night tradition.
  • World water day.
  • Pitkä elvytys.
  • Muki omalla painatuksella.
  • Tenniskentän väliverkko.
  • Glycine suomeksi.
  • Eightmood maljakko.
  • Eurofloorball tour 2017 switzerland.