Create a program for a pizza shop in lisp programming

Assignment Help Programming Languages
Reference no: EM132312771

Overview

This assignment will test your skills in programming applications to specification in a number of different programming languages and is worth 20% of your non-invigilated (type A) marks for this course.

Completion of this assignment requires the:

• Understanding of various programming languages' features
• Understanding of Implementing a program in multiple languages

Assignment Overview

You are asked to create a program for a pizza shop - however, as this is a comparative languages course, you will be creating the same application in the following programming languages:
• C
• Python,
• Java and
• Lisp

As you implement the application in each language, you should keep notes on the features of the languages used, which you found useful, as well as any issues or complications which arose due to the complexity or lack of any language features. A brief discussion based on these programming features for each individual language accompanying each implementation is required. Finally, a comparative overview of the languages highlighting applicability based on your experience in the design, implementation and debugging of your code is also required.

If you foresee or encounter any complications, you may opt to implement or incorporate additional language features which may be lacking, i.e. data structures. This can be done via:

• Your own implementation,
• Through libraries, or
• Via the incorporation of existing source code. You can use code found on the Internet, but use of any existing code must be referenced.

Assessment Details

Sab, the owner of a new Pizza and Pasta shop, is opening a takeaway service for selling delicious Pizza and Pasta to the customers. She wants to offer some packages to interested customers to promote her business. To do so she is offering the following packages:
1. 1 large Pizza = 12 AUD
2. 2 large Pizzas = 22 AUD
3. N large pizzas = N*10 AUD, where N>=3, and the customer will receive 1 garlic bread for every three pizzas [For example, if a customer is interested to buy 10 large pizzas, Sab will provide 3 complementary garlic bread for 100 AUD]
4. 1 large pasta = 8 AUD
5. 2 large pastas = 15 AUD
6. M large pastas = M*7 AUD, where M>=3, and the customer will receive 1.25 Liter soft drinks for every 3 pastas [For example, if a customer is interested to buy 6 large pastas, Sab will provide 2 complementary 1.25 liter soft drinks for 42 AUD]
7. For every 3 pizzas AND 3 pastas, Sab will give a small box of Baklava (a famous dessert item) in addition to garlic-bread and 1.5-liter soft drinks.

You have agreed to design and develop a small console program for Sab, enabling her to select the appropriate item and the package, and calculate the corresponding cost. Once an order is processed, the program will return to the menu ready to commence another order. This payment information should display:

- total payment amounts received for pizza order
- total payment amounts received for pasta order
- total amount of pizzas and pastas sold in that session

A session indicates the duration Sab is using the program after opening the program. There is no need for this data to persist once the program has stopped running.

The owner wants the system to be flexible so that she can include additional items and packages at a later date without having to rewrite the entire program. This means you will need to use an interface for processing payments, and polymorphism for the various food items classes, so that new and different packages may be added at a later date with minimal updates to the code. She asked that you provide her with some documentation before you commence coding, so that she is able to verify that the program you intend to code will address her requirements. She would like to see the use cases to summarize the requirements in written format, as well as use case diagrams, class diagrams and sequence diagrams.

Suggested Development Environments

Codeblocks for C '99

To create a new C project is: When you create a project, choose File | New and then Console Application, and then choose C as the programming language.

IDLE for Python:

Python, including the IDLE development environment, can be downloaded

Eclipse for Java 7 or Java 8

Eclipse does not come with the Java JDK, which must the downloaded separately

Ensure that your Eclipse type and Java type match - i.e. 32-bit Java for 32-bit Eclipse, or 64-bit Java for 64-bit Eclipse. If you mix and match it won't work.

GNU CLisp for Common Lisp

Additional Documentation - Language Suitability Report

The design of each programming language incorporates a number of decisions about the language which make it more or less suitable for given tasks. During your implementation of the pizza program in each of the languages, you should make notes about the language features which exist or do not exist, and which have therefore made program development easier or more difficult.

Where a language has not provided a feature which would have been useful to the implementation of the program, or where the complexity of using a language feature has been high you should remark upon it and briefly discuss a mechanism or feature of another language which would have made development easier.

After completing the application in all languages (or as many as you can), discuss the comparative ease of implementation in terms of the design, implementation and debugging for each programming language, including how robustness issues were addressed.

Note: Need only Lisp Code

Attachment:- Parallel Implementation.rar

Reference no: EM132312771

Questions Cloud

Human resources and ethics consultant to denny : How would you approach the company in terms of such human resources issues as hiring, firing, training, performance evaluations, and diversity?
Examine the concept of reflective practice : Focus on how reflective practice is used for career planning, development and getting ready for the job market.
Explain what an anesthesia physical status : Explain what an anesthesia physical status modifier is and why it is used.
What is business ethics : What is Business Ethics that can related with Air Asia Company
Create a program for a pizza shop in lisp programming : Create a program for a pizza shop in Lisp programming - implement the application in each language, you should keep notes on the features of the languages used
Inventions could honda build that could benefit business : Discuss Artificial intelligence AI) and what other types of inventions could Honda build that could benefit business.
Describe the best and fastest : Describe the best and fastest way to write final thesis in management?
Conducting a performance evaluation of a subordinate : Your peer (a first line supervisor at a major retail store) is conducting a performance evaluation of a subordinate in the break room
Compare to quartly reports that show : How to read MS-DRG Reports and compare to Quartly reports that show how one hospital compares to another?

Reviews

Write a Review

Programming Languages Questions & Answers

  Program to display aggregate information for state

For each state, display aggregate information for that state, including: the total number of counties in the state, the total number of tax returns.

  Program in perl that have two subroutines add() and multiply

Write a program in PERL that have two subroutines add() and multiply() that will add or multiply its arguments and print the result to screen.

  Procedure just prints out the number 10 and returns

Your program will have three procedures. The main procedure (with the asm_main label), will sign on and them call a menu procedure that displays a two line menu:

  Calculate the running average for business customer spending

Calculate the running average for residential and business customer spending. Print all customer's bill to a single file and the end of the file you should have the average summary for each customer type.

  Create a very simple four function integer calculator

Create a very simple four function integer calculator with buttons for Add, Subtract, Multiply, and Divide, and with two text-type input fields. When the user enters two numbers and clicks one of the buttons, the answer is displayed where shown.

  Write script to declare and sets variable equal to balance

Write a script that declares and sets a variable that's equal to the total outstanding balance due. If that balance is greater than $10,000.00, the script should return a result set consisting of VendorName.

  Write a program stars that uses two nested for loops

Write a program Stars that uses two nested for loops to output the pattern of stars shown below (note that there are no spaces in between stars).

  Design and implement a CashRegister class

Design and implement a CashRegister class that scans the product prices, counts the number of items and shows the total purchase

  Write a program to use function

The program ends the first time that the user chooses not to delete a value from the array. Your main function may also call other functions to carry out some of its work - Here is an example execution of the required program (input typed by the us..

  Write a class called card that contains instance data

Write a class called Card that contains instance data to represent playing card with face and a suit. Create a class called DeckofCards that stores 52 objects.

  Create text based or gui menu to perform the given functions

Create a text based or GUI menu to perform the following functions. Create your design in pseudocode and then code a RAPTOR program which generates output to the screenand a text file.

  Write a program to calculate a persons net pay

Calculate a person's net pay after subtracting federal income tax. The program should ask the user to enter the person's name, social security number, gross pay, and the number of dependents.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd