Pääteohjaus 1
Tämän pääteohjauksen tarkoituksena on tutustua Ohjelmointi
-kurssin malliohjelmina olevien KERHO ja TULKKI -ohjelmien
toimintaan. Näistä voi saada joitakin ideoita oman harjoitustyön suunnitelmaan.
Seuraavat harjoitukset on parasta tehdä komentotulkissa.
Siis jos olet Windowissa, napauta 2 kertaa CMD -ikonia päästäksesi komentotulkki-tilaan.
Aivan ensimmäiseksi tee kovalevylle (esim. C) oma hakemisto
(C:\MyTemp\ohj\tunnus, missä tunnus on oma
käyttäjätunnuksesi).
Hakemistot
Kerho
KERHO -ohjelma tullaan kurssin aikana toteuttamaan TOP-DOWN
suunnittelua käyttäen ja kehityksen eri vaiheita on seuraavissa hakemistoissa:
Directory of N:\kurssit\cpp\kerho
05.09.2000 14:48 <DIR> paamenu.0
12.01.2002 14:58 <DIR> menut.05
12.01.2002 14:22 <DIR> raken.09
12.01.2002 14:23 <DIR> jako.15
28.12.2001 10:31 <DIR> runko.1
12.01.2002 14:36 <DIR> talletus.2
12.01.2002 15:06 <DIR> lukemine.3
12.01.2002 15:20 <DIR> tarkistu.4
12.01.2002 15:29 <DIR> etsilaj.5
05.09.2000 14:48 <DIR> vapaatyy.8
Hakemiston nimessä oleva tarkennin 0-8 viittaa kehitysvaiheeseen (ei samat kuin harjoitustyön vaihenumerot). Kuhunkin alihakemistoon on käännetty valmiiksi ohjelma nimeltä
KERHO.EXE. Tarkoituksena on katsoa eri vaiheissa olevan ohjelman toimintaa.
Tulkki
Tulkki-ohjelma on toteutettu 3 vaiheessa.
Directory of N:\KURSSIT\C\TULKKI
. <DIR> 30.12.91 11.05
.. <DIR> 30.12.91 11.05
VALITES 1 <DIR> 30.12.91 11.05
SANASLUK 2 <DIR> 30.12.91 11.05
VALMIS 3 <DIR> 30.12.91 11.05
Eri vaiheiden testaaminen vaatii debuggerin käytön osaamista, ja tässä pääteohjauksessa tutustutaan vain viimeiseen
vaiheeseen eli alihakemistoon VALMIS.3, josta löytyy "valmis" tulkki-ohjelma nimeltä TULKKI.EXE.
Kerho
Päämenu
Kerho ohjelman ensimmäisessä vaiheessa on tehty ohjelma, joka tulostaa vain pelkän ohjelman päävalikon.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\PAAMENU.0
Käynnistä ohjelma kirjoittamalla
N:\KURSSIT\CPP\KERHO\PAAMENU.0>KERHO[RET]
Päämenu
Seuraavassa vaiheessa on toimivat valikot, mutta mikään
alakohta ei toimi.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\MENUT.05
Käynnistä ohjelma kirjoittamalla
N:\KURSSIT\CPP\KERHO\MENUT.05>KERHO[RET]
Runko
Seuraava vaihe on lisätä ohjelmaan niin paljon koodia, että
tietorakenteet saadaan toimiviksi. Mitään järkevää ei vielä
saada aikaan, mutta rakenteiden toimivuus voidaan todeta.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\RUNKO.1
Käynnistä KERHO-ohjelma
Kokeile tulostusta (3).
Lisää jäsen pari kertaa.
Kokeile tulostusta.
Kokeile muita toimintoja.
Lopeta ohjelma.
Käynnistä ohjelma uudelleen.
Kokeile tulostusta.
Lopeta ohjelma
Talletus
Seuraavana ohjelmaan lisätään talletus, jotta syöttöaineistoa on riittävästi käytössä myöhemmin, kun muita toimintoja
lisätään. Ohjelma ei vieläkään osaa lukea päätteeltä, mutta se osaa lukea ja kirjoittaa tiedoston, jossa jäsenistö
on.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\TALLETUS.2
Siirry C-levyn omaan hakemistoosi (jollei ole, tee se).
Kopioi N-levyn *.DAT -tiedostot
C:\MyTemp\ohj\VESAL>copy n:*.dat
Käynnistä KERHO-ohjelma n:kerho
Vastaa kerhon nimeksi KELMIT
Kokeile tulostusta (3).
Lisää jäsen.
Kokeile tulostusta.
Kokeile muita toimintoja.
Lopeta ohjelma.
Käynnistä ohjelma uudelleen.
Kokeile tulostusta. Onko lisätty jäsen tallessa?
Lopeta ohjelma.
Käynnistä vaikkapa Borland-C editori ja editoi sillä tiedostoa KELMIT.DAT:
C:\MyTemp\ohj\VESAL>BC KELMIT.DAT[RET]
Lisää tiedostoon jokin uusi jäsen ja poista pari muuta.
Lopeta Borland-C ([Alt-X]).
Käynnistä KERHO-ohjelma jälleen kerran.
Kokeile tulostusta. Onko muutokset kunnossa?
Lopeta ohjelma.
Päätesyöttö
Kun tiedot osataan tallettaa tiedostoon, voidaankin ohjelmaan jo lisätä päätesyöttö. Tässä vaiheessa ei vielä huolehdita oikeellisuustarkistuksista.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\LUKEMINE.3
Siirry omaan hakemistoosi ja kopioi jälleen N:*.DAT
Käynnistä KERHO-ohjelma
Vastaa kerhon nimeksi KELMIT
Kokeile tulostusta (3).
Lisää jäsen.
Kokeile tulostusta.
Lisää toinen jäsen, ja vastaa kysymyksiin mielettömiä arvoja. Kelpaavatko?
Kokeile tulostusta.
Lopeta ohjelma.
Oikeellisuustarkistukset
Kun päätesyöttö toimii luotettavasti, voidaan lisätä syöttöön oikeellisuustarkistukset.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\TARKISTU.4
Siirry omaan hakemistoosi ja kopioi jälleen N:*.DAT sekä
N:*.HLP
Käynnistä KERHO-ohjelma
Vastaa kerhon nimeksi KELMIT
Kokeile tulostusta (3).
Lisää jäsen.
Kokeile tulostusta.
Lisää toinen jäsen, ja vastaa kysymyksiin mielettömiä arvoja. Kelpaavatko?
Kokeile tulostusta.
Lopeta ohjelma.
Etsiminen ja korjailu
Seuraavaksi lisätään vielä ohjelmasta puuttuvia toimintoja.
Esimerkiksi tietojen etsiminen ja korjailu.
Siirry alihakemistoon N:\KURSSIT\CPP\KERHO\ETSILAJ.5
Siirry omaan hakemistoosi ja kopioi jälleen N:*.DAT, N:*.HLP
Käynnistä KERHO-ohjelma
Vastaa kerhon nimeksi KELMIT
Kokeile tulostusta (3).
Kokeile tietojen etsimistä (2).
Valitse kysymysmerkki (?) jotta näet mitä kenttiä on
käytössä.
Valitse vaikkapa nimikenttä (1).
Etsi kaikki A:lla alkavat nimet (a*).
Valitse vaikkapa nimikenttä (1).
Etsi kaikki nimet jotka ovat aakkosissa ennen nimeä KISSA
(<kissa).
Selaile löytyneitä nimiä (+ ja -).
Palaa päävalintaan ([Ret]).
Koeta muuttaa James Bondin tietoja.
Lopeta ohjelma.
Yleistystä
Seuraavat ohjelmankehitysvaiheet liittyvät rakenteen yleistämiseen, eivätkä tarjoa mitään ulospäin näkyviä toiminnallisia muutoksia. Viimeinen kehitysvaihe ylittää jo ohjelmointikurssin vaatimustason; siinä yleistys on viety niin
pitkälle, että rekisterin tietueiden tiedot on talletettu
.RAK -nimisiin tiedostoihin. Näin jokainen voi periaatteessa kokeilla voiko hän saada oman harjoitustyönsä aikaiseksi
muuttamalla tiedostoa OLETUS.RAK.
Siirry alihakemistoon N:\KURSSIT\C\KERHO\VAPAATYY.8
Siirry omaan hakemistoosi ja kopioi nyt N:*.DAT, N:*.HLP ja
N:*.RAK
Käynnistä KERHO-ohjelma.
Vastaa kerhon nimeksi KELMIT
Kokeile avustusta (?).
Kokeile tulostusta (3).
Laita kaikkien henkilöiden maksettu maksu kentään 0 mk.
(Voit kokeilla avustusta ? missä kohti vaan).
Muutetaan muuttamisessa käytettävät kentät.
Kentät >B[RET]
Maksettu maksu mk >0.0[RET]
2 = täytä kentät..
Valitse kenttä... :1
Jäsenen nimi ...>*
Kokeile muuttaa jäsenmaksuksi 10 mk kaikille niille, jotka
ovat liittyneet ennen vuotta 1986.
Lopeta ohjelma.
Käynnistä KERHO-ohjelma.
Vastaa kerhon nimeksi KOULU
Kokeile tulostusta (3).
Kokeile lisätä koululaisia.
Lopeta ohjelma.
Kopioi KOULU.RAK nimelle OLETUS.RAK
C:\MyTemp\ohj\VESAL>COPY KOULU.RAK OLETUS.RAK[RET]
Muokkaa tiedostoa OLETUS.RAK vastaamaan osittain omaa harjoitustyötäsi. Ohjeita rakennetiedoston kirjoittamiseen
löydät tiedostoston KERHOLRA.C alkukommenteista.
C:\MyTemp\ohj\VESAL>BC OLETUS.RAK[RET]
Lopeta Borland-C ([Alt-X]).
Käynnistä KERHO-ohjelma.
Vastaa tiedoston nimeksi OMA ja kokeile toimiiko.
Harjoitustyöksi ei kuitenkaan kelpaa tämän hakemiston tiedostojen listaaminen!
Kurssin WWW-sivut
Tutki kurssin WWW-sivuja
http://www.mit.jyu.fi/~vesal/kurssit/ohjelmointi2002/
ja sieltä erityisesti kohtaa Harjoitustyö ja palautusohjeet.
Samoin harjoittele demojen laittamista verkkoon!
Tulkki
Tulkki-ohjelmasta kokeilemme vain "valmista" ohjelmaa.
Kopioi hakemisto N:\KURSSIT\C\TULKKI\VALMIS.3 omaan
hakemistoosi (tee vaikka uusi TULKKI-alihakemisto ensin).
Sanasto on talletettu tiedostoon SANASTO.DAT. Katso mitä
sanoja on sanastossa.
Käynnistä TULKKI-ohjelma
C:\MyTemp\ohj\VESAL>TULKKI[RET]
Paina kysymysmerkkiä ja return-näppäintä
(?[RET]).
Kokeile tulkkaamista vaikkapa seuraaville sanoille
HÄN suomi -> englanti
HE englanti -> ruotsi
Kokeile muitakin käännöksiä (muista, että myös jokerimerkki
* toimii, ja että sanaston koko on rajallinen!).
Lopeta ohjelma ([Ret]).
Käynnistä ohjelma jollakin sanalla:
C:\MyTemp\ohj\VESAL>TULKKI sukka[RET]
Lopeta ohjelma.
Kopioi sanasto omaan hakemistoosi ja lisää sanastoon savon-kieli ja kokeile toimintaa. Iso kirjain tarkoittaa kielen
valintaa käännöksessä. Miten siis lisäät savon kielen?
C-kielen opetusohjelma
C-kielen opetusohjelma on matematiikan laitoksella erikoistyönä tehty harjoitelma "interaktiivisesta" C-kielen opetusohjelmasta. Ohjelman voit kopioida itsellesi omaan koneeseesi kopioimalla itsellesi hakemiston:
N:\Kurssit\cpp\c_opetus
Ensimmäinen ohjelma
Tutkitaan aluksi mitä ohjelma osaa sanoa yksinkertaisesta
C-ohjelmasta:
Etsi Windowsin ikoneista ryhmä C-kielen opetus
Klikkaa opetusohjelma käyntiin.
Valitse ylärivin työkaluista sisällysluettelo
Valitse sisällysluettelosta Ensimmäinen ohjelma
Kulje hiirellä ohjelma eri komponentteja ja täydennä luentomonisteen luvun 7 ensimmäiseen malliohjelmaan itsellesi tärkeimmät asiat.
Valitse seuraavaksi sisällysluettelosta Ohjelman synty ja
tutki miten tekstitiedosto muuttuu ajettavaksi ohjelmaksi
Miten ohjelmalauseita "keksitään"
Seuraavaksi tutkimme miten "mystisiltä" näyttäviä ohjelmarakenteita voidaan "keksiä":
Valitse sisällysluettelosta Ohjelman kehityksestä
Aja animaatio asiaan keskittyen läpi. Palaa tähän animaatioon kurssin myöhemmissä vaiheissa jos asiat tuntuvat vaikeilta.
Taulukoista löytyy mukava esimerkki kohdasta Merkkijonot
Opetusohjelman HTML-versio
Katso myös vastaavaa HTML-versiota osoitteesta:
http://www.mit.jyu.fi/opiskelu/Ciao