Ohjelmointiparadigmat
|
|
- Ella Haavisto
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmointiparadigmat PROSEDURAALINEN OHJELMOINTI (CKL) Proseduraalinen ohjelmointi Olio-ohjelmointi Funktionaalinen ohjelmointi Logiikkaohjelmointi Rinnakkaisohjelmointi Piia Räsänen Proseduraalinen ohjelmointi Ohjelma jaetaan toiminnallisiin osiin Top-down Bottom-up Aliohjelmat Abstraktio Parametriohjaus Pääohjelma Suoritus lauseittain, järjestyksessä Ohjausrakenteet Proseduraalinen ohjelmointi Staattiset muuttujat Alkeistieto Taulukot Dynaamiset muuttujat Tietorakenteet Osoittimet (pointterit) C-kieli Historiaa Kehitettiin 1970-luvun alussa Kehittäjä Dennis Ritchie, AT & T:n Bellin laboratorio Alun perin suunnattu järjestelmäohjelmointiin Syntyi UNIX-käyttöjärjestelmää suunniteltaessa Uudelleenkoodauksen kieli Yleistyi pian myös sovellusohjelmoinnissa Standardi ANSI C ANSI/ISO 9899 Ensimmäinen versio 1990 Laajennettu versio 1999 C vs. Java Samankaltainen syntaksi Molemmissa tyypitys C proseduraalinen kieli, Java oliokieli!!! Muistin hallinta Javassa automaattista, C:ssä ohjelmoijan vastuulla C:ssä osoitintyyppi, Javassa viittaus-tyyppi (sama asia, mutta ei sinne päinkään) C:ssä otsikkotiedostot ja makrot Java tulkattava kieli, C käännetään suoraan 1
2 Termit haltuun Termit haltuun Lause Ohjelman toiminnallinen perusosa Päättyy puolipisteeseen Esim. rakenteinen lause (if, for jne.) Hyppylause (break, continue, goto) Paluulause (return) Koottu lause (lohko) Tyhjä lause (;) Lauseke päätettynä puolipisteeseen Lauseke Ohjelmointikielinen ilmaus, jolla on arvo Vakiot Muuttujat Aritmeettiset laskutoimitukset Funktion kutsut Pääohjelma Ohjelman kääntäminen #include <stdio.h> cs:ssä oleva gcc-kääntäjä int main(void) { printf("hello world!\n"); return 0; } gcc koodi.c./a.out Esimerkki: hello.c Ohjelman kääntäminen Pääohjelma gcc:n parametreja -Wall Tulostetaan myös varoitukset Esimerkki: kaanneltava.c -o Tulostiedosto -ansi ANSI-C:n mukaista koodia Muita pääohjelman otsikkoja void main(void) int main() void main() main() main(void) Käyttöympäristökohtaisia, vanhentuneita jne. ÄLÄ KÄYTÄ! Ikivanhat kääntäjät eivät tunne void-sanaa 2
3 Pääohjelma Tunnukset Parametrien välittäminen pääohjelmalle int main(int argc, char **argv) int main(int argc, char *argv[]) Sallitut merkit: a-z ja A-Z 0-9 _ (alaviiva) Ensimmäinen merkki ei saa olla numero Käytännössä 1-31 merkkiä Muuttujat Tyypitetty kieli Muuttujan määrittely: double luku; int a, b=8, c; Tulostusfunktio printf() #include <stdio.h> printf(ohjausjono, tieto1, tieto2...); Ohjausjono Aina lainausmerkeissä Voi sisältää ns. konversiomäärittelyitä, joihin parametrina annettavat tiedot viittaavat printf("muuttujan luku arvo on %d.\n",luku); printf():n tavallisimmat konversiomäärittelyt printf():n tavallisimmat konversiomäärittelyt Tyypit %c char Tyypit %f float, double %d %i (signed) int %lf double %u unsigned int %L long double %ld %li long int %s merkkijono %lu unsigned long %o etumerkitön oktaaliluku %x %X etumerkitön heksaluku 3
4 printf():n tavallisimmat konversiomäärittelyt Kentän leveys & tarkkuus Annetaan %-merkin ja tyypin välissä kentta.tarkkuus printf("%4.2f",doubleluku); Esimerkki: tulostelua.c Perustietotyypit Arvoalueet riippuvat ympäristöstä sizeof(tyyppi) sizeof(muuttuja) Yksittäinen merkki Kokonaisluku Desimaaliluku Merkkityypit Yksittäinen merkki tai pieni kokonaisluku Tilanvaraus (vähintään) yksi tavu (8b) char unisigned & signed Kokonaislukutyypit short int Vähintään16bit int Vähintään 16bit, usein 32bit long int Vähintään 32bit long long int Vähintään 64bit char! Kokonaislukutyypit Signed Etumerkillinen luku Kahden komplementti Unsigned Etumerkitön Pienin arvo nolla Koko sama kuin vastaavalla etumerkillisellä muuttujalla Desimaalilukutyypit Liukulukuja Aina enemmän tai vähemmän likiarvoja float Mantissa vähintään 6 numeroa Eksponentti vähintään [-37,37] double Mantissa vähintään 10 numeroa Eksponentti vähintään [-37,37] long double Mantissa vähintään 10 numeroa Eksponentti vähintään [-37,37] 4
5 Arvoalueiden rajat Ylivuoto #include <limits.h> CHAR_MIN CHAR_MAX UCHAR_MAX SHRT_MIN SHRT_MAX USHRT_MAX INT_MIN INT_MAX UINT_MAX LONG_MIN LONG_MAX ULONG_MAX LLONG_MIN LLONG_MAX ULLONG_MAX Esimerkki: perustietotyypit.c Jos laskennan tulos menee arvoalueen ulkopuolelle, bitit "valuvat yli" merkitsevästä päästä ( ) (2 10 ) ( ) ( ) ( ) (-2 10 ) Tyypinmuunnokset Lausekkeessa keskenään erityyppisiä operandeja Sijoitusoperaatiossa sijoitettavan arvo eri tyyppiä kuin sijoituksen kohdemuuttuja Yleinen muunnos lausekkeen arvon laskemiseksi Laskennassa ei käytetä int-tyyppiä suppeampaa tarkkuutta Tarkkuus voi kärsiä sijoitettaessa muuttujaan Eksplisiittinen tyypinmuunnos Ohjelmoijan vastuulla! Tyypinmuunnoksen vaikutus muutettavaan arvoon Kokonaisluku kokonaisluku Jos muutettava mahtuu kohteen tyyppiin arvo ja merkki säilyvät Jos muutettava ei mahdu kohteen tyyppiin ratkaisu järjestelmäkohtainan Joka tapauksessa menee pieleen Desimaaliluku kokonaisluku Desimaaliosa jää pois Jos kokonaisosa mahdollista esittää kohdetyypissä arvo ja etumerkki säilyvät Tyypinmuunnoksen vaikutus muutettavaan arvoon Kokonaisluku desimaaliluku Jos muutettavan arvon merkitsevien numeroiden määrä ei ylitä kohtaan merkitsevien numeroiden määrää arvo ja merkki säilyvät Desimaaliluku desimaaliluku Suppeammasta laajempaan arvo ja merkki säilyvät Jos muutettavan arvon merkitsevien numeroiden määrä ei ylitä kohtaan merkitsevien numeroiden määrää arvo ja merkki säilyvät Esimerkki: tyyppitesti.c Totuusarvot C-kielessä ei varsinaista totuusarvotyyppiä Totuusarvot kokonaislukuja epätosi == 0 tosi!= 0 5
6 Kokonaislukuvakiot Desimaalilukuvakiot Tyyppi voidaan määrätä Esitysmuoto desimaali-, oktaali- tai heksadesimaalijärjestelmän mukaan Oletuksena 10-kantainen int Kokonaislukujen loppuliitteet l, L long (18L) u, U unsigned (18U) Kokonaislukujen etuliitteet 0 oktaaliluku (022) 0x, 0X heksadesimaaliluku (0X12) Tyyppi voidaan määrätä Oletustyyppi double Desimaalilukujen loppuliitteet f, F float (123.4F) l, L long double (123.4L) Eksponenttiesitysmuoto e, E (1.23E+2) Merkkivakiot Erikoismerkkejä Kirjoitetaan heittomerkkien sisään \n \t \a \r \b \f \\ \' \" \? rivinvaihto tabulointi äänimerkki rivin alkuun peruutus sivunvaihto kenoviiva heittomerkki lainausmerkki kysymysmerkki Taulukot Joukko muuttujia, jotka ovat keskenään samaa tyyppiä Taulukon alkiot Vierekkäiset paikat keskusmuistissa alkio_tyyppi tunnus[koko]; int luvut[10]; char merkit[] = {'a','b','c'}; double taulukko[3][4]; Periaatteessa max 12 ulottuvuutta tunnus[indeksi] = alkio; Taulukon ylivuoto Taulukon ulkopuolella olevia alkioita voidaan käyttää Muistiosoite taulukon lopussa Sisältö?! Esimerkki: taulukot.c 6
7 Nimetyt vakiot #define VUOSI 2009; Operaattorit sitovuusjärjestyksessä () []. -> sizeof (type) - +! ~ & * * / % + - >> << < > <= >= ==!= & ^ &&?: Bittioperaatiot <<, >> & ~ Bittien siirtäminen yhdellä vasemmalle/oikealle Bittirinnakkainen AND-operaatio Bittirinnakkainen OR-operaatio Binääriluvun komplementti Esimerkki: bittijuttuja.c Laskentajärjestys Operaattoreiden sitovuus Alilausekkeiden arvottamisjärjestystä ei määrätty Poikkeuksena &&? :, Laskentajärjestys pääasiassa vasemmalta oikealle Poikkeuksena pointtereihin liittyvät * ja & sekä sijoitukset Esimerkki: laskentajarjestys.c Laskentajärjestys Sequence point Rajattu osa ohjelmaa, jonka laskenta on irrallaan ympäristöstä Muuttujien arvojen oltava yksikäsitteisiä Optimointi Tätä rikottaessa ratkaisut järjestelmäkohtaisia Raja: Tietyt operaattorit ( &&?: ) Lauseen loppu Myös rakenteiset lauseet Esimerkki: sequencepoint.c Kommentit /* Tämä on kommentti */ // Tämä ei ole kommentti 7
8 Ehtolause Ehtolause if(ehto) lause; if(ehto) lause; else lausek; if(ehto){ lausea; lauseb; } else { lausec; laused; lausee; } switch-lause Ehdollinen lauseke switch(lauseke){ case vakio1: lauseita; break; case vakio2: lauseita; case vakio3: case vakio4: lauseita; break; default; lauseita; } ehto? lausekea : lausekeb Jos ehto on tosi, lausekkeen arvo on lausekea, muuten lausekeb i = (a>b)? a : b; while-lause do-while-lause while(ehto) lauseke; do lauseke; while(ehto); while(ehto) { lausekea; lausekeb; } do { lausekea; lausekeb; } while(ehto); 8
9 for-lause Ehdottomat hyppylauseet for(lausekea; lausekeb; lausekec) lause; for(alustus; ehto; päivitys) { lausea; lauseb; lausec; } break Poistuminen switch-rakenteesta Toiston katkaiseminen continue Ohitetaan toistorakenteen rungon loppuosa return Funktiosta poistuminen Ehdottomat hyppylauseet Funktiot goto Siirtyminen määrättyyn koodin kohtaan Erittäin kyseenalainen lause, ei koskaan välttämätön! C:ssä kaikki aliohjelmat ovat funktioita Lähdekoodin määritykset voimassa esittelykohdasta eteenpäin Funktio täytyy olla kirjoitettuna ennen kutsuaan Funktion prototyyppimäärittely tyyppi fkt_nimi(tyyppi par1, tyyppi par2,... tyyppi parn); Esittely mahdollistaa aliohjelman kutsun myös silloin, kun se ei ole "näkyvissä" kääntäjälle Yleensä sama kuin funktion otsikkorivi - runko Pelkät parametrien tyypit riittää Funktion kutsu koostuu funktion nimestä ja suluissa olevasta parametrilistasta Funktiot Funktion kutsu koostuu funktion nimestä ja suluissa olevasta parametrilistasta Parametrittomuus = void Parametrit arvoparametreja Arvo kopioituu Paluuarvo Tietue "Olio ilman metodeja" Kootaan yhteen (eri tyyppistä) tietoa Ohjelmoijan määrittelemä tietotyyppi Voidaan määritellä joko tietotyyppinä tai muuttujan määrittelyn yhteydessä Tietuetyypin esittely voidaan tehdä metodin sisällä, lähdekooditiedostossa irrallisena tai erillisessä otsikkotiedostossa Kenttiin viittaaminen pistenotaatiolla Esimerkki tietueita.c, muistia.c 9
10 Tietue Omat tietotyypit struct PVM { int pp; int kk; int vv; }; struct PVM pva; pva.pp=21; pva.kk=4; pva.vv=2009; struct { int x,y; } piste; piste.x=2; piste.y=5; typedef tietotyyppi omanimi; Esimerkki: typedef.c, prototyyppi.c Pointterit Pointterit Pointteri on muuttuja, jonka sisältönä on toisen muistipaikan osoite Operaattorit: & muistipaikan osoite * osoitteessa olevan muistipaikan sisältö Pointteri on tyypitetty, sitä määriteltäessä täytyy kertoa sen kohteen tyyppi float palkka = ; float *p; p = &palkka; Muuttujan arvon käsittely aliohjelmassa Parametrina muistiosoite Pointterin osoittaman muuttujan käsittely Sisältöoperaattorin avulla Indeksoimalla (taulukko) Nuolioperaattorilla (tietue) Esmerkki: pointterit.c, pointterit2.c Syöttöfunktio scanf() #include <stdio.h> scanf(ohjausjono, kohde1, kohde2...); Ohjausjono lainausmerkeissä Mitä tietoa luetaan, konversiomäärittelyt Kohdemuuttujien muistiosoitteet & scanf("%d",&luku); Syöttöfunktio scanf() Tavallisimmat konversiomäärittelyt %d int (10-järjestelmä) %ld long %i int (myös heksa- ja oktaaliluvut) %li long (myös heksa- ja oktaaliluvut) %u unsigned %lu undisgned long %f float %lf double %c char %s char[n] (merkkijono) 10
11 Funktiot Merkkijono Pointteri parametrina "Muuttujaparametri" Itse parametri on edelleen arvoparametri Pointteri osoittaa muistipaikkaan, joka on varattu kutsuvassa ympäristössä Esimerkki pointteriparametrit.c Taulukko parametrina Pointteri taulukon ensimmäiseen soluun Esimerkki: taulukkoparametrit.c C-kielessä merkkijono on joukko char-muuttujia peräkkäisissä muistipaikoissa char mjono1[10], *mjono2; Merkkijonon lopussa loppumerkki '\0' Käsittely ohjelmoijan vastuulla (virhealtista) Merkkijonovakio voidaan ilmaista lainausmerkeissä Esimerkki: merkkijonoja.c #include <string.h> Esimerkki: merkkijonojenkasittely.c size_t strlen(const char *) size_t erikoistietotyyppi, käytännössä etumerkitän kokonaisluku parametrina osoitin (merkkijonon ensimmäiseen) merkkiin const kertoo, ettei merkkijonoa muuteta funktiossa char *strcpy(char *s1, const char *s2) Kopioi s2:n osoittaman merkkijonon s1:n osoittamaan paikkaan Palauttaa osoittimen s1-merkkijonon alkuun char *strncpy(char *s1, const char *s2, size_t n) Kuten strcpy Kopioi korkeintaan n merkkiä Huom! Jos loppumerkki ei sisälly kopioitaviin, se jää pois! int strcmp(const char *s1, const char *s2) Verrataan s1:n ja s2:n osoittamia merkkijonoja merkki kerrallaan <0 jos s1 ennen s2 ==0 jos s1 ja s2 samat >0 jos s1 s2:n jälkeen int strncmp(char *d, const char *s, size_t n) Kuten strcmp Vertaa korkeintaan n merkkiä alusta lukien 11
12 char *strcat(char *s1, const char *s2) Yhdistää s2:n osoittaman merkkijonon s1:n osoittaman merkkijonon loppuun Huolehdittava, että s1:lle varattu riittävästi tilaa! char *strncat(char *s1, const char *s2, size_t n) Kuten strcat Liittää korkeintaan n merkkiä char *strchr(const char *s, int c) Etsii merkin c ensimmäisen esiintymän s:n osoittamassa merkkijonossa Palauttaa osoittimen ko. merkkiin (merkkijonoon) Jos merkkiä ei löydy, palauttaa NULL-pointterin char *strstr(const char *s1, const char *s2) Etsii ensimmäistä s2:n osoittamaa alimerkkijonoa s1:n osoittamasta merkkijonosta #include <stdio.h> int sprintf(char *s1, const char *s2,...) Asettaa s1:n osoittamaan merkkijonoon muotoillun merkkijonon s2 int sscanf(const char *s1, const char *s2,...) Lukee s1:n osoittamasta merkkijonosta muotoillun merkkijonon s2 mukaisesti Merkkijonotaulukot #include <stdlib.h> int atoi(const char *); long atol(const char *); double atof(const char *) Määritellään yleensä merkkijonoihin osoittavia pointtereita sisältävänä taulukkona Mahdollista toteuttaa myös kaksiulotteisena merkkitaulukkona 12
13 Standarditietovirrat Merkkitieto Binääritietovirta Tieto siirtyy sellaisenaan Tekstitietovirta Merkkijono Rivejä Syöttövirta stdin Tulostevirta stdout Yksittäiset merkit char-tyyppiä Merkkivakio heittomerkeissä Merkkitietoa luetaan puskuroidusti Merkkitiedon lukeminen Merkkijonon lukeminen scanf("%c",&merkki); int getchar(void) scanf("%s",&mjono) fgets() Rivinlukufunktio Liittää aina loppuun loppumerkin gets() Jos tila loppuu, loppumerkki jää pois! Esmierkki: lukuajakirjoitusta.c Merkkijonon tulostaminen printf("%s",mjono); puts(const char *); Tiedostojen käsittely Tiedostoa avattaessa ilmoitetaan tiedoston ulkoinen nimi sekä käsittelytapa Lukeminen "r" "rb" Kirjoittaminen "w" "a" "a+" "wb" "ab" "ab+" Päivittäminen "r+" "w+" "rb+" "wb+" Tiedoston lopussa EOF-merkki stdio.h:n symbolinen vakio Tiedosto-osoitin siirtyy automaattisesti luettaessa 13
14 Tiedoston avaaminen ja sulkeminen FILE *fopen(const char *, const char *); Avaa tiedoston käsittelyä varten Jos avaaminen ei jostain syystä onnistu, palautuu NULL int flcose(file *); Nollasta poikkeava arvo tapahtui virhe Tulisi muistaa tehdä aina! FILE *freopen(const char *, const char *, FILE *); Liittää parametritietovirran tiedostoon Tiedoston alkuun palaaminen void rewind(file *); Palauttaa tiedosto-osoittimen tiedoston alkuun Tekstitiedostoon kirjoittaminen Tekstitiedostosta lukeminen int fputc(int, FILE *); Merkin kirjoittaminen tiedostoon char *fputs(const char *, FILE *); Merkkijonon kirjoittaminen fprintf(file *, const char *,...); Muotoiltu kirjoittaminen int fgetc(file *); Merkin lukeminen tiedostosta char *fgets(char *, int, FILE *); Merkkijonon lukeminen tiedostosta fscanf(file *, const char *,...); Muotoiltu lukeminen Esimerkki: tekstitiedostot.c Binääritiedostoon kirjoittaminen size_t fwrite(const void *, size_t, size_t, FILE *); Osoitin lohkoon Koko 1-n tavua Esim. tietue Lohkon koko ja lohkojen lukumäärä Osoitin tiedostoon Binääritiedostosta lukeminen size_t fread(void *, size_t, size_t, FILE *); Osoitin luettavaan lohkoon Lohkon koko ja lohkojen lukumäärä Osoitin tiedostoon Esimerkki: binaaritiedosto.c 14
15 Dynaaminen muistialueen varaus include <stdlib.h> void *malloc(size_t n); Varaa muistia n tavua Palauttaa osoittimen varatun alueen alkuun Huom! Tyyppinä void * Muistitila pysyy varattuna kunnes se vapautetaan! void free(void *); Vapauttaa dynaamisesti varatun muistin Lisää dynaamisesta muistin varaamisesta void *calloc(int lkm, size_t n); Varaa muistia lkm kappaletta n tavun lohkoja Muuten kuten malloc void *realloc(void *ptr, size_t n); Suurentaa/pienentää ptr:n osoittaman dynaamisen muistitilan kokoa Alunperin varattu: malloc tai calloc Joko lisätilaa alkuperäisen perään tai kokonaan uusi tila jolloin osoite muuttuu Muistinvarausfunktiot palauttavat NULL (0) jos varaus epäonnistui 15
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ätiedotTiedostot. 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ätiedotOhjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU
Ohjelmointi 2 Jussi Pohjolainen TAMK» Tieto- ja viestintäteknologia Tietotyypeistä C++ - kielessä useita tietotyyppejä Kirjaimet: char, wchar_t Kokonaisluvut: short, int, long Liukuluvut: float, double
LisätiedotMerkkijono 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ätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
LisätiedotMuistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa
ssa ohjelman käytössä suoritusaikana oleva muisti jakautuu neljään osaan: koodisegmentti datasegmentti pinosegmentti (stack) kasa (heap) ssa ohjelman koodisegmentti sisältää käännetyn ohjelmakoodin sisältö
LisätiedotOhjelmassa 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ätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotLuennon sisältö Tyypit int, char, float, double signed, unsigned short, long Vakiot const Rakenteet if, for, while, switch, do-while Syöttö ja tulostu
C-kurssi Viikko 1: tyypit, rakenteet, makrot Luennon sisältö Tyypit int, char, float, double signed, unsigned short, long Vakiot const Rakenteet if, for, while, switch, do-while Syöttö ja tulostus Makrot
LisätiedotOhjeet. AS C-ohjelmoinnin peruskurssi Aalto-yliopiston sahkotekniikan korkeakoulu Tentti , Raimo Nikkila
AS-0.1103 C-ohjelmoinnin peruskurssi Aalto-yliopiston sahkotekniikan korkeakoulu Tentti 15.05.2013, Raimo Nikkila Ohjeet Kaikki ohjelmointitehtavat tulee toteuttaa C-kielella hyvaa ohjelmointityylia noudattaen.
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
Lisätiedottietueet eri tyyppisiä tietoja saman muuttujan arvoiksi
tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi ero taulukkoon taulukossa alkiot samantyyppisiä tietueessa alkiot voivat olla erityyppisiä tiedot kuitenkin yhteen kuuluvia ohjelmoinnin perusteet,
Lisätiedot1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.
EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotTietueet. 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ätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotJohdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2
Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2 Syntaksilomake (22.4.2007) C-kielen standardikirjaston funktioita gets(merkkijono); scanf("formaatti", &muuttuja1,..., &muuttujan); sscanf(merkkijono,
Lisätiedot815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
LisätiedotRakenteiset tietotyypit Moniulotteiset taulukot
C! Rakenteiset tietotyypit Moniulotteiset taulukot 22.2.2018 Agenda Rakenteiset tietotyypit Vilkaisu 6. kierroksen tehtäviin Moniulotteiset taulukot Esimerkki Seuraava luento to 8.3. Ilmoittautuminen ohjelmointikokeeseen
LisätiedotLoppukurssin järjestelyt C:n edistyneet piirteet
C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura
LisätiedotC-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja
1. C-kieli yleiskäyttöinen ohjelmointikieli, standardoitu 1990. siirrettävä laiteläheinen pieni ydin, monimutkaiset kokonaisuudet rakennetaan aliohjelmakirjastojen avulla. direktiivit ja esikääntäjien
LisätiedotC-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ätiedotLyhyt kertaus osoittimista
, syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin
Lisätiedot1. Mitä seuraava ohjelma tulostaa? Vastaukseksi riittää yksi rivi joka esittää tulosteen. (6 p)
C- ohjelmoinnin peruskurssi, Tentti 28.5.2015 Lyhyt referenssi funktioista tehtäväpaperin lopussa. Paperilla on 5 tehtävää, joista useimmissa on muutama alikohta. Maksimipistemäärä on 30 pistettä. Kirjoita
LisätiedotC-kurssi syksy ltö. Luennon sisält. Luento 2: tyypit, rakenteet, makrot Tyypit. signed, unsigned short,, long Vakiot const Rakenteet
C-kurssi syksy 2007 Luento 2: tyypit, rakenteet, makrot 5.9.2008 Luennon sisält ltö Tyypit int, char, float, double signed, unsigned short,, long Vakiot const Rakenteet if,, for, while, switch, do-while
LisätiedotLuennon sisält. ltö. C-kurssi syksy ääreet: int ja char. Yksinkertaiset tyypit. Kokonaisluvut. Merkit
Luennon sisält ltö C-kurssi syksy 2007 Luento 2: tyypit, rakenteet, makrot 5.9.2008 Tyypit int, char, float, double signed, unsigned short,, long Vakiot const Rakenteet if,, for, while, switch, do-while
LisätiedotC-kurssi kevät Luennon sisältö
C-kurssi kevät 2006 Luento 2: tyypit, rakenteet, makrot 24.1.2006 Luennon sisältö Tyypit int, char, float, double signed, unsigned short, long Vakiot const Rakenteet if, for, while, switch, do-while Syöttö
LisätiedotLuennon sisältö. C-kurssi kevät Tasokokeen kohta 1: Taulukon järjestäminen. Tasokokeen kohta 2. Tasokokeen kohta 2. Tasokokeen kohta 3
Luennon sisältö C-kurssi kevät 2006 Luento 2: tyypit, rakenteet, makrot 24.1.2006 Tyypit int, char, float, double signed, unsigned short, long Vakiot const Rakenteet if, for, while, switch, do-while Syöttö
LisätiedotLoppukurssin järjestelyt
C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen
LisätiedotModuli 5: Kehittyneitä piirteitä
C! : Kehittyneitä piirteitä 19.4.2016 Aikataulusta 5. harjoituskierroksen määräaika: pe 22.4. Maari-C keskiviikkoisin ja torstaisin (12-14) Ti 26.4. Harjoitustentti (eli kertausluento) Normaalin luennon
LisätiedotKielioppia: 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ätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotBinäärioperaatiot Tiedostot ja I/O
C! Binäärioperaatiot Tiedostot ja I/O 8.3.2018 Tiedotteita Viimeinen luento to 29.3. Ohjelmointitehtävä, ohjelmointikoe ja niiden järjestelyt Ohjelmointikokeeseen ilmoittautuminen auki 2 .c tiedostot ja.h
LisätiedotOsoittimet ja taulukot
C! ja taulukot 1.2.2018 Tiedotteita Tämän jälkeen taas pari väliviikkoa (tenttiviikko) Seuraava luento 22.2. Laskareita ei tenttiviikolla 12.2. 16.2. 2 ja muisti Muisti Keskusyksikkö Suorittaa muistissa
LisätiedotModuli 4: Moniulotteiset taulukot & Bittioperaatiot
C! : Moniulotteiset taulukot & Bittioperaatiot 15.3.2016 Agenda Pieni kertausharjoitus Moniulotteiset taulukot Esimerkki taulukoista Tauko (bittitehtävä) Binäärioperaatioista Esimerkki (vilkaistaan IP
LisätiedotBinäärioperaatiot Tiedostot ja I/O
C! Binäärioperaatiot Tiedostot ja I/O 16.3.2017 Tiedotteita Määräaikoja pidennetty Myös 7. kierros uudestaan auki perjantaihin asti Seuraava ja viimeinen luento 30.3. Makrot, funktio-osoittimet Kokeen
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
Lisätiedot1. Esittelyt ja vakiot 1.1 Esittelyt (declarations) Ennen nimen, tunnuksen (identifier) käyttöä se on
1. Esittelyt ja vakiot 1.1 Esittelyt (declarations) Ennen nimen, tunnuksen (identifier) käyttöä se on esiteltävä. char ch; int count=1; struct complex float re, im; complex z; complex sqrt( complex );
LisätiedotOhjeet. Jaa vastauksesi konsepteille siten, etta:
/ AS-0.1103/4 C~ohjelmoinnin peruskurssi Aalto-yliopiston teknillinen korkeakoulu Tentti 12.05.2010, Raimo Nikkilii Ohjeet Kaikki ohjelmointitehtavat tulee toteuttaa C-kielella hyvaa ohjelmointityylia
LisätiedotVIII. 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ätiedot815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotC-kurssi kevät t Luento 2: tyypit, rakenteet, makrot
C-kurssi kevät t 2006 Luento 2: tyypit, rakenteet, makrot 24.1.2006 Luennon sisält ltö Tyypit int, char, float, double signed, unsigned short,, long Vakiot const Rakenteet if,, for, while, switch, do-while
LisätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotAS-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ätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2015 Työkaluista Perinteinen: komentorivi + tekstieditori Editori: esimerkiksi Kate, Notepad++, Aquamacs (Emacs) Ohjelman kääntäminen ja suorittaminen komentoriviterminaalissa TMC - komentorivityökalu
LisätiedotModuli 2: Osoittimet ja taulukot. Joel Huttunen
: Osoittimet ja taulukot 26.1.2016 Moduli 1 yhteenvetoa laskuharjoituksista (PS: palautteen saa jättää myös suomeksi jos haluaa) Ongelmia ympäristön asennuksessa Hoitakaa kuntoon ajoissa, niin loppukurssilla
LisätiedotC-ohjelmointi, syksy 2006
, syksy 2006 Taulukot Yksiulotteiset taulukot Moniulotteiset taulukot Dynaamiset taulukot Binääritiedostot Luento 8 3.10.2006 Syksy 2006 1 Luennon sisältö Taulukoiden käsittelyä Yksiulotteiset taulukot
LisätiedotC-ohjelmointi, syksy Yksiulotteiset taulukot Moniulotteiset taulukot Dynaamiset taulukot. Binääritiedostot. Luento
, syksy 2006 Taulukot Yksiulotteiset taulukot Moniulotteiset taulukot Dynaamiset taulukot Binääritiedostot Luento 8 3.10.2006 Syksy 2006 1 Luennon sisältö Taulukoiden käsittelyä Yksiulotteiset taulukot
Lisätiedot// // whiledemov1.c // #include <stdio.h> int main(void){ int luku1 = -1; int luku2 = -1;
// // whiledemov1.c // #include int main(void){ int luku1 = -1; int luku2 = -1; while( luku1
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotLuennon sisältö. Taulukot (arrays) (Müldnerin kirjan luku 10) Yksiulotteiset taulukot. Mikä taulukko on? Taulukko-osoitin. tavallinen osoitin
, kevät 2006 Taulukot Yksiulotteiset taulukot Moniulotteiset taulukot Dynaamiset taulukot Binääritiedostot Luento 8 21.3.2006 Kevät 2006 Liisa Marttinen 1 Luennon sisältö Taulukoiden käsittelyä Yksiulotteiset
LisätiedotLuokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat:
1. Luokan jäsenet Luokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat: class luokan_nimi tyypit: enum, struct, class, typedef
Lisätiedot2. C-kieli ja ongelmanratkaisu
2. C-kieli ja ongelmanratkaisu Taustaa Esimerkki C-kielisen ohjelman kehityksestä Kielen yleispiirteet Muuttujat Suoritettavat lauseet Tietotyypit ja lausekkeet Tietojen lukeminen ja tulostaminen 64 C
LisätiedotC-ohjelmointi: Osoittimet
C-ohjelmointi: Osoittimet Liisa Marttinen & Tiina Niklander 22.2.2005 Muistinhallinta Java vs C Luokka on viittaustyypin määritelmä ja olio on viittaustyypin ilmentymä Muistinhallinta on implisiittistä.
Lisätiedotif-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta.
if- valintarakenne Yksittäisen vaihtoehdon valinta if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta. Syntaksi: if (ehto) lauseita; Aaltosulkeiden
LisätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
LisätiedotOsoittimet ja taulukot
Osoittimet ja taulukot Hannu Laine Copyright Hannu Laine Osoittimet int main (void) { int a; int *p; //p on osoitinmuuttuja p = &a; *p = 10; printf( %d, *p); //tulostuu muuttujan a sisältö scanf( %d, p);
LisätiedotModulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä.
3. Funktiot Modulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä. Modulaarisuudella pyritään parantamaan ohjelman ymmärrettävyyttä, testattavuutta sekä
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotC++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout:
C++ rautaisannos Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout: # include #include main ( ) main (
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. X Poikkeusten käsittelystä
812347A Olio-ohjelmointi, 2015 syksy 2. vsk X Poikkeusten käsittelystä Sisältö 1. Yleistä poikkeusten käsittelystä 2. Poikkeuskäsittelyn perusteita C++:ssa 3. Standardissa määritellyt poikkeukset 4. Poikkeusvarmuus
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotJavan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi
1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotC++ Kuva 1-1. C- ja C++ kielien perustana olevat kielet.
1. JOHDANTO C-kieli on perustana useille muille ohjelmointikielille. Esimerkiksi C++-kieli on kehitetty C- kielestä, Java- ja C#-kielen syntaksin perustana on toiminut C-kieli ja useat muutkin ohjelmointikielet
LisätiedotC-ohjelmointikieli vs. muut kielet
C-ohjelmointikieli vs. muut kielet C-kieli ohjelmointikielten "sukupuussa" (C++ -kielen kehittäjää Bjarne Stroustrupia mukaillen): 1 C vs. Java ("stereotyyppisesti") Käytännön eroja (tyypillisesti): Java:
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotOhjausrakenteet. Valinta:
Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla
Lisätiedot5.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ätiedotChapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotJava-kielen perusteita
Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja
LisätiedotJava-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ätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka
LisätiedotTable of Contents. T740103 Olio-ohjelmointi C/C++ perusteita Jukka Jauhiainen OAMK Tekniikan yksikkö 2010, 2011
Tämän materiaalin lähteenä on käytetty osoitteesta http://www.cplusplus.com/doc/tutorial löytyvää C+ + Language Tutorial. Tämän osan tarkoituksena on pääasiassa kerrata C-kielestä tuttuja perusasioita
LisätiedotOlio-ohjelmointi Syntaksikokoelma
C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja
Lisätiedot13 Operaattoreiden ylimäärittelyjä
248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.
Lisätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
LisätiedotC-ohjelmointikieli vs. muut kielet. C vs. Java ("stereotyyppisesti") C-ohjelman korkean tason rakenne. Java-ohjelman korkean tason rakenne
C-ohjelmointikieli vs. muut kielet C-kieli ohjelmointikielten "sukupuussa" (C++ -kielen kehittäjää Bjarne Stroustrupia mukaillen): Java-ohjelman korkean tason rakenne Ohjelma koostuu virtuaalikoneen hallinnoimista
LisätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
LisätiedotC-ohjelmointi, kevät Merkkijonot Komentoriviparametrit. Luento
, kevät 2006 Merkkijonot Komentoriviparametrit Luento 7 14.3.2006 Kevät 2006 Liisa Marttinen 1 Merkkijonot (strings) (Müldnerin kirjan luku 9) C:ssä merkkijono ei ole ennaltamääritelty datatyyppi (kuten
Lisätiedot815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset
815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
Lisätiedot