100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Class notes

Problem Set 11 - UBC 2023 - CPSC 110

Rating
2.0
(4)
Sold
27
Pages
6
Uploaded on
20-12-2022
Written in
2022/2023

Completed file for problem set 11. Remember to copy the pdf file to Dr Racket for a better view. This file should be exactly identical except that the file has answers for each problems.










Whoops! We can’t load your doc right now. Try again or contact support.

Document information

Uploaded on
December 20, 2022
Number of pages
6
Written in
2022/2023
Type
Class notes
Professor(s)
Gregor kiczales
Contains
All classes

Content preview

;; DO NOT PUT ANYTHING PERSONALLY IDENTIFYING BEYOND YOUR
CWL IN THIS FILE.
;; YOUR CWLs WILL BE SUFFICIENT TO IDENTIFY YOU AND, IF YOU HAVE
ONE, YOUR
;; PARTNER.
;;
(require spd/tags)

(@assignment psets/pset-11); Do not edit or remove this tag

;; Replace the first set of '???'s with your cwl.
;; If you have a partner, replace the second set of '???'s with their cwl.
;;
(@cwl ??? ???)

(@problem 1)
;;
;; In this problem set you will be working with a simple representation of a
;; secret castle. Unsurpringly, the rooms and doors in this castle form a
;; graph. The figure in:
;; https://cs110.students.cs.ubc.ca/psets/pset-11-image.png
;; shows a small castle with 5 rooms named A, B, C, D, and E. A has exits
;; that lead to rooms B, D and E. B has a single exit that leads to C, and
;; so on. The ovals (long circles) are locks; the number in the oval is the
;; number of the key required to open that lock. The underlined numbers are
;; keys.
;;
;; E has a lock that requires key # 1 to open. The lock at room D requires key
;; # 2 to open it. After you enter a room you automatically pickup any keys
;; that are there. So after you get into room B you automatically pickup key 2.
;; After you get into room C you automatically pickup key 1.
;;
;; Note that in general a door might have multiple locks, and a room might
;; provide multiple keys.
;;
;; Here are the data definitions we use.

;; Data definitions:

(@htdd Room)
(define-struct room (name locks keys exits))

, ;; Room is (make-room String (listof Natural) (listof Natural) (listof String))
;; interp. each room has
;; - a Name
;; - locks that require a key of the same number to open
;; - keys that open locks of the same number
;; - doors to other rooms, these are represented as a list
;; of strings where each string is the name of a room
;;
;; NOTE: The keys can be for any rooms in the castle, they do not have
;; to be for one of the rooms in exits.
;;
;; This is a generative graph problem. Note that a room has a list of the names
;; of the rooms it has exits to -- the names not the actual rooms. Therefore a
;; generative step has to take the name and generate the actual Room. To do
;; that we add a new opaque data definition for a type called Map. When
;; we say that Map is opaque we mean that you should not try to look inside
;; of it. It is a secret map of the castle. Instead we are providing a
;;function
;; called get-room that given a room name and a castle will generate the room.
;;

(@htdd Map)
;; Map is ???
;; interp. an opaque data type that represents a map from room names to rooms.
;; Only the provided function get-room knows how to work with a map.
;;

#|
Here is a partially blended template. It includes the Room and (listof String)
functions, as well as the generative step of calling get-room to get a
room from
a room name. But it doesn't include the trivial? test to terminate the
generative recursion or anything to prevent going in cycles. You must complete
the blending for your own purposes.

(define (fn-for-castle start castle)
(local [(define (fn-for-room r)
(... (room-name r)
(room-locks r)
(room-keys r)
(fn-for-los (room-exits r))))

Reviews from verified buyers

Showing all 4 reviews
1 week ago

1 year ago

missing a question

2 year ago

does not even include the full problem set/ assignment. I want my money back

2 year ago

oh, maybe they change the assignment for each year, sorry about that. Maybe you should tell Gregor to keep the assignment the same for every year :D

2 year ago

2 year ago

Sorry for any problem with the product, I wonder you can tell me what's wrong with the problem set

2 year ago

The code does not work for me. It doesn’t contain the generate-room function or follow the format of function definition given above

2.0

4 reviews

5
0
4
1
3
0
2
1
1
2
Trustworthy reviews on Stuvia

All reviews are made by real Stuvia users after verified purchases.

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
tranghane Alfa-college
View profile
Follow You need to be logged in order to follow users or courses
Sold
84
Member since
3 year
Number of followers
57
Documents
24
Last sold
1 week ago

2.4

7 reviews

5
1
4
1
3
1
2
1
1
3

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions