TAULUKKO YKSIULOTTEINEN TAULUKKO TAULUKKO Taulukon tarkoitus Ohjelmassa tarvitaan

  • Slides: 17
Download presentation
TAULUKKO YKSIULOTTEINEN TAULUKKO

TAULUKKO YKSIULOTTEINEN TAULUKKO

TAULUKKO § Taulukon tarkoitus • Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia •

TAULUKKO § Taulukon tarkoitus • Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia • Näitä muuttujia ei määritellä jokaista erikseen vaan muodostetaan niistä taulukko • Taulukossa voidaan kuitenkin käsitellä jokaista muuttujaa omana itsenään

TAULUKKO § Mitä taulukosta tulee tietää • Kuinka monta muuttujaa taulukkoon on tarkoitus tallettaa

TAULUKKO § Mitä taulukosta tulee tietää • Kuinka monta muuttujaa taulukkoon on tarkoitus tallettaa • Ed. tiedosta saadaan tulevan taulukon koko • Jokaista muuttujaa kutsutaan taulukossa taulukon alkioksi • Selvitetään muuttujien yhteinen tietotyyppi • Annetaan taulukolle kuvaava nimi

TAULUKKO § UML - esimerkkejä taulukoiden määrittelystä : Huom ! Alkuarvoa ei anneta. •

TAULUKKO § UML - esimerkkejä taulukoiden määrittelystä : Huom ! Alkuarvoa ei anneta. • oppilaat [35] AN 15 • kaupungit [250] AN 30 • palkat [20] N 9, 2 § Java: • String [ ] oppilaat = new String [35] ; • String [ ] kaupungit = new String [250] ; • double [ ] palkat = new double [20] ;

TAULUKKO § Esimerkkejä taulukoiden määrittelystä, kun alkuarvot annetaan. Samalla määräytyy taulukon koko: § UML:

TAULUKKO § Esimerkkejä taulukoiden määrittelystä, kun alkuarvot annetaan. Samalla määräytyy taulukon koko: § UML: • oppilaat [3] AN 15 = (”a 06123”, ”a 06543”, ”a 062323”) • kaupungit [250] AN 30 = (”Helsinki”, ”Tampere”, …. ) • palkat [20] N 9, 2 = (1230. 50, 2200. 35, 14780. 00, …. . ) § Java: • String [ ] oppilaat = {”a 06123”, ”a 06543”, ”a 062323”} ; • String [ ] kaupungit = {”Helsinki”, ”Tampere”, …. } ; • double [ ] palkat = {1230. 50, 2200. 35, 14780. 00, …. . } ;

TAULUKKO § Taulukon indeksi: • Se on aina kokonaisluku, joka lähtee arvosta yksi •

TAULUKKO § Taulukon indeksi: • Se on aina kokonaisluku, joka lähtee arvosta yksi • Ensimmäisen alkion numero eli osoite eli indeksi on aina yksi (1) • Viimeisen alkion indeksi on aina sama kuin taulukon alkioiden lukumäärä

TAULUKKO § Malli: • Taulukossa on viisi kokonaislukumuuttujaa • Taulukon kuvaus: § luvut (5)

TAULUKKO § Malli: • Taulukossa on viisi kokonaislukumuuttujaa • Taulukon kuvaus: § luvut (5) N 3 = (20, 50, 70, 100, 140) 20 50 70 100 140 sisältö 1 2 3 4 5 indeksi

TAULUKKO § Taulukon indeksointi • Alkion järjestysluku voi olla literaali, kaava tai muuttujanimi •

TAULUKKO § Taulukon indeksointi • Alkion järjestysluku voi olla literaali, kaava tai muuttujanimi • Indeksin on oltava aina kokonaislukutyyppiä § UML: 1 – n § Java: 0 – n

TAULUKKO § Taulukon alkion nimi • Jokainen alkio on siis yksi muuttuja • Muuttujan

TAULUKKO § Taulukon alkion nimi • Jokainen alkio on siis yksi muuttuja • Muuttujan eli alkion nimi muodostuu seuraavasti: § Nimessä on aina kaksi osaa § Nimeen kuuluu taulukon nimi ja sen perässä suluissa järjestysluku, joka kertoo kuinka mones alkio on taulukon alusta lukien

TAULUKKO § Taulukon alkion nimi • UML - esimerkki luvut – taulukosta: § luvut

TAULUKKO § Taulukon alkion nimi • UML - esimerkki luvut – taulukosta: § luvut (5) N 3 = (20, 50, 70, 100, 140) • Ensimmäisen alkion nimi: luvut (1) • Kolmannen alkion nimi: luvut (3) • Viimeisen alkion nimi: luvut (5)

TAULUKKO § Taulukon alkion nimi § Alkion arvon tulostus: • UML TULOSTA luvut (2)

TAULUKKO § Taulukon alkion nimi § Alkion arvon tulostus: • UML TULOSTA luvut (2) Muunnos ! • Java System. out. println (”Toinen on ” + luvut[1]) ; • Javassa indeksi lähtee aina nollasta (0) • Indeksin muunnos on aina tehtävä koodausvaiheessa • Esimerkissä indeksi on numeerinen literaali

TAULUKKO § Taulukon alkion nimi § Esimerkkinä alkion arvon sijoitus toisen alkion sisällöksi: •

TAULUKKO § Taulukon alkion nimi § Esimerkkinä alkion arvon sijoitus toisen alkion sisällöksi: • UML luvut (1) = luvut (4) • Java Muunnos ! luvut [0] = luvut [3] ;

TAULUKKO § Taulukon indeksointi • Esimerkki luvut – taulukosta, viimeiseen alkioon sijoitetaan arvo 23

TAULUKKO § Taulukon indeksointi • Esimerkki luvut – taulukosta, viimeiseen alkioon sijoitetaan arvo 23 § luvut (5) N 3 = (20, 50, 70, 100, 140) § Indeksi on muuttuja ind ja sen määritys on: ind N 1 • UML ind = 5 luvut (ind) = 23

TAULUKKO § Taulukon indeksointi • Esimerkki luvut – taulukosta, viimeiseen alkioon sijoitetaan arvo 23

TAULUKKO § Taulukon indeksointi • Esimerkki luvut – taulukosta, viimeiseen alkioon sijoitetaan arvo 23 • Javalla: // Määritysosa • int ind ; • int luvut [ ] = {20, 50, 70, 100, 140} ; // Suoritusosa • ind = 4 ; • luvut [ind] = 23 ;

TAULUKKO § Taulukon indeksointi • Indeksi on kaava ind + 1 • Esimerkki luvut

TAULUKKO § Taulukon indeksointi • Indeksi on kaava ind + 1 • Esimerkki luvut – taulukosta, kolmanteen alkioon sijoitetaan arvo 77 • Javalla: • int ind ; • int luvut [ ] = {20, 50, 70, 100, 140} ; . . . . • ind = 1 ; • luvut [ind + 1] = 77 ;

TAULUKKO § Taulukon indeksointi • Esimerkki tulostaa kaikkien alkioiden sisällön • UML ind =

TAULUKKO § Taulukon indeksointi • Esimerkki tulostaa kaikkien alkioiden sisällön • UML ind = 1 epätosi [ind = 6] [ind < 6] TULOSTA luvut (ind) ind = ind + 1

TAULUKKO § Taulukon indeksointi • Esimerkki tulostaa kaikkien alkioiden sisällön • Javalla § Yleisesti

TAULUKKO § Taulukon indeksointi • Esimerkki tulostaa kaikkien alkioiden sisällön • Javalla § Yleisesti käytetään for – silmukkaa for (ind = 0; ind < 5; ind ++) System. out. println (luvut [ind] ) ;