OHJ-1151 Ohjelmointi IIe



Samankaltaiset tiedostot
String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

Racket ohjelmointia. Tiina Partanen 2014

Matematiikan tukikurssi

Ohjelmointi 1 C#, kevät 2013, 2. tentti

Racket ohjelmointia I

Java-kielen perusteet

Ohjelmoinnin peruskurssien laaja oppimäärä

Racket ohjelmointia II. Tiina Partanen 2015

OHJ-1160 Laaja Ohjelmointi 2

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Bootstrap / HTDP2 / Realm of Racket. Vertailu

ITKP102 Ohjelmointi 1 (6 op)

17/20: Keittokirja IV

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

ITKP102 Ohjelmointi 1 (6 op)

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014

5 Olio-ohjelmointi 133

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

7/20: Paketti kasassa ensimmäistä kertaa

2.2 Täydellinen yhtälö. Ratkaisukaava

Osion kaksi kertaus. Jukka Juslin. Jukka Juslin

Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta

Matematiikan tukikurssi

Taulukkolaskenta II. Taulukkolaskennan edistyneempiä piirteitä

LUKUJÄRJESTYSPOHJA Tekniikan ja luonnontieteiden TkK-tutkinto-ohjelma, Ympäristö- ja energiatekniikan opintosuunta

- Kommentoi koodisi. Koodin kommentointiin kuuluu kuvata metodien toiminta ja pääohjelmassa tapahtuvat tärkeimmät toiminnat. Esim.

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Lisää segmenttipuusta

Tämä opas on tarkoitettu opettajaylläpitäjille, jotka eivät ole ennen käyttäneet TwinSpacea. Neuvomme, kuinka:

ITKP102 Ohjelmointi 1 (6 op)

Johdatus Ohjelmointiin

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI:

TimeEdit henkilökunnan ohje

8/20: Luokat, oliot ja APIt

Ohje PhotoPortaalin käytöstä

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmointi 1 C#, kevät 2014, tentti

Riskienhallinta DTV projektissa. Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Tietueet. Tietueiden määrittely

Sisältö. 22. Taulukot. Yleistä. Yleistä

Merkkien ja merkkijonojen käsittelyä Javalla

Yrityssuomi.fi:n toiminnallisuus ja ontologian hyödyntäminen Yritys-Suomen verkkopalveluissa. Eeva Koivisto, Yritys-Suomen verkkotoimitus 1.11.

Toimittajan yrityksen kaupparekisteriin merkitty virallinen nimi.

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

Ohjelmoinnin perusteet Y Python

Harjoitustyöohje

7. Näytölle tulostaminen 7.1

Ohjelmoinnin peruskurssien laaja oppimäärä

Usein kysytyt kysymykset

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

2. Olio-ohjelmoinista lyhyesti 2.1

1. Omat operaatiot 1.1

Racket ohjelmointia osa 1. Tiina Partanen Lielahden koulu 2014

Johdatus diskreettiin matematiikkaan Harjoitus 7,

Eksponenttifunktion Laplace muunnos Lasketaan hetkellä nolla alkavan eksponenttifunktion Laplace muunnos eli sijoitetaan muunnoskaavaan


Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005

Luento 4 Aliohjelmien toteutus

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta

Ohjelmistoarkkitehtuurit. Syksy 2007

Käyttöjärjestelmät: Virtuaalimuisti

Racket ohjelmointia II. Tiina Partanen 2015

Muutoksenhakuohje. Muutoksenhakukiellot. Oikaisuvaatimus. Valitusosoitus

Itä-Suomen. työturvallisuuskilpailu. Kuopio Iso-Valkeinen

etunimi, sukunimi ja opiskelijanumero ja näillä

LIIKETOIMINNAN TIETOTURVALLISUUS - ASIANTUNTIJAN ERIKOISTUMISOPINNOT (30 op)

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

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmoinnin perusteet Y Python

4. Luokan testaus ja käyttö olion kautta 4.1

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmointi Tunnilla 1 (5) Viikko 7 tuntitehtäviä: metodien tekeminen Javalla

Raportointi hankkeen tulosten kuvaajana ja toteutuksen tukena

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin jatkokurssi, kurssikoe

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

MS-A Matriisilaskenta Laskuharjoitus 3

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

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi

Ohjelmoinnin peruskurssi Y1

Vaikeasti vammaisen lapsen vanhempana ajatuksia elvytyksestä ja tehohoidosta.

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

4. Olio-ohjelmoinista lyhyesti 4.1

Kuvapankki Imagebank Independent

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Harjoitus 3: Matlab - Matemaattinen mallintaminen

(x 0 ) = lim. Derivoimissääntöjä. Oletetaan, että funktiot f ja g ovat derivoituvia ja c R on vakio. 1. Dc = 0 (vakiofunktion derivaatta) 2.

Eevi-Kaisa Kilpiö, SPEK. OPPIMATERIAALIUUDISTUS Oppimateriaalipankki Opintoasema

3. Muuttujat ja operaatiot 3.1

Algoritmit 2. Luento 8 Ke Timo Männikkö

Windows Live SkyDrive - esittely

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

16. Javan omat luokat 16.1

Taloustieteen perusteet 31A Mallivastaukset 3, viikko 4

Transkriptio:

Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja -paikka Tekijän nimi Opiskelijanumero Proffan käyttäjätunnus tut.fi-loppuinen sähköpostiosoite

1 OHJELMAN RAKENNE 1.1 Ohjelman tietorakenteet Tässä kohdassa selvitetään mitä tietorakenteita ohjelma käyttää, mitä niissä säilötään ja miten tiedot on rakenteeseen talletettu. Jos pystyt piirtämään tietorakenteestasi havainnollisen kuvan, aina vain parempi. Kuva saa olla käsin piiretty. (Liian) yksinkertainen puhelinluettelon sisältöä kuvavaa tietorakenne voisi näyttää esimerkisi seuraavalta: struct Kentta { string sukunimi; string etunimi; string numero; }; vector<kentta> luettelo; 1.2 Ohjelman suoritus Miten ohjelman osat suhtautuvat toisiinsa. Mitä toteutetaan funktioissa, mitä luokissa ja mitä muissa moduuleissa. Kaavion on tarkoitus selventää erityisesti ohjelman olioiden/luokkien suhteita. Piirrä aiheesta selkeyttävä kuva. Kuva saa olla käsin piirretty.

2 MODUULIT 2.1 Moduuli X Tässä luvussa kuvataan ohjelman moduulit, eli siis luokat ja mahdolliset muut moduulit. Aivan triviaaleja (apu)funktioita / metodeja ei tässä tarvitse kuvata. Tällaisia ovat mm. merkkijonojen suuriksi ja pieneksi muuttaminen, kahden arvon paikan vaihtaminen vectorissa, luku-merkkijono-muunnokset jne. 2.1.1 Moduulin kuvaus Tässä kohdassa selvitetään: Mitä moduuli toteuttaa Miksi se on olemassa Moduulin vastuualue Miten ohjelma hyötyy sen olemassaolosta Onko moduulilla sisäisiä tietotyyppejä Käyttääkö moduuli jotain toista moduulia/luokkaa jne.. 2.1.2 Rajapinta Tässä luvussa käydään läpi moduulin rajapinta, eli sen sisältämät tyypit, vakiot, funktiot jne. Tärkeimmät funktiot dokumentoidaan kuten alla olevassa esimerkissä. ESIMERKKI: (Alla kuvattu funktio on täysin älyvapaa eikä sellaista kannata ikinä mihinkään kirjoittaa, se on vain esimerkki miten funktion voi dokumentoida) Funktio: summaa Esittely: string summaa(string& eka, string& toka); Parametrit: string& eka: Ensimmäinen yhteenlaskettava luku merkkijonona string& toka: Toinen yhteenlaskettava luku merkkijonona Paluuarvo: Parametreina annettujen lukujen summa merkkijonona. Toiminta: Laskee parametrinaan saamansa luvut yhteen ja palauttaa summan merkkijonona. Funktio myös tyhjentää parametrinaan saamansa merkkijonot (sivuvaikutus). Kutsuu funktioita str2int() ja int2str(). Käyttö: Käytetään ohjelmassa lukujen yhteenlaskuun. Kutsutaan kun käyttäjä käyttää summaa nollaten -operaattoria.

2.2 Luokka Y 2.2.1 Luokan kuvaus Tässä kohdassa selvitetään: Mitä luokka Y mallintaa Luokan vastuualue(et) Miksi se on olemassa Miten ohjelma hyötyy sen olemassaolosta Mitä dataa luokka sisältää Onko luokassa merkittäviä tietorakenteita Käyttääkö luokka jonkin toisen luokan palveluita jne.. 2.2.2 Rajapinta Tässä luvussa käydään läpi luokan rajapinta eli kaikki rajapinnasta löytyvät tyypit, metodit ja muuttujat, eli siis myös private-puoli. Tärkeimmät metodit dokumentoidaan kuten kohdassa 2.1.2.1. Metodit kuvattu kuten moduulien funktiot lisäksi tieto ovatko ne vakiometodeita 2.3 Ohjelman jokainen moduuli / luokka omana alilukunaan

3 KYSYMYKSIÄ / ONGELMIA Tämä luku tarvittaessa. Loppudokumentaatiossa tätä lukua ei enää luonnollisesti tarvitse. Tässä luvussa voit: Esittää kysymyksiä assistentille. Kirjata epäselvyyksiä tehtävänannosta.

4 LOPPUDOKUMENTAATIO Tämä luku vain harjoitustyön loppudokumentaatiossa. Välipalautusta tehdessäsi voit poistaa tämän luvun. 4.1 Muutokset aluperäiseen suunnitelmaan. Tässä kohdassa kuvataan muutokset joita jouduttiin tekemään alkuperäiseen välipalautuksessa esitettyyn suunnitelmaan. (Tässä dokumentissa siis esitetään ohjelman nykytila) 4.2 Kuvaus harjoitustyön tekemisestä Lyhyt kuvaus siitä miten harjoitustyön tekeminen sujui, mihin ongelmiin toteutettaessa törmättiin ja miten ne ratkaistiin. Arvio harjoitustyöhön käytetystä ajasta. Oma arvio harjoitustyön onnistumisesta. 4.3 Palautetta Kaikkea mahdollista palautetta erityisesti kurssin harjoitustöistä, muitakin kurssiin liittyviä asioita saa kommentoida. Kuten esimerkiksi: harjoitustyö harjoitustyön tehtävänanto ja aihe harjoitustyön käytännön järjestelyt dokumenttipohjan käyttökelpoisuus olisitko tehnyt välipalautusdokumentin mieluummin ilman dokumenttipohjaa luennot harjoitukset loputon palautteen kerääminen :-) jne.