
Purpose To design a small program using structured data.
-
You should submit a single .rkt file containing your responses to all exercises via the Handin Server. We accept NO email submissions. Failure to submit a .rkt file will result in a 0.
-
You are only allowed to use the language specified at the top of this page: failure to do so will result in a 0. You should only use the concepts that we have covered in class so far.
-
Your code MUST conform to the guidelines outlined in the style guide on the course website. The style guide will be updated as the semester progresses so please remember to read it before submitting each assignment.
-
You must follow all the steps of the design recipe when completing this assignment.
Graded Exercises
Exercise 1 Design a data definition for a mathematical expression. Your data definition should be able to handle the addition, subtraction, and multiplication of any two integers. You do not need to handle nested expressions such as (5 + 4) * 7. Be as specific as you can (do not say that a structure can take a String unless it can take any String. Be sure to follow all the steps of the data design recipe.
Note: If your data examples look like "15+4" you are on the wrong track. You need a data definition that will easily allow you to work with your data, not just display it.
Exercise 2 Design a function solver which, given a mathematical expression (the data you designed in the last exercise) produces an integer result. For example, given (5 + 4) the function should output 9.
In the remainder of this assignment you will be designing a world program which allows the user to guess a random number in some range. The program will take in two numbers: the lowest possible number and the highest possible number. Then the game will start. The player can guess any integer (including negative integers) and will be provided with a response: either "too low!", "too high!", or "you did it!". The game will end when the player guesses the number correctly. Until then the player can keep guessing as many times as they like.
-
NOT store the minimum or maximum answer as this information is not useful once the game has started.
-
be as specific as possible (don’t use String unless you are expecting to need to handle any String).
-
account for the case where the user has not yet made any guesses.
-
The user can type any integer but they should not be able to type non-integers such as "3.14" or "5-6". However your program should not break if the user types an invalid key. It should simply ignore it. string-numeric? may be useful here.
-
The game should display the instructions "type a number to guess" if the user has not yet made any guesses. Otherwise it should display the feedback from their most recent guess. It should also display the text the user is currently typing.
-
The game should end when the user correctly guesses the number, but it should continue to display the screen with the text "you did it!". To do this you may need to look at the documentation for stop-when.
-
The game should check the user’s answer after they press enter. The function string->number may be useful to you here. If the user has not entered any text they should still be able to press enter, but nothing will happen.

Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 1 images

- Data structures dict_from_string(dict_str:str)->dict This function will be given a single parameter, a string representing a dictionary. Your job is to convert the string into an actual dictionary and return the dictionary. Make sure all key-value pairs in the string exist in the newly created dictionary. The string will contain only numbers or single letters as key values pairs. Make sure all letters are kept as strings and all numbers are converted to integers in the newly created dictionary. Example: String Input: '{9: 'V', 'G': 0, 'M': 9, 'u': 3, 2: 'o', 8: 'u', 'q': 9, 'D': 1}' Expected: {9: 'V', 'G': 0, 'M': 9, 'u': 3, 2: 'o', 8: 'u', 'q': 9, 'D': 1} String Input: '{10: 'D', 1: 'Z', 5: 'a'}' Expected: {10: 'D', 1: 'Z', 5: 'a'} String Input: '{'M': 2, 'V': 0, 3: 'x', 6: 'J', 5: 'J', 7: 'T', 8: 'P', 4: 'q', 1: 'h'}' Expected: {'M': 2, 'V': 0, 3: 'x', 6: 'J', 5: 'J', 7: 'T', 8: 'P', 4: 'q', 1: 'h'} String Input: '{3: 'D', 10: 'T', 7: 'm', 'u': 9, 't': 5, 6: 'Z', 'H': 10, 'B':…arrow_forwardPython helparrow_forwardWhen invoking a function that takes a significant number of arguments, the order in which those parameters are sent in is quite important.arrow_forward
- Write this code in C# : Scenario: A dog shelter would like a simple system to keep track of all the dogs that pass through their facility. You are required to make a command line-based dog shelter management application. Your application must allow a user to add, edit, search and view Contacts. The program must have a menu consisting of the following six (6) options: Add dog View all dogs View all available dogs View specific dog Update dog home status Exit Brief descriptions of each option in the menu Menu Item Description Add Dog 1) Asks the user for all the state value information for a dog. 2) Checks if there is space in the array to hold the new dog. 3) Check that the dogId is not already used in the system. 4) Creates a new Dog object and adds it to the array if there is space. If the array is full, print “Sorry… the Shelter is Full!”. Note: All new dogs have no home as yet (foundHome = false). View all dogs This menu option shows all dogs in the…arrow_forwardc++ You are an IT Manager for a small company and must create a program to track your company’s personal computer inventory. Create a class that can be used for a Personal Computer. The class should have attributes for the: Manufacturer (e.g. Dell, Gateway, etc.),Form Factor (laptop/desktop),Serial NumberProcessor ( I3, I5, I7, AMD Ryzen 3, AMD Ryzen 5, etc.),RAM (4, 6, 8, 16, 32, or 64GB),Storage Type (UFS, SDD, HDD) andStorage Size (128GB, 256GB, 512GB, 1TB, 2TB).The constructor must accept the manufacturer, form factor, serial number, processor, RAM, storage type/size. Create accessor methods that allow these attributes to be retrieved individually. Create mutator methods that allow the RAM and the storage drive (type and size) to be changed. Incorporate exception handling to reject invalid values in the constructor and mutator methods. Create a toString() method formulate a string containing the manufacturer, form factor, serial number, processor, RAM, and storage type/size.…arrow_forwardCreate a c++ program that uses SQL Queue Containers to make the program a success. For the following program create a menu that uses commands: Add order Next order Previous order Delete order Order Size View order list View current order Use the SQL queue contains below: Each order will be put in the queue and will be called on a first come first-served basis. enQueue: Adds the order in the queue DeQueue: Deletes the order from the queue Peek: Returns the order that is top in the queue without removing it IsEmpty: checks do we have any orders in the queue Size: returns the number of orders that are in the queue List: returns the name of people that have placed an order in the queue While adding a new order in the queue, the program will be capable of collecting the following order information: Name on order Order description Order total Order tip Date of order Make sure all commands work and are correctly implemented for the program to meet ALL requirements.arrow_forward
- numpy.ipynb 1. addToArray(i) def addToArray(i): # TO DO %time addToArr(10) 2. a function def findDriver(distanceArr, driversArr, customerArr): result = '' ### put your code here return result print(findDriver(locations, drivers, cust)) # this should return Clara 3. The Amazing 5D Music example array([[ 1, 3, -2, -4, -1], [ 0, -1, 1, -1, -2], [ 2, 3, -2, -3, -1], [ 1, -1, 0, -1, -3], [-2, -1, 1, -1, -3], [ 1, 3, -1, -2, -3]]) ``` # TODO array([11, 5, 11, 6, 8, 10]) # TODO array([1, 3, 4, 5, 0, 2]) # TODO # TODO def findClosest(customers, customerNames, x): # TO DO return '' print(findClosest(customers, customerNames, mikaela)) # Should print Ben print(findClosest(customers, customerNames, brandon)) # Should print Ann 4. Numpy drones arr = np.array([-1, 2, -3, 4]) arr2 = np.square(arr) arr2 locations = np.array([[4, 5], [6, 6], [3, 1], [9,5]]) drones = np.array(["wing_1a", "wing_2a",…arrow_forwardMandy designs a Student object that includes a name, address and gpa. This is an example of top-down software design data operations data encapsulation O abstractionarrow_forwardDon't use AIarrow_forward
- C programming language Topic : Input/Output Program : Product list (product.c) Definition : The program reads a series of items form a file and displays the data in columns. The program obtains the file name from the command line. Each line of the file will have the following form: item, mm-dd-yyyy, price For example, suppose that the file contains the following lines: 123, 12.00, 12/25/2006 124, 18.30, 1/10/2020 Expected output: Item Unit Purchase Price Date 123 $ 12.00 12/25/2006 124 $ 18.30 1/10/2020arrow_forwardThe following is a sample report from a child clinic. It shows the days and treatments for visits to doctors at the clinic. A mother takes her child, sees a doctor and the doctor administers some treatment. There are couple of things you should assume: The mother’s name is unique. a mother won't have more than one child with the same name the doctor's surname is unique a treatment code is unique treatments are specific to doctors, eg 101 is only ever given by Johnson Surname First Name Town Age Child Doctor Date Treatment Smith Jane Coventry 30 Rebecca Johnson 27.3.04 101 Brian Clarence 30.5.04 209 Robert Johnson 10.1.88 101 Brown Beryl Rugby 28 Alan Clarence 30.4.04 214 Sarah Johnson 29.5.04 101 Sarah Clarence 12.1.04 321 Jones Fiona Kenilworth 34 James Clarence 30.4.04 322 Jenny…arrow_forward@Build ER diagramarrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





