100% de satisfacción garantizada Inmediatamente disponible después del pago Tanto en línea como en PDF No estas atado a nada 4.2 TrustPilot
logo-home
Otro

CPSC110 problem set 7 solution

Puntuación
-
Vendido
-
Páginas
9
Subido en
05-01-2024
Escrito en
2023/2024

complete solution for problem set 7

Institución
Grado









Ups! No podemos cargar tu documento ahora. Inténtalo de nuevo o contacta con soporte.

Escuela, estudio y materia

Institución
Estudio
Grado

Información del documento

Subido en
5 de enero de 2024
Número de páginas
9
Escrito en
2023/2024
Tipo
Otro
Personaje
Desconocido

Temas

Vista previa del contenido

(@cwl skim121)

(@problem 1)

;; There is a primi7ve type called 1String, defined as follows:
;;
;; 1String is String
;; interp. a 1String represents a single leDer
;; CONSTRAINT: any 1String is only one leDer long

(@htdd ListOf1String)
;; ListOf1String is one of:
;; - empty
;; - (cons 1String ListOf1String)
;; interp. a sequence of leDers

(define L1 empty)
(define L2 (list "a" "B" "c"))

(@htdd Opera7ons)
;; Opera7ons is one of:
;; - empty
;; - (cons "keep" Opera7ons)
;; - (cons "space" Opera7ons)
;; - (cons "remove" Opera7ons)
;; interp. a sequence of opera7ons to apply to a list of 1String
;; "keep" means keep the corresponding leDer
;; "space" means replace the corresponding leDer with a " "
;; "remove" means remove the corresponding leDer

;;
;; In this problem you will design a func7on called decoder, that will
;; decode encrypted messages! Very poorly encrypted messages. The func7on
;; consumes a ListOf1String (l) and Opera7ons (ops) in that order. The
;; func7on should produce a String which is the result of applying the
;; given opera7ons to the successive 1String and joining the resul7ng
;; leDers together.
;;
;; For example:
;; (decoder (list "i" "k" "l" "h" "a" "m" "k" "s" "a" "r" "m")
;; (list "keep" "remove" "remove" "space" "keep" "keep"
;; "space" "keep" "keep" "remove"))
;;
;; should produce "i am sam"

, ;;
;; No7ce that some of the leDers were kept, some were replaced with a space,
;; and some were removed.
;;
;; If ops runs out of opera7ons before the end of the 1String, then all
;; the remaining leDers in l are kept.
;;
;; If l runs out of 1String first, then the remaining opera7ons in ops are
;; ignored.
;;
;; Example 2:
;; (decoder (list "f" "a" "d" "e")
;; (list "remove" "keep" "space" "keep" "remove" "keep" "space"))
;;
;; should produce "a e"
;;

;; You MUST SOLVE THIS AS A 2-ONE-OF PROBLEM and your solu7on must include
;; a table. You must use numbers to show the correspondence between table cells
;; and cond QA pairs. By this, we mean you should NUMBER the table cells and
;; NUMBER the corresponding cond QA pairs with the same numbers (as was done
;; in lecture). If you can simplify the table you should. Finally, it is
;; IMPERATIVE that your cond ques7ons only include the kinds of ques7ons that
;; the data driven template rules produce, other condi7onal behaviour must go
;; into the cond answers. (This is the rule about not edi7ng template ques7ons
;; carried over into 2-one-of problems.)
;;

(@htdf decoder) ;!!! uncomment this when you start your func7on design
(@signature ListOf1String Opera7ons -> String)
;; produce list of string based on given opera7on
(check-expect (decoder empty empty) "")
(check-expect (decoder empty (list "keep")) "")
(check-expect (decoder empty (list "space")) "")
(check-expect (decoder empty (list "remove")) "")

(check-expect (decoder (list "a") empty) "a")
(check-expect (decoder (list "h" "e" "l" "l" "o") empty) "hello")
(check-expect (decoder (list "a") (list "keep")) "a")
(check-expect (decoder (list "a") (list "space")) " ")
(check-expect (decoder (list "a") (list "remove")) "")

(check-expect (decoder (list "i" "m" "h" "l" "o" "y"
"v" "u" "e" "l" "y" "h" "o" "u")
$8.48
Accede al documento completo:

100% de satisfacción garantizada
Inmediatamente disponible después del pago
Tanto en línea como en PDF
No estas atado a nada

Conoce al vendedor
Seller avatar
skye3

Conoce al vendedor

Seller avatar
skye3 UBC
Seguir Necesitas iniciar sesión para seguir a otros usuarios o asignaturas
Vendido
5
Miembro desde
1 año
Número de seguidores
1
Documentos
9
Última venta
1 año hace

0.0

0 reseñas

5
0
4
0
3
0
2
0
1
0

Recientemente visto por ti

Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes