TyyppimuunnoksettMyn1 Tyyppimuunnokset Joskus kääntäjän on tehtävä itse päätöksiä, jos ohjelmoija ei ole ajatellut yksityiskohtia: int arvo1=10; long arvo2=25;

Slides:



Advertisements
Samankaltaiset esitykset
Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Advertisements

Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
15. Loogiset operaatiot.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
© Hannu Laine 1 Tietorakenteet ja algoritmit Funktio-osoittimet Funktio-osoittimen ja taulukko-osoittimen vertailu Funktio-osoittimen käyttötapoja.
JavaScript (c) Irja & Reino Aarinen, 2007
Copyright  Hannu Laine Osoittimet ja taulukot Hannu Laine.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
C-ohjelmointi, kevät 2006 Taulukot Binääritiedostot Luento
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
OLIO-OHJELMOINTI PERUSTEET PERUSTIETOTYYPIT
Vakio-osoitin ja osoitin vakioon tMyn1 Vakio-osoitin ja osoitin vakioon Tavallinen osoitin voi vaihtaa osoitettavaa keskusmuistialuetta. Tämä voidaan tehdä.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
Osoitin ja char- tietotyyppi tMyn1 Osoitin ja char-tietotyyppi Osoitinmuuttuja, joka on tyyppiä char* voidaan alustaa merkkijonolla: char* alku=”En toivo.
Dynaamiset oliottMyn1 Dynaamiset oliot Dynaamisen olion tunnuksen esittely ja olion määrittely voivat tapahtua yhtäaikaisesti tai eri aikaan. Dynaamisen.
Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.
Funktion esittely eli prototyyppi tMyn1 Funktion esittely eli prototyyppi Funktion esittely (function declaration) kertoo funktion nimen, parametrien tyypit.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 2 Ensimmäiset ohjelmat © Jukka Harju, Jukka Juslin.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
C-ohjelmoinnin perusteet
SQL Standardoitu kieli, jonka avulla voidaan
Lueteltu tyyppitMyn1 Lueteltu tyyppi Lueteltu tyyppi on tietotyyppi, jonka arvot luetellaan erikseen tyypin määrittelyn yhteydessä. Lueteltua tietotyyppiä.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
6. Muuttujat ja Java.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
PARAABELI (2. ASTEEN FUNKTION KUVAAJIA)
Johdatus ohjelmointiin – C kielen peruselementit Tutkijayliopettaja Manne Hannula Opetusharjoittelu (ohjaava opettaja Jukka Jauhiainen)
2. Lisää Java-ohjelmoinnin alkeita
Tuloksellinen Java-ohjelmointi Luku 2 Ensimmäiset ohjelmat
Tiedon vieminen funktiolle tMyn1 Tiedon vieminen funktiolle, parametrit Argumentin vieminen funktiolle voidaan toteuttaa kahdella menetelmällä: –Pass-by-Value.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Visual Basic -ohjelmointi
15. Ohjelmoinnin tekniikkaa
Osoittimen määrittely ja alustus tMyn1 Osoittimen määrittely ja alustus Osoitin (pointer) on muuttuja, joka voi sisältää keskusmuistiosoitteen. Osoitinmuuttujan.
Ohjausrakenteet Määräävät ohjelmakoodin suoritusjärjestyksen Ehtolause if – else on muotoa if (lauseke) lause1 else lause2 Jos lauseke on tosi, niin suoritetaan.
Muuttujan osoite int a=1; 0xbfffea64 /* tulostetaan a:n osoite*/ printf(“%p\n”, &a); 0xbfffea68 /* tulostetaan a:n osoite + 1*/ printf(“%p\n”, &a+1); /*
Tietorakenteet ja C-kieli
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
Merkit ja merkistöt C:n perusmerkistö (basic character set): a-z A-Z 0-9 ! " # % & ' ( ) * +, -. / : ; ? [ \ ] ^ _ { | } ~ sekä välilyönti, tabulaattori,
15. Ohjelmoinnin tekniikkaa Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi.
6. Muuttujat ja Java.
6. Muuttujat ja Java.
Scala Collections.
8. Näppäimistöltä lukeminen
Yhden bitin asettaminen Javalla
13. Loogiset operaatiot.
15. Ohjelmoinnin tekniikkaa
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
7. Näytölle tulostaminen
do-while -toistolause
9. Aritmeettiset operaatiot
8. Näppäimistöltä lukeminen
9. Aritmeettiset operaatiot
16. Ohjelmoinnin tekniikkaa
11. Javan valintarakenteet
7. Näytölle tulostaminen
6. Muuttujat ja Java.
13. Loogiset operaatiot.
TIETO JA TIETOKONEOHJELMA
4. Luokan testaus ja käyttö olion kautta
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

TyyppimuunnoksettMyn1 Tyyppimuunnokset Joskus kääntäjän on tehtävä itse päätöksiä, jos ohjelmoija ei ole ajatellut yksityiskohtia: int arvo1=10; long arvo2=25; float arvo3=30.0; double summa=arvo1+arvo2+arvo3;

TyyppimuunnoksettMyn2 Mitä tapahtuu: arvo1+arvo2 summataan siten, että arvo1 muunnetaan ensin tyypin long arvoksi. Summaksi saadaan 35. Tämä summa, 35, muunnetaan seuraavaksi tyypin float arvoksi, ja sitten se summataan muuttujan arvo3 arvolla. Summaksi tulee nyt Tämä muunnetaan tyypin double arvoksi, ja tallennetaan muuttujan summa arvoksi. Kääntäjän tekemät tyyppimuunnokset noudattavat seuraavaa kaavaa: 1. Jos toinen operandeista on tyyppiä long double, niin sitten toinenkin muunnetaan saman tyyppiseksi. 2. Jos toinen operandeista on tyyppiä double, niin sitten toinenkin muunnetaan saman tyyppiseksi.

TyyppimuunnoksettMyn3 3. Jos toinen operandi on tyyppiä float, niin sitten toinenkin muunnetaan saman tyyppiseksi. 4. Jos operandi on tyyppiä char, signed char, unsigned char, short tai unsigned short, niin sitten ne muunnetaan tyypiksi int, jos tämä on riittävä kaikille. Muussa tapauksessa muunnetaan tyypiksi unsigned int. 5. Lueteltu tyyppi muunnetaan joko tyypiksi (pienin mahdollinen, joka täyttää alkuperäisten muuttujien arvoalueet) int, unsigned int, long tai sitten unsigned long. 6. Jos toinen operandeista on tyyppiä unsigned int, niin sitten toinenkin muunnetaan saman tyyppiseksi.

TyyppimuunnoksettMyn4 7. Olkoot toinen operandi tyyppiä long ja toinen operandi tyyppiä unsigned int. Jos tyypin long muuttuja voi edustaa kaikkia tyypin unsigned int arvoja, niin silloin siirrytään tyyppiin long. Muussa tapauksessa muunnetaan operandit tyyppiin unsigned int. 8. Jos toinen operandi on tyyppiä long, niin sitten toinenkin muunnetaan saman tyyppiseksi.

TyyppimuunnoksettMyn5 Ohjelmoija voi tehdä eksplisiittisen tyyppimuunnoksen (explicit cast): static_cast (expression) double arvo1=10.5; double arvo2=15.5; int kokonaisluvut=static_cast (arvo1) + static_cast (arvo2); muuttujan kokonaisluvut arvoksi tulee siis 25.

TyyppimuunnoksettMyn6 Montako tavua muuttuja varaa muistista? Yksioperandinen sizeof()-operaattori palauttaa operandin tilanvarauksen koon tavuina ilmoitettuna. Operandina voi olla muuttuja, vakio tai tietotyypin nimi. cout << endl << ”Jos muuttuja on int-tyyppinen, niin se vie tilaa” << sizeof(int) << ”tavua.”