Chat with us, powered by LiveChat PROBLEM SOLVING FOR PROGRAMMING | Writedemy

PROBLEM SOLVING FOR PROGRAMMING

PROBLEM SOLVING FOR PROGRAMMING

Problem Solving for Programming
Tutor Marked Assignment (TMA)
An Automated Teller Machine (ATM)
Introduction
The TMA accounts for 40% of the marks for this module.
Completing the TMA
The TMA is a substantial task that requires planning and effort to complete satisfactorily. You should begin work on it as early as possible.
You must complete tasks 1 to 7 below. Read the instructions for each task carefully, until you understand exactly what you are being asked to do. Apply the HTTLAP approach as you work.
Make sure that you submit your solution for each task separately (e.g. submit the code for each task and sub task rather than simply one long, single solution).
Getting support
You may submit a draft of your work to your tutor for comment up to a week before the submission deadline.
TMA Specifications
You are required to design algorithms for an Automated Teller Machine. To do this, you should use the constructs and techniques taught in sessions 1-6 of the module.
Task 1 Problem Decomposition (10 marks)
iBank wants to develop its own ATM system. The system will look and work much like other competitor systems work. You have been asked to develop the software for the system. This software will allow customers to withdraw cash and check their balance.
a) Using the approach to problem solving learned in class, identify:
• The principal parts (sub-problems) of the problem.
• Any assumptions you are making with regards to the problem.

b) In pseudo code, outline the basic steps (no more than five) involved in withdrawing cash (Do not include any choice or iteration at this point). Page 2 of 5
Task 2 Start-up (5 marks)
The process of withdrawing cash will begin only if a customer card is entered. Add a simple IF/ENDIF statement to your pseudo code that will account for the customer inserting a card. Please note that if a customer does not insert a card, then NONE of the steps in the cash withdrawal, or balance checking process, should happen.
Task 3 Pin Entry (15 marks)
Once a card has been inserted into the machine, a customer should be prompted to enter their PIN in order to proceed further. We will assume at this point that the customer has an unlimited number of attempts at entering the correct PIN.
a) Identify the variables required for the checking of the PIN. Provide a data type, description and data range for each variable.
b) Use a loop to check the entered PIN number against a customers stored PIN number. Make sure you use and initialize the variables you identified in (a).
Task 4 Menu Choices (15 marks)
Once a correct PIN has been entered, customers will be presented with a services menu. The services menu screen will provide two choices: Check Balance and Withdraw Cash. These choices can be made by selecting buttons 1 or 2 on the menu screen (Figure 1).
Button 1 >> Button 2 >> Button 3 >> Button 4 >> << Button 5 << Button 6 << Button 7 << Button 8 Check balance Withdraw cash Select Service
Figure 1.
If button 1 is selected, the balance screen with the customers balance should be displayed on the screen. If button 2 is selected, the withdrawal screen should be displayed. You can assume that at this point that all other buttons (3-8) have been disabled.
When the withdrawal screen is presented, the following options for the amount to be withdrawn will be presented: £10, £20, £50, £100, £200 (Figure 2). Page 3 of 5

Button 1 >> Button 2 >> Button 3 >> Button 4 >> << Button 5 << Button 6 << Button 7 << Button 8 £10 £20 £50 £100 £200 Select Amount to Withdraw
Figure 2.
a) Identify any further variables that you would need to implement the menu. Provide a data type, description and data range for each variable.
b) Using nested conditional statements. Represent the menu choices detailed above. Note that the outer conditional statement should deal with the service choice, and the inner conditional statement should deal with the withdrawal choice.
Task 5 Dispensing Cash (25 marks)
Once the customer has chosen the amount he/she wishes to withdraw, the ATM should dispense the cash and return the card. The cash should be dispensed in the optimum number of notes (Note that the machine dispenses only twenty and ten pound notes. You can assume that the machine has an unlimited supply of both tens and twenties).
a) Identify any further variables that you would need to implement the dispensing of cash problem. Provide a data type, description and data range for each variable.
b) Extend your algorithm so that it calculates the optimum number of notes for any requested amount. Thus, if a customer chooses to withdraw £100, the optimum format for the cash to be dispensed would be five twenties, while if the customer chooses to withdraw £50 the optimum format for the cash would be two twenties and one ten.
c) Use an appropriate loop structure to return the cash to be dispensed to the customer. Note that you need one loop for tens, and one loop for twenties. Page 4 of 5

Task 6 Limiting PIN Attempts (25 marks)
A customer should be allowed only three attempts at entering a correct PIN before their card is retained.
c) Identify any further variables that you would need to implement the limitation of PIN attempts to three. Provide a data type, description and data range for each variable.
a) Adapt the PIN verification loop from task 3, so that the customer has only three attempts at entering a correct PIN number. If, after three attempts, a correct PIN has not been entered, then the customers card should be retained, and none of the subsequent steps should happen.
To complete this task, you will need to adapt the loop structure you created in task 3. You will need to create a variable for the number of allowed attempts at entering a PIN. Each time the customer has a failed attempt at a correct PIN entry; this variable should be decremented by one. When there are no more attempts left, the loop should exit. This will require a compound loop condition that takes account of (a) whether a correct PIN has been entered (b) whether there are any PIN attempts remaining.
Task 7 Documentation (5 marks)
a) Provide a short description (max 100-200 words) for your completed algorithm.
b) Add explanatory comments to the pseudo code.
TMA Criteria for Assessment
Your tasks will be graded on the following criteria:
Ability to solve complex problems
Ability to express logical solutions in algorithmic format
Presentation and documentation of solutions

Deliverables for submission
Completed TMA tasks 1- 6 must be submitted electronically in a .doc or .docx file (e.g. pfpTMAUsername.doc) through the appropriate assignment dropbox in Moodle before the stated TMA submission deadline for your class. Do NOT submit your TMA files in other formats (e.g. .wp01s).
Note: If a required file is not submitted, the examiners will not search for missing files and 0% will be awarded for any missing files.
Getting feedback
Feedback on the marked TMA can be downloaded from Moodle and will normally be returned to you within 2 weeks of submission.
Backing up files
Always keep a back-up copy of all work submitted for assessment in case of unforeseen submission problems.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Writedemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order