Johdatus tietojenkäsittelytieteeseen I (2 ov) + II (3 ov) 3.4.2000

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

  1. järjestetty
  2. järjestämätön

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.