En negreta s’indiquen les novetats respecte el problema del Jutge per fer el lliurament provisional de la pràctica.
Aquest és el problema de Jutge que permet fer el lliurament definitiu de la pràctica.
Avisos importants:
Entrada
Una seqüència d’instruccions seguint el format de l’enunciat de la pràctica.
Sortida
El seu resultat seguint el format de l’enunciat de la pràctica.
Observació
El Jutge prova el vostre lliurament mitjançant 4 jocs de proves:
En un fitxer de nom practica.tar heu de lliurar
jp_usuari_entrada.txt jp_usuari_sortida.txt (sortida esperada)
Tingueu en compte les restriccions següents:
Produïu el fitxer .tar amb la comanda
tar -cvf practica.tar fitxer1 fitxer2 fitxer3 ...
des del directori on es troben els fitxers que heu de lliurar. Poseu aquesta instrucció en el vostre Makefile de forma que es pugui generar el .tar executant make practica.tar. Amb això reduireu la possibilitat d’error en enviaments successius. El Jutge no accepta .tar on els fitxers a lliurar es troben dins de carpetes. Recomanem usar GNU tar per reduir el risc que el .tar sigui incompatible amb el Jutge.
Input
0 -1 666 -90127 () (3) (-25) (23 4) (-12 -71) (0 -10 11) (1 -1 1 -1 1 -1 1) (+ 10 15) (+ (+ 1 2) 7) (+ 10) (+ 10 (15)) (- (- 5)) (+ x 1) (cons 3 (2 1)) (define l1 (20 30)) (head (tail (cons 10 l1))) (head (tail (tail l1))) (if 1 (+ 0 1) (+ 2 3)) (if 0 (+ 0 1) (+ 2 3)) (if 2 (+ 0 1) (+ 2 3)) (define x 10) (define z (+ (head (tail (1 2 3 4))) 10)) (+ (head (1 2 3 4)) z) (if (< z x) (1) ()) (define diff (x y) (+ x (- y))) (diff 10 20) (define * (x y) (if (= x 0) 0 (+ y (* (diff x 1) y)))) (* 4 5) (define * (x y) (if (= x 0) 0 (if (< 0 x) (+ y (* (diff x 1) y)) (diff (* (+ x 1) y) y) ) ) ) (* 4 5) (* -4 5) (* 4 -5) (* -4 -5) (define quadrat (x) (* x x)) (quadrat 5) (define / (x y) (if (< y x) (+ 1 (/ (diff x y) y)) (if (= x y) 1 0))) (/ 21 4) (define sum-first (n) (if (< 0 n) (+ n (sum-first (diff n 1))) 0)) (sum-first 10) (define mitjana (n) (/ (sum-first n) n)) (mitjana 10) (define <= (a b) (or (< a b) (= a b))) (define >= (a b) (or (< b a) (= a b))) (define == (a b) (= a b)) (define > (a b) (< b a)) (and (<= x x) (>= x z)) (not (== x z)) (> z x) (<=> z x) ((+ x z) -10 (head ((diff z x)))) (1 (head (cons -3 ())) (- (/ z x)) (if (< x 5) () 99)) (1 (head (cons -3 ())) (- (/ z x)) (if (< x 5) 99 ())) (define abc (+ x z)) (define xyz (* abc 10)) (* abc xyz) (define abc 123) (* abc xyz) (define fun (y) (= y (* (/ y x) x))) (fun 10) ****
Output
0 -1 666 -90127 () (3) (-25) (23 4) (-12 -71) (0 -10 11) (1 -1 1 -1 1 -1 1) 25 10 indefinit indefinit 5 indefinit (3 2 1) l1 (20 30) 20 indefinit 1 5 indefinit x 10 z 12 13 () diff #2 -10 * #2 20 * #2 20 -20 -20 20 quadrat #1 25 / #2 5 sum-first #1 55 mitjana #1 5 <= #2 >= #2 == #2 > #2 0 1 1 indefinit (22 -10 2) (1 -3 -1 99) indefinit abc 22 xyz 220 4840 abc 123 27060 fun #1 indefinit Variables: abc 123 l1 (20 30) x 10 xyz 220 z 12 Operacions: * #2 / #2 <= #2 == #2 > #2 >= #2 diff #2 fun #1 mitjana #1 quadrat #1 sum-first #1