Osa 1: Kysymykset 1-2
Osa 2: Kysymykset 3-5
TDI: Kysymys 3
1. Algoritmin käsite ja algoritmin laatiminen imperatiivisessa paradigmassa. Mitä tarkoitetaan (algoritmi)moduulilla ja mitä etua moduulien käytöllä saavutetaan
2. Tee algoritmi, joka hakee binääripuun suurimman alkion, kun puu on
3.
a) Esitä kääntäjän toiminta ja tarvittavat vaiheet käännettäessä
korkean tason kielistä ohjelmaa konekielelle.
b) Tarkastellaan a)-kohtaa. Esitä esimerkkinä (myös konekielinen koodi) mitä tapahtuu toistorakenteelle
k:=1 WHILE n>0 DO k:=k * n n:=n - 1 ENDWHILE
kun n on päämuistin muistipaikassa 1, k:ta vastaa muistipaikka 2 ja muistipaikassa 3 on luku 1. (konekielisiä käskyjä: LOAD, STORE, SUBSTRACT, ADD, JUMPNEG, JUMPZERO, JUMP, MULTIPLY).
4. Miten hajoita ja hallitse -periaatteella parannetaan algoritmin kompleksisuutta?
5. Miten funktionaalisen ohjelmoinnin paradigma tukee rinnakkaista laskentaa? Anna esimerkki.