Tietokoneen toiminta, Kevät 2011, Harjoitus 6
Nämä tehtävät tehdään etukäteen ja käsitellään harjoituksissa 6. kurssiviikolla 21.2. - 25.2.2011.
Harjoitukset pohjautuvat verkkoluentoihin 10 ja
11.
HUOM
- Opintopiirien loppuraportin palautus harjoituksissa paperilla tai viimeistään pe 25.2. moodleen tai paperilla huoneeseen D225.
- Kurssikoe on to 3.3.2011 klo 16.00
Tehtävät:
- Java ohjelmia (tavukoodia) voidaan suorittaa (ainakin) neljällä eri tavalla:
tulkitsemalla, tavallisella käännöksellä, Just-In-time -käännöksellä tai suoraan
Java-suorittimella.
- Anna esimerkkejä tilanteesta, jolloin tulkitseminen olisi parempi kuin
muut vaihtoehdot. Perustele, miksi muut tavat olisivat huonompia.
- Anna vastaavat esimerkit ja perustelut tilanteista, jolloin muut e.m.
vaihtoehdoista olisivat parhaita vaihtoehtoja.
- Mikä olisi paras vaihtoehto (Java) ohjelmoinnin harjoitustyön suorittamiseen?
Miksi?
- Mitä prosesseja järjestelmässä tarvitaan ohjelman suoritushetkellä,
jos Java ohjelmaasi MyProg suoritetaan 1) tulkitsemalla, 2) tavallisella
käännöksellä, 3) Just-In-Time -käännöksellä tai 4) suoraan Java-suorittimella?
- Milloin käyttäisit C#'ia Javan asemesta?
Mitä eroja/yhtäläisyyksiä C#'lla ja Javalla on?
- Minkälainen ohjelmointikieli on Scala? Mitä tekemistä sillä on Javan kanssa?
- Aliohjelmat, makrot, literaalit, muuttujat, vakiot
- Anna esimerkki tilanteesta, jossa rutiini XYZ olisi parempi toteuttaa
makrona kuin aliohjelmana. Perustelut? Esimerkki?
- Anna esimerkki tilanteesta, jossa rutiini XYZ olisi parempi toteuttaa
aliohjelmana kuin makrona. Perustelut? Esimerkki?
- Anna esimerkki tilanteesta, jossa on parempi toteuttaa lukuarvo X literaalina
kuin vakiona käskyssä? Perustelut? Esimerkki?
- Anna esimerkki tilanteesta, jossa on parempi toteuttaa lukuarvo X vakiona
käskyssä kuin literaalina? Perustelut? Esimerkki?
- Miten literaalin käyttö eroaa muuttujan käytöstä? Edut? Haitat?
- Miten literaalin käyttö eroaa käskyn vakio-osan käytöstä? Edut? Haitat?
- Mitä ohjelma mystery.k91
tekee? Miten se tekee sen? Entä ohjelma mystery3.k91?
Miten se tekee sen?
Mihin tällaista ohjelmointitapaa voisi hyödyntää? Mitä
ongelmia tällaisessa ohjelmointitavassa on?
- Tee tason E TitoTrainer tehtävät e-300, e-310 ja e-450.
(Voit samantien toki tehdä kaikki muutkin e-tason tehtävät.)
- Vastaa kurssikyselyyn.
Tiina.Niklander@cs.helsinki.fi