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)
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)