Você está na página 1de 9

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do

interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 1 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 1 2 3)

"Muitos argumentos"

O seguinte procedimento Scheme não é válido (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos")))

Falso
p>

O seguinte procedimento Scheme é válido (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos")))

Verdadeiro

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing)
Erro

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 2 1)

Outra resposta não listada

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 1 2 3)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 1 2 3 2)

"Muitos argumentos"

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 1 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos"))) Qual o
valor da seguinte expressão? (vaz 1 2 3)

"Muitos argumentos"

O seguinte procedimento Scheme não é válido (suponha que o nível de linguagem do


interpretador é Standard): (define (vaz . las) (cond ((null? las) 0) ((= (length las) 1) (car
las)) ((= (length las) 2) (+ (car las) (cadr las))) (else "Muitos argumentos")))

Falso

O seguinte procedimento Scheme é válido (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos")))

Verdadeiro

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing)

Erro

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 2)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 2 1)

Outra resposta não listada

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 1 2 3)

Considere o seguinte procedimento Scheme (suponha que o nível de linguagem do


interpretador é Standard): (define (sing bas . las) (cond ((null? las) bas) ((= (length las)
1) (+ bas (car las))) ((= (length las) 2) (+ bas (car las) (cadr las))) (else "Muitos
argumentos"))) Qual o valor da seguinte expressão? (sing 1 2 3 2)

"Muitos argumentos"

Embora as listas e as streams consistam em estruturas de dados de natureza diferente, os


axiomas que compõem o seu contrato são semanticamente similares.
Verdadeiro
As streams são estruturas de dados ditas on-demand, já que se computam de forma
incremental.
Verdadeiro
As streams podem ser entendidas simultaneamente como estruturas de dados que
armazenam valores e como procedimentos "inteligentes" que encerram a forma como
esses valores devem ser computados.
Verdadeiro
É possível implementar streams por recurso à abstracção de dados pair.
Verdadeiro
cons-stream é um procedimento que permite construir streams.
Falso
stream-car e stream-cdr são special forms.
Falso
stream-car e stream-cdr não são special forms, mas procedimentos.
Verdadeiro
Semanticamente, as duas expressões seguintes são equivalentes: (force x) (x)
Verdadeiro
Semanticamente, as duas expressões seguintes são equivalentes: (delay x) (lambda () x)
Verdadeiro
As streams constituem um exemplo de objectos cuja avaliação se rege pelas regras da
lazy evaluation.
Verdadeiro
A avaliação de expressões stream segue as regras da lazy evaluation ou delayed
evaluation.
Verdadeiro
Embora as listas e as streams consistam em estruturas de dados de natureza diferente, os
axiomas que compõem o seu contrato são semanticamente similares.
Verdadeiro
As streams são estruturas de dados ditas on-demand, já que se computam de forma
incremental.
Verdadeiro
As streams podem ser entendidas simultaneamente como estruturas de dados que
armazenam valores e como procedimentos "inteligentes" que encerram a forma como
esses valores devem ser computados.
Verdadeiro
É possível implementar streams por recurso à abstracção de dados pair.
Verdadeiro
cons-stream é um procedimento que permite construir streams.
Falso
stream-car e stream-cdr são special forms.
Falso
stream-car e stream-cdr não são special forms, mas procedimentos.
Verdadeiro
Semanticamente, as duas expressões seguintes são equivalentes: (force x) (x)
Verdadeiro
Semanticamente, as duas expressões seguintes são equivalentes: (delay x) (x)
Falso
Semanticamente, as duas expressões seguintes são equivalentes: (delay x) (lambda () x)
Verdadeiro
Semanticamente, as duas expressões seguintes são equivalentes: (force x) (lambda () x)
Falso
As streams constituem um exemplo de objectos cuja avaliação se rege pelas regras da
lazy evaluation.
Verdadeiro
As streams constituem um exemplo de objectos cuja avaliação se rege pelas regras da
retarded evaluation.
Falso
A avaliação de expressões stream segue as regras da lazy evaluation ou delayed
evaluation.
Verdadeiro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 2 3))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (* 2 2 3))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 2 1))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 2 3))
#
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 0))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 0))
#
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 (delay (- 1 1))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 (delay (- 1 1))))
#
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 1 (delay (- 1 1))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 1 (delay (- 1 1))))
#
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 2 3))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (* 2 2 3))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 2 1))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 2 3))
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 0))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 0))
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 (delay (- 1 1))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (+ 1 (delay (- 1 1))))
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 1 (delay (- 1 1))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 1 (delay (- 1 1))))
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (+ 1 (delay (+ 1 1)))))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (+ 2 (delay (* 1 1)))))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force 3)
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (1)))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (force (delay (+ 1 2)))))
3
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 (force (delay (- 1 1)))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (cons 1 2)))
(1 . 2)
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (+ 1 (delay (+ 1 1)))))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (+ 2 (delay (* 1 1)))))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force 3)
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (1)))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (force (delay (+ 1 2)))))
3
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (delay (/ 3 (force (delay (- 1 1)))))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (cons 1 2)))
(1 . 2)
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (cons 5 0)))
Outra resposta não listada
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (cons 1 (/ 2 0)))
Erro
Qual o valor da seguinte expressão? (considere o interpretador Scheme em nível de
linguagem Standard) (force (delay (> 2 0)))
#t
Considere as seguintes expressões Scheme: (define d (cons-stream 3 d)) (define t
(stream-map (lambda (x) (* 2 x)) d)) Qual o valor da seguinte expressão? (stream-car
(stream-cdr t))
6
Considere as seguintes expressões Scheme: (define d (cons-stream 2 d)) (define t
(stream-filter (lambda (x) (= x 2)) d)) A expressão (stream-null? t) é avaliada como
sendo #t.
Falso
Considere a seguinte expressão Scheme: (define d (cons-stream 2 d)) A avaliação da
expressão (stream-null? (stream-filter (lambda (x) (> x 2)) d)) não retorna um valor.
Verdadeiro
Considere a seguinte expressão Scheme: (define st (cons-stream 2 (soma-streams st st)))
Qual o valor da seguinte expressão? (stream-display st)
2 4 8 16 32 64 128 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (soma-streams st st)))
Qual o valor da seguinte expressão? (stream-display st)
1 2 4 8 16 32 64 128 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (+ 1 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 2 3 4 5 6 7 8 9 10 11 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (+ 2 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 3 5 7 9 11 13 15 17 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (- 10 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 9 1 9 1 9 1 9 1 9 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (- x x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 0 0 0 0 0 0 0 0 0 0 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 2 (stream-map (lambda
(x) 1) st))) Qual o valor da seguinte expressão? (stream-display st)
2 1 1 1 1 1 1 1 1 1 ...
Considere as seguintes expressões Scheme: (define d (cons-stream 3 d)) (define t
(stream-map (lambda (x) (* 2 x)) d)) Qual o valor da seguinte expressão? (stream-car
(stream-cdr t))
6
Considere as seguintes expressões Scheme: (define d (cons-stream 2 d)) (define t
(stream-filter (lambda (x) (= x 2)) d)) A expressão (stream-null? t) é avaliada como
sendo #t.
Falso
Considere a seguinte expressão Scheme: (define d (cons-stream 2 d)) A avaliação da
expressão (stream-null? (stream-filter (lambda (x) (> x 2)) d)) não retorna um valor.
Verdadeiro
Considere a seguinte expressão Scheme: (define st (cons-stream 2 (soma-streams st st)))
Qual o valor da seguinte expressão? (stream-display st)
2 4 8 16 32 64 128 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (soma-streams st st)))
Qual o valor da seguinte expressão? (stream-display st)
1 2 4 8 16 32 64 128 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (+ 1 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 2 3 4 5 6 7 8 9 10 11 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (+ 2 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 3 5 7 9 11 13 15 17 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (- 10 x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 9 1 9 1 9 1 9 1 9 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 1 (stream-map (lambda
(x) (- x x)) st))) Qual o valor da seguinte expressão? (stream-display st)
1 0 0 0 0 0 0 0 0 0 0 ...
Considere a seguinte expressão Scheme: (define st (cons-stream 2 (stream-map (lambda
(x) 1) st))) Qual o valor da seguinte expressão? (stream-display st)
2 1 1 1 1 1 1 1 1 1 ...
Em Scheme, uma expressão mal formada não representa um valor.
Verdadeiro
Em Scheme, toda a expressão bem formada tem associado um valor.
Falso
O facto de um procedimento Scheme ser bem formado é garantia de que esse
procedimento é computável.
Falso
Em Scheme, é possível gerar processos recursivos infinitos utilizando-se apenas lambda
e apply.
Verdadeiro
Em Scheme, a recursão resulta da utilização da special form define quando aplicada na
definição de procedimentos.
Falso
// question: 1577 name: S300.001 ::S300.001::
Em Scheme, uma expressão mal formada não representa um valor.
Verdadeiro
Em Scheme, toda a expressão bem formada tem associado um valor.
Falso
O facto de um procedimento Scheme ser bem formado é garantia de que esse
procedimento é computável.
Falso
Em Scheme, é possível gerar processos recursivos infinitos utilizando-se apenas lambda
e apply.
Verdadeiro
Em Scheme, a recursão resulta da utilização da special form define quando aplicada na
definição de procedimentos.
Falso

Você também pode gostar