Domáce úlohy

Úloha: 1 | 2 | 3 | 4 | 5 | 6 | 7

Domáca úloha č. 1 do 24.2.2000 16:30

Majme danú štandardnú schému:

begin	 [y1,y2,y3]:=[f1(x1,x2),a,c]
1:			if p1(y2,x2) then goto 4
2:			[y1,y2]:=[f1(f2(y1,b),x2),f3(y2)]
3:			goto 1
4:			if p2(y1) then [y3]:=[d]
end		 [z]:=[y3]

Nájdite takú interpretáciu schémy, aby x1 a x2 boli celé kladné čisla a program počítal, či podiel x1/x2 má konečný desatinný rozvoj (program vráti hodnotu 1, ak áno a hodnotu 2, ak nie). Stručne zdovôdnite, že pri vašej interpretácii bude program pracovať správne. Program má teda vrátiť áno (hodnotu 1) napríklad pre dvojice (x1=1, x2=2); (x1=3, x2=15); (x1=9090, x2=3). Na druhej strane program má vrátiť nie (hodnotu 2) napríklad pre dvojice (x1=1, x2=7); (x1=2, x2=15); a pod.

(2 body)

Späť


Domáca úloha č. 2 do 2.3.2000 16:30

Majme danú Janovovu schému S:

begin [y]:=[x]
1:		 if p1(y) then goto 9
2:		 if p2(y) then goto 8
3:		 if p1(y) then goto 6
4:		 [y]:=[f5(y)]
5:		 goto end
6:		 [y]:=[f4(y)]
7:		 goto end
8:		 goto 8
9:		 if p2(y) then goto 14
10:	 [y]:=[f2(y)]
11:	 if p1(y) then goto end
12:	 [y]:=[f3(y)]
13:	 goto end
14:	 if p1(y) then goto 14
15:	 [y]:=[f1(y)]
end		[z]:=[y]

Nájdite ku schéme S ekvivalentnú voľnú Janovovu schému S1. Schému S1 napíšte a nakreslite aj jej grafickú reprezentáciu (diagram). Stručne zdôvodnite, prečo je schéma S1 voľná a ekvivalentná so schémou S.

(3 body)

Späť


Domáca úloha č. 3 do 9.3.2000 16:30

Daná je štandardná schéma S:

begin [y]:=[x]
1:		 if p(y) then goto end
2:		 [y]:=[f(y)]
3:		 if q(y) then [y]:=[g(y)]
4:		 if p(y) then goto 3
5:		 goto 1
end		[z]:=[y]
	

Nájdite rekurzívnu schému, ktorá je ekvivalentná so štandardnou schémou S. Upravte schému tak, aby mala minimálny počet funkčných premennych. Stručne zdôvodnite, že vami nájdena schéma je ekvivalentná so schémou S.

(3 body)

Späť


Domáca úloha č. 4 do 16.3.2000 16:30

Napíšte program, ktorý vyhovuje nasledujúcej špecifikácii.

Samozrejme bez použitia funkcie, ktorá by vrátila faktoriál. Formálne dokážte správnosť vášho programu. Teda určte deliace body, nájdite invarianty, zostrojte verifikačné podmienky a ukážte, že platia.

(3 body)

Späť


Domáca úloha č. 5 do 30.3.2000 16:30

Napíšte program, ktorý vyhovuje nasledujúcej špecifikácii.

Samozrejme bez použitia funkcie, ktorá by vrátila faktoriál. Formálne dokážte správnosť vášho programu pomocou Hoarovej metódy. Teda pomocou axiomy priradenia a odvodzovacích pravidiel napíšte dokaz formuly {p}P{q}, kde P je váš program. (Nezabudnite dokázať a verifikačné podmienky.)

(3 body)

Späť


Domáca úloha č. 6 do 6.4.2000 16:30

Metódou konštrukcie správnych programpov nájdite program, ktorý dostane na vstupe dve celé čísla x1 a x2, a ktorý vyhovuje nasledujúcej špecifikácii.

Použite iba operácie súčinu, súčtu(príp. rozdielu), bitový šift (teda delenie alebo násobenie mocninou 2). Navyše sa kvôli efektívnosti pokúste použiť čo najmenej operácii z vyššie uvedenej množiny. Ak pri konštrukcii použijete pravidlo následku, nezabudnite dokázať použité implikácie zo špecifikačného jazyka.

(3 body)

Späť


Domáca úloha č. 7 do 13.4.2000 16:30

  1. Dokážte, že každá konečná čiastočne usoriadaná množina s najmenším prvkom je cpo!
  2. Jednoargumentová (t.j. unárna) funkcia nad diskrétnym cpo je monotónna práve vtedy, keď je striktná alebo konštantná. Dokážte!
(Presné definície cpo, monotónnosti a striktnosti sú uvedené v skriptách.)

(3 body)