C ja laitteistoläheinen ohjelmointi -kurssi 2010: Toinen tentti 21.1.2011

Tehtäviä oli kolme, maksimipistemäärä 8 kustakin, hyväksytyn suorituksen raja 12 pistettä.
Demoista sai hyvitystä kuten ensimmäisessäkin tentissä, max 6 pistettä (tehtyjen tehtävien määrä jaettuna seitsemällä, viimeinen demo laskettiin kuudeksi tehtäväksi).

Arvosana-asteikko:
pisteetarvosana
12-13p.....1
14-16p.....2
17-19p.....3
20-22p.....4
23-24p.....5

Tehtävä 1

Ensimmäisessä tehtävässä piti lisätä minish-shelliin jokerimerkit.

Tarvittava koodimäärä on pieni, kuten tästä malliratkaisussa näkyy: glob(3):n man-sivulta löytyy suurin osa tarvittavasta koodista suoraan esimerkkinä.

"Melkein toimivasta" koodista, jossa oli oikea idea ja viat korjattavissa muutamalla pienellä muutoksella, sai 4p.

Yksi piste vähennettiin jos tyhjä argumenttilista tulkittiin samaksi kuin * (joka toimii ls:n kanssa mutta ei esim. date:n).

Tehtävä 2

Toisessa tehtävässä piti lisätä bittilaskin.c-ohjelmaan muistipaikkojen käsittely.

Tämä oli hyvin suoraviivainen, ongelmaton koodaustehtävä, malliratkaisu tässä.

Kaikki toimivat ratkaisut hyväksyttiin kauneusvirheistä sakottamatta.

Tehtävä 3

Kolmannessa tehtävässä piti etsiä bugit "kuningattaren lautaa" ratkovasta queensb-buggy.c -ohjelmasta.

Bugeja oli kaikkiaan neljä:

Alkuperäinen, toimiva ohjelmaversio löytyy täältä.

Pisteitä sai 2 per korjattu bugi.