tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi



Samankaltaiset tiedostot
Tietueet. Tietueiden määrittely

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

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

Osoitin ja viittaus C++:ssa

Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2

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

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

Lyhyt kertaus osoittimista

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

Rakenteiset tietotyypit Moniulotteiset taulukot

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

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Tietorakenteet ja algoritmit

Osoittimet ja taulukot

Tietorakenteet ja algoritmit

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

Osoittimet ja taulukot

Loppukurssin järjestelyt

C-ohjelmointi: Osoittimet

Loppukurssin järjestelyt C:n edistyneet piirteet

Tietorakenteet ja algoritmit

if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta.

Kielioppia: toisin kuin Javassa

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Table of Contents. T Olio-ohjelmointi C/C++ perusteita Jukka Jauhiainen OAMK Tekniikan yksikkö 2010, 2011

Jakso 4 Aliohjelmien toteutus

ITKP102 Ohjelmointi 1 (6 op)

811120P Diskreetit rakenteet

Taulukot. Jukka Harju, Jukka Juslin

Tietorakenteet ja algoritmit

Ohjelmointi 1 Taulukot ja merkkijonot

Tietotyypit ja operaattorit

Luokassa määriteltävät jäsenet ovat pääasiassa tietojäseniä tai aliohjelmajäseniä. Luokan määrittelyyn liittyvät varatut sanat:

Moduli 2: Osoittimet ja taulukot. Joel Huttunen

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

Olio-ohjelmointi Syntaksikokoelma

Tietorakenteet ja algoritmit

Ohjelmoinnin perusteet Y Python

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

13 Operaattoreiden ylimäärittelyjä

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

Ohjelmoinnin perusteet Y Python

Luento 4 Aliohjelmien toteutus

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

17. Javan omat luokat 17.1

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

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Tietorakenteet ja algoritmit

ITKP102 Ohjelmointi 1 (6 op)

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

17. Javan omat luokat 17.1

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Dynaaminen muisti Rakenteiset tietotyypit

C-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja

Jakso 4 Aliohjelmien toteutus

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

Tietorakenteet ja algoritmit

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

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

Algoritmi ja abstraktio

Luento 4 Aliohjelmien toteutus

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

#include <stdio.h> // io-toiminnot. //#define KM_MAILISSA int main( ){

Moduli 5: Kehittyneitä piirteitä

Monipuolinen esimerkki

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Aliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus

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

Jakso 4 Aliohjelmien toteutus

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

TIETORAKENTEET JA ALGORITMIT

1. Omat operaatiot 1.1

Ohjelmoinnin perusteet Y Python

Jakso 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Ohjeet. AS C-ohjelmoinnin peruskurssi Aalto-yliopiston sahkotekniikan korkeakoulu Tentti , Raimo Nikkila

20. Javan omat luokat 20.1

ITKP102 Ohjelmointi 1 (6 op)

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

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

Luento 4 Aliohjelmien toteutus

ITKP102 Ohjelmointi 1 (6 op)

3. Binääripuu, Java-toteutus

Luento 4 Aliohjelmien toteutus. Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Tietorakenteet ja algoritmit

1. Mitä seuraava ohjelma tulostaa? Vastaukseksi riittää yksi rivi joka esittää tulosteen. (6 p)

Ohjelmointiharjoituksia Arduino-ympäristössä

Tiedosto on yhteenkuuluvien tietojen joukko, joka tavallisimmin sijaitsee kiintolevyllä, muistitikulla tai jollakin muulla fyysisellä tietovälineellä.

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

C++11 lambdat: [](){} Matti Rintala

Dynaamiset tietorakenteet

2. C-kieli ja ongelmanratkaisu

Ohjelmoinnin perusteet Y Python

Java-kielen perusteita

7. Näytölle tulostaminen 7.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Harjoitus 4 (viikko 47)

C-ohjelmointikieli vs. muut kielet. C vs. Java ("stereotyyppisesti") C-ohjelman korkean tason rakenne. Java-ohjelman korkean tason rakenne

TIE Tietorakenteet ja algoritmit 25

Transkriptio:

tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi

ero taulukkoon taulukossa alkiot samantyyppisiä tietueessa alkiot voivat olla erityyppisiä tiedot kuitenkin yhteen kuuluvia ohjelmoinnin perusteet, c-kieli 2

henkilötiedot tietue nimi ikä osoite puhelinnumero kaikki tiedot yhden muuttujan arvoiksi ohjelmoinnin perusteet, c-kieli 3

tietuetyyppi tietuetyypin määrittely toteutetaan struct rakenteella struct henkilo_tiedot { char nimi[30]; int ika; char osoite[50]; char puh[15]; }; ohjelmoinnin perusteet, c-kieli 4

tietueen kentät edellisessä esimerkissä nimi, ika, osoite ja puh ovat kenttiä kenttien määrittely tehdään kuten tavallisten muuttujien määrittely ohjelmoinnin perusteet, c-kieli 5

tietuemuuttuja edellä määriteltyä rakennetta noudattava tietuemuuttuja voidaan määritellä seuraavasti: struct henkilo_tiedot henkilo; määrittely nimeää tietuemuuttujan henkilö ja varaa muistista tilaa jokaista tietueen kenttää varten ohjelmoinnin perusteet, c-kieli 6

tietueen kentän käyttöönotto tietuetyyppisen muuttujan kenttiin viitataan pisteoperaattorilla henkilo muuttujan nimikentän täyttäminen: gets(hehnkilo.nimi); tai scanf( %s, henkilo.nimi); ohjelmoinnin perusteet, c-kieli 7

nuolioperaattori kenttien käytössä tietueeseen osoittavia osoitinmuuttujia käytetään, kun tietue halutaan välittää funktiolle (muuttujaparametrina) tietuetyyppi kantatyyppinä: struct henkilo_tiedot *henkilo_ptr; osoitinmuuttujan osoittaman tietueen kenttiin viitataan nuolioperaattorilla: printf( %s,henkilo_ptr->nimi); ohjelmoinnin perusteet, c-kieli 8

/* esimerkki tietueen käytöstä*/ #include<stdio.h> #include<conio.h> /*VAKIOT*/ #define MAX_KIRJAN_NIMI 30 #define MAX_KIRJAILIJAN_NIMI 30 /*TIETOTYYPIT*/ struct kirja { char nimi[max_kirjan_nimi+1]; char kirjailija[max_kirjailijan_nimi+1]; float hinta; }; /* PÄÄOHJELMA JATKUU*/ printf( Anna kirjailijan nimi: ); gets(book.kirjailija); printf( Anna kirjan hinta: ); scanf( %d,&book.hinta); clrscr(); printf( Annoit seuraavat tiedot:\n\n ); printf( %-30s %-30s Hinta\n, Kirjan nimi, Kirjoittaja ); printf( \n%-30s %-30s %6.2f\n, book.nimi,book.kirjailija,book.hinta); } /*PÄÄOHJELMA*/ void main(void) { struct kirja book; clrscr(); printf( Anna kirjan nimi: ); gets(book.nimi); ohjelmoinnin perusteet, c-kieli 9

tietueet taulukkoon jos edellisen esimerkin mukaan halutaan koota kirjatietoja yhteen tehdään tietuetaulukko: struct kirja book[10]; taulukon alkioihin, tietueisiin, viitataan indeksin avulla: lainakirja = book[7];/*lainakirja samaa tyyppiä kuin alkio*/ ohjelmoinnin perusteet, c-kieli 10

tietueet taulukkoon (jatk.) taulukon alkiolle voidaan lukea tietoa: gets(book[i].nimi); kenttiin viitataan siis indeksin ja pisteoperaattorin avulla ohjelmoinnin perusteet, c-kieli 11

tietue / taulukko tietue voidaan sijoittaa toisen samantyyppisen tietueen arvoksi taulukkoa ei voida sijoittaa samoin, koska taulukon nimi on taulukon osoite merkkijono : strcpy(mjono1,mjono2); ohjelmoinnin perusteet, c-kieli 12

tietue parametrina funktiolle tietue voidaan välittää joko muuttuja- tai arvoparametrina tietue voi olla funktion paluuarvona (taulukko välitetään funktiolle muuttujaparametrina, funktio ei voi palauttaa taulukkoa) tietueen osoitteeseen viitataan & parametrilla muuttujaparametrina välitettäessä, parempi vaihtoehto kaikkia kenttiä ei kopioida aliohjelmalle ohjelmoinnin perusteet, c-kieli 13

tietueitten vertailu vertailu on tehtävä kenttä kerrallaan merkkijonojen strcmp() funktio käyttöön, jos tietueen kenttä on merkkijono ohjelmoinnin perusteet, c-kieli 14

typedef synonyymi itse määritellylle tietotyypille käyttäen typedef -määrittelyä yksinkertaistaa tietuemuuttujien määrittelyä struct kortti{ char maa[7]; int arvo; }; /*määrittelyt voidaan myös liittää yhteen*/ typedef struct kortti{ char maa[7]; int arvo; }Kortti; typedef struct kortti Kortti; */Kortti tietuetyyppisen muuttujan määrittely*/ /*Kortti määritelyt tarkoittamaan Kortti pelikortti; struct kortti tietuetyyppiä*/ ohjelmoinnin perusteet, c-kieli 15