Johdantoa ohjelmointiin

Koko: px
Aloita esitys sivulta:

Download "Johdantoa ohjelmointiin"

Transkriptio

1 Johdantoa ohjelmointiin Mikä ensimmäiseksi ohjelmointikieleksi? Ensimmäisestä ohjelmointikielestä on riittänyt juttua Internetin keskusteluryhmissä ja - palstoilla. Kaikenlaisia kannanottoja asiasta on ollutkin, mutta välillä tuntuu siltä, että parhaita aloitusohjelmointikieliä on yhtä monta kuin ehdottajiakin. Monesti jostain kumman syystä se oma lempiohjelmointikieli tuppaa olemaan suosituslistan kärjessä. Mutta vaikeahan eri vaihtoehtoja on punnitakin, kun ohjelmoinnin voi aloittaa vain kerran elämässä. Seuraavat asiat voisi ottaa huomioon ohjelmointikielen valinnassa: Ohjelmointiympäristön asentaminen on helppoa tai mukana on kunnolliset asennusohjeet. Kieli on yksinkertainen mutta opettaa kuitenkin ohjelmoinnin perusasioita. Kielellä saa heti jotain kiinnostavaa aikaan. Motivaatio nopeuttaa oppimista huomattavasti. Kieleen on helposti saatavilla suomenkielistä oppimateriaalia (esim. Internetistä tai kirjastosta). Kieltä osaavaa väkeä löytyy ystäväpiiristä tai Internetin ohjelmointiaiheisilta keskustelualueilta. Edellisin perustein seuraavat ohjelmointikielet ovat sopivia aloittelijalle: Perinteinen ohjelmoinnin aloituskieli on Basic. Tällä hetkellä suosituimmat Basickielet ovat Microsoftin valmistamia: DOSille QBasic ja Windowsille Visual Basic. Ensimmäiset Basicit olivat melko alkeellisia ja ohjelmista tuli helposti sekavia, minkä vuoksi kielellä on edelleen huono maine monien ohjelmoijien keskuudessa. Basic on kuitenkin kehittynyt huimasti vuosien saatossa, ja esimerkiksi Visual Basic riittää paljon pidemmälle kuin alkeisiin. C on yksi suosituimmista ohjelmointikielistä, jolla on tehty kokonaisia käyttöjärjestelmiä. Kieli ei itsessään sisällä mitään järjestelmäriippuvaisia toimintoja; jopa tekstin kirjoittaminen näytölle täytyy toteuttaa erillisen kirjaston avulla. Tämän menettelyn etuna on se, että standardinmukainen C-koodi toimii ilman muutoksia järjestelmällä kuin järjestelmällä. C-kieli saattaa alkuun vaikuttaa hankalalta, mutta hyvästä ohjelmointioppaasta on apua tähän vaivaan. Basicin ja C:n välimaastossa oleva Pascal on myöskin hyvä valinta ensimmäiseksi kieleksi. Ehkä tunnetuin Pascal-kielien valmistaja on Borland, jonka Turbo Pascal (DOS) ja Delphi (Windows) ovat hyväksi havaittuja ohjelmointivälineitä. Delphi ja Visual Basic ovat suurin piirtein samanveroisia, vain niiden käyttämä kieli on eri. Jos Internet-ohjelmointi kiinnostaa vähänkin, kannattaa hetimmiten tutustua PHP:hen, joka on ilmainen, helppo ja tehokas palvelinpohjainen ohjelmointikieli.

2 PHP:n käyttömahdollisuudet ovat lähes rajattomat: kielellä voi luoda niin yksinkertaisen kävijälaskurin omalle kotisivulle kuin kokonaisen tietokantoja hyödyntävän verkkopalvelun. Jos joku ehdottaa kieltä X ensimmäiseksi ohjelmointikieleksi, koska "siitä on hyötyä myöhemmin", kannattaa sellaisen puheen antaa mennä toisesta korvasta sisään ja toisesta ulos. Ensinnäkään kukaan ei voi tietää, millä kielellä tulevaisuudessa ohjelmoidaan. Lisäksi uusien ohjelmointikielien oppiminen on helppoa, kun yksi kieli on suurinpiirtein hallussa. Kaikissa yleisimmissä ohjelmointikielissä toistuvat nimittäin samat perusasiat. Ja sellaista kieltä ei ole olemassakaan, joka soveltuisi kaikkiin ohjelmointitehtäviin. Ohjelmoija ei ole sidottu yhteen kieleen. Sanastoa Ohjelma täytyy muuntaa mahdollisimman yksinkertaiselle tasolle, konekielelle, jotta tietokone pystyy sen suorittamaan. Kääntäjä (compiler) muuttaa koko ohjelman yhdellä kertaa konekieliseksi, jonka jälkeen alkuperäistä koodia ei enää tarvita ohjelman suorittamiseen. Käytännössä aina lopullinen ohjelma on käännetty, esimerkiksi Windowsin EXE-tiedostot. Tulkki (interpreter) taas muuttaa ohjelmakoodin rivejä konekieliseksi sitä mukaa, kun ohjelman suoritus edistyy. Vakio (constant) on koko ohjelman suorituksen ajan samana pysyvä tieto, jolle on annettu tekstitunnus. Esimerkiksi vakion PII arvo voisi olla 3, Muuttuja (variable) on ohjelman aikana mahdollisesti vaihtuva tieto, esimerkiksi Kajaanin lämpötila. Taulukko (array) sisältää yhdessä paketissa monta muuttujaa, esimerkiksi kaikkien Suomen kaupunkien lämpötilat. Useimmissa ohjelmointikielissä muuttujalla on tyyppi. Merkkijono (string) on tekstiä sisältävä muuttuja, kokonaisluku (integer) lienee ennestään tuttu ja liukuluku (floatingpoint number) vastaa desimaalilukua. Boolean-arvo (Boolean value) on joko tosi tai epätosi. Muuttujan viemä tila muistissa vaikuttaa siihen, kuinka paljon muuttujaan mahtuu tietoa: mikä on merkkijonon maksimipituus tai miten monta numeroa luvussa saa olla. Esimerkiksi kahden tavun kokoisen kokonaislukumuuttujan rajat voivat olla Aliohjelmia (subprogram) ja funktioita (function) käytetään silloin, kun ohjelmassa toistuu useaan otteeseen samantapainen koodinpätkä. Esimerkiksi TallennaTiedotniminen aliohjelma voisi tallentaa kaikki ohjelman muuttujat tiedostoon. Parametri (parameter) on aliohjelmalle tai funktiolle pääohjelmasta välitettävä tieto. Funktiolla on usein myös palautusarvo (return value). Esimerkiksi MuutaMarkatEuroiksi-funktio voisi parametrin 100 saatuaan palauttaa arvon 16,82. Proseduuri (procedure) on yleisnimitys aliohjelmille ja funktioille. Kirjasto (library) on kokoelma tiettyyn aiheeseen liittyviä aliohjelmia ja funktioita. Esimerkiksi DirectX ja OpenGL ovat grafiikkakirjastoja: niiden ansiosta ohjelmoijalla on käytössään valmiit työkalut grafiikan piirtämiseksi näytölle.

3 Visual Basic -opas Osa 1 - 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ä. Tässä opassarjassa käytetään Visual Basicin versiota 6.0. Melkein kaikki esimerkit toimivat kuitenkin suoraan tai pienin muutoksin vanhemmilla versioilla. Sen sijaan VB.NETin opetteluun opassarja ei sovellu, koska kieli poikkeaa monilta osin Visual Basicin aiemmista versioista. Mielestäni VB.NETiin siirtymiseen ei ainakaan toistaiseksi ole syytä, vaan tavallinen Visual Basic riittää melkein kaikkiin tarkoituksiin paremmin kuin hyvin. Etuna VB.NETiin verrattuna on ohjelmien toimiminen vanhoissa käyttöjärjestelmissä. Ohjelmointiympäristö Seuraavassa kuvassa on Visual Basicin ohjelmointiympäristö perustilassa: Jokainen ohjelma on erillinen projekti, johon voi liittyä useita tiedostoja. Projektiin kuuluvat tiedostot näkyvät oikeassa yläkulmassa olevassa listassa. Tavallisin projektin osana oleva tiedosto on lomake (form), joka vastaa yhtä ohjelmaan kuuluvaa ikkunaa. Se

4 sisältää ikkunassa näkyvät painonapit, tekstikentät, vierityspalkit ja muut ohjaimet (controls). Tämän lisäksi lomakkeeseen kuuluu melkein aina ikkunaan liittyvää ohjelmakoodia. Kuvassa keskellä on muokkaustilassa oleva lomake sekä sen alapuolella koodi-ikkuna. Vasemman reunan työkalupalkissa on lomakkeelle lisättävät ohjaimet. Ohjain yksinkertaisesti piirretään lomakkeelle, minkä jälkeen sen sijaintia, kokoa ja ominaisuuksia (properties) pystyy muuttamaan. Ominaisuuksien muuttaminen tapahtuu ikkunan oikeassa laidassa olevan ominaisuuslistan avulla. Esimerkiksi komentopainikkeen ominaisuus Caption määrittää painikkeessa näkyvän tekstin. Myös lomakkeella on ominaisuuksia, joiden muuttaminen tapahtuu samalla tavalla. Ominaisuuksien lisäksi ohjaimiin ja lomakkeeseen liittyy tapahtumia (events) ja toimintoja (methods). Esimerkkinä komentopainikkeessa Click-tapahtumassa oleva koodi suoritetaan silloin, kun käyttäjä painaa nappulasta. Yksi painonappiin liittyvistä toiminnoista taas on SetFocus, joka aiheuttaa nappulan aktivoitumisen. Silloin muun muassa käyttäjän näppäinpainallukset ohjautuvat siihen. Ohjainten tapahtumat ohjaavat koko ohjelman suoritusta; näistä asioista tuleekin lisää tietoa oppassarjan seuraavassa osassa. Tavallinen ohjelma Nyt teemme pari yksinkertaista ohjelmaa. Lisää lomakkeelle ohjeteksti (Label), tekstikenttä (TextBox) ja painonappi (CommandButton). Ohjainten oletusnimet ovat Label1, Text1 ja Command1 ne saavat nyt kelvata. Kirjoita ohjetekstin Captionominaisuudeksi "Kirjoita nimesi:", tyhjennä tekstikentän Text-ominaisuus ja muuta vielä painonapin Caption-arvoksi "Paina!". Lopputuloksen pitäisi olla suurinpiirtein seuraavan kuvan kaltainen: Klikkaa sitten kahdesti lomakkeella olevaa nappia, jolloin koodi-ikkuna tulee esiin. Ikkunassa näkyy valmiiksi kirjoitettu koodi, joka on Command1-ohjaimen Clicktapahtuman pohja. Tämä koodi suoritetaan aina silloin, kun käyttäjä painaa nappia. Muuta koodia seuraavasti: ' tähän tullaan silloin, kun käyttäjä painaa Command1-nappia Private Sub Command1_Click() MsgBox "Terve, " & Text1.Text

5 Heittomerkillä alkavat rivit ovat ohjelmoijan omia kommentteja, jotka eivät vaikuta ohjelman suoritukseen. Nyt on ohjelman koeajon aika. Paina F5-näppäintä (tai nappularivistä oikealle osoittava nuolta tai Run-valikosta Start-kohtaa), jolloin ohjelma käynnistyy ja äsken tekemäsi ikkuna tulee näytölle. Kirjoita nimesi tekstikenttään ja paina nappia. Silloin näkyviin tulee pieni viesti-ikkuna, jossa on tervehdys ja kirjoittamasi nimi. Kun suljet ohjelman, palataan jälleen ohjelmointitilaan. Näkymätön ohjelma Seuraava ohjelma on hieman toisenlainen, sillä siinä ei ole lainkaan lomaketta eikä siis ikkunaa. Klikkaa lomakkeen nimestä projektilistalla, ja valitse sitten Project-valikosta Remove Form1. Nyt projektissa ei ole yhtään tiedostoa, mikä ei kuitenkaan käy päinsä. Lisää sen vuoksi moduuli (module) saman valikon kohdasta Add Module. Moduulissa voi olla ohjelman yhteisiä osia, joiden käyttäminen on mahdollista kaikista lomakkeista. Lisäksi on mahdollista tehdä näkymätön ohjelma, joka on kokonaan moduulissa. Näin me teemme nyt. Kirjoita moduuliin seuraava koodi: ' tähän tullaan heti ohjelman käynnistyessä Sub Main() MsgBox "Tässä ohjelmassa ei ole lainkaan ikkunaa!" Paina sitten F5, jolloin näkyviin tulee viesti-ikkuna. Heti sen jälkeen ohjelma sulkeutuu. Ohjelman suoritus alkaa automaattisesti moduulissa olevasta Main-osasta, koska projektissa ei ole mitään muita tiedostoja. Jos kuitenkin projektissa on muita tiedostoja, moduulialoitus täytyy erikseen valita Project-valikon alimmasta Properties-kohdasta. Ohjelman aloittava lomake tai moduuli valitaan Startup Object -listasta. Ohjelman kääntäminen Ohjelman kääntäminen tarkoittaa, että siitä tehdään itsenäinen, ajettava exe-tiedosto, jota voi käyttää toisella koneella ilman Visual Basicia. Ohjelma käännetään valitsemalla Filevalikosta kohta Make [nimi].exe. Ennen kääntämistä pääsee vielä vaikuttamaan ohjelman tietoihin ja käännökseen liittyviin asetuksiin painamalla tallennusikkunassa Optionsnappia. Jokainen Visual Basicilla tehty ohjelma vaatii toimiakseen koneelle asennetun ajonaikaisen kirjaston. Tiedoston nimi riippuu Visual Basicin versiosta, esimerkiksi kuutosversiolla tehty ohjelma ei toimi ilman MSVBVM60.DLL-tiedostoa. Ajonaikaisen kirjaston koko on sen verran suuri, ettei sitä yleensä kannata laittaa Internetistä ladattavan ohjelman mukaan. Sen sijaan kannattaa ilmoittaa osoite, josta kirjaston voi kopioida, jos käyttäjällä ei ole sitä valmiiksi koneellaan.

6 Tiedostojen päätteitä Seuraavassa taulukossa on tavallisia Visual Basicin tiedostopäätteitä: pääte selitys vbp projektitiedosto, joka sisältää kaikkien muiden projektiin kuuluvien tiedostojen nimet frm ikkunaa vastaava lomake, jossa on ohjaimet ja niihin liittyvät ominaisuudet sekä koodi frx sisältää lomakkeeseen liitetyn grafiikan (tästä ei tarvitse huolehtia itse) bas moduuli, jossa on yleisiä ohjelman osia; voi myös olla itsenäinen ohjelma cls luokka, joka vastaa pääosin moduulia, mutta on olio-ohjelmointia Tiedostot tallennetaan tavallisessa tekstimuodossa, minkä ansiosta niitä pystyy muokkaamaan millä tahansa tekstieditorilla. Osa 2 - Käyttöliittymä Melkein jokaiseen Windows-ohjelmaan kuuluu käyttöliittymä: käyttäjälle näkyvät ikkunat ja niiden sisällä olevat ohjaimet ja valikot. Visual Basicissa käyttöliittymän suunnittelu on helppoa, koska se tapahtuu suurimmaksi osaksi piirtämällä ja ikkuna on koko ajan näkyvillä lopullisessa muodossaan. Useimmat eri ohjainten ominaisuuksista ja tapahtumista ovat yhteisiä, ja niiden tarkoitusta ei ole vaikea päätellä. Tässä oppaassa käydään läpi tärkeimmät ohjaimet ja niiden yleisimmät käyttötarkoitukset. Lopuksi tulee vielä neuvoja käyttöliittymän suunnitteluun. Ominaisuudet, tapahtumat ja toiminnot Visual Basicin ohjaimiin liittyy monia ominaisuuksia, tapahtumia ja toimintoja. Eräät niistä ovat samoja melkein joka ohjaimessa, toiset taas erityisesti tiettyyn ohjaimeen kuuluvia. Jokaisella ohjaimella esimerkiksi on Name-ominaisuus, joka ilmoittaa ohjaimen nimen. Suurimman sallitun pituuden määräävä MaxLength sitä vastoin on pelkästään tekstikentän ominaisuus. Ominaisuuksia ovat muiden muassa ohjaimen nimi, sijainti ja koko, siinä näkyvä teksti tai kuva, väri ja fontti. Joitain ominaisuuksia voi muuttaa vain suunnittelutilassa ominaisuuslistan avulla, ja ohjelman suorituksen aikana niitä pystyy pelkästään lukemaan. Toiset ominaisuudet ovat käytössä vain ohjelman ollessa käynnissä, ja niitä ei ole edes näkyvissä ominaisuuslistassa. Seuraavassa on koodinpätkä, joka ensin muuttaa painonapin otsikon (Captionominaisuus) ja sitten näyttää sen viesti-ikkunassa.

7 Command1.Caption = "testi" MsgBox Command1.Caption Tapahtumia ovat esimerkiksi hiiren napsauttaminen ohjaimen yläpuolella tai näppäimen painaminen silloin, kun ohjain on aktiivinen. Tapahtuman yhteyteen voi kirjoittaa koodinpätkän, joka suoritetaan aina silloin, kun käyttäjä tai käyttöjärjestelmä aiheuttaa kyseisen tapahtuman. Koodi-ikkunassa valitaan yläreunan vasemmasta listasta ohjain ja oikeasta listasta sen tapahtuma. Visual Basic muodostaa automaattisesti tapahtuman pohjan. Seuraavan koodin avulla tulee näkyviin viesti-ikkuna, kun käyttäjä painaa nappia. Tapahtuma on silloin Click. Private Sub Command1_Click() MsgBox "Nyt painettiin nappia!" Toiminnot ovat koodista lähtöisin olevia viestejä ohjaimelle. Ohjaimen tiettyä toimintoa kutsutaan koodissa, jolloin ohjain itse pitää huolen lopusta. Toimintoja ei ole yhtä paljon kuin ominaisuuksia ja tapahtumia, ja ne saattavat esimerkiksi muuttaa ohjaimen paikkaa ja kokoa, asettaa ohjaimen aktiiviseksi tai lisätä vaikkapa listaohjaimeen uuden rivin. Seuraava koodi asettaa Command1-ohjaimen aktiiviseksi (painetut näppäimet ohjautuvat ensin siihen), kun käyttäjä napsauttaa lomaketta. Private Sub Form_Click() Command1.SetFocus Vaikka edellä puhuttiin vain ohjaimista, myös lomakkeella siis on ominaisuuksia, tapahtumia ja toimintoja. Sijainti ja koko Kun ohjain on piirretty lomakkeelle, sen sijaintia ja kokoa pystyy muuttamaan hiirellä. Useampia ohjaimia voi valita ympäröimällä ne hiiren avulla tai napsauttamalla jokaista Control-näppäin pohjassa. Ohjaimia voi myös kopioida näppäinyhdistelmillä Control + C ja Control + V (tai Shift + Insert). Jos ohjaimen piirtää kuvakehyksen tai kehyksen sisään, se liikkuu aina pääohjaimen mukana. Ohjaimen sijainnin ilmoittavat ominaisuudet ovat Left ja Top, etäisyys vasemmasta reunasta ja etäisyys yläreunasta. Koon ilmoittavat ominaisuudet ovat Width ja Height, leveys ja korkeus. Seuraavassa kuvassa on esitelty näitä ominaisuuksia:

8 Ohjaimen sijaintia ja kokoa voi muuttaa suoraan näiden ominaisuuksien kautta: Command1.Left = 300 Command1.Top = 300 Toinen tapa on käyttää Move-toimintoa: Command1.Move 300, 300 Visual Basicin oletusmittayksikkö on twip, jonka pituus on 1 / 567 senttimetriä. Myöhemmin tutustutaan muihin mittayksiköihin. Yhteisiä asioita Seuraavat ominaisuudet on lähes joka ohjaimella: Jokaisella ohjaimella on nimen ilmoittava Name-ominaisuus. Ohjaimeen viitataan aina nimen avulla, ja sitä ei pysty muuttamaan ohjelman ajon aikana. Jos ohjaimen Visible-ominaisuus on False, se ei näy lomakkeella. Jos taas Enabled-ominaisuus on False, ohjain näkyy harmaana ja sitä ei pysty valitsemaan. Ohjaimen taustaväri valitaan BackColor-ominaisuudella ja piirtoväri ForeColorominaisuudella. Fonttiin vaikuttaa Font-ominaisuus. MousePointer-ominaisuus määrittää hiiren kohdistimen kuvan ohjaimen yläpuolella. Esimerkiksi 0 on oletuskohdistin ja 11 on tiimalasi. Jos ominaisuuden arvo on 99, kuvan saa valita itse MouseIcon-ominaisuuden avulla. ToolTipText-ominaisuus määrittää tekstin, joka tulee näkyviin ohjaimen yläpuolelle vihjelaatikkoon, kun hiiri pysähtyy hetkeksi sen kohdalle. Tavallisia tapahtumia ovat Click ja DblClick, joihin tullaan silloin, kun käyttäjä klikkaa ohjainta kerran tai kahdesti. Myös Enterin tai välilyönnin painaminen ohjaimen ollessa valittuna tulkitaan klikkaukseksi.

9 Seuraavaksi käydään läpi kaikki tavalliset ohjaimet ja niiden erityispiirteet. Lomake ja MDI-lomake Lomake (Form) on tavallinen ikkuna, MDI-lomake (MDI form) taas on koko ohjelman pääikkuna, jonka sisällä voi olla useampia ali-ikkunoita. Esimerkiksi monissa tekstinkäsittelyohjelmissa auki olevat tekstit ovat tällaisia ali-ikkunoita. Jos lomakkeen MDIChild-ominaisuus on True, se kuuluu MDI-lomakkeeseen. Seuraavassa on lomakkeeseen liittyviä ominaisuuksia: BorderStyle vaikuttaa ikkunan reunukseen ja esimerkiksi siihen, pystyykö ikkunan kokoa muuttamaan. Caption on ikkunan otsikkorivillä näkyvä teksti. Jos ControlBox on False, otsikkorivillä ei ole ohjelman kuvaketta eikä painikkeita. Jos MaxButton tai MinButton on False, suurennus- tai pienennyspainike ei ole käytössä. Icon määrittää ohjelman kuvakkeen, joka näkyy ikkunan vasemmassa ylänurkassa. WindowState ilmoittaa, onko ikkuna tavallinen, pienennetty vai suurennettu. Jos viitataan sen lomakkeen ominaisuuteen tai toimintoon, johon koodi on kirjoitettu, voidaan lomakkeen nimi korvata sanalla Me tai jättää kokonaan pois. Siksi Form1.Caption, Me.Caption ja Caption tarkoittavat kaikki samaa, jos koodi on kirjoitettu Form1:seen. Uusi ikkuna avataan näytölle komennolla OmaFormi.Show ja ikkuna suljetaan komennolla Unload OmaFormi. Komento End sulkee kaikki ikkunat ja poistuu ohjelmasta. Toisen lomakkeen ohjaimiin pääsee käsiksi kirjoittamalla alkuun lomakkeen nimen, esimerkiksi Form2.Command1.Caption. Ennen kuin lomake tulee näkyviin näytölle, siirrytään Load-tapahtumaan, johon kannattaa kirjoittaa kaikki alkutoimenpiteet. Vastaavasti Unload-tapahtuma suoritetaan aina viimeisenä. Activate-tapahtuma on silloin, kun lomake on jo näkyvillä, mutta se muuttuu aktiiviseksi. Kun lomakkeen koko muuttuu, siirrytään Resize-tapahtumaan. Seuraava koodi siirtää ikkunan näytön keskelle heti aluksi. Paikka lasketaan näytön leveyden ja lomakkeen leveyden perusteella. Private Sub Form_Load() Me.Left = Screen.Width / 2 - Me.Width / 2 Me.Top = Screen.Height / 2 - Me.Height / 2 Tämä koodi estää ohjelman lopettamisen Unload-tapahtumassa asettamalla Cancelarvoksi True. Jumittuneen ohjelman sammuttaminen on kuitenkin Visual Basicissa aina mahdollista painamalla Control + Break, ja käännettyyn ohjelmaan tehoaa vanha kunnon Control + Alt + Delete.

10 Private Sub Form_Unload(Cancel As Integer) MsgBox "Eipäs lopukaan!" Cancel = True Ohjeteksti Ohjeteksti (LabelBox) näyttää tavallista tekstiä lomakkeella. Teksti valitaan Captionominaisuudella. Jos AutoSize on True, ohjaimen koko muuttuu tekstin pituuden mukaan. Jos samaan aikaan WordWrap on True, tekstin leveys pysyy vakiona, mutta rivejä tulee tarvittaessa lisää. Tekstikenttä Tekstikenttä (TextBox) on tekstin kirjoittamiseen tarkoitettu alue, jossa toimivat tavalliset muotoilukomennot. Kirjoitettu teksti on Text-ominaisuudessa. Tekstin maksimipituuden voi määrittää MaxLength-ominaisuudella, ja jos tämä arvo on 0, teksti voi olla kuinka pitkä tahansa. Tekstikenttä voi olla joko yksirivinen tai monirivinen. Jos rivejä tarvitaan enemmän, MultiLine-ominaisuuden arvoksi laitetaan True. Vierityspalkit valitaan silloin ScrollBars-ominaisuuden avulla. Tekstikenttää voi käyttää myös salasanan kysymiseen, jolloin PasswordChar on kirjoitetut merkit korvaava peitemerkki, tavallisesti tähti. Tekstikenttään kirjoittamisen voi lisäksi estää laittamalla Locked-ominaisuuden arvoksi True. Aina, kun tekstikentän teksti muuttuu, tulee Change-tapahtuma. Seuraavassa esimerkissä tekstikenttään kirjoitettu teksti kopioituu välittömästi ikkunan otsikkoriville. Private Sub Text1_Change() Me.Caption = Text1.Text Painonappi Painonapissa (CommandButton) on tavallisesti tekstiä, joka valitaan Captionominaisuuden avulla. Jos kuitenkin Style on 1, siihen voi myös valita kuvan Pictureominaisuuteen. Jos Default-ominaisuus on True, painonappi on tummennettuna ja jatkuvasti aktiivisena. Kun käyttäjä klikkaa nappia, tulee Click-tapahtuma. Kehys Kehykseen (Frame) voi järjestellä toisiinsa liittyviä ohjaimia, ja kun ohjaimet piirtää kehyksen sisään, ne myös liikkuvat sen mukana. Caption-ominaisuus määrää kehyksen vasemmassa yläreunassa olevan otsikon, jota välttämättä ei tarvitse laittaa. Kuvakehys ja kuva

11 Kuvakehys (PictureBox) on monipuolinen ohjain, joka vastaa monilta osin lomaketta. Kuvakehykseen piirretyt ohjaimet liikkuvat sen mukana. Kuvan voi valita Pictureominaisuudella, ja tuettuja kuvamuotoja ovat muiden muassa bmp, ico, gif, jpg ja wmf. Jos pelkkä kuvan näyttäminen riittää, kannattaa kuitenkin valita kuva-ohjain (Image), joka kuluttaa vähemmän muistia. Silloin myös kuvan läpinäkyvä tausta näkyy oikein, ja jos Stretch-ominaisuus on True, kuvaa pystyy venyttämään ja kutistamaan. Valintalistat Valintalistoja on kahdenlaisia: tavallinen lista (ListBox) ja yhteen riviin mahtuva alasvetolista (ComboBox). Molempiin lisätään rivejä AddItem-toiminnolla ja poistetaan rivejä RemoveItem-toiminnolla, Clear-toiminto tyhjentää listan. Valittu rivi selviää ListIndex-ominaisuudesta, rivin sisältö Text- tai List-ominaisuudesta ja rivien määrä ListCount-ominaisuudesta. Jos Sorted-ominaisuuden arvo on True, lista järjestellään automaattisesti. Tavallisen listan voi toteuttaa niin, että samalla kertaa pystyy valitsemaan useamman rivin. Tämä on mahdollista kahdella tavalla: MultiSelect- tai Style-ominaisuuden avulla. Ensimmäisessä tapauksessa lista näyttää tavalliselta, mutta useamman rivin valitseminen on mahdollista Control-näppäimen avulla. Toisessa tapauksessa jokaisen rivin alussa on valintaruutu. Toteutustavasta riippumatta SelCount-ominaisuus kertoo valittujen rivien määrän ja Selected-ominaisuus ilmoittaa yksittäisen rivin tilan. Alasvetolista tuntee myös Style-ominaisuuden, mutta käyttötapa on eri. Jos Style on 0, alasvetolista toimii tavallisesti. Jos Style on 1, lista ei ole näkyvissä, vaan vaihtoehtoja voi kelata nuolinäppäimillä. Ja jos Style on 2, alasvetolistaan ei voi kirjoittaa itse, vaan valinta on tehtävä valmiista vaihtoehdoista. Toinen tapa estää kirjoittaminen on käyttää Locked-ominaisuutta. Seuraavassa esimerkissä lomakkeella on lista List1 ja painonapit Command1 ja Command2. Aluksi listaan lisätään kolme riviä. Kun käyttäjä painaa ensimmäisestä napista, valittu kohta poistetaan listalta. Kun käyttäjä painaa toisesta napista, kaikki listan rivit näytetään vuorotellen viesti-ikkunassa. Private Sub Form_Load() List1.AddItem "Eka rivi" List1.AddItem "Toka rivi" List1.AddItem "Kolmas rivi" Private Sub Command1_Click() If List1.ListIndex <> -1 Then List1.RemoveItem List1.ListIndex End If Private Sub Command2_Click() Dim i As Integer For i = 0 To List1.ListCount - 1 MsgBox List1.List(i) Next

12 Jos ListIndex on -1, mitään riviä ei ole valittu. Siksi listalta poistetaan rivi vain, jos ListIndex on joku muu kuin -1. Koska listan rivien numerointi alkaa nollasta, rivien määrä on yhtä suurempi kuin viimeisen rivin tunnus. Tämän takia rivejä näytettäessä käydään läpi rivit nollasta yhtä pienempään kuin ListCount. Valintaruutu ja -nappi Valintaruutuja (CheckBox) voi olla valittuna samaan aikaan useampia; valintanappeja (OptionButton) vain yksi. Jos valintaruudun Value on 1, se on valittu. Saman lomakkeen, kehyksen tai kuvakehyksen sisällä olevat valintanapit kuuluvat samaan sarjaan, jolloin niistä vain yksi voi olla valittuna. Jos valintanapin Value on True, se on valittu. Vierityspalkit Vierityspalkkeja on kahdenlaisia: vaakasuuntaisia (VScrollBar) ja pystysuuntaisia (HScrollBar). Molemmat toimivat samalla tavalla. Min on pienin arvo, Max suurin arvo ja Value senhetkinen arvo. Lisäksi SmallChange on muutoksen suuruus silloin, kun painetaan vierityspalkin päissä olevaa nuolta ja LargeChange on muutoksen suuruus silloin, kun painetaan vierityspalkin taustaa. Change-tapahtuma suoritetaan aina arvon muuttuessa ja Scroll-tapahtuma silloin, kun käyttäjä muuttaa arvoa hiirellä vetämällä. Seuraavassa esimerkissä on pystysuora vierityspalkki VScroll1, jonka Min-ominaisuus on 0 ja Max-ominaisuus on 255. Valittu arvo tulee näkyviin ikkunan otsikkoriville, ja taustaväri myös muuttuu sen mukaan. Kun väri valitaan RGB-muodossa, jokainen värisävy (punainen, vihreä ja sininen) ilmoitetaan väliltä Private Sub VScroll1_Change() Me.Caption = VScroll1.Value Me.BackColor = RGB(0, 0, VScroll1.Value) Tiedostolistat Asemalistan (DriveListBox), hakemistolistan (DirListBox) ja tiedostolistan (FileListBox) avulla pystyy toteuttamaan tiedoston valinnan. Asemalistan asema on ominaisuudessa Drive, hakemistolistan ja tiedostolistan hakemisto on ominaisuudessa Path ja valitun tiedoston nimi on ominaisuudessa FileName. Näytettäviä tiedostoja voi rajoittaa Pattern-ominaisuuden avulla: esimerkiksi "*.txt" näyttää tiedostolistassa vain tekstitiedostot. Seuraava esimerkki kytkee asema-, hakemisto- ja tiedostolistan yhteen. Private Sub Drive1_Change() Dir1.Path = Drive1.Drive Private Sub Dir1_Change() File1.Path = Dir1.Path

13 Seuraava koodi näyttää tiedoston nimen hakemistopolun kanssa, kun käyttäjä napsauttaa tiedostoa listalla. Tässä pitää ottaa huomioon, että jos valittu hakemisto on juurihakemisto, kenoviiva on valmiiksi mukana hakemiston nimessä, mutta muuten se täytyy erikseen lisätä. Private Sub File1_Click() If Right(Dir1.Path, 1) = "\" Then MsgBox Dir1.Path & File1.FileName Else MsgBox Dir1.Path & "\" & File1.FileName End If Ajastin Ajastin (Timer) ei ole näkyvä ohjain. Sen tehtävänä on suorittaa Timer-tapahtumaan kirjoitettu koodi Interval-arvon määrittämin väliajoin. Interval-arvo ilmoitetaan millisekunteina, ja suurin mahdollinen arvo on millisekuntia eli 65,5 sekuntia. Pienin arvo riippuu käyttöjärjestelmästä: Windows 95, 98 ja ME suorittavat tapahtuman korkeintaan 18 kertaa sekunnissa, jolloin pienin todellinen arvo on noin 55 millisekuntia. Windows NT:llä, 2000:lla ja XP:llä pienin arvo on 10 ja 20 millisekunnin välillä. Seuraavassa esimerkissä lomakkeella on Timer1-ajastin, jonka Interval on Tuloksena on joka sekunti päivittyvä kello ikkunan otsikkopalkissa. Private Sub Timer1_Timer() Me.Caption = Time Lisää ohjaimista Grafiikan piirtoon tarkoitetut ohjaimet kuvio (Shape) ja viiva (Line) käsitellään opassarjan viidennessä osassa samoin kuin muiden ohjainten grafiikkaan liittyvät ominaisuudet, tapahtumat ja toiminnot. Kahdeksannessa osassa perehdytään tarkasti näppäimistön ja hiiren käsittelyyn. Oletusominaisuudet Kullakin ohjaimella on oletusominaisuus, johon viitataan silloin, kun kirjoitetaan pelkästään ohjaimen nimi. Tekstikentän oletusominaisuus esimerkiksi on Text, jolloin Text1.Text ja Text1 tarkoittavat samaa asiaa. Oletusominaisuuksien käyttö hieman lyhentää koodia, mutta samalla vaikeuttaa sen lukua. Tekstikentän lisäksi Label1.Caption korvataan toisinaan Label1 ja Picture1.Picture korvataan Picture1. Muita oletusominaisuuksia käytetään ani harvoin. Valikot Valikot luodaan erillisellä editorilla, joka käynnistyy valitsemalla Tools-valikosta Menu Editor tai klikkaamalla vastaavaa kuvaketta työkalurivillä. Jokaisella valikkokohdalla on

14 otsikko ja nimi, ja ne näkyvät peräkkäin listalla. Ensimmäisen tason valikkokohdat näkyvät ikkunan yläreunassa, ja niistä avautuvat alemmat valikkotasot. Valikkokohdalla on Click-tapahtuma. Mahdollinen pikanäppäin valitaan Shortcut-listasta. Jos valikkokohdan Checkedominaisuus on True, tekstin vieressä näkyy valintamerkki. Jos WindowList-ominaisuus on True, valikon lopussa näkyy automaattisesti MDI-ikkunan sisällä olevat ali-ikkunat. Yksinkertainen valikko näyttää seuraavalta valikkoeditorissa: Testi Eka Toka AliEka AliToka Kolmas Ja ohjelmassa se näyttää tältä: Jos valikkokohdan nimenä on pelkkä "-", valikkoon tulee näkyviin erotusviiva. Jos valikossa on valittavia kohtia, niiden Checked-ominaisuuden muuttumisesta täytyy huolehtia itse. Seuraavassa esimerkissä on kolme valikkokohtaa, mhelppo, mtavallinen ja mvaikea, joiden otsikot ovat vastaavasti "Helppo", "Tavallinen" ja "Vaikea". Vain yksi kohta voi kerrallaan olla valittuna. Tämä voisi olla osa pelin asetusvalikkoa. Private Sub Form_Load() mtavallinen.checked = True Private Sub mhelppo_click() mhelppo.checked = True mtavallinen.checked = False mvaikea.checked = False Private Sub mtavallinen_click() mhelppo.checked = False mtavallinen.checked = True mvaikea.checked = False Private Sub mvaikea_click() mhelppo.checked = False mtavallinen.checked = False mvaikea.checked = True

15 Käyttöliittymän suunnittelu Käyttöliittymän suunnittelussa kannattaa kokeilla erilaisia vaihtoehtoja ja ottaa mallia valmiista ohjelmista. Hyvää ohjelmaa voi myös helposti käyttää näppäimistöllä. Tässä on muutamia vinkkejä suunnitteluun. Vierekkäin olevat ohjaimet kannattaa sijoittaa samalle linjalle, missä auttaa lomakkeella näkyvä piirtokehikko. Lisäksi esimerkiksi vierekkäiset painonapit näyttävät yleensä parhailta samankokoisia. Samaan asiaan liittyvät ohjaimet on hyvä ryhmitellä kehyksiin. Ohjainten väliin kannattaa myös jättää reilusti tyhjää tilaa, jotta ikkuna ei näytä ahtaalta. Kun käyttäjä painaa Tab-näppäintä, ohjaimet aktivoituvat vuorotellen tietyssä järjestyksessä. Oletuksena järjestys on sama kuin ohjainten piirtojärjestys, mutta TabIndex-ominaisuuden avulla sitä voi muuttaa. Ohjainten TabIndexominaisuudet valitaan järjestyksessä nollasta alkaen. Jos TabStop-ominaisuuden arvo on False, ohjainta ei voi lainkaan aktivoida tällä tavalla. Pikanäppäin valitaan kirjoittamalla Caption-tekstiin halutun kirjaimen eteen &- merkki. Tämän seurauksena seuraava kirjain muuttuu alleviivatuksi, ja ohjaimen pystyy aktivoimaan Alt + kirjain näppäinyhdistelmällä. Jos pikanäppäin osoittaa ohjetekstiin tai kehykseen, aktivoituva ohjain on Tab-järjestyksessä seuraava. Jos tekstiin haluaakin todella kirjoittaa &-merkin, niitä täytyy kirjoittaa kaksi. Valikkokohtien pikanäppäimet kannattaa valita samoiksi kuin muissa ohjelmissa, esimerkiksi F1 näyttää ohjeen ja F2 aloittaa uuden pelin. Jos valikkokohdasta aukeaa uusi ikkuna, otsikon perään on tapana kirjoittaa kolme pistettä, esimerkiksi "Asetukset...". Osa 3 - Muuttujat ja taulukot Muuttuja on tietokoneen muistissa oleva varattu paikka, johon voi tallentaa erilaista tietoa. Muuttujalla on tyyppi, joka ilmaisee siihen tallennettavan tiedon laadun: käyttäjän nimi esimerkiksi tallennetaan merkkijonomuuttujaan ja laskutoimituksen tulos lukumuuttujaan. Jos ohjelmassa on paljon samankaltaisia muuttujia, niistä kannattaa yleensä tehdä taulukko. Yhdessä taulukossa voisi vaikkapa olla kaikkien Euroopan maiden nimet ja pääkaupungit. Tässä oppaassa käsitellään muuttujia, taulukoita ja omia muuttujatyyppejä. Muuttujatyypit Visual Basicin tavalliset muuttujatyypit ovat String (merkkijono), Byte, Integer ja Long (kokonaisluku), Single ja Double (liukuluku), Currency (desimaaliluku), Boolean (totuusarvo), Date (päivämäärä) ja Object (objekti). Lisäksi on olemassa muuttujatyyppi

16 Variant, joka voi edustaa mitä tahansa muuttujatyyppiä. Muuttujan tyyppi muuttuu silloin tilanteen mukaan. Merkkijono eli String ($) on joko muuttuvan tai määrätyn pituinen. Jos pituus määrätään, se kirjoitetaan muuttujatyypin perään tähtimerkin kanssa. Esimerkiksi String * 10 tarkoittaa kymmenen merkin pituista muuttujaa. Merkkijonot kirjoitetaan lainausmerkkien sisään, ja niiden yhdistäminen tapahtuu &-merkin avulla. Jos merkkijonon osana on lainausmerkit, ne täytyy kirjoittaa kahteen kertaan. Esimerkkejä: "esimerkki" "yhdistetty " & "merkkijono" "kokeilu ""lainausmerkkien"" käytöstä" Kokonaislukuja ovat Byte, Integer (%) ja Long (&). Byte-muuttuja on yhden tavun kokoinen, ja siihen voi sijoittaa luvun väliltä Integer-muuttuja on kahden tavun kokoinen, ja siihen mahtuu luku väliltä Long-muuttujan koko taas on neljä tavua, ja arvoalue on välillä Lukujen yhteydessä voi käyttää merkintöjä +, -, *, /, \ (kokonaislukujakolasku), Mod (jakojäännös) ja ^ (potenssi) sekä sulkeita. Lukuja voi myös yhdistää merkkijonoon &- merkin avulla. Esimerkkejä: * (7 + 2) 50 & "-vuotias" Liukulukuja ovat Single (!) ja Double (#), ja niiden koot ovat vastaavasti neljä ja kahdeksan tavua. Single-muuttujan pienin arvo on -3,4 * ja suurin arvo on 3,4 * Double-muuttujan pienin arvo taas on -1,8 * ja suurin arvo 1,8 * Liukuluku voi sisältää kokonaisosan lisäksi desimaaleja, mutta pyöristysvirheiden vuoksi tuloksen viimeisiin desimaaleihin ei ole luottamista. Desimaalipilkun merkkinä on piste, ja liukulukuja voi yhdistellä samalla tavalla kuin kokonaislukujakin. Esimerkkejä: Desimaaliluvun tallennusmuoto on Currency (@), jonka koko on kahdeksan tavua. Currency-muuttuja voi sisältää luvun, jonka kokonaisosan pituus on 15 merkkiä ja desimaaliosan pituus neljä merkkiä. Liukuluvuista poiketen desimaalilukujen kanssa ei tapahdu pyöristysvirheitä, koska ne on todellisuudessa tallennettu kokonaislukuina. Yhdistelykeinot ovat jälleen samat edellisten lukumuuttujatyyppien kanssa. Totuusarvo eli Boolean on joko True (tosi) tai False (epätosi). Boolean-tyyppisellä muuttujalla on siis vain kaksi tilaa. Lukumuuttujien lopputunnuksia (%, &,!, tarvitaan silloin, kun muuttujan tyyppi

17 täytyy tuoda esille laskutoimituksen keskellä. Esimerkiksi lasku 300 * 300 aiheuttaa virheen, koska tulos ei mahdu oletuksena olevaan Integer-tyyppiin. Siksi pitää kirjoittaa 300& * 300&, jolloin virhettä ei tule. Muuttujan määrittely Ennen kuin muuttujaa voi käyttää ohjelmassa, se täytyy määritellä esimerkiksi Dimlauseella. Muuttujan nimessä voi olla kirjaimia ja numeroita, mutta sen kuitenkin täytyy alkaa kirjaimella. Isoilla ja pienillä kirjaimilla ei ole merkitystä muuttujan nimessä. Tässä on muutamia muuttujamäärittelyitä: Dim nimi As String Dim vuosi As Integer Dim korkeus As Single ' merkkijonomuuttuja ' kokonaislukumuuttuja ' liukulukumuuttuja Kaikki määrittelyt voisi myös yhtä hyvin kirjoittaa samalle riville: Dim nimi As String, vuosi As Integer, korkeus As Single Muuttujan arvo määrittelyn jälkeen on tyhjä tai nolla. Arvon muuttaminen käy näin: nimi = "Antti" vuosi = 2004 pituus = 5 * 3.2 pituus = pituus +.5 ' muuttujan arvoksi tulee merkkijono ' muuttujan arvoksi tulee luku ' muuttujan arvoksi tulee laskun tulos ' muuttujan arvo lasketaan muuttujan perusteella Muuttujan arvon voi sitten näyttää vaikka viesti-ikkunassa: MsgBox "Nyt on vuosi " & vuosi Määrittelypakko Seuraava rivi kannattaa kirjoittaa jokaisen kooditiedoston alkuun: Option Explicit Tämä tarkoittaa sitä, että muuttujat täytyy aina määritellä ennen niiden käyttöä. Tavallisesti nimittäin muuttujia pystyy käyttämään ilman määrittelyä, ja ne ovat automaattisesti Variant- eli muuttuvan tyyppisiä. Näin ei kuitenkaan vaivattomuudesta huolimatta kannata tehdä. Silloin kääntäjältä jäävät näet huomaamatta muuttujien nimien kirjoitusvirheet, jotka saattavat aiheuttaa hankalasti löydettäviä virheitä. Varianttyyppinen muuttuja myös vie enemmän tilaa muistissa kuin yksikään toinen muuttuja. Muuttujan näkyvyysalue Muuttujan näkyvyysalue tarkoittaa sitä ohjelman osaa, jossa muuttujan arvo on näkyvissä ja käytettävissä. Lomakkeella ja moduulissa olevassa koodissa on kaksi osaa: alussa olevat määrittelyt ja proseduurien sisällä oleva koodi. Proseduuri on yleisnimitys tapahtumille, aliohjelmille ja funktioille (kahdesta viimeisestä lisää opassarjan

18 kuudennessa osassa). Seuraava koodi-ikkunasta otettu kuva selventää asiaa: Proseduurin sisällä muuttuja määritellään komennolla Dim, ja muuttujan arvo ei ole näkyvissä proseduurin ulkopuolella. Muuttujan voi myös määritellä komennolla Static, jolloin sen arvo säilyy muuttumattomana, vaikka proseduurista välillä poistuttaisiinkin. Seuraavassa esimerkissä lomakkeella on Command1-nappi, jonka Click-tapahtumassa on sisäinen laskuri. Napista painettaessa laskurin arvo kasvaa yhdellä ja tulos näkyy viesti-ikkunassa. Private Sub Command1_Click() Static laskuri As Integer laskuri = laskuri + 1 MsgBox laskuri Koodin alussa määrittely Private tai Dim tarkoittaa, että muuttujan arvo on näkyvissä vain kyseisen lomakkeen tai moduulin proseduureissa. Jos taas määrittely on Public tai Global, muuttujan arvo näkyy kaikissa ohjelmaan kuuluvissa lomakkeissa ja moduuleissa. Tällaisia muuttujia kutsutaan yleisiksi muuttujiksi. Moduulissa määriteltyyn yleiseen muuttujaan voi viitata kaikista ohjelman osista suoraan muuttujan nimellä, mutta lomakkeessa määritellyn muuttujan eteen täytyy kirjoittaa lomakkeen nimi ja piste. Seuraavassa esimerkissä Command1 muuttaa muuttujan arvoa ja Command2 näyttää sen. Dim aika As String Private Sub Command1_Click() aika = Time Private Sub Command2_Click() MsgBox aika Luvut ja merkkijonot Luvut voi tavallisen kymmenjärjestelmän lisäksi esittää 16-järjestelmässä, jolloin niiden eteen laitetaan &H-tunnus. Esimerkiksi 16 ja &H10 tarkoittavat samaa lukua. Funktio Val muuttaa merkkijonon luvuksi ja Str vastaavasti luvun merkkijonoksi. Lisäksi funktio Int muuttaa luvun kokonaisluvuksi. Kuitenkaan muutosfunktioita ei tavallisesti tarvitse käyttää, koska Visual Basic huolehtii muutoksista itse. Seuraavassa esimerkissä viestiikkunassa näkyy luvun kokonaisosa.

19 Dim luku As Single luku = MsgBox Int(luku) Luvun muuttaminen kokonaisluvuksi niin, että pyöristys menee oikein, tapahtuu Roundfunktiolla. Funktion toisena parametrina voi olla desimaalien määrä. Esimerkiksi Round(15.7) = 16 ja Round(1.2345, 2) = Vakioiden käyttö Esimerkiksi euron ja markan suhde on muuttumaton luku, joka voidaan esittää muuttujan lisäksi myös vakion avulla. Vakion määrittely kirjoitetaan koodin alkuun Constlauseella, ja siihen voi liittyä yleisen muuttujan tavoin näkyvyysalueen rajaus Privatetai Public-alkumäärityksellä. Private Const EUROKERROIN = Nyt koodissa voidaan varsinaisen lukuarvon sijaan kirjoittaa vakion nimi. Dim markat As Currency, eurot As Currency markat = 30 eurot = markat / EUROKERROIN Vakioiden käytön etuna on se, että koodi näyttää selvemmältä. Ja jos vakion arvo myöhemmin vaihtuu, muutos täytyy tehdä vain vakion määrittelyyn. Muuttujaan verrattuna vakio ei kuluta ylimääräistä tilaa muistissa, koska arvot muutetaan lopullisiksi jo ohjelman käännösvaiheessa. Taulukko useampia muuttujia yhdessä Jos ohjelman täytyisi käsitellä vaikkapa kymmenen henkilön nimiä, yksi tapa olisi tallentaa nimet erillisiin merkkijonomuuttujiin. Muuttujien määrittely näyttäisi silloin seuraavalta: Dim nimi1 As String, nimi2 As String, nimi3 As String, nimi4 As String, nimi5 As String Dim nimi6 As String, nimi7 As String, nimi8 As String, nimi9 As String, nimi10 As String Näin monen muuttujan käsittely on kuitenkin ongelmallista. Paljon parempi tapa onkin määritellä yksi taulukko, johon mahtuvat kaikki kymmenen muuttujaa. Taulukon määrittely muistuttaa tavallisen muuttujan määrittelyä, mutta taulukon nimen jälkeen sulkujen sisään tulee tieto siinä olevien muuttujien eli alkioiden määrästä. Dim nimet(1 To 10) As String Nyt taulukon alkioihin voi viitata seuraavalla tavalla: nimet(1) = "Risto" MsgBox nimet(1)

20 Jos taulukon alkioiden määrän alarajaa ei ilmoiteta, se on oletuksena nolla. Taulukossa voi myös olla useampia ulottuvuuksia, jotka erotetaan sulkujen sisällä pilkuilla. Äsken määritelty nimitaulukko oli yksiulotteinen, ristinollan ruudukon sisältävä taulukko taas olisi kaksiulotteinen. Taulukossa voi olla useita kymmeniä ulottuvuuksia, mutta yleensä tarvitaan korkeintaan kolmea ulottuvuutta. Esimerkkejä erilaisista taulukoista: ' sisältää alkiot 0-8 Dim tiedot(8) As String ' sisältää alkiot Dim vuodet(1995 To 2005) As Long ' sisältää yhteensä 100 alkiota Dim ruudukko(1 To 10, 1 To 10) As Integer Ulottuvuuksia voi ajatella myös niin, että jokaista ensimmäisen tason alkiota kohden on tietty määrä toisen tason alkioita, joita kohden taas on tietty määrä kolmannen tason alkioita jne. Tämän vuoksi taulukon alkioiden määrä kasvaa nopeasti, kun ulottuvuuksia tulee lisää. Esimerkiksi taulukossa, jonka määritelty koko on (1 To 5, 1 To 8, 1 To 7), on yhteensä 5 * 8 * 7 = 280 alkiota. Muuttuvankokoinen taulukko Toisinaan ei etukäteen tiedetä, kuinka monta alkiota taulukossa täytyy olla. Silloin taulukko määritellään ilmoittamatta sen kokoa. Myöhemmin, kun tarvittava alkioiden määrä on tiedossa, taulukon kokoa voidaan muuttaa ReDim-komennolla. Seuraavassa esimerkissä taulukon alkioiden määrä päätetään maara-muuttujan perusteella. Tavallisessa taulukon määrittelyssä ei olisi mahdollista käyttää muuttujaa. Dim kaupungit() As String maara = 5 ReDim kaupungit(maara) As String kaupungit(3) = "Helsinki" Ohjaintaulukot Lomakkeella olevia ohjaimia voi myös järjestää taulukoihin. Yhdessä taulukossa voi kuitenkin olla vain samanlaisia ohjaimia. Kaikkien taulukkoon kuuluvien ohjainten nimi on sama, mutta Index-arvot poikkeavat toisistaan. Näin määritetään nollasta alkavat ohjainten järjestysnumerot eli indeksit taulukossa. Jos ohjaimet ovat valmiiksi lomakkeella, muutetaan kunkin nimi samaksi, jolloin indeksit järjestyvät automaattisesti. Jos taas ohjaimia ei vielä ole, riittää, että samaa ohjainta kopioidaan lomakkeelle tarvittava määrä. Molemmissa tapauksissa pitää vastata myöntävästi kysymykseen Do you want to create a control array?. Taulukossa oleviin ohjaimiin viitataan samalla tavalla kuin tavallisen taulukon alkioihin: Command1(0).Caption = "Paina!" Saman taulukon ohjaimilla on yhteinen tapahtumakäsittely. Uuden Index-muuttujan avulla selviää, mikä taulukon ohjain on kulloinkin kyseessä.

21 Private Sub Command1_Click(Index As Integer) MsgBox "Painoit napista " & Index Lisäksi on mahdollista luoda kokonaan uusia ohjaimia, kunhan lomakkeella on valmiiksi ainakin yksi ohjain, jonka Index-arvo on määritelty. Uusi ohjain luodaan Loadkomennolla. Tämän jälkeen muutetaan yleensä ainakin ohjaimen paikkaa ja näkyvyyttä, koska uuden ohjaimen Visible-ominaisuus on False. Tässä esimerkissä lomakkeella on suunnitteluvaiheessa vain painonappi (Command1, jonka Index on 0), mutta heti ohjelman alussa lomakkeelle ilmestyy toinen samanlainen nappi. ' luodaan uusi nappi Load Command1(1) ' määritetään napin paikka Command1(1).Move 1000, 1000 ' muutetaan nappi näkyväksi Command1(1).Visible = True Oma muuttujatyyppi Muuttujatyyppejä voi tehdä myös itse. Oma muuttujatyyppi muodostuu Visual Basicin valmiista muuttujatyypeistä sekä mahdollisesti myös toisista omista muuttujatyypeistä. Muuttujatyypin määrittely kirjoitetaan koodin alkuun, ja sen yhteydessä voi käyttää samalla tavalla Private- ja Public-avainsanoja kuin muuttujien määrittelyssä. Seuraavassa määritellään oma tkirja-tyyppi, joka sisältää kirjan nimen, tekijän, painovuoden ja ISBN-numeron. Private Type tkirja nimi As String tekija As String vuosi As Integer isbn As String End Type Tämän jälkeen koodissa voi määritellä tkirja-tyyppisen muuttujan ja tallentaa siihen kirjan tiedot. Tiedon erotusmerkkinä on piste. Dim kirja As tkirja kirja.nimi = "Sinuhe egyptiläinen" kirja.tekija = "Mika Waltari" kirja.vuosi = 1975 kirja.isbn = " " MsgBox "Kirjan nimi on " & kirja.nimi Vähemmän kirjoittamista Jos peräjälkeen muutetaan saman muuttujan useita tietoja, voidaan käyttää With-lausetta, jolloin muuttujan nimeä ei tarvitse kirjoittaa aina erikseen. With kirja.nimi = "Sinuhe egyptiläinen".tekija = "Mika Waltari".vuosi = 1975.isbn = " " End With

22 Sama tekniikka toimii myös ohjainten kanssa. With Command1.Caption = "Paina!".Move 1000, 1000.Visible = True End With Osa 4 - Ehdot ja silmukat Ehdot aiheuttavat muutoksia ohjelman suoritukseen: niiden kohdalla ohjelma voi haarautua tai myös pysähtyä. Silmukoita käytetään silloin, kun samaa koodia pitää toistaa tietyn ehdon toteutumiseen asti tai kun käydään esimerkiksi läpi kaikki taulukossa olevat tiedot. Sekä ehdot että silmukat perustuvat lausekkeisiin, joiden arvo on tosi tai epätosi. Niiden avulla päätetään, mikä koodiosuus suoritetaan tai milloin silmukasta siirrytään pois. Ehdot ja silmukat eivät ole hankalia, mutta yhdessä käytettynä niistä pystyy muodostamaan monimutkaisen ohjelman. Todet ja epätodet lausekkeet Ohjelmaan kuuluvilla luvuilla, merkkijonoilla ja muuttujilla on kullakin oma arvonsa. Lauseke on yksi tällainen arvo yksinään tai useamman arvon yhdistelmä esimerkiksi laskutoimituksena. Kun lausekkeita vertaillaan keskenään, saadaan tuloksena totuusarvo, joka on joko tosi (True) tai epätosi (False). Vertailut ovat = (yhtä suuri), > (suurempi), >= (suurempi tai yhtä suuri), < (pienempi), <= (pienempi tai yhtä suuri) sekä <> (eri suuri). Lisäksi useampia totuusarvoja voidaan yhdistää merkinnöillä And (ja) ja Or (tai), arvon edessä oleva Not taas tarkoittaa vastakkaisuutta. Seuraavassa listassa on muutamia (ehto)lausekkeita Visual Basicin ymmärtämässä muodossa sekä käännettynä suomen kielelle. x > 3 x on suurempi kuin kolme nimi = "Juhani" nimi on Juhani ika >= 18 And ika <= 65 ikä on lukujen 18 ja 65 välillä "jänis" > "aasi" aakkosjärjestyksen tutkiminen nimi = "Juhani" Or ika < 20 nimi on Juhani tai ikä on alle 20 ika <> 20 tai Not ika = 20 ikä ei ole 20 Myös yksittäinen luku tai laskutoimitus voi toimia ehtolausekkena. Tällöin ehtolauseke on aina tosi, kunhan luku ei ole 0. Moniosaisen ehtolausekkeen esittämisessä on hyvä

23 käyttää apuna sulkuja. Esimerkki: (ika >= 18 And ika <= 65) Or nimi = "Juhani". Ehtorakenne Ehtorakenne alkaa sanalla If ja päättyy merkintään End If. Tämän lisäksi ehtorakenteeseen voi kuulua ElseIf-osia, jotka määrittävät useampia ehtoja, sekä loppuun tuleva Else-lause, jonka perässä oleva koodi suoritetaan silloin, kun yksikään aiemmista ehdoista ei ole tosi. Seuraava esimerkki tervehtii käyttäjää, jos nimi-muuttujan arvo on "Sakari". If nimi = "Sakari" Then MsgBox "Moikka, Sakke!" End If Tässä tulee pidempi ehtorakenne, joka ilmoittaa kuukaudessa olevien päivien määrän. Yleisin päivien lukumäärä on 31, minkä vuoksi se on laitettu Else-vaihtoehtoon. If kuukausi = 4 Or kuukausi = 6 Or kuukausi = 9 Or kuukausi = 11 Then MsgBox "30 päivää" ElseIf kuukausi = 2 Then MsgBox "28 tai 29 päivää" Else MsgBox "31 päivää" End If Seuraavassa esimerkissä käyttäjä saa painaa napista kaksi kertaa, mutta kolmannella kerralla ohjelma sulkeutuu. Private Sub Command1_Click() Static kerrat As Integer kerrat = kerrat + 1 If kerrat > 2 Then End End If Haarautuminen Jos jokaisessa ehtorakenteen osassa esiintyy sama muuttuja, oikean vaihtoehdon valitsemisen voi toteuttaa paremmin Select Case -rakenteen avulla. Tutkittava muuttuja ilmoitetaan vain kerran, ja sen jälkeen tulee joukko Case-haaroja, joiden perässä olevia arvoja verrataan muuttujan arvoon. Yhteen haaraan voi kuulua useampia arvoja, jotka on erotettu pilkuilla. Tässä on toteutettuna edellä ollut esimerkki lyhyemmällä koodilla: Select Case kuukausi Case 4, 6, 9, 11 MsgBox "30 päivää" Case 2 MsgBox "28 tai 29 päivää" Case Else MsgBox "31 päivää" End Select Seuraavassa esimerkissä lomakkeella on ohjaintaulukko Command1, johon kuuluu kolme painonappia indekseillä 0 2. Tapahtumankäsittelyyn on ilmestynyt Index-parametri,

24 josta selviää napin indeksi. Jokaisesta nappulasta painettaessa tulee eri ilmoitus Select Case -rakenteen avulla. Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 MsgBox "Eka nappi" Case 1 MsgBox "Toka nappi" Case 2 MsgBox "Kolmas nappi" End Select Silmukka Silmukan sisällä olevaa koodia toistetaan, kunnes silmukkaan liitetty lopetusehto täyttyy tai silmukasta poistutaan muuten. Silmukan aloitussana on Do, ja se loppuu sanaan Loop. Alussa tai lopussa oleva While tarkoittaa, että silmukka jatkuu niin kauan kuin ehtolauseke on tosi. Jos taas käytetään sanaa Until, silmukka jatkuu kunnes ehtolauseke on tosi. Kun ehto laitetaan alkuun, silmukkaan ei välttämättä mennä ollenkaan. Lopussa oleva ehto takaa, että silmukka suoritetaan ainakin kerran. Seuraavassa esimerkissä silmukka toistuu niin kauan kuin i:n arvo on viittä pienempi. Joka kierroksella i kasvaa yhdellä, joten kierroksia tulee yhteensä viisi: niissä i:n arvo on 0, 1, 2, 3 ja 4. Nämä luvut näytetään myös viesti-ikkunassa. Dim i As Integer Do While i < 5 MsgBox i i = i + 1 Loop Saman voi toteuttaa myös Until-ehdon avulla, jolloin toinen rivi on: Do Until i >= 5 Ohjelmassa kannattaa valita While tai Until sen mukaan, kumpi kuulostaa luonnollisemmalta, jos ehtoa ajattelee suomen kielellä. Toista niin kauan kuin i on pienempi kuin viisi tuntuu selvemmältä kuin toista kunnes i on suurempi tai yhtä suuri kuin viisi. Siksi While sopii ehkä tähän silmukkaan paremmin. Ohjelman suoritukseen ei tietenkään vaikuta, kummin päin ehdon muodostaa. Jos silmukassa ei ole ehtoa kummallakaan puolella, lopetuksesta täytyy huolehtia itse Exit Do -komennolla. Muuten ohjelma jumiutuu. Tavallisesti Do...Loop -rakennetta käytetään silloin, kun silmukan kierrosten määrää ei ole valmiiksi tiedossa. Seuraava ohjelma kertoo, kuinka monta kertaa 100 euroa maksavan tavaran hinnasta voidaan vähentää 10 prosenttia, ennen kuin tavaran hinta laskee puoleen. Ensimmäisen vähennyksen jälkeen hinta on siis 90 euroa, toisen jälkeen 81 euroa jne. Muuttujassa hinta on tavaran kulloinenkin hinta, kerrat pitää kirjaa alennuskerroista.

25 Dim hinta As Integer, kerrat As Integer hinta = 100 Do While hinta > 50 hinta = hinta * 0.9 kerrat = kerrat + 1 Loop MsgBox "Hintaa voidaan alentaa " & kerrat & " kertaa." Jos silmukka kestää kauan, sen sisään on syytä laittaa DoEvents-komento, jotta koko käyttöjärjestelmä ei jumiudu ohjelman suorituksen ajaksi. Seuraavassa esimerkissä koko ohjelman suorituksen ajan taustalla on silmukka, joka jatkuvasti muuttaa otsikkorivin tekstiksi kellonajan. Kellonaika näkyy värisevänä, koska sen päivitys tapahtuu hyvin tiuhaan. Tällaisessa ohjelmassa täytyy muistaa panna lomakkeen Unload-tapahtumaan komento End, jotta silmukka päättyy ja ohjelma sulkeutuu kunnollisesti. Private Sub Form_Activate() Do Caption = Time DoEvents Loop Private Sub Form_Unload(Cancel As Integer) End Lukujen läpikäynti For-silmukan avulla on helppo käydä läpi joukko lukuja, jotka kasvavat tai vähenevät säännöllisesti. Silmukkaan liittyy muuttuja, jonka arvo kullakin silmukan kierroksella on vuorossa oleva luku. Silmukasta voi poistua myös kesken Exit For -lauseella. Tässä on koodinpätkä, joka näyttää luvut 0, 1, 2, 3 ja 4. Ohjelman toiminta on sama kuin edellisen kappaleen esimerkissä, mutta koodi on nyt lyhyempi ja selkeämpi. Dim i As Integer For i = 0 To 4 MsgBox i Next Lukuvälin perään voidaan laittaa askel, jolloin muuttujan arvo kasvaa tai laskee suuremmissa tai pienemmissä erissä. Jos aloitusarvo on lopetusarvoa suurempi, myös askeleen täytyy olla negatiivinen. Seuraavassa on esimerkkinä lukusarjojen (0, 2, 4, 6, 8) ja (4, 3, 2, 1, 0) läpikäynti. For i = 0 To 8 Step 2 MsgBox i Next For i = 4 To 0 Step -1 MsgBox i Next Lukujen listaamisen lisäksi For-silmukan avulla voidaan helposti käsitellä kaikkia taulukkoon kuuluvia alkioita. Seuraavassa esimerkissä luvut on taulukko, jossa on

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

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

Lisätiedot

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

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

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

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

TAULUKON TEKEMINEN. Sisällysluettelo

TAULUKON TEKEMINEN. Sisällysluettelo Excel 2013 Taulukon tekeminen Sisällysluettelo TAULUKON TEKEMINEN TAULUKON TEKEMINEN... 1 Tietotyypit... 1 Tiedon syöttäminen taulukkoon... 1 Kirjoitusvirheiden korjaaminen... 2 Alueen sisällön tyhjentäminen...

Lisätiedot

Python-ohjelmointi Harjoitus 5

Python-ohjelmointi Harjoitus 5 Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

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

Lisätiedot

Tekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1

Tekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1 KSAO Liiketalous 1 Lomakkeet Lomake on asiakirja, joka sisältää täyttämistä ohjaavia tietoja tai merkintöjä. Wordin lomakekenttä-toiminnolla luodaan näytöllä täytettäviä lomakkeita tai tulostettavia lomakepohjia.

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

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 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

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

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

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

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

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

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

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

Lisätiedot

GeoGebra-harjoituksia malu-opettajille

GeoGebra-harjoituksia malu-opettajille GeoGebra-harjoituksia malu-opettajille 1. Ohjelman kielen vaihtaminen Mikäli ohjelma ei syystä tai toisesta avaudu toivomallasi kielellä, voit vaihtaa ohjelman käyttöliittymän kielen seuraavasti: 2. Fonttikoon

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

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

Python-ohjelmointi Harjoitus 2

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

Lisätiedot

OpenOffice.org Base 3.1.0

OpenOffice.org Base 3.1.0 OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys

Lisätiedot

13. Loogiset operaatiot 13.1

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

Lisätiedot

Kielioppia: toisin kuin Javassa

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

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

TAULUKOINTI. Word Taulukot

TAULUKOINTI. Word Taulukot Word 2013 Taulukot TAULUKOINTI TAULUKOINTI... 1 Taulukon tekeminen... 1 Solusta toiseen siirtyminen... 1 Solun tyhjentäminen... 2 Taulukon Layout (Asettelu) välilehti... 2 Alueiden valitseminen taulukossa...

Lisätiedot

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat

Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Vasemman laidan painikkeet... 5 4 Erikoishinnoittelut ruutu... 6 5 Raportit... 12 1 Yleistä Fivaldi Asiakaskohtaiset

Lisätiedot

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

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

Lisätiedot

KÄYTTÖLIITTYMÄN PIIRTÄMINEN

KÄYTTÖLIITTYMÄN PIIRTÄMINEN LUKU 2 KÄYTTÖLIITTYMÄN PIIRTÄMINEN Käyttöliittymän ohjaimien lisääminen lomakkeeseen on mahdollisimman yksinkertaista. Käynnistettäessä työtilassa on työkalulaatikko, josta voit valita ohjaimen napsauttamalla

Lisätiedot

Scratch ohjeita. Perusteet

Scratch ohjeita. Perusteet Perusteet Scratch ohjeita Scratch on graafinen ohjelmointiympäristö koodauksen opetteluun. Se soveltuu hyvin alakouluista yläkouluunkin asti, sillä Scratchin käyttömahdollisuudet ovat monipuoliset. Scratch

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

[Lomake.][Ohjain.]metodi [argumentit] Seuraava aliohjelma, jossa käytetään kuvakehyksen Move-metodia, luo vaikutelman etääntyvästä kuvakehyksestä:

[Lomake.][Ohjain.]metodi [argumentit] Seuraava aliohjelma, jossa käytetään kuvakehyksen Move-metodia, luo vaikutelman etääntyvästä kuvakehyksestä: LUKU 5 METODIT Paitsi ominaisuuksia ja tapahtumia lomakkeeseen ja ohjaimiin sekä Visual Basicin erityisolioihin Printer, Screen, Clipboard, Debug ja App samoin kuin muihin Vb:ssä käytettäviin olioihin

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

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

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

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA SISÄLLYS 1. KUVAN TUOMINEN PAINTIIN...1 1.1. TALLENNETUN KUVAN HAKEMINEN...1 1.2. KUVAN KOPIOIMINEN JA LIITTÄMINEN...1 1.1. PRINT

Lisätiedot

Visma Fivaldi -käsikirja MiniCRM

Visma Fivaldi -käsikirja MiniCRM Visma Fivaldi -käsikirja MiniCRM 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Perustiedot - välilehti... 5 4 Tila (vapaassa tekstikentässä edellisellä sivulla annettu nimi) - välilehti... 6 5 Vasemman

Lisätiedot

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet Luku 6 Pikanäppäimet Pikanäppäimet ovat näppäinyhdistelmiä, jotka mahdollistavt ZoomTextin komennot ilman ZoomTextin käyttäjäliittymän aktivointia. Pikanäppäin komentoja on melkein jokaisella ZoomTextin

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

FrontPage 2000 - Näkymät

FrontPage 2000 - Näkymät FrontPage 2000 - Näkymät FrontPagessa on kuusi erilaista näkymää sivustoon. Sivunäkymä Tässä näkymässä luodaan sivut eli näkymä vastaa paljolti Wordin tekstinkäsittelyohjelman näkymää. Tässä on myös muokattava

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

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

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

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Käyttöliittymän muokkaus

Käyttöliittymän muokkaus Käyttöliittymän muokkaus Ohjelman pitkän kehityshistorian takia asetukset ovat jakaantuneet useampaan eri kohtaan ohjelmassa. Ohessa yhteenveto nykyisistä asetuksista (versio 6.4.1, 2/2018). Ylä- ja sivupalkkien

Lisätiedot

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

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

Lisätiedot

Ksenos Prime Käyttäjän opas

Ksenos Prime Käyttäjän opas Ksenos Prime Käyttäjän opas Versio 11.301 Turun Turvatekniikka Oy 2011 Selaa tallenteita. Tallenteiden selaaminen tapahtuu samassa tilassa kuin livekuvan katselu. Voit raahata hiirellä aikajanaa tai käyttää

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

3. Muuttujat ja operaatiot 3.1

3. Muuttujat ja operaatiot 3.1 3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.

Lisätiedot

Juha Haataja 4.10.2011

Juha Haataja 4.10.2011 METROPOLIA Taulukkolaskenta Perusteita Juha Haataja 4.10.2011 Lisätty SUMMA.JOS funktion käyttö (lopussa). Tavoite ja sisältö Tavoite Taulukkolaskennan peruskäytön hallinta Sisältö Työtila Omat kaavat,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Lisätiedot

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. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

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

Lisätiedot

TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ

TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ Windows XP-käyttöjärjestelmän asetuksilla sekä Word-asetuksilla voit vaikuttaa tietokoneen näytön ulkoasuun, selkeyteen ja helppokäyttöisyyteen.. 1) ASETUKSET

Lisätiedot

13. Loogiset operaatiot 13.1

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

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

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Condess ratamestariohjelman käyttö Aloitus ja alkumäärittelyt Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Kun kysytään kilpailun nimeä, syötä kuvaava nimi. Samaa nimeä käytetään oletuksena

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

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit. 3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen

Lisätiedot

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

Tekstinkäsittelyn jatko KSAO Liiketalous 1

Tekstinkäsittelyn jatko KSAO Liiketalous 1 KSAO Liiketalous 1 Makrojen perusteita Toistuvia tehtäviä ja tehtäväsarjoja voidaan automatisoidan makrojen avulla. Makrot ovat sarja nauhoitettuja käskyjä, jotka määräävät mitä toimintoja makro toteuttaa.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja

Lisätiedot

NÄIN TEET VIDEO-MAILIN (v-mail)

NÄIN TEET VIDEO-MAILIN (v-mail) 1 NÄIN TEET VIDEO-MAILIN (v-mail) Kirjaudu iwowwe Back Officeen. HOME Klikkaa kotisivullasi (HOME) olevaa vihreää Video E-mail kuvaa Vastaava linkki Video Email on myös Video Tools - alasvetovalikossa

Lisätiedot

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota

Lisätiedot

Vesa Ollikainen, päivitys Juha Haataja 3.8.2010

Vesa Ollikainen, päivitys Juha Haataja 3.8.2010 METROPOLIA Tekstinkäsittely1 Peruskäyttö Vesa Ollikainen, päivitys Juha Haataja 3.8.2010 Tavoitteet ja sisältö Tavoite Lyhyen asiakirjan kirjoitustaito Word-tekstinkäsittelyohjelmalla Sisältö Tekstinkäsittelyohjelman

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

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

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

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

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

Lisätiedot

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

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

Lisätiedot

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

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

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

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

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Jypelin käyttöohjeet» Miten saan peliin pistelaskurin? Pistelaskurin saamiseksi tarvitaan kaksi osaa: Laskuri, joka laskee pisteitä Olio, joka näyttää pisteet ruudulla Laskuri voi olla esimerkiksi tyyppiä

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE 1. SISÄÄN KIRJAUTUMINEN Sisään kirjautuminen VerkkoVelho-ylläpitotyökaluun tapahtuu yrityksesi osoitteessa www.omaosoitteesi.fi/yllapito, esim. www.verkkovelho.fi/yllapito.

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

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

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

Lisätiedot

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/2006 1.1.1

1 Asentaminen. 2 Yleistä ja simuloinnin aloitus 12/2006 1.1.1 1 Asentaminen...2 2 Yleistä ja simuloinnin aloitus...2 2.1 PI-säätimet...3 2.2 Trendit...4 3 Lämpölaitoksen ohjaus...5 4 Voimalan alkuarvojen muuttaminen...6 5 Tulostus...8 6 Mahdollisia ongelmia...8 6.1

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

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

Ajokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1

Ajokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1 Ajokorttimoduuli Moduuli 2 - Laitteenkäyttö ja tiedonhallinta Harjoitus 1 Tämän harjoituksen avulla opit alustamaan levykkeesi (voit käyttää levykkeen sijasta myös USBmuistitikkua). Harjoitus tehdään Resurssienhallinnassa.

Lisätiedot