This document is an assignment for ITECH1400 – Foundations of Programming. It includes details about the assignment, class design, class diagrams, activity flowchart, software implementation, code explanation, and use. The assignment focuses on creating a supermarket self-service checkout system using Python programming language.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology ITECH1400 - Assignment 1 – Supermarket Self-Service Checkout Student Name:Student ID: Assignment Part 1 Details – Class Design Insert your list/table of possible RecycleableItemproperties here… RecycleableItem Properties (All) Item nameSizeBodyManufactured Date PriceUsage purposeHazardous statusWeight Recycle process Insert your list/table of key product properties here… RecycleableItem Properties (Key) Item namePriceBodyHazardous status Complete the class diagram of your final RecycleableItem class here… RecycleableItem Class Diagram RecycleableItem Name: string Price: double Body: string Hazardous: string Numbers: integer __init__( name,price,body,hazard ous) : Constructor CRICOS Provider No. 00103DPage1of7
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology RecyclingMachine Class Diagram Complete the class diagram of your final Recycling class here… RecyclingMachine Items [ ] : Recyclableitem Payment: double Limit: integer setup_product(name,price,body,hazardous) validate(product): integer new_cust() accept_product(product,qty) select_product(self) payout(self, anAmount) print_receipt(self) CRICOS Provider No. 00103DPage2of7
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology Assignment Part 2 – Activity Flowchart Insert your activity flowchart of the recycling machine process here… If your flowchart is large then place it on the following page. CRICOS Provider No. 00103DPage3of7
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology Assignment Part 3 – Software Implementation Do not place your code here – provide the code as separate .py files submitted with this document. OUTPUT The python files have been attached! CRICOS Provider No. 00103DPage4of7
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology Assignment Part 4 – Code Explanation and Use Update the below code to insert comments describing what the code is doing – for each line starting with a hash symbol (#) you should write your code comments after the hash. You may add a second line of comments if you require more space. # Function to: To take input of value, validate the input and return it defget_int(prompt): # initialize variablevalueto 0 value=int(0) # To iteratively take value inputs till a valid value is entered whileTrue: try: # take input from the keyboard and type casting it into integer for value value=int(input(prompt)) # to check if the entered value is negative or not ifvalue<0: print("We don't accept a negative number of items!") continue # stop taking input as it is valid and break out of the loop break # Check for invalid character input exceptions exceptValueError: print('Please enter a valid integer value.') # return the value to the calling function returnvalue # Function to: accept new items and populate the machine’s list having verified each defaccept_item(item_list): # initializing the class variables item_list=[] non_accepted_items=[] MAX_WEIGHT=15.0 # traversing the items’ list foriteminitem_list: # to check if the weight of the new item is greater than the bag’s maximum weight capacity and put it into rejected list ifitem.weight>MAX_BAG_WEIGHT: item_list.remove(item) non_accepted_items.append(item) CRICOS Provider No. 00103DPage5of7
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology # initialize current items list and weight variable current_contents=[] current_weight=0.0 # while there are items left in item list whilelen(item_list)>0: # initialize temporary item with the first item in list and remove it from list temp_item=item _list[0] item_list.remove(temp_item) # Check the validity of the weight of the items ifcurrent_weight+temp_item.weight<MAX_WEIGHT: # Add to current list if validated current_contents.append(temp_item) current_weight+=temp_item.weight if(len(item_list)==0): products_item.append(current_contents) # Add new item to the current list of items else: item_list.append(current_contents) # Reset current list and weight statuses current_contents=[] current_weight=0.0 # ____________________________________ forindex,baginenumerate(machine_list): output='Machine '+str(index+1)+' contains: ' # To traverse the items list and produce the names of all items in it foriteminitems: output+=item.name+'\t' print(output,'\n') # To check if rejected list has items or not if(len(non_accepted_items)>0): output='Non-bagged items: ' # To traverse and display the rejected items from the list foriteminnon_accepted_items: output+=item+'\t' print(output,'\n') CRICOS Provider No. 00103DPage6of7
ITECH1400 – Foundations of Programming School of Science, Engineering and Information Technology Assignment 1 – FedUni Checkout Student name:Student ID: PartAssessment CriteriaWeightMark 1aIdentification of properties of a typical item that can be recycled – RecycleableItem. 10 * 0.5 = 5 marks 1bApplication of abstraction to identify key properties of a typical RecycleableItemas well as creation of a suitableClass Diagram. 4 marks 1cIdentification of the key properties of aRecyclingMachineas well as creation of a suitableClass Diagramwhich uses those properties, plus the four method signatures provided. 4 marks 2Creation of anactivity flowchartwhich clearly indicates how the program should operate, using the correct symbols for elements such as start/end points, processes and decisions/branches 10 marks 3Programming of the product checkout simulation so that it: i)Creates a small number ofRecycleableIteminstances that may be accepted, ii)Accepts simulated ‘deposting’ of aRecycleableItemafter being identified from a list by the user, iii)Adds aRecycleableItemto theRecyclingMachinelist of products being purchased, iv)Allows the deposit of multiple items, v)Provides ‘virtual money’ to pay for those products (you must pay enough to cover the cost of the items checked out), and vi)Prints a final receipt of the items deposited, along with the number of items and amount for each item, along with the total paid out. 4 + 4 + 4 + 4 + 4 + 4 = 24 marks. i) ii) iiI) iv) v) vi) Total: 4aAnalysis and documentation via code comments of the two functions provided. (8 * 0.5) + (16 * 0.5) = 12 marks 4bIncorporation of the two functions provided into your main submission so that the program does not crash when an illegal money value is provided, and also virtually ‘bags up’ the products purchased. 2 OverallOverall code standard including comments, formatting, variable names9 Assignment total (out of 70 marks) Contribution to grade (out of 20 marks) Comments: CRICOS Provider No. 00103DPage7of7