Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision |
teaching:cc4101:tareas:2015-2:tarea2 [2015/10/11 13:17] – [Motivación] racruz | teaching:cc4101:tareas:2015-2:tarea2 [2015/10/13 09:45] – [(3.0) Interpretación sobre conjuntos finitos] racruz |
---|
;Edit: (list (num 2) (num 4)) por: | ;Edit: (list (num 2) (num 4)) por: |
(list 2 4) | (list 2 4) |
</code> En caso de evaluar un programa que aplique una función no definida deberá lanzar un error "function not defined". Note que ''%%(eval-expr expr)%%'' se debe comportar como ''%%(eval-prog (program expr '()))%%''. En caso de evaluar un programa que use una variable no definida deberá lanzar un error "unbound identifier". | </code> En caso de evaluar un programa que aplique una función no definida deberá lanzar un error "function not defined". Note que ''%%(eval-expr expr)%%'' se debe comportar como ''%%(eval-prog (program '() expr))%%''. En caso de evaluar un programa que use una variable no definida deberá lanzar un error "unbound identifier". |
- (0.5) Defina la función ''%%(satisfiable? s-expr)%%'' para determinar si un predicado booleano es satisfacible para algún valor de verdad de sus variables libres. Hint: use el cuantificador de existencialidad sobre las variables libres y el conjunto predefinido ''%%{#t ,#f}%%''. <code scheme> | - (0.5) Defina la función ''%%(satisfiable? s-expr)%%'' para determinar si un predicado booleano es satisfacible para algún valor de verdad de sus variables libres. Hint: use el cuantificador de existencialidad sobre las variables libres y el conjunto predefinido ''%%{#t ,#f}%%''. <code scheme> |
> (satisfiable? (parse-expr '(or p q))) | > (satisfiable? (parse-expr '(or p q))) |