Silloinen ohjelma koostui rivinumeroiduista komennoista, jotka ohjelma suoritti peräjälkeen

Koko: px
Aloita esitys sivulta:

Download "Silloinen ohjelma koostui rivinumeroiduista komennoista, jotka ohjelma suoritti peräjälkeen"

Transkriptio

1 BASIC-ohjelmointikieli E.Korhonen Katsaus Basic-ohjelmointikielen kehitykseen: Basic-ohjelmointikieli levisi opiskelijoiden ohjelmoinnin harjoittelukieleksi luvulla ja jokaiseen kotitietokoneeseen mikrotietokoneiden myötä 1980-luvun alussa. Joissakin koneissa, kuten legendaarisessa Commodore 64:ssa, se oli oikeastaan käyttöjärjestelmän asemassa. Ohjelmoituja sovellutuksia: tekstinkäsittelyä ja pelejä, ajettiin kääntävän BASIC-tulkin avulla. Silloinen ohjelma koostui rivinumeroiduista komennoista, jotka ohjelma suoritti peräjälkeen 100 PRINT KERRO NIMESI 110 INPUT N$ 120 PRINT HASSU NIMI ;N$ Ohjelmaan kuuluivat rivinumerot, ja käyttöliittymä järjesti ohjelman aina rivinumeroiden mukaiseen järjestykseen. Hyppyosoitteena käytettiin rivinumeroita. 130 GOTO 100 Ensimmäiset työstökoneiden tietokoneliitännät Suomessa, tietokoneille talletettujen ohjelmien vaihdot NC-koneille, ja ohjelmointi NC-kooditekstinä, tehtiin 1980-luvun alussa näillä koneilla ja BASIC-ohjelmilla, Ylivieskan teknillisen oppilaitoksen vanhimman robotin, 1980-luvulla tehdyn portaalirobotin, ohjelmointikieli on hyvin lähellä perus-basicia lisättyinä liikekäskyillä: 200 MOVEXYZ(1000,1000,200) Ja tulojen ja lähtöjen lukemista ja asettamista 300 IF INP(47)=0 THEN GOTO OUT(45)=1 (Jos tulon 47 arvo on nolla, hypätään takaisin riville 300. Kun tulon arvo muuttuu

2 ykköseksi, jatketaan eteenpäin, ja asetetaan päälle lähtö 45.) Muuttujien nimillä on portaalirobotissa sama rajoitus kuin joissakin laskimissa: Vain isoja kirjaimia ja korkeintaan kirjain ja numero 400 X1=X0+I* MOVEX(X1) IBM PC:n ja myöhemmin AT:n myötä 1980-luvun puolivälissä tulivat tietokoneisiin mukaan kehittyneemmät Basicin versiot, Basica ja GWBasic. Niiden mukana tulleet asialliset parannukset ohjelmointiin olivat pienet, ympäristö vain muuttui standardisoiduksi PC:ksi edellisten merkkikohtaisten viritelmien jälkeen luvun loppupuolella Borland toi markkinoille menestyksekkäitten Turbo Pascalin ja Turbo C:n rinnalle Turbo Basic-ohjelmointikielen ja Microsoft kilpailevan Quick Basicin. Nämä tekivät teknillisen hyppäyksen Basic-kielen kehityksessä tarjotessaan rivinumeroista riippumattoman ohjelmoinnin ja kääntäjän, jotka kilpaileviin Pascal ja C-kieliin kuuluivat luonnostaan. Kääntäjän avulla alunperin tekstinä laadittu ohjelmakoodi muutetaan konekieliseksi, itsenäisenä ajettavaksi.exe sovellutukseksi, DOS tai nykyisin Windows-ympäristössä. Käännetty ohjelma on huomattavasti tulkkaavaa nopeampi toiminnaltaan, millä on merkitystä paljon laskentaa, porttiliikennettä tms. vaativissa sovellutuksissa. Käännösvaiheessa voidaan myös ottaa käyttöön ohjelmalle valmiiksi laadittuja lisäkirjastoja, lisätoimintoja. Visual Basicin.exe koodi ei kylläkään ole konekieltä, vaan sitä tulkataan ajon aikana ja siksi se on hidasta Quick Basicin ilman kääntäjää oleva, tulkkaava versio QBasic on kuulunut Doskäyttöjärjestelmäpakettiin 80-luvun lopusta lähtien Rivinumeroinnista riippumaton ohjelmakoodi puolestaan tekee mahdolliseksi rakenteellisen ohjelmoinnin, ohjelman pilkkomisen erilaisiin toiminnallisiin osiin, aliohjelmiin, joita kutsutaan parametrien avulla, ja jotka palauttavat arvon. Rivinumeroinnista luopumisen jälkeen ohjelman etenemistä ohjataan pääasiassa aliohjelmakutsuilla ja tarvittaessa hyppyosoitteilla: ON ERROR GOTO LOPPU

3 määrittely ohjelman alussa. Ohjelmakoodia.. LOPPU: sanan tuntee osoitteeksi kaksoispisteestä : close suljetaan tiedostot ja portit END Ohjelman loppu Aiemmin mainituissa Basic-versioissa ääkköset kelpasivat vain merkkijonojen sisältöön, ei vielä muuttujiin eikä hyppyosoitteisiin. Visual Basic 1990-luvun puolivälissä läpimurron tehnyt Microsoftin Visual Basic (Markkinoilla on nyt versio 6.0, jonka erot edellisiin 3.0 ja 4.0 versioihin ovat pienet) tuntee lähes koko vanhempien Basic-kielten käskykannan ja paljon lisää ja osaa seurata enimmäkseen vanhojenkin ohjelmien rakennetta. Ongelmia aiheuttavat lähinnä suorat laiteohjaukset portteihin, muistiin ja näyttöön ja muuttujien näkyvyysalueet. Vanha viivekomento Delay on myös jätetty syrjään, mikä hankaloittaa laiteohjauksessa tarpeellisten viiveiden ohjelmointia. Ajatuksellisesti Visual Basic lähestyy käyttäjää eri tavalla kuin aikaisemmat ohjelmat: Vanhat Basic-ohjelmat (Niin myös Pascal, C, Fortran ja LISP) etenevät käynnistyksen jälkeen rivi riviltä, jäävät johonkin odottamaan käyttäjän syöttämää arvoa ja jatkavat edelleen, hyppäävät ehtojen mukaan mahdollisesti alkuun. Visual Basic-käyttöliittymä reagoi tapahtumiin, keskeytyksiin Visual Basic on rakennettu käyttöliittymältään keskeytysajatuksen pohjalle. Ohjelman käyttöliittymä odottaa käyttäjän tekemää tapahtumaa, esim. johonkin kontrolliin vaikuttamista, painikkeen klikkaamista. Painikkeen klikkaaminen aktivoi painikkeeseen liitetyn aliohjelman suorittamisen. Visual Basicin kilpailijoiksi ovat ilmestyneet Borlandin Delphi (tehty Pascal-pohjalle ja Visual C++, tehty C-kielen pohjalle) Kontrolleihin vaikuttamisella käynnistettävät aliohjelmat ovat rakenteeltaan sitten

4 perinteisempää Basic-koodia muistuttavia, SUB(). END SUB aliohjelmia. Selvimpinä eroina perinteisiin Basic-ohjelmiin ovat viittaukset lomakkeella oleviin kontrolleihin: Leveys = Val(Text1.Text) Sijoituslause toimii niin kuin perinteisen Basicin sijoituslause: Oikean puolen arvo sijoitetaan vasemman puolen muuttujalle. Text1.Text viittaa teksti-ikkunaan Text1 (kontrollin nimi) kirjoitettuun ominaisuuteen.text, joka voi olla käyttäjän syöttämä lukuarvo, näkyy tekstinä Jotta tekstiä voidaan käsitellä lukuna Leveys, sen arvo, value pitää lukea funktiolla Val( ) Toinen ero on muuttujien näkyvyys: Välillä Sub().. End Sub siellä käsitellyllä muuttujalla, esim Leveys on sille syötetty arvo. Muualla ohjelmassa, muissa aliohjelmissa, muuttujan Leveys arvoa ei tunneta ja sitä pidetään todennäköisesti nollana. (Jos ei erikseen käydä määrittelemässä ohjelmalle muuttuja Leveys sellaiseksi, että sen arvo tunnetaan kaikkialla) Visual Basic on samalla myös Microsoft Accessin ja Excelin sovellutusten ohjelmointikieli. Haluttaessa voidaan näihin ohjelmoida tapahtumia esim. laskun viitenumeron tarkistussumman laskenta koodaamalla tapahtuma Access-raporttiin Basicin käskyillä. Ohjelman pilkkominen kontrolleja seuraavaksi rivi riviltä etenevän, pääohjelman ja aliohjelmakutsujen mukaan etenevän sijasta tekee siitä helposti sekavan, vaikean hallita. Siksi Visual Basic sopii lähinnä pieniin, yhden ihmisen tekemiin sovellutusohjelmointitehtäviin, koneiden käyttöliittymiin jne.

5 Basicin muuttujat: Kaikilla ohjelmassa käytettävillä muuttujilla on nimi, muutaman merkin mittainen merkkijono. Aikaisemmin ääkkösiä piti välttää, mutta ei enää Windows95 ympäristöstä ja Visual Basicista alkaen Muuttujanimissä ei edelleenkään siedetä välilyöntejä, väliviivoja (sekoittuu miinusmerkkiin) eikä pisteitä. Väliviivan sijasta voidaan haluttaessa käyttää alaviivaa Suurin_Arvo = 1000 Basic toisin kuin C ja Lisp ei erottele suuria ja pieniä kirjaimia, joten niiden käytölle ei ole sääntöjä. Luettavuutta helpottaa erikokoisten kirjainten sopiva yhdistely Portaalirobotin MS Basic ei hyväksi lainkaan pieniä kirjaimia (Sama koskee yleisesti NC-koneita ja osin liikeohjaimia) Muuttujanimet ovat useimmiten kirjaimien ja numeroiden yhdistelmiä: A, A1, Alku, loppu, kerroin jne ovat lukuja Tarkemmin ottaen lukutyyppisiä muuttujia on vielä muutamaa eri lajia, kokonaislukuja ja liukulukuja eri pituisina. A=10 Muuttujalle A sijoitetaan lukuarvo 10 Kerroin=0.5 Desimaalipiste eikä pilkku Input "Montako ",Loppu Kysymys ja talletus muuttujaan Loppu A%, Alku% jne% % tarkoittaa kokonaislukuja, Integer (edellisiä nopeampia käsitellä, vähemmän muistiavieviä, alue n ) A%=8

6 DIM Lavoja as Integer Muuttujan esittely kokonaisluvuksi Kokonaislukujen lukualue Integer kattaa luvut n ( Jos nämä eivät riitä, esim pulssilaskennassa, pitää käyttöön ottaa tyyppi Long Integer, nimessä &, Pulssit& jne, jossa on kaksinkertainen määrä bittejä ja lukualue nousee toiseen potenssiin. Integer-lukutyyppiä käytetään tyypillisesti luonnollisille luvuille, kappalemäärille, järjestysnumeroille jne. Järjestysnumeroksi desimaaliluku 0.5 tms ei kelpaakaan. Jos luvun tyyppiä ei määritellä tarkemmin, sitä käsitellään liukulukuna. (Kerroin x 10 potenssiin potenssi) Tästä on harmia silloin, kun laskutoimitusten jälkeen tulee pyöristysvirheitä, ja arvoksi tai järjestysnumeroksi esim , tai kun pitäisi käsitellä tarkasti suuria kokonaislukuja kuten pulssimääriä. Useimmiten lukutyyppiset muuttujat toimivat kuitenkin hankaluuksitta ilman tyyppimäärittelyä, kunhan ei syötetä mielettömiä arvoja. A$, Mjono$, Polku$, Nimi$ Ovat merkkijonoja A$="ALKU" Polku$="C:\PB\" Input "Nimesi ",Nimi$ Nimi$=Text1.Text Vanhaa Basicia Visual Basic-lause Tiedosto$="Tiedot.lst"

7 INDEKSOIDUT MUUTTUJAT: Indeksoituun muuttujaan viitataan nimen ja indeksin, järjestysnumeron avulla A(i) Lukuja A(1), A(2)... A%(2) Kokonaislukuja A%(1), A%(2) jne DIM Nimi$(100) as String varaudutaan sataan nimeen ohjelman esittelyosassa Nimi$(nro%)= Merkkijonoja Nimi$(1), Nimi$(2) jne Nimi$(1)= Eero Taulukko$(1,2) Merkkijonotaulukko Kun käytetään indeksointia, samalla muuttujan nimellä voidaan osoittaa eri muuttujiin, kuten 1- tai 2-ulotteisen taulukon eri ruutuihin, joissa rivi- ja sarakenumero ovat indekseinä. Etunimi$=Taulukko$(i%,1) Sukunimi$=Taulukko$(i%,2) Tässä i% voisi olla juokseva numero esim Jos indeksoitujen muuttujien lukumäärä, järjestystä osoittava indeksi on suurempi kuin 10, ohjelman alussa on tehtävä muistin varaus DIM-lauseella, esim DIM A%(1000) DIM Nimi$(100) Samanlainen DIM-esittely Visual Basic-ohjelman General-alueella tekee muuttujan arvon näkyväksi koko ohjelmassa. Indeksoidut kontrollit VB:ssa Visual Basicin kontrolleja kopioitaessa ohjelma kysyy, tehdäänkö kontrolleista Array,

8 tämä tarkoittaa indeksoitua kontrollia. Myönteinen vastaus tuottaa indeksoidun kontrollijoukon, jota on helppo käsitellä ohjelmallisesti: Text1(0). Text1(1). jne

9 Muuttujan arvon asettaminen Ohjelmointikielten sijoituslause on yleensä tyyppiä: A = 10 A = A+1 Pituus = Len(Luetturivi$) Ala = Pi*(D/2)^2 Se tarkoittaa, että katsotaan = merkin oikealla puolella olevien muuttujien senhetkinen arvo ja tehdään tarvittavat matemaattiset operaatiot. Lopputulos sijoitetaan vasemmanpuoleisen muuttujan arvoksi Siksi matemaattisesti järjetön lause sopii ohjelmointiin oikein hyvin A = A+1 Matematiikassa on todella vaikea löytää lukua, johon voidaan lisätä yksi ja se silti säilyy ennallaan. Ohjelmoinnissa lause tarkoittaa sitä, että luetaan muuttujan A arvo ja sijoitetaan sen paikalle yhtä suurempi luku. Sijoituslauseella asetetaan aina = Merkin vasemmanpuoleinen arvo, ei oikeanpuoleista A = B Asettaa A:n arvon B:n mukaiseksi, ei päinvastoin. = merkin oikealla puolella on usein kasa funktiokutsuja, jotka palauttavat arvon. Funktio Len( ) palauttaa sille syötetyn merkkijonon pituuden. Pituus=Len(Merkkijono$) Jotta sijoitus onnistuisi ja = merkin oikean puolen arvo voidaan sijoittaa vasemman puolen muuttujalle, näiden täytyy olla muuttujatyypiltään samanlaisia: Kokonaislukutyyppiseen muuttujaan nimenpituus voidaan sijoittaa luku, esim

10 Nimenpituus = Len(Nimi$). Merkkijonomuuttujaan Nimi$ voidaan lukea esim Visual Basicin teksti-ikkunaan kirjoitettu teksti Nimi$ = Text1.Text Funktion palauttama arvo ja sen tyyppi määritellään funktion sisällä. Matemaattiset funktiot palauttavat yleensä luvun. Minkätyyppinen luku saadaan palautteena, vaihtelee. Merkkijonoja käsittelevät funktiot palauttavat usein merkkijonon. Merkkijono$= Eero Korhonen Alku$=Left$(Merkkijono$,3) Vasemman laidan 3 merkkiä Eer Merkki4$=Mid$(Merkkojono$,4,1) Tulee neljäs merkki o Jos muuttujalle ei aseteta mitään arvoa, se on nolla, satunnainen tai edellisellä käyttökerralla muistiin jäänyt arvo. Viimeinen on tyypillinen tilanne esim. robotiikassa. Koneen omaan muistiin, rekisteriin kirjoitettu säilyy kunnes se tietoisesti muutetaan tai nollataan. Siksi ohjelman käyttämät muuttujat kannattaa ohjelmallisesti nollata ennen niiden käyttöönottoa, esim MenossaOlevaLava = 0

11 BASICIN TAVALLISIMMAT LUUPIT Luuppi = Silmukka, jota ohjelma kiertää ehtojensa mukaan Halutun toistomäärän tekevä luuppi on useissa ohjelmointikielissä For Next For-Next rajattua ohjelmanosaa kierretään for-lauseessa määritetyn ehdon mukaan Esim: summa=0 alkuarvon nollaus luuppi kierretään muuttujan i arvoilla 1,2,3 jne 10 For i = 1 to 10 'luupin alku summa = summa + i next i 'luupin loppu print "Lukujen 1 10 summa on ";summa For-luupista päästään ulos haluttaessa sen sisällä olevalla goto-hypyllä tai ehtolauseella If (..mikälie ehto) then exit for Esim. Laippojen poiminta-ja pinoamiskorkeuden laskeminen portaalirobotilla 200 CLS 210 INPUT "LAIPPOJA PINOSSA ",N 220 INPUT "LAIPANPAKSUUS ",L1 230 Z1=500 (Kuormalavan pinnan z-koordinaatti)

12 240 FOR I=1 TO N (poimitaan kaikki) 250 Z2=Z1-( N-I )*L1 (poimintakorkeus) ajo poimintapaikkaan ja kappaleen poiminta mukaan MOVEZ(Z2) 300 Z3=Z1-I*L1 (pudotuskorkeus) ajo pudotuspaikkaan ja kappaleen pudotus MOVEZ(Z3) NEXT I END

13 Esim. Sanan kääntäminen takaperin (Palindromin teko) VB:llä Lomakkeelle tarvitaan kaksi tekstiruutua Text1 ja Text2 Käännös saa tapahtua esim kun tekstiruudun Text1 sisältö muuttuu Sub Text1_Change() Sana$ = Text1.Text Pituus = Len(Sana$) Nurin$ = aloitetaan tyhjästä merkkijonosta if pituus>1 then For i = Pituus to 1 step 1 luetaan merkit takaperin Merkki$ = Mid$(Sana$,i,1) merkit käsittelyyn yksi kerrallaan Nurin$ = Nurin$ + Merkki$ Lisätään Merkki$ merkkijonoon Nurin$ Next i Text2.Text = Nurin$ end if End Sub

14 Epämääräiseen määrään toistokertoja sopii While-Wend luuppi, jota kierretään, kun ehto on tosi Esim. Tekstitiedoston luku ja Näyttäminen listaikkunassa VB:llä Ruudulla tarvitaan 3 alkiota: Toiminnan käynnistävä komentopainike (Command Button) CommonDialog alkio, jolla Windowsissa etsitään tiedostoja Listaikkuna List1 Komentopaikikkeen klikkaamisella aktivoituvaksi koodiksi sopii esim: Sub Command1_Click() CommonDialog1.Filter= (*.*) *.* CommonDialog1.FilterIndex=1 CommonDialog1.Action=1 avataan lukemista varten, kirjoitus olisi 2 Tiedosto$ = Tiedosto$ = CommonDialog1.FileName If Tiedosto$ <> jos on valittu tiedoston nimi List1.Clear listaikkunan putsaus

15 Open Tiedosto$ for input as #1 'tiedoston avaus While NOT EOF(1) 'luetaan tiedoston loppuun saakka Line input #1,Rivi$ luetaan tiedosto rivi kerrallaan ja talletetaan kunkin rivin teksti muuttujaan Rivi$ List1.AddItem Rivi$ Lisätään rivi alkioksi listaikkunaan Wend close #1 While Wend alueen loppu 'tiedoston sulku end if oliko valittu tiedosto End sub Aliohjelman loppu

16 While-wend-luupille voidaan antaa mikä tahansa suoritusehto: While Ulos<>1 ohjelmaa... luupista poistutaan vasta kun muuttuja Ulos saa arvon 1, esim homma tehty loppuun Wend Vanhoissa Basic ohjelmissa käytettiin paljon GOTO-hyppyjä Niillä on vieläkin omat käyttökohteensa esim Ohjelman alussa On Error GOTO Katsovirhe GOTO-käskyä vastaavat ehdottomat ja ehdolliset hyppytoiminnat kuuluvat myös useiden koneohjausten ohjelmakäskyihin. Goto-hypyn muoto QBasicissa ja Visual Basicissa on: Alku: 'Hyppyosoite ohjelmaa... If Lopetetaan=1 then goto ulos GOTO Alku 'Ehdoton hyppy alkuun Ulos: End tai vaihtoehtoisesti Alku: End Ohjelmaa If Ulos<>1 then GOTO Alku 'Ehdollinen hyppy

17 Aliohjelmakutsu, jolla käväistään suorittamassa aliohjelma ja jatketaan sitten ohjelmaa kutsua seuraavalta riviltä on Basiceissa GOSUB Pääohjelmassa GOSUB Aliohjelmannimi END Aliohjelmannimi: tunnetaan nimeksi kaksoispisteestä palataan takaisin, kun löydetään loppumerkki RETURN

18 PORTTILIIKENNE Tietokoneen ohjaamassa automaatiossa keskeisessä liitäntään, sarjaliikenneporttiin kirjoitetaan perinteisissä ohjelmointikielissä niin kuin kirjoitetaan avattuun tiedostoon. Portti avataan kirjoittamista varten kuten tiedosto, kertoen samalla liikenneparametrit ja mahdollisesti kättelyt Useassa Basicissa portinavaus tehdään muodossa Open COM2:9600,N,8,1,RS,CS,DS,CD as #1 Tämän jälkeen porttiin voidaan kirjoittaa Print #1, NCohjelmanrivi$ Print #1 komento kirjoittaa porttiin rivin ja heittää perään rivinvaihtomerkit Vastaavasti portista voidaan myös lukea Visual Basicissa em menettely ei toimi, vaan porttiin kirjoitetaan Windows-ohjaimien avulla. Porttiliikennettä varten on oma kontrolli, ensimmäinen niistä on nimeltään MSComm1. Sille kerrotaan ominaisuuksiksi vähintään liikenneparametrit, käytetty portti ja kättelytyyppi. Tavallisimmin koneiden tiedonsiirtoon käytetään porttia COM2, koska COM1 on usein hiiren käytössä. Kontrollin nimellä MSComm1 ei ole tekemistä portin kanssa. Käyttöä varten portti on avattava esim lomaketta avattaessa Sub Form_Load() MSComm1.PortOpen=True

19 End sub Ja käytön jälkeen se kannattaa sulkea MSComm1.PortOpen=False Windows sallii vain yhden sovellutuksen kerrallaan hallita sarjaliikenneporttia, ja avoin portti estää mm. Windowsin omien terminaaliohjelmien käytön. Esim. Listaikkunan sisällön syöttäminen porttiin Edellä kuvattu tekstitiedoston haku listaikkunaan sopii yksinkertaiseksi NC-ohjelman siirto-ohjelmaksi, kun se täydennetään tiedonsiirto-ominaisuudella. Lomakkeella pitää olla tiedonsiirtoobjekti MsComm1, jolle on määritelty sopivat liikenneparametrit, esim Portti ,E,7,1 Portti avataan esim lomaketta ladattaessa (Windows sallii vain yhden hallintaohjelman portille kerrallaan) Sub Form_Load() MsComm1.PortOpen = True End sub Sub LähetäKoodi_Click() Komentopainikkeelle sijoitettu koodi For i=0 to List1.ListCount-1 listan rivinumerot juoksevat nollasta lähtien List1.ListIndex=i Millä rivillä ollaan menossa

20 MSComm1.Output=List1.Text+chr$(13)+chr$(10) rivin perään Enter-rivinvaihtomerkit CR ja LF End Sub next i

21 Jotkin laitteet vaativat monimutkaisemman protokollan tarkistussummineen Esim Omron CPM1:n datamuistin kirjoittaminen ja lukeminen Kirjoitusprotokolla alkaa joka on kirjoitettu tekstiruutuun Text1 Datamuistiin kirjoitettava uusi arvo esim 0050 kirjoitetaan tekstiruutuun Text2 Merkkijono tarkoittaa logiikan nro 00 Datamuistin kirjoittamista osoitteesta DM0000 alkaen Perään pitää sitten lisätä uusi arvo neljällä Heksadesimaalimerkillä Näiden perään liitetään kahden heksadesimaalimerkin pituinen tarkistussumma, * ja Enter Lomakkeelle tarvitaan kaksi tekstiruutua tiedon syöttöön Text1 ja Text2 Datamuistia kirjoitettaessa tekstiruutuun Text1 kirjoitetaan ja samaa datamuistia Datamuistia kirjoitettaessa tekstiruutuun Text2 kirjoitetaan uusi arvo esim 50 ja datamuistia luettaessa siihen kirjoitetaan luettavien muistisanojen määrä esim 1 kaksi tarvitaan tekstiruutua palautteen lukemiseen Text3 ja Text4

22 Porttiin liikennöimiseen tarvitaan objekti Mscomm1, jonka ominaisuudet ovat esim Portti , E,7,2 (Baudit, pariteetti Even, 7 Databittiä, 2 stop.bittiä) Portin lukemiseen sopii ajastin, Timer1, jonka käyntiväli, interval on esim 1000 millisekuntia Komentopainike aktivoi viestin kirjoittamisen, sen nimeksi esim KirjoitaViesti (Nimessä ei saa olla välilyöntejä) Ohjelmakoodiksi riittää: Private Sub Form_Load() MSComm1.PortOpen = True Timer1.Enabled = True End Sub Private Sub KirjoitaViesti_Click() Komentopainikkeen koodi Timer1.Enabled = False uusiarvo$ = Right$("0000" + Trim(Text2.Text), 4) Edellinen rivi tekee esim tekstistä 50 merkkijonon 0050 Kokoteksti$ = Text1.Text + uusiarvo$ Tarkistussumma lasketaan XOR-opetaariolla merkkijonon kaikille merkeille peräjälkeen tarksumma = 0 pituus=len(kokoteksti$) Katsotaan viestin pituus For i = 1 To pituus

23 merkki = Mid$(Kokoteksti$, i, 1) Yksi merkki kerrallaan käsittelyyn Next i tarksumma = tarksumma Xor Asc(merkki) Tarkhex$ = Hex$(tarksumma) Luku Heksadesimaalimerkiksi Tarkhex$=Right$( 00 +Tarkhex$,2) tarvitaan aina kaksi merkkiä, tämä lisää tarvittaessa nollia eteen ja jättää jäljelle 2 merkkiä Porttiin kirjoitetaan tekstilitania, perään tarkistussumma, * ja Enter End Sub MSComm1.Output = Kokoteksti$ + Tarkhex$ + "*" + Chr$(13) Timer1.Enabled = True Käynnistetään porttia lukeva ajastin Private Sub Timer1_Timer() Tämä koodinpätkä suoritetaan aika-ajoin Kun Timer1 on Enabled Vastaus$ = MSComm1.Input Portin sisältö Text3.Text = Vastaus$ Näkyviin ruudulle Etsitään vastauksesta olennainen tieto If Len(Vastaus$) > 10 Then Maara$ = Right$(Vastaus$, 12) Luku$ = Left$(Maara$, 4)

24 End Sub End If Text4.Text = Luku$

25 Lyhyt yhteenveto BASICien peruskäskykannasta, jossa on pieniä versiokohtaisia eroja ABS( n ) luvun n absoluuttiarvo, etumerkitön luku ASC( merkki$ ) merkin Ascii-arvo, luku arvoltaan ATN( n ) CHR$( n ) kulman arcus-tangentti, palauttaa arvon -pi/2.pi/2, kulman radiaaneina 90 asteen tasajaolla erikoistapauksissa virhetilanne tai väärä tulkinta ascii-numeron n mukainen merkki tavallisimpia erikoismerkkejä ovat rivinvaihtomerkit yms, joita pitää kirjoittaa näillä MsComm1.Output = Chr$(13) Tabulaattori$ = chr$(9) Enter$ = Chr$(13) + Chr$(10) Carriege Return ja Line Feed CLOSE #n CLS COS( n ) DATE$( ) DIM vektori( n) Tiedoston #n sulkeminen Ruudun putsaus kulman n (radiaaneja) kosini päivämäärä indeksoidun muuttujan muistinvaraus EOF( #n ) end-of-file tieto luettaessa tiedostosta #n While not EOF(1)

26 Line input #1, Rivi$ List1.AddItem Rivi$ Wend END EXP( n ) ohjelman loppu e^n FOR...NEXT luuppi For i=1 to 10 Print i next i GET #h, n GOSUB osoite random access muistinluku tiedostosta #h tavu n aliohjelmakutsu IF PortissaOnTavaraa then Gosub LueSisältö GOTO osoite hyppykäsky if OnAikaLopettaa then Goto Loppu IF THEN ehdollinen toiminta kirjoitetaan perään IF I<10 THEN rivi=1 Jos yksi rivi, kirjoitetaan samalle riville Jos rajataan useampi rivi, ehtorivi lopetaan Then seuraaville riveille koodia End If IF THEN ELSE

27 END IF Inkey$ Monimutkaisempi rakenne Näpäytetty merkki Merkki$=Inkey$ INP(portti) I/O-portista luettu tavu (Ei Visual Basic) PrintteriPortinTila=INP(889) INPUT luettu merkkijono Enteriin saakka INPUT #h,muuttuja luetaan avatusta tiedostosta nro #h arvo muuttujalle INPUT$( #h, n ) luetaan n merkkiä avatusta tiedostosta nro #h INSTR(merkkijono$,merkit$) etsitään merkkijonosta sisältö merkit$ ja palautetaan löytökohta 1, jos ei löydy, palautetaan 0 PilkunPaikka=Instr(Merkkijono$,, ) INT( n ) luku n katkaistuna kokonaisluvuksi jos halutaan pyöristys ylöspäin, lisätään 0.5 Sopii hyvin myös desimaalien määrän rajoittamiseen, seuraavassa kahteen Luku=2/3 Luku=Int(100*Luku+.5)/100 tulee lujasti desimaaleja desimaalit vähenevät KILL tiedosto$ Tuhoaa tiedoston tiedosto$, jos se on olemassa, muuten tulee virhetila LEFT$( merkkijono$, n ) merkkijonon vasemmasta laidasta n merkkiä jos ei riitä, virhetila if len(merkkojono$)>3 then Alku$=Left$(Merkkijono$,4) end if

28 LEN( merkkijono$ ) merkkijonon$ pituus LINE INPUT LOG( n ) rivin lukeminen tiedostosta rivinvaihtomerkkiin saakka luonnollinen logaritmi n:stä LCASE$( merkkijono$ ) merkkijonos$ pikkukirjaimilla MID$( merkkijono$,i,n) merkkijonosta otettu pätkä, n merkkiä paikasta i alkaen pituus=len(merkkijono$) for i=1 to pituus Merkki$=Mid$(merkkijono$,i,1) print asc(merkki$) next i OPEN avaa tiedosto tai portti (portti ie VB:ssa käy näin) Open MikäHyvänsä.txt for input as #1 While not EOF(1) line input #1,rivi$ print rivi$ Wend Close #1 OPEN "COMn:..." tietoliikenneportin avaus (Ei VB:ssa näin) Open Com2:9600,n,8,1,rs,cs,ds,cd as #2 OUT portti, tavu tavun kirjoittaminen porttiin tai muistitavuun (Ei VB:ssa) Portti=888 LPT1:n tavallinen osoite Out Portti,255 Kaikki bitit päälle PRINT printtaa lomakkeelle tai näyttöön PRINT #h,muuttuja muuttujan arvon kirjoittaminen numerolle #h avattuun tiedostoon tai porttiin (Porttiin ei VB:ssa mene näin) PUT #h, n random access tiedostoon #h kirjoitetaan n tavu

29 REDIM RETURN indeksoidun muuttujavektorin uudelleen määrittäminen aliohjelman viimeinen rivi, paluu GOSUB kutsua seuraavalle riville RIGHT$( merkkijono$, n ) n merkkiä merkkijonon oikeasta laidasta, virhetila, jos ei riitä merkkejä RND Satunnaisluku 0 vähän alle 1, joka kannattaa alustaa, jotta ei toista itseään Esim KertolaskunKyselijä: Randomize Timer vastaus=0 while vastaus<>9999 print 9999 lopettaa arvokysymys: Luku1=int(10*RND)+1 tulee 1 10 Luku2=int(10*RND)+1 tulee 1 10 kysy: print Luku1; * ;Luku2; = input vastaus if vastaus=luku1*luku2 then print Hyvä goto arvokysymys end if print Yritä uudelleen goto kysy wend SIN( n ) kulman n (radiaaneja) sini

30 SQR(n) STR$( n ) luvun n neliöjuuri. n ei saa olla negatiivinen luku n merkkijonoksi, ascii-merkeiksi Text1.Text=Trim$(Str$(luku)) TAN( n ) TIME$( ) kulman n (radiaaneja) tangentti Nykyinen tietokoneen aika merkkijonona TRIM$( merkkijono$ ) UCASE$(Merkkijono$) putsaa merkkijonon välilyönneistä, tarpeen etenkin lukuja muutettaessa merkkijonoksi, muuten tyhjä etumerkin paikka kiusaa Merkin tai merkkijonon muutos isoille kirjaimille Line input #1,Merkkijono$ If Instr(Ucase$(Merkkijono$), POLYLINE )>0 then end if Tämä suoritetaan olipa Polyline-teksti kirjoitettu pienellä tai isolla Ucase$ tekee siitä ison VAL( merkkijono$ ) merkkijonon tulkinta luvuksi Jos alkaa muilla kuin numeromerkeillä, palautetaan 0 WHILE...WEND luuppi Merkkijono$=text1.text pulssejamillille=100 ajomillit=val(merkkijono$) pulssit=pulssejamillille*ajomillit laskentaa voidaan tehdä vain luvuilla

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

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

Lisätiedot

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

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

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

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

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

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

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

1.12.2006 NOKEVAL SCL. Käyttöohje

1.12.2006 NOKEVAL SCL. Käyttöohje 1.12.2006 NOKEVAL SCL Käyttöohje PROTOKOLLA Sarjaliikenneasetelut Nokevalin laitteet käyttävät poikkeuksetta 8N1-bittiprotokollaa, eli 8 databittiä, ei pariteettibittiä ja yksi stopbitti. Baudinopeuksia

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

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

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

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

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Luvuilla laskeminen. Esim. 1 Laske 6 21 7

Luvuilla laskeminen. Esim. 1 Laske 6 21 7 Luvuilla laskeminen TI-84 Plus käyttää laskujen suorittamiseen ns. yhtälönkäsittelyjärjestelmää (EOS TM, Equation Operating System), jonka avulla lausekkeiden syöttö tapahtuu matemaattisessa kirjoitusjärjestyksessä.

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

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot Tiedosto yhteenkuuluvien tietojen joukko, joka on tavallisesti talletettu pysyväismuistiin muodostuu tietueista, jotka voivat olla keskenään samanlaisia tai vaihdella tyypiltään tiedostot ovat joko tekstitiedostoja

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

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA Tavallisimmin lukuja käsittelevien datasanojen tyypiksi kannattaa asettaa kokonaisluku 16 bitin INT, jonka vaihtelualueeksi tulee

Lisätiedot

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

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

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

Ohjelmoinnin perusteet Y Python

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

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

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

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

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

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

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

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

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

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

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

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

Excel 2010 -funktiot. Sisällys

Excel 2010 -funktiot. Sisällys Excel 2010 -funktiot 5.11.2015 Markku Könkkölä J Y / Tietohallintokeskus Soluihin viittaaminen Sisällys Laskentakaavojen kirjoittaminen, kopiointi ja arvojen vakiointi Funktioiden käyttö: Laskenta Merkkijonot

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

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

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 perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

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

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

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

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

Kappale 20: Kantaluvut

Kappale 20: Kantaluvut Kappale 20: Kantaluvut 20 Johdanto: Kantaluvut... 328 Kantalukujen syöttäminen ja muuntaminen... 329 Matemaattiset toiminnot Hex- ja Bin-luvuilla... 330 Bittien vertaileminen ja manipulointi... 331 Huom!

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Hammastankohissin modernisointi. Heikki Laitasalmi

Hammastankohissin modernisointi. Heikki Laitasalmi Hammastankohissin modernisointi Heikki Laitasalmi Loppudemossa Mitä oltiinkaan tekemässä V-malli Modbus viestintä (PLC VFD) Esitellään laitteet Lopuksi Modbusia käytännössä Hammastankohissi Arkkitehtuuri

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

Lisätiedot

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3 : http://users.metropolia.fi/~pasitr/2014-2015/ti00aa43-3004/kt/03/ratkaisut/ Tehtävä 1. (1 piste) Tee ohjelma K03T01.cpp, jossa ohjelmalle syötetään kokonaisluku. Jos kokonaisluku on positiivinen, niin

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

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

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

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

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

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

[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

plot(f(x), x=-5..5, y=-10..10)

plot(f(x), x=-5..5, y=-10..10) [] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä

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

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma 5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma Every cloud has a silver line. - englantilainen sananlasku Tässä osiossa tärkeää: yksi- ja moniulotteinen taulukko Sisältö Yleistä Yksiulotteinen

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja. IsoInt Tietokoneiden muisti koostuu yksittäisistä muistisanoista, jotka nykyaikaisissa koneissa ovat 64 bitin pituisia. Muistisanan koko asettaa teknisen rajoituksen sille, kuinka suuria lukuja tietokone

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015 Ohjelmoinnin perusteet Pythonilla Teemu Sirkiä, 2015 Päivitetty 16.9.2015 Yleistä Materiaali sisältää lähinnä Aalto-yliopiston Ohjelmoinnin peruskurssi Y1:n harjoitustehtävissä tarvittavia keskeisiä asioita

Lisätiedot

VeRan laboratoriotietojen siirtoformaatti

VeRan laboratoriotietojen siirtoformaatti FCG Finnish Consulting Group Oy VERA TOIMINTAOHJEET Rev./pvm 1.03 Hyväksytty 30.4.2010 Sisältö Käyttö Vastuuhenkilö VeRan tiedonsiirtoformaatti Laboratoriot, jotka toimittavat tulokset suoraan VeRaan.

Lisätiedot

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.

2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne. Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma

Lisätiedot

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Lupa opetuskäyttöön pyydettävä. info@tietsikka.net. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö

Lupa opetuskäyttöön pyydettävä. info@tietsikka.net. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö Näppäimistö 2005 Päivi Vartiainen 1 Kohdistimen ohjausnäppäimistö Funktionäppäimistö Kirjoitusnäppäimistö Numeronäppäimistö Kohdistimen ohjausnäppäimistöllä siirretään hiiren osoitinta ruudulla. Kohdistin

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

Johdantoa ohjelmointiin

Johdantoa ohjelmointiin Johdantoa ohjelmointiin Mikä ensimmäiseksi ohjelmointikieleksi? Ensimmäisestä ohjelmointikielestä on riittänyt juttua Internetin keskusteluryhmissä ja - palstoilla. Kaikenlaisia kannanottoja asiasta on

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli

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

Sähköposti ja uutisryhmät 4.5.2005

Sähköposti ja uutisryhmät 4.5.2005 Outlook Express Käyttöliittymä Outlook Express on windows käyttöön tarkoitettu sähköpostin ja uutisryhmien luku- ja kirjoitussovellus. Se käynnistyy joko omasta kuvakkeestaan työpöydältä tai Internet Explorer

Lisätiedot

AALTO-VALVONTALAITE TST5102

AALTO-VALVONTALAITE TST5102 AALTO-VALVONTALAITE TST5102 KONFIGUROINTI- JA KÄYTTÖOPAS SISÄLLYSLUETTELO 1. JOHDANTO... 3 2. VALVONTALAITTEEN ASENNUS... 3 3. VALVONTALAITTEEN KONFIGUROINTI HYPERTERMINAL-OHJELMALLA... 3 3.1 Valaisimien

Lisätiedot