OHJELMOINTIA 1. JOHDANTO 2. OHJELMAN PERUSELEMENTIT 3. VUOROVAIKUTTEINEN OHJELMA

Koko: px
Aloita esitys sivulta:

Download "OHJELMOINTIA 1. JOHDANTO 2. OHJELMAN PERUSELEMENTIT 3. VUOROVAIKUTTEINEN OHJELMA"

Transkriptio

1 OHJELMOINTIA 1. JOHDANTO 1.1Taustaa ja ohjelmoinnin käsitemaailma 1.2 Erilaiset ohjelmointikielet ja paradigmat 1.3 Algoritmit ja tietorakenteet 1.4 Ohjelman perusrakenteet 2. OHJELMAN PERUSELEMENTIT 2.1 Tunnukset 2.2 Muuttujat 2.3 Tyypit 2.4 Muuttujan määrittely 2.5 Vakiot 2.6 Lauseet 2.7 Kommentit 3. VUOROVAIKUTTEINEN OHJELMA 3.1 Vuorovaikutteisuus 3.2 Sijoituslauseet 3.3 Syöttö ja tulostus funktiot 3.4 Rakenteinen ohjelmointi 1

2 4. VISUAL BASIC 4.1 Ohjelmointiympäristö Johdanto Lomakkeen käsittely OLIO ohjelmoinnin aakkosia 4.2 Ohjelman luominen Johdanto Koodin kirjoittaminen Ohjelmoijan apuvälineet 4.3 Ohjelman käyttöliittymä Lomakkeet ja niiden käsittely Lomakkeen objektit Valikot Työkalurivin luominen Tiedon välittäminen 4.4 Ohjelman kirjoittaminen Proseduurit ja koodin kirjoittaminen Muuttujat Ohjausrakenteet Ohjelman testaus ja virheenkäsittely 4.5 Oliot ja olioluokat Lomakeoliot ja objektitaulukot Tiedostonhallinta Omat olioluokat ja niiden käsittely 4.6 Tietokannat Yleistä tietokantojen käsittelystä Tietokantojen käyttö SQL -kyselykieli 2

3 1. JOHDANTO 1.1 Taustaa ja ohjelmoinnin käsitemaailma Käsitteen ohjelmointikieli määritteleminen on vaikeaa. Voidaan ajatella, että ohjelmointikieli on väline tai käyttöliittymä, jolla ihminen pystyy kertomaan tietokoneelle, mitä sen pitäisi tehdä. Ohjelmoinnin käsitemaailma Tietojenkäsittelyn osapuolia ovat yleisimmin ihminen ja tietokone. Koska tietokone on käytännöllisesti katsoen pelkkää elektroniikkaa, ihmisen ja tietokoneen välinen kommunikointi tulee toteuttaa koneen ehdoilla. Kun tietokone on toiminnassa, sen prosessori suorittaa käytännössä aina jotain ihmisen laatimaa ohjelmaa. Tietokoneohjelma (program) on yleisesti määriteltynä jonkin tietojenkäsittelytehtävän esitys sarjana sellaisia toimenpideohjeita, jotka on mahdollista suorittaa tietokoneella joko suoraan tai tiettyjen muunnosten jälkeen. Tietokoneen alkeistoiminnot perustuvat sen ymmärtämään kieleen eli konekieleen (machine language). Konekielisissä ohjelmissa on kahdenlaisia osia: operaatioita eli käskyjä ja operandeja, jotka ovat yleensä muistipaikkoja. Operaatioiden avulla ohjelmissa käsitellään muistipaikkojen sisältöjä. Ohjelmat ovatkin pohjimmiltaan tietokoneen muistissa olevan tiedon eli datan manipulointikäskysarjoja. Tietokoneen osaamat toimenpiteet eli operaatiot ovat hyvin yksinkertaisia ja niitä on vain rajallinen määrä. Tietokone osaa esimerkiksi laskea yhteen kaksi lukua ja tarkistaa, onko tulos nolla. Koska tietokoneessa kaikki asiat esitetään bittien avulla, konekieliset ohjelmat ovat käytännössä peräkkäistä ykkösiä ja nollia. Ihmisen kannalta konekieli on hyvin hankala tiedon ja toimenpiteiden esittämisen väline. Tämän vuoksi ihminen käyttää tietokoneelle ohjeita laatiessaan konekieltä korkeammalla tasolla olevia ohjelmoinnin välineitä. Ihminen kirjoittaa ohjelman ohjelmointikielellä (programming language), minkä jälkeen ohjelma käännetään (compile) tietokoneen avulla konekielelle, jotta kone voisi sen suorittaa (execute). Käännöksen suorittaa erityinen ohjelma, kääntäjä (compiler), joka käy ohjelman läpi rivi riviltä ja tuottaa tuloksena suorituskelpoisen (executable) ohjelman eli ns. exe-koodin. Erotukseksi suorituskelpoisesta ohjelmasta ohjelmointikielellä kirjoitettua ohjelmaa kutsutaan lähdekieliseksi ohjelmaksi tai koodiksi (source program, source code). Jotta ohjelma voitaisiin suorittaa eli ajaa (run), käännöksen tulee onnistua virheettömänä eli ohjelman tulee "mennä käännöksestä läpi". Ohjelmassa ei ole tällöin ohjelmointikielen sääntöjen vastaisia piirteitä. Vaikka ohjelma menisikin käännöksestä läpi, siinä voi olla loogisia virheitä, joiden vuoksi ohjelma ei toimi tarkoitetulla tavalla. Kääntäjä antaa kahdentyyppisiä virheilmoituksia: varoituksia (warnings) ja virheilmoituksia (errors). Varoitukset eivät välttämättä estä suorituskelpoisen ohjelman tuottamista. Niiden avulla ilmoitetaan, että ohjelmassa on oudolta vaikuttavia piirteitä. Mikäli kääntäjä ilmoittaa aidoista virheistä, tämä tarkoittaa, että ohjelma ei ole kirjoitussääntöjen mukainen eikä suorituskelpoista ohjelmaa voida tuottaa. 3

4 Kommunikointihierarkia 1.2 Erilaiset ohjelmointikielet ja paradigmat Ohjelmointikieliä on erilaisia. Ne voidaan jakaa karkeasti kahteen luokkaan: -symboliset konekielet -lausekielet eli korkean tason kielet Symboliset konekielet Symbolisissa konekielissä (assembly language) bitteinä esitettävät käskyt korvataan kirjainlyhenteillä eli käskyille annetaan symboliset vastineet. Esimerkiksi yhteen laskukäskyn tunnisteena on ADD, vähennyslaskun SUB ja kertolaskun MUL. Muistipaikoille annetaan symbolisilla konekielillä kirjoitetuissa ohjelmissa niin ikään symboliset nimet, esimerkiksi PALKKA, VERO. Symbolisella konekielellä kirjoitettu käsky voisi olla esimerkiksi: SUB PALKKA, VERO (mikä tarkoittaa sitä, että palkasta vähennetään vero, jolloin PALKKA pienenee.) Symbolisella kielellä kirjoitetun ohjelman konekielelle kääntävää ohjelmaa kutsutaan assember -kääntäjäksi (assembler). Symboliset konekielet ovat tietokonekohtaisia ja niitä käytetään, kun ohjelmoidaan tietokoneen laitteistoon läheisesti liittyviä asioita, kuten käyttöjärjestelmiä tai laiteajureita (ns. laiteläheinen ohjelmointi). Lausekielet Lausekielet eli korkean tason kielet (high level language) muistuttavat puhuttua kieltä. Niissä on hyvin suppea "sanavarasto" ja tarkat kielioppisäännöt eli syntaksi (syntax). Kielioppisäännöt ilmaisevat ohjelmien sallitun muodon. Ne ovat samankaltaisia kuin esim. suomen kielen kielioppisäännöt välimerkkisääntöineen. Kaikilla asioilla on lisäksi hyvin tarkat merkitykset eli semantiikka (semantics). Tämä on välttämätöntä, jotta ihminen ja kone voisivat ymmärtää ohjelman samalla tavalla. Lausekielet eivät ole suunniteltuja millekään laitteistolle erityisesti vaan ne ovat laiteriippumattomia. 4

5 Kääntäjä tai tulkki Jotta lausekielellä kirjoitettu ohjelma voitaisiin ajaa jossain tietyssä laitteistossa, ohjelma on käännettävä laitteistoa varten suunnitellulla kääntäjällä konekielelle. Joskus kääntäjä korvataan tulkilla (interpreter). Tällöin on kysymys siitä, että lähdekielisestä ohjelmasta konekielelle muunnetut käskyt suoritetaan välittömästi tulkkauksen jälkeen. Käytännössä tämä tapahtuu rivi riviltä. Kääntävissä järjestelmissä sen sijaan koko ohjelma käännetään ennen ajoa. Lausekielen, symbolisen konekielen ja konekielen välinen suhde Ihmisen puhekielen, korkean tason lausekielen, joka on jo ohjelmointikieli, symbolisen konekielen ja konekielen hierarkkinen järjestys suhteessa ihmisen ja koneen käsite-maailmaan voidaan esittää seuraavasti: Sanalla paradigma on useita merkityksiä. Ohjelmointikielten yhteydessä sillä tarkoitetaan kokonaisuutta, joka muodostuu seuraavista kolmesta osasta: laskennallisesta mallista, käsitteistöstä ja välineistöstä. Perinteisessä imperatiivisessa paradigmassa laskennallinen malli perustuu RAM-koneeseen (random access machine). Jos halutaan toteuttaa esimerkiksi lajitteluohjelma, käsitteistöön kuuluvat kielen rakenteet kuten tietueet, osoittimet, toistorakenteet ja tiedostot. Välineistö taas tarkoittaa sitä, miten ohjelmoija kielen käsitteitä käyttää. Lajitteluohjelman tapauksessa välineistöä voivat olla linkitetty lista sekä syöttö- ja tulostustoiminnot. Yleisesti ottaen paradigma antaa mahdollisuudet tai puitteet eri asioiden toteuttamiseen. Eri paradigmoissa on erilaiset mahdollisuudet eri asioiden toteuttamiseen. Jotkin tehtävät onnistuvat helpommin jossakin ohjelmointiparadigmassa, jotkin toiset asiat taas jossakin toisessa paradigmassa. 5 Imperatiivinen paradigma (käskykielet) -lohkorakenteinen (proseduraalinen) -oliokeskeinen -hajautettu (rinnakkainen) Deklaratiivinen paradigma (esittelykielet) -funktionaalinen -looginen -tietokantakielet

6 Ohjelmointikielten jaotteluita on muitakin, järjestelmäohjelmointikielet, joita ovat esimerkiksi Pascal, C, C++ ja Java, ja toiseen ryhmään skriptikielet, kuten Perl, Python ja JavaScript. Järjestelmäohjelmointikielet on tarkoitettu komponenttien toteuttamiseen symbolisia konekieliä korkeammalla tasolla, kun taas skriptikielillä voidaan yhdistellä olemassa olevia komponentteja toisiinsa. 1.3 Algoritmit ja tietorakenteet Algoritmit Ohjelmat käsittelevät aina käytännössä tietorakenteita. Niitä menettelytapojen ja sääntöjen kokoelmia, joiden avulla rakenteita käsitellään, kutsutaan algoritmeiksi (algorithm). Algoritmit käsittelevät aina jotain tietoa (syötteitä, lähtötietoja) siten, että syntyy uutta tietoa (tulosteita, tulostietoja). Algoritmeille on tyypillistä, että ne eivät ole mistään esitystavasta tai kielestä riippuvaisia. Ne ovat täysin yleisiä ja niitä voi esittää millä välineillä tahansa, esimerkiksi puhekielellä, graafisesta tai ohjelmointikielellä. On myös huomattava, että algoritmi ei ole yksinomaan ohjelmointiin liittyvä käsite. Esimerkiksi tavallista keittokirjaa voidaan pitää algoritmikokelmana. Reseptit voidaan tällöin nähdä algoritmeina ja raaka-aineet tietorakenteina. Tietorakenteet Kaikki ohjelmat käsittelevät aina jotain tietoa. Tieto tulee esittää ohjelmissa ohjelmointikielen sisältämien mekanismien avulla. Korkeantason ohjelmointikielet tarjoavat välineitä, joilla on suorat vastineet reaalimaailman rakenteisiin. Ohjelmointikielet tarjoavat välineitä yksittäisten tietojen esittämistä varten, esimerkiksi ihmisen nimeä, kokeen arvosanaa tai päivämäärää varten. Myös monimutkaisempia rakenteita varten on olemassa esitystapoja. Esimerkiksi puhelinluettelon yhtä riviä varten on rakenne, joka mahdollistaa usean tiedon (tässä tapauksessa nimen, osoitteen ja puhelinnumeron) samanaikaisen käsittelyn. On olemassa myös rakenteita, jotka mahdollistavat suurten tietomäärien käsittelyn. Esimerkiksi yhden vuoden jokaisen päivän sademäärät voidaan koota yhteen tietorakenteeseen. Tietorakenne (data structure) on edellä esitettyjen esimerkkien valossa informaatioyksikkö, joka voi sisältää yhden yksittäisen tiedon tai tietojoukon. Taulukko Taulukko on hyvin yksinkertainen lineaarinen rakenne. Perusrakenne on valmiina useimmissa korkean tason ohjelmointikielissä helppo ohjelmoida, alkiot indeksoidaan ensimmäisestä viimeiseen, mihin tahansa alkioon voidaan heti viitata. Taulukon alkioiden väliin ei voi lisätä uutta alkiota eikä sieltä voi poistaa alkiot Rakenne on erittäin jäykkä, jos tällaisia toimintoja (päivityksiä) tarvitaan. (Esimerkki) Linkitetty lista (linked list) Se on taulukkoa paljon joustavampi rakenne monessa tilanteessa. Lista koostuu yksittäisistä alkioista, joihin kuhunkin on talletettu dataa ja osoitin (referenssi) seuraavaan alkioon. Listan kokoa ei ole ennalta rajoitettu, vaan listaan voidaan lisätä ja siitä voidaan poistaa alkioita ajonaikaisesti listan kokoa rajoittaa 6

7 vain käytettävissä oleva muisti, alkioita voi lisätä minne tahansa, alkioita voi poistaa mistä tahansa, alkioiden järjestystä voi vaihtaa, listan alkiot voivat olla samaa tyyppiä. Linkitetyn listan tärkein rajoitus on, että sen alkioita voidaan käydä läpi vain yksitellen eli sen alkioihin ei voi viitata suoraan (vrt. taulukko) Pino (stack) Pino on abstrakti tietotyyppi, jolle on määritelty seuraavat operaatiot: Push(x) - lisää pinon päälle alkion x Pop() - palauttaa ja poistaa pinon päällimmäisen alkion Top() - palauttaa pinon päällimmäisen alkion (poistamatta sitä) IsEmptyo - palauttaa tiedon siit ä, onko pino tyhjä Toimii siis samaan tapaan kuin pöydällä oleva korttipakka. Pino voidaan toteuttaa taulukon avulla tai linkitettynä listana. Jono (queue) Jono on abstrakti tietotyyppi, jolle on määritelty seuraavat operaatiot: Put(x) tai Enqueue(x) - lisää jonon loppuun alkion x Get() tai Dequeue() palauttaa (ja poistaa) jonon ensimmäisen alkion First() - palauttaa jonon ensimmäisen alkion IsEmpty()- kertoo, onko jono tyhjä Jonokuri FIFO (First In First Out) Jono voidaan toteuttaa eri tavoin (taulukon avulla tai linkitettynä listana). Puurakenteet 7

8 Käsitteitä ja ominaisuuksia: Solmu (vertex) on puuhun kuuluva alkio, johon voidaan tallettaa dataa Väli, särmä, kaari (edge) on suorayhteys kahden solmun välillä Juuri (root) on puun ylin solmu Solmun lähin edeltäjä on sen isä (father, dad, parent). Kauemmista edeltäjistä käytetään nimeä isoisä, esi-isä tai edeltäjä (grandfather, ancestor) Solmun lähinnä alemmat seuraajat ovat sen lapsia (children). Näiden lapset vastaavasti lapsenlapsia (grandchildren) Kullakin solmulla on vain yksi isä, juurella ei ole isää Solmulla voi olla o-n kpl lapsia. Yleisessä puussa lasten määrää ei ole rajoitettu Saman isän lapset ovat toistensa sisaruksia (sibling) Lehti (leaf, external node) on solmu, jolla ei ole lapsia Muut solmut ovat puun sisäsolmuja (internal node) Lehdet ovat joskus rakenteeltaan erilaisia kuin sisäsolmut Polku (path) on yhteys kahden solmun välillä Juuresta mihin tahansa solmuun on vain yksi polku. Vastaavasti jokaisesta solmusta on vain yksi polku mihin tahansa toiseen solmuun Jokainen solmu on oman alipuunsa (subtree) juuri puiden joukkoon metsä (forest) Binääripuu (binary tree) on järjestetty puu, jossa jokaisella solmulla on täsmälleen kaksi lasta: vasen ja oikea (voivat olla tyhjiä) Binääripuu on tiivis (full), jos kaikki puussa olevat tasot ovat täynnä mahdollisesti alinta lukuun ottamatta 8

9 1.4 Ohjelman perusrakenteet TOP-DOWN- ja BOTTOM-UP-menetelmät johtavat käytännössä modulaariseen (modular) ohjelmointiin, jolla tarkoitetaan sitä, että ohjelma koostuu osaohjelmista eli aliohjelmista (sub program). Modulaarisuus on yksi hyvälle ohjelmalla asetettu vaatimus. Toinen vaatimus on strukturaalisuus, mikä edellyttää sitä, että käytettävä ohjelmointikieli tukee rakenteellista eli strukturaalista ohjelmointia (structured programming). Rakenteellinen ohjelmointi käyttää hyväksi kolmea ohjelmoinnin perusrakennetta, jotka kaikki ovat välttämättömiä ja yhdessä riittäviä hyvän ohjelman tekemiseksi. Nämä kolme perusrakennetta ovat 1. Peräkkäisrakenne 2. Valintarakenne 3. Toistorakenne Rakenteita kutsutaan usein ohjausrakenteiksi tai kontrollirakenteiksi (control structure), koska niiden avulla ohjataan ohjelman kulkua. Peräkkäisrakenne Peräkkäisrakenne on yksinkertaisin ohjelmassa käytettävistä rakenteista. Siinä toteutetaan sarja toimenpiteitä peräkkäin. Valintarakenne Valintarakennetta käytetään silloin, kun ohjelmassa halutaan suorittaa jotain vain silloin, kun jokin ehto on voimassa. Valintatilanteesta on esimerkkinä seuraava virke: Jos sinulla on rahaa, käy elokuvissa. Tällainen rakenne voidaan liittää peräkkäisrakenteen sisälle, esimerkiksi päivittäisrutiinien joukkoon, kuten herää syö aamiainen mene kouluun opiskele palaa koulusta tee läksyt JOS (sinulla on rahaa) käy elokuvissa käy iltapesulla mene nukkumaan JOS-rakenne voi sisältää vaihtoehtoisen MUUTEN-haarana: JOS (sinulla on rahaa) käy elokuvissa käy nakkikioskilla MUUTEN katso tv:tä 9

10 Tässä MUUTEN -haara suoritetaan tilanteessa, jossa rahaa ei ole, toisin sanoen kahdesta vaihtoehtoisesta toiminta-mallista valitaan toinen ja vain toinen. JOS-MUUTEN-rakenteen sisässä voi olla toinen JOS -rakenne: JOS (sinulla on rahaa) käy elokuvissa käy nakkikioskilla } MUUTEN { JOS (tv:stä tulee jotain katsomisen arvoista) { katso tv:tä } MUUTEN { käy lenkillä } Edellisen rakenteen perusteella lenkille päästään, jos lompakko on tyhjä eikä televisiosta tule mitään mielenkiintoista. Toistorakenne Jos tehtäväkokonaisuuden suorittaminen edellyttää samanlaisina toistuvien yksittäistapahtumien toistamista, voidaan käyttää toistorakennetta. Esimerkiksi kuoppaa kaivettaessa toistuu lapiointi. Kuoppaa pitää kaivaa niin kauan, että se on tarpeeksi syvä. Luonnollisella kielellä vaatimus ja toimintaohje voitaisiin esittää seuraavasti: Kaiva kuoppaa, kunnes se on tarpeeksi syvä. Sama asia voidaan esittää muodollisemmin seuraavasti: TEE SEURAAVAA kaiva lapiollinen NIIN KAUAN KUIN (kuoppa on liian pieni) Sama voitaisiin esittää myös seuraavasti: NIlN KAUAN KUIN (kuoppa on liian pieni) kaiva lapiollinen Toistossa on periaatteena, että jokaisen toistokerran jälkeen (tai ennen sitä) tutkitaan jatkoehto uudelleen ts. "pyöritään silmukassa", kunnes voidaan lopettaa. Rakenteiden edut Rakenteiden etu on siinä, että niitä voidaan yhdistää: rakenteita voidaan kirjoittaa peräkkäin ja kunkin 10

11 rakenteen sisässä voi olla mikä tahansa rakenne. Rakenteita voidaan kirjoittaa myös useita sisäkkäin. Peräkkäisyyttä ja sisäkkäisyyttä yhdistelemällä syntyy rakenteinen (tai lohkorakenteinen) ohjelma. 2. OHJELMAN PERUSELEMENTIT 2.1 Tunnukset Tunnukset (identifier) ovat nimiä erilaisille asioille, jollaisia ohjelmointikielissä ovat mm. muuttujat, vakiot ja tyypit. Tunnus alkaa aina kirjaimella. Ensimmäistä kirjainta voi seurata kirjaimia ja numeroita mielivaltaisessa järjestyksessä. Myös alaviivaa ("_") voi käyttää tunnuksissa (jopa ensimmäisenä merkkinä). Tunnuksissa isot ja pienet kirjaimet ovat usein eriarvoisia. Näin tunnukset C kieli ja c kieli viittaavat eri asiaan. On huomattava, että tunnuksissa ei voi käyttää useinkaan skandinaavisia kirjaimia å, ä, ö, Å, Ä ja Ö. Periaatteessa tunnukset voivat olla miten pitkiä tahansa. ANSI -standardi määrittelee, että tunnukset erotetaan toisistaan 31 ensimmäisen merkin osalta, joten pidempiä nimiä ei välttämättä ole järkevää käyttää. 2.2 Muuttujat Muuttujia (variable) käytetään ohjelmissa tietovarastoina erilaisille asioille. Ohjelma voisi kysyä jokaiselta käyttäjältään esimerkiksi tämän nimeä ja tallettaa jokaisen nimen vuorollaan muuttujaan kayttajan_nimi (huomaa, että ä-kirjaimen asemesta on käytetty a-kirjainta). Täten kayttajan_nimi vaihtelee käyttäjän mukaan eli muuttuja saa erilaisia arvoja. Muuttujalle onkin tyypillistä, että sen arvo muuttuu ohjelman suorituksen aikana useaan kertaan (tästä nimitys muuttuja). Käytännössä muuttuja viittaa alueeseen tietokoneen muistissa. Muuttujan arvoksi kutsutaan sitä, mikä on muistialueen sisältönä. Voisi ajatella, että muistiin viitataan numeerisen osoitteen avulla, mutta on helpompaa antaa muuttujille omat nimet ja viitata muistiin näiden nimien avulla. Muuttujat nimetäänkin tunnusten avulla. Jokaisella muuttujalla on näin ollen kirjaimelta alkava nimi. Tietokoneen muistia voidaan ajatella lokerikkona, jonka lokeroissa muuttujia säilytetään; kun tiedetään lokeron nimi, voidaan käsitellä siellä olevaa muuttujaa. 2.3 Tyypit Oletetaan, että käytössä on muuttuja, jonka nimi on i. Kun ohjelma viittaa muuttujaan i, sen täytyy tietää, minkälaiseen olioon se viittaa. Ohjelman kannalta on oleellista tietää, onko i-nimisessä muistipaikassa jokin luku, kirjain, teksti (merkkijono) vai jotain muuta, jotta ohjelmassa osataan tehdä muuttujalle oikeita operaatioita. Jos esimerkiksi muuttujan arvo halutaan tulostaa, on tärkeää 11

12 tietää, onko tulostettavan muuttujan sisältämässä muistipaikassa luku vai kirjain. Käytännössä muistipaikassa on vain pelkkiä peräkkäisiä bittejä, jotka eivät ilman tulkintaa sisällä mitään informaatiota. Jotta ohjelma osaa käsitellä muistissa olevaa tietoa oikein, sen tulee tietää, kuinka bittejä tulkitaan. Ohjelmointiterminologiaa käyttäen sanotaan, että ohjelman pitää tietää muuttujan tyyppi (type). Esimerkiksi C-kielessä ennalta määriteltyjä yksinkertaisia tyyppejä ovat mm. seuraavat: int kokonaisluku (16 bittiä) long kokonaisluku (32 bittiä) float liukuluku double kaksoistarkkuuden liukuluku char merkki tai 8 bittinen kokonaisluku Todettakoon, että yhden ja saman muistipaikan sisältöä voidaan tulkita useammalla tavalla. Tulkinta on tavallaan suodatin, jonka läpi tietoa tarkastellaan. Jos 8-bittinen tieto halutaan nähdä merkkinä, käytetään "merkkisuodatinta". Jos se halutaan nähdä kokonaislukuna, käytetään "kokonaislukusuodatinta". 2.4 Muuttujan määrittely Muuttujan määrittely (variable declaration) tarkoittaa muuttujan nimen ja muuttujan tyypin liittämistä toisiinsa. Muuttujien määrittelyt sijoitetaan ohjelmalohkon alkuun. Ohjelmassa tulee ilmoittaa jokaisesta muuttujasta sen tyyppi seuraavasti: int indeksi; char merkki; Muuttujien määrittelyt sijoitetaan siis ohjelmassa ohjelmalohkon alkuun. Samaa tyyppiä olevat muuttujat voi koota listaksi, jossa jäsenet erotetaan toisistaan pilkuilla seuraavaan tapaan: int luku1, luku2, lukua; Ohjelmista tulee yleensä kuitenkin selkeämpiä, mikäli kaikki muuttujien määrittelyt kirjoitetaan omille riveilleen. Muuttujat tulee aina nimetä niiden käyttöä kuvaavalla tavalla, esimerkiksi sademaara, pisteet, palkka,... eikä arvoituksellisilla koodilyhenteillä kuten s, pi, pa. Muuttujan määrittely saa aikaan sen, että tietokoneen muistista varataan tilaa muuttujaa varten. Eri tyypit tarvitsevat erilaisen määrän tilaa: merkille riittää aina yksi tavu, kokonaisluku (int) vie kaksi tavua, pitkä kokonaisluku (long) ja liukuluku (float) vievät 4 tavua. Määrittelyn yhteydessä muuttujalle voidaan antaa alkuarvo seuraavalla tavalla: int summa = 0, Jos muuttujaa ei määritellä mutta sitä yritetään käyttää ohjelmassa, kääntäjä huomaa virheen ohjelman käännös-vaiheessa ja antaa tällöin yleensä virheilmoituksen "Undefined symbol..." eli määrittelemätön symboli. 12

13 2.5 Vakiot Kaikissa ohjelmissa käytetään yleensä joitain kiinteitä lukuarvoja laskutoimituksissa. Toisaalta ohjelmien tulosteissa käytetään samanlaisina toistuvia tekstejä. Näissä tilanteissa tarvitaan vakioita (constant). Vakiot jaetaan kahteen ryhmään: - paljaat vakiot eli literaalivakiot - nimetyt vakiot. Paljaat vakiot Paljaat vakiot voidaan ryhmitellä seuraavasti: - numeeriset vakiot, joita ovat esim. 5, 5.0, -5, merkkivakiot, joita ovat esim. 5, A, a - merkkijonovakiot, jollainen on esim. "Visual Basic" Nimetyt vakiot Paljaalla vakiolle voidaan antaa nimi, jota voidaan käyttää ohjelmassa kuten paljasta vakiota. Tällöin on määritelty nimetty vakio. Nimetty vakio määritellään C-kielen ohjelmassa esimerkiksi seuraavasti: # define PII Lauseet Ohjelman varsinainen toiminta tapahtuu lauseissa (statement). Lauseessa tehdään jokin toimenpide, esimerkiksi kahden luvun kertolasku, merkkijonon tulostaminen tai merkin lukeminen. ympyran_ala = Pll * ympyransade * ympyransade; jossa muuttujan ympyran_ala arvoksi sijoitetaan "='- merkin oikealla puolella olevan laskutoimituksen tulos. Tämä on esimerkki lausetyypistä, jota ohjelmissa tarvitaan usein. Lauseella on C- kielessä ominaista, että se päättyy aina puolipisteeseen. 2.7 Kommentit Ohjelmiin voi ja niihin kannattaa liittää ohjelman toimintaa selittäviä tekstejä eli kommentteja (comment). Tällaiset selitystekstit sijoitetaan C-kielessä merkintöjen /* ja */ väliin esimerkiksi seuraavasti. 13

14 / * Tämä on kommentti */ TÄMÄ ON KOMMENTTI Visual Basicissa Muuttujien merkitykset kannattaa kommentoida muuttujien määrittelyjen yhteydessä, elleivät muuttujien nimet ole täysin tarkoitustaan kuvaavia. Kommentit voidaan kirjoittaa seuraavaan tapaan: int Ikm; / * ohi ajaneiden autojen Ikm */ int k nopeus; / * autojen mitattu keskinopeus */ 3. VUOROVAIKUTTEINEN OHJELMA 3.1 Vuorovaikutteisuus Ohjelmat keskustelevat käyttäjien kanssa eli esittävät käyttäjille kysymyksiä, vastauksia, kehotuksia jne. Käyttäjät puolestaan vastaavat ohjelmien esittämiin kysymyksiin, toimivat ohjelmien kehotuksien mukaan jne. Tällaisia ohjelmia kutsutaan vuorovaikutteisiksi tai interaktiivisiksi (interactive). Vuorovaikutus sisältää tiedon lähettämisen ja vastaanottamisen. Ohjelmoija tarkastelee vuorovaikutussuhdetta aina ohjelman kannalta. Kun ohjelmassa ilmoitetaan käyttäjälle jotain, kyseessä on tiedon lähettäminen eli tulostustoiminto (kirjoittaminen). Kun taas ohjelma ottaa vastaan käyttäjän antamia syötteitä, kyseessä on ohjelman kannalta lukeminen. Tätä vuorovaikutussuhdetta, jota ohjelmissa tarkastellaan aina ohjelman kannalta, havainnollistetaan alla olevassa kuvassa. 3.2 Sijoituslauseet Ohjelman varsinainen toiminta toteutetaan käytännössä erilaisissa lauseissa, joista keskeisin on sijoituslause (assignment statement). Siinä asetetaan tai vaihdetaan muuttujan arvo. 14

15 Sijoituslauseessa on esimerkiksi C-kielessä neljä osaa: muuttujan nimi sijoitusoperaattori lauseke ; Sijoituslauseen yleinen muoto on seuraava: muuttujan_nimi = lauseke; Lauseke (expression) voi olla vakioarvo, yksittäinen muuttuja, funktion kutsu tai laskutoimitus, joka sisältää muuttujia, vakioita, funktion kutsuja ja operaattoreita. Yksinkertaisia sijoituslauseita, joissa lausekkeen muodostavat yksittäiset vakiot tai muuttujat, ovat esim. seuraavat: x = 1; lkm = 0; Z = Y; Sijoituslause, jonka oikealla puolella on funktion kutsu, näyttää seuraavalta: x = pow (y, 2); Tässä pow0 on matemaattinen funktio, joka korottaa y:n arvon toiseen potenssiin. Tulos sijoitetaan = arvoksi. Esimerkki laskutoimituksesta on PII * sade * sade missä PII on vakio, sade muuttujan nimi ja * kertolaskuoperaattori. Tämä lauseke voidaan sijoittaa sijoituslauseessa "="-merkin oikealle puolelle, jolloin saadaan sijoituslause ala = PII * sade * sade; 3.3 Syöttö ja tulostus funktiot Ohjelmien kirjoittaminen ei ole sattumanvaraista esimerkiksi C-kielisten lauseiden peräkkäin kirjoittamista mielivaltaisessa järjestyksessä vaan systemaattista toimintaa, joka vaatii ajattelua. Jotta ohjelma voisi toimia käytännössä, sen logiikan tulee toimia myös paperilla. Jos ohjelmaa ei pystytä suunnittelemaan kynän ja paperin avulla, sen kirjoittaminen ohjelmointikielellä on mahdotonta. Ohjelmien suunnitteluun on olemassa erilaisia formaaleja (so. muodollisia, tarkkojen sääntöjen mukaisia) välineitä: lohkokaavioita, vuokaavioita ja pseudokoodeja. 15

16 Ohjelman yleinen rakenne Jokaiseen ohjelmaan kuuluu yleensä kolme vaihetta: 1. tietojen syöttö (käyttäjä syöttää, ohjelma ottaa vastaan) 2. laskenta 3. tietojen tulostus C-kielen yleisimmin käytetty tulostuslause (output statement) alkaa sanalla printf. Tämä on funktio, joka tulostaa kuva-ruudulle haluttua tietoa. Esimerkiksi lause printf (Hiiohoi"); tulostaa kuvaruudulle tekstin Hiiohoi. Tulostuslauseessa tulostetaan tekstiä lainausmerkkien sisässä. Tekstin lisäksi tulostuslauseessa halutaan usein tulostaa myös lukuja. 3.4 Rakenteinen ohjelmointi Rakenteinen ohjelmointi (structured programming) on systemaattinen tapa tuottaa ohjelmia, joita on helppo ymmärtää, helppo muuttaa ja helppo testata. Rakenteinen ohjelmointi edellyttää selkeiden ohjelmarakenteiden käyttöä. Rakenteisuuden tulee ilmetä myös ohjelman kirjoitusasusta. Tämän vuoksi ohjelmissa käytetään tekstin sisennyksiä. Vaikka sisennyksillä ei ole kääntäjän kannalta merkitystä, niillä on suuri merkitys ohjelman lukijalle. If -lauseen yksinkertaisin muoto on sellainen, missä lauseet joko suoritetaan tai jätetään suorittamatta. Ohjelmarakenteita voidaan kuvata vuokaavioiden (flow chart) avulla. Kaavioissa käytetään sovittuja graafisia symboleja. Esimerkiksi yksittäisen vaihtoehdon if -rakenne voidaan esittää seuraavanlaisena vuokaaviona: Kokonaisia ohjelmia voidaan suunnitella kirjoittamalla vuokaaviota peräkkäin. Pseudokoodin käyttö on yleensä kuitenkin kätevämpää. Käyttäjän kannalta olisi mukavaa, jos ohjelmassa tehtäisiin jotain myös siinä tapauksessa, että ehto ei ole tosi. Tällaista tilannetta varten valintalause voikin sisältää vaihtoehto-osan, joka suoritetaan, ellei if -ehto ole voimassa. Vaihtoehto-osa alkaa avainsanalla else. 16

17 Vuokaavioesitys if -else -rakenteelle: Valinta useasta vaihtoehdosta Y-rakennetta voidaan käyttää monivalintatilanteissa, joissa pitää valita yksi useasta mahdollisesta vaihtoehdosta. Esimerkki tällaisesta tapauksesta voisi olla kolmen vaihtoehdon valintatilanne, jossa pitää tutkia, onko luku nolla, negatiivinen vai positiivinen. Rakenne, jota voidaan käyttää, on seuraava: if (ehto) lauseet else if lauseet else lauseet While -toistorakenne Toistorakenteen avulla voidaan suorittaa samoja lauseita toistuvasti peräkkäin. Toistojen määrä on joko etukäteen määrätty tai se riippuu ohjelmassa esitetyistä ehdoista. Tarkastellaan aluksi jo tuttua if -rakennetta: 17 if (rahaa > 100) { ostalevyke(); }

18 Tässä ohjelmanosassa suoritetaan lause (oikeastaan aliohjelman kutsu) ostalevyke(), mikäli muuttujalla rahaa on suurempi arvo kuin 100. Ohjelmaan tehdään seuraava muutos: if - sana korvataan sanalla while. Tällöin saadaan ohjelmanosa: while (rahaa > 100) { ostalevyke(); } Kun ohjelmassa tullaan peräkkäisrakenteen ohjaamana while -lauseeseen, se toimii ensin kuten iflause: aaltosulkeiden välissä olevat lauseet suoritetaan, mikäli ehto on tosi. Kun on päästy while -lohkon loppuun, palataan while -rakenteen ehto-osaan tutkimaan ehtoa uudelleen. Mikäli ehto on edelleen tosi, suoritetaan lauseet uudelleen. Näin jatketaan, kunnes ehto muuttuu epätodeksi. Edellä olevassa esimerkissä on selvästi vikaa, koska siinä ehto (rahaa > 100) näyttää pysyvän jatkuvasti totena. Asian todellinen laita riippuu tietysti ostalevyke() -toimenpiteen toteutuksesta: jos siinä pienennetään muuttujan rahaa arvoa, asia on kunnossa. Seuraavassa while -silmukassa muuttujan rahaa arvoa pienennetään jokaisella kierroksella, joten ohjelma toimii varmemmin: while (rahaa > 100) { osta levyke(); rahaa = rahaa - levykkeen hinta; } While -rakenteelle voidaan esittää seuraavanlainen vuokaavioesitys: While -lausetta käytettäessä on pidettävä mielessä se seikka, jonka unohtaminen johtaa tyypilliseen ohjelma-virheeseen: on muistettava vaikuttaa ehtolausekkeen arvoon lauselohkon sisällä siten, että se muuttuu joskus epätodeksi (muuten jäädään "ikuiseen silmukkaan"). 18

19 For -toistorakenne For -rakennetta kannattaa käyttää, jos toistojen määrä tiedetään ohjelmassa ennen kuin toistot aloitetaan. Jos esimerkiksi halutaan sademäärätiedot viikon jokaiselle päivälle, tiedetään, että sademääriä on seitsemän kappaletta, ja näin ollen sademäärää pyydetään vuorovaikutteisessa ohjelmassa seitsemän kertaa. For -lauseessa toistojen lukumäärää hallitaan ohjelmassa olevan toistolaskurin avulla. Laskurin arvo asetetaan toistojen alussa ykköseksi ja sitä kasvatetaan jokaisella toisto-kerralla yhdellä. Toistot päätetään, kun laskuri on ylittänyt sovitun loppuarvon. Laskuriin kohdistuu näin ollen kolme oleellista operaatiota. Nämä ovat 1. laskurin alkuarvon asettaminen 2. laskurin arvon vertaaminen loppuarvoon 3. laskurin arvon kasvattaminen yhdellä. For-lauseen vuokaavioesitys. 1 = toistolaskurin alkuarvon asettaminen; 2 = toistoehdon tutkiminen (laskurin arvon vertaaminen loppuarvoon); 3=laskurin arvon kasvattaminen. Numeroimattomassa laatikossa suoritetaan toistettavat lauseet. Do... while toistorakenne Jo käsitellyt toistolauseet while ja for ovat molemmat ns. alkuehtoisia toistolauseita. Lauseessa olevan ehdon arvo tutkitaan, ennen kuin siirrytään toistettavaan lauseosaan. Seuraavaksi käsiteltävä toistolause on loppuehtoinen do... while -toistorakenne. Siinä suoritetaan ensin yksi toistokerta ja sen jälkeen tutkitaan pitääkö toistaa uudestaan. Lauseen vuokaavioesitys on seuraava: Do...while -lauseen vuokaavioesitys. Toistettaviksi tarkoitetut lauseet suoritetaan ensin yhden kerran ja sen jälkeen tutkitaan, pitääkö ne suorittaa uudestaan. 19

20 4. VISUAL BASIC Ohjelmointiympäristö Johdanto Mikä on Visual Basic? Kun Microsoft julkaisi vuonna 1991 Visual Basicin ensimmäisen version, se oli merkittävä helpotus vaikeana pidettyyn Windows-ohjelmointiin: aloittelijakin pystyi sen avulla luomaan toimivia ja tyylikkäitä ohjelmia. Uusien versioiden mukana Visual Basiciin on tullut monia parannuksia, ja se soveltuu laajojenkin ohjelmien tekemiseen. Enää Basic ei ole pelkästään aloittelijoille tarkoitettu harjoitteluohjelmointikieli, josta täytyy siirtyä pois taitojen kehittyessä. Visual Basicin käynnistäminen Napsauta Start -painiketta (Käynnistä) hiirellä ja siirrä hiiren osoitin kohtaan Programs (Ohjelmat). Napsauta Programs -valikosta Microsoft Visual Basic 6.0 -ohjelmakansiota. Käynnistettyäsi ohjelman näytölle avautuu Visual Basicin ohjelmointiympäristö ja New Projectvalintaikkuna. New Project -ikkunan eri välilehtien avulla valitaan, millaista projektia halutaan käsitellä. New -välilehden avulla voidaan luoda uusi projekti. Existing -välilehden kautta voidaan avata jokin aikaisemmin tehty projekti. Recent -välilehdellä ovat viimeksi avatut projektit. Oletusasetusten mukaan Visual Basic lataa ohjelmointiympäristöön joukon ikkunoita. Tärkein näistä ikkunoista on näytön oikeassa laidassa oleva Project Explorer -ikkuna, jolla voit käsitellä ohjelmointiprojektia ja kaikkia siihen kuuluvia tiedostoja. Standard EXE -projektissa on oletuksena yksi tyhjä lomake, joka avautuu näytölle valmiiksi, kun uusi ohjelmointiprojekti luodaan. 20

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Ehto- ja toistolauseet

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

Lisätiedot

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

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

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Johdatus Ohjelmointiin

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

Lisätiedot

12. Javan toistorakenteet 12.1

12. 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ätiedot

11. Javan toistorakenteet 11.1

11. 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ätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisä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ätiedot

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisä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ätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

811120P Diskreetit rakenteet

811120P 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ätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

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

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

Lisätiedot

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Sisä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ätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

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

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

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

Lisätiedot

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö Algoritmit 1 Luento 4 Ke 18.1.2017 Timo Männikkö Luento 4 Tietorakenteet Pino Pinon toteutus Jono Jonon toteutus Lista Listaoperaatiot Algoritmit 1 Kevät 2017 Luento 4 Ke 18.1.2017 2/29 Pino Pino, stack,

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

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

Lisätiedot

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa

Lisätiedot

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ... 1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin

Lisätiedot

Siirtyminen Outlook 2010 -versioon

Siirtyminen Outlook 2010 -versioon Tämän oppaan sisältö Microsoft Microsoft Outlook 2010 näyttää hyvin erilaiselta kuin Outlook 2003. Tämän oppaan tarkoituksena on helpottaa uuden ohjelman opiskelua. Seuraavassa on tietoja uuden käyttöliittymän

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 8. Quick Start - opas Condes 8. olfellows www.olfellows.fi 1.

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 8. Quick Start - opas Condes 8. olfellows www.olfellows.fi 1. Condes Suunnistuksen ratamestariohjelmisto Versio 8 Quick Start opas Yhteystiedot: olfellows Jouni Laaksonen Poijukuja 4 21120 RAISIO Sähköposti: jouni.laaksonen@olfellows.fi www.olfellows.fi olfellows

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-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ätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

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

Lisätiedot

Tietotyypit ja operaattorit

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

Lisätiedot

Javan perusteita. Janne Käki

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

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

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

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

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

Muuttujien roolit Kiintoarvo cin >> r;

Muuttujien roolit Kiintoarvo cin >> r; Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

5/20: Algoritmirakenteita III

5/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ätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. 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ätiedot

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta.

Kuva 1. Jokaisen tavallisen kuvan tasotyökalussa näkyy vain yksi taso, tässä nimellä tausta. Gimp alkeet XII 9 luokan ATK-työt/HaJa Sivu 1 / 6 GIMP:in tasotyökalu Lue ensin nämä ohjeet! Harjoitus lopussa! GIMP:in tasotyökalu on nimensä mukaisesti työkalu, jolla hallitaan tasoja, niiden läpinäkyvyyttä,

Lisätiedot

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

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

Lisätiedot

Sisällys. 15. Lohkot. Lohkot. Lohkot

Sisä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ätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

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

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

STELLARIUM KÄYTTÖOHJE

STELLARIUM KÄYTTÖOHJE Järjestelmävaatimukset: Windows (XP, Vista, 7) DirectX 9.x ja uusin ServicePack tai MacOS X 10.3.x (tai suurempi), 3D-grafi ikkkortti ja OpenGL-tuki, min. 512 MB RAM, 1 GB vapaata levytilaa. ASENNUS Asennus

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot

Käyttäjän käsikirja. LIB 500 ja LIB 510 v.4.0.2. 8.2. Releasettelutyökalu. 8.2.1. Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl

Käyttäjän käsikirja. LIB 500 ja LIB 510 v.4.0.2. 8.2. Releasettelutyökalu. 8.2.1. Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl 1MRS751368-RUM Käyttäjän käsikirja 8.1. Releyksikön valitseminen Releyksiköt esitetään asemakuvassa painikkeina. 8 $VHPDNXYDMRVVDQlN\\UHOH\NVLNN Jos kohteita tarvitsee päivittää, avataan ikkuna (Kuva 8.1.-2)

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

1. Omat operaatiot 1.1

1. 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ätiedot

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

EXCEL Perusteet FIN WISTEC TRAINING OY ITÄMERENKATU 1, HELSINKI PUH (MA-PE KLO 9-17)

EXCEL Perusteet FIN WISTEC TRAINING OY ITÄMERENKATU 1, HELSINKI PUH (MA-PE KLO 9-17) EXCEL Perusteet FIN WISTEC TRAINING OY ITÄMERENKATU 1, 00180 HELSINKI INFO@WISTEC.FI PUH.09 123 4567 (MA-PE KLO 9-17) WWW.WISTEC.FI Excel perusteet 1 (23) SISÄLLYSLUETTELO Excelin perusteet... 2 Ohjelman

Lisätiedot

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU

,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU ,QWHUQHWVHODLPHQNl\WWlPLQHQ±,QWHUQHW([SORUHU Tässä pääsette tutustumaan Internet Explorerin (IE) käyttöön. Muitakin selainversioita löytyy, kuten esimerkiksi Netscape, Opera ja Mozilla. Näiden muiden selainten

Lisätiedot

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

Ohjeita Siemens Step7, Omron CX Programmer käyttöön Ohjeita Siemens Step7, Omron CX Programmer käyttöön Sisällysluettelo 1 Siemens Step7 Manager...1 1.1 Laitteistomäärittely...1 1.2 Ohjelmalohkon luonti ja toteutus...2 1.3 Ohjelman kutsu...3 2 CX-Programmer...4

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

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

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

Lisätiedot

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Opetustapahtumien hakeminen (Hae - Opetustapahtuma) Helsingin yliopisto WinOodi 1 (5) Opetustapahtumien hakeminen (Hae - Opetustapahtuma) Opetustapahtumien hakua tarvitaan sekä opetustapahtumien käsittelyssä että raporttien tulostamisessa. Ohjeessa käsitellään

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

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

Lisätiedot

A. Peruskäyttöohje Digilehtiö

A. Peruskäyttöohje Digilehtiö A. Peruskäyttöohje Digilehtiö 1 1. Aseta haluamasi paperi tai lehtiö alustan päälle. Kirjoita ja piirrä muistiinpanot digilehtiön kynällä, kun kirjoitat uudelle sivulle, käännä lehti syrjään, ja paina

Lisätiedot

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:

Tietuetyypin 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ätiedot

Tietorakenteet ja algoritmit

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

Lisätiedot

Java-kielen perusteet

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

Lisätiedot

VSP webmail palvelun ka yttö öhje

VSP webmail palvelun ka yttö öhje VSP webmail palvelun ka yttö öhje Kirjaudu webmailiin osoitteessa https://webmail.net.vsp.fi Webmailin kirjautumissivu, kirjoita sähköpostiosoitteesi ja salasanasi: Sähköpostin päänäkymä: 1: Kansiolistaus

Lisätiedot

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

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

Lisätiedot

Nettiposti. Nettiposti käyttöohje

Nettiposti. Nettiposti käyttöohje YKSIKÄÄN ASIAKAS EI OLE MEILLE LIIAN PIENI TAI MIKÄÄN HAASTE LIIAN SUURI. Nettiposti Nettiposti käyttöohje Tässä käyttöohjeessa kuvataan selainkäyttöisen Nettiposti sähköpostiohjelman toiminnot. Käyttöohje

Lisätiedot

C++ Ohjelmoijan käsikirja. Johdanto

C++ Ohjelmoijan käsikirja. Johdanto Johdanto C++ Ohjelmoijan käsikirja Johdanto Tervetuloa Inside C++-kirjan pariin. Tämä on opaskirja standardi C++:n käyttöön. Käsittelemme kirjassa kaikki syntaksin, kieliopin, olio-ohjelmoinnin ja standardikirjastojen

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE HERVANNAN KIRJASTON TIETOTORI Insinöörinkatu 38 33720 Tampere 040 800 7805 tietotori.hervanta@tampere.fi TALLENNETAAN MUISTIKULLE JA MUISTIKORTILLE 1 Muistitikun

Lisätiedot

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu... Tärkeimmät toiminnot Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta Kun hiiren jättää kuvakkeen päälle vähäksi ajaksi Word selittää toiminnon Avaa tiedosto Tallenna Kumoa, nuolesta aiemmat

Lisätiedot

OP-eTraderin käyttöopas

OP-eTraderin käyttöopas OP-eTraderin käyttöopas Tämä käyttöopas on lyhennetty versio virallisesta englanninkielisestä käyttöoppaasta, joka löytyy etrader - sovelluksen Help-valikosta tai painamalla sovelluksessa F1 -näppäintä.

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Opetustapahtumien hakeminen (Hae - Opetustapahtuma) Helsingin yliopisto WinOodi Sivu 1/5 Opetustapahtumien hakeminen (Hae - Opetustapahtuma) Opetustapahtumien hakua tarvitaan sekä opetustapahtumien käsittelyssä että raporttien tulostamisessa. Ohjeessa käsitellään

Lisätiedot

Office_365_loppukäyttäjän ohje. 15.5.2015 Esa Väistö

Office_365_loppukäyttäjän ohje. 15.5.2015 Esa Väistö Office_365_loppukäyttäjän ohje 15.5.2015 Esa Väistö 2 Sisällysluettelo Kuvaus... 3 Kirjautuminen Office_365:een... 3 Valikko... 4 Oppilaan näkymä alla.... 4 Opettajan näkymä alla... 4 Outlook (Oppilailla)...

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

STS UUDEN SEUDULLISEN TAPAHTUMAN TEKO

STS UUDEN SEUDULLISEN TAPAHTUMAN TEKO STS UUDEN SEUDULLISEN TAPAHTUMAN TEKO Valitse vasemmasta reunasta kohta Sisällöt Valitse painike Lisää uusi Tapahtuma Tämän jälkeen valitse kieleksi Suomi VÄLILEHTI 1 PERUSTIEDOT Valittuasi kieleksi suomen,

Lisätiedot