ako si riesil 3. a 4. priklad?
3. nepamatam presne..pravidla som dal nieco v tom zmysle: (mozno kktina, ale uz ma to netrapi)
a) A -> E[Sf | St]
b) A -> E[Sf]
potom som tam nakreslis vyvojak v zmysle vetvenia: vyhodnoti sa podmienka ak ano tak sa vykona St ak nie vykona sa Sf a pokracuje sa dalej a v tomto duchu som napisal aj tie virtualne instrukcie. nieco v tomto zmysle:
vyhodnotenie vyrazu E;
falsejump (label1);
jump(label2);
label1: Sf; jump(label3);
label2: St; jump(label3);
label3: pokracovanie programu...
nepamatam sa presne, ale nieco take som tam vypotil (mozno to bolo aj dobre
)
4. trebalo napisat pre volanie zadanej funkcie - f: a x b ->b , ze akeho typu su skutocne parametre a akeho typu je vysledok ak bola volana ako f(3,2.5).
tak som napisal, ze parameter a je typu int, parameter b je typu float a vysledna hodnota funkcie je typu float. takisto si niesom isty spravnostou. toto ma v prvom momente napadlo.
ako som povedal, skusku som spravil (aj ked som to velmi necakal) a aj ked papier znesie vela tak hadam tam bolo aj cosi k veci