Reproduce and adapt commonly used basic algorithms

Assignment Help Programming Languages
Reference no: EM133531033

Fundamentals of Programming

ASSIGNMENT - Mortgage Calculator

Overview
In this assignment you will have the opportunity to test your Python skills in developing classes and using matplotlib library. Throughout the assignment you are expected to apply the principles of problem solving that we have already discussed in this course.

Learning Outcome 1: Identify and use the correct syntax of a common programming language.

Learning Outcome 2: Recall and use typical programming constructs to design and implement simple software solutions.

Learning Outcome 3: Reproduce and adapt commonly used basic algorithms.

Learning Outcome 4: Explain the importance of programming style concepts (documentation, mnemonic names, indentation).

Skills:
S2. Write and implement a solution algorithm using basic programming constructs.
S3. Demonstrate debugging and testing skills whilst writing code.

Application of knowledge and skills:
A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.
A2. Design and write program solutions to identified problems using accepted design constructs.

ASSESSMENT DETAILS

Introduction. Your assignment is to write a Python program that takes inputs for the Loan Amount, Loan Term and Interest Rate and then calculates and displays values of Weekly (Fortnightly, Monthly) Repayments. Also, the program plots the values of Remaining Principal by years.

Below is explained how to calculate these values:

First, let's assume the following notations (in your program, you will input these values from the command line):
L - loan amount in AUD. Y - loan term in years. p - interest rate.
k - repayment frequency in days (i.e., weekly - 7 days, fortnightly - 14 days, monthly - 30 days).
Repayments, P0, are calculated by the following formula:

1. Programming Tasks

Task 1.1. Develop a Mortgage class.
The class should have the following attributes (instance variables):
loan - for the loan amount in AUD. years - loan term in years. interest - interest rate.
r_frequency - repayment frequency in days.
These attributes should be defined in the constructor, init . Also, the class should define the following methods:
repayments(self) - calculates the value of repayments using the formula provided in the introduction (for P0) and returns the calculated value.

balance_after(self,n) - calculates the remaining balance (debt) after n years using the formula provided in the introduction (for Bn) and returns the calculated value.

str (self) - returns user readable string representation of a mortgage object, i.e.: loan amount, loan term, interest and repayments. The output of this method should be similar to the following:

Loan Amount: 100000.0 AUD Loan Term (Years): 20 Interest: 4.8%
Fortnightly Repayments: 298.61

draw_balance_graph(self) - using the matplotlib library, the method plots a graph of the Remaining Balances by years using balance_after method. The output of this method should be similar to the following:

Task 1.2. Write a main() function.

This should be your main program that:

1. Prompts and takes inputs for the loan amount, loan term, interest rate and repayment frequency.
2. Creates a Mortgage object using the entered values.
3. Using the Mortgage object's methods, prints the mortgage information on screen and, and if required, plots the mortgage balances by years.

You are required to use exception handling to make your program robust (foolproof) i.e., if the user enters an incorrect value, the program won't crash, but instead it will prompt the user to enter a correct value. Use the following constraints for the correct inputs:

loan - must be a positive float value. years - must be a positive int value. interest - must be a positive float value.
r_frequency - must be one of the following values: 7, 14, or
30.

3. Below is an example of the program's run. Please note how it handles incorrect values:

Your documentation should be in PDF format.
Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work.
In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):
• Incomplete implementation(s), and
• Incomplete submissions (e.g., missing files), and
• Poor spelling and grammar.
You might be asked to demonstrate and explain your work.

Attachment:- Mortgage Calculator.rar

Reference no: EM133531033

Questions Cloud

The Eleventh Circuit noted that Teleco had been privatized : The Eleventh Circuit noted that Teleco had been "privatized" from 2008 to 2009, but apparently, the Haitian government retained a majority of the stock.
Paternalistic deception-euthanasia-genetic engineering : There were 8 topics covered in this course: paternalistic deception, euthanasia, genetic engineering, health care rights and systems, human challenge trials
How does choice of leadership style help or hinder unit : How does choice of leadership style help or hinder unit readiness? What leadership attributes or competencies do you think are necessary to be a successful Army
Who is facing the challenges including adapting to fashion : write the Pestel analyses, Porters 5 forces, swot analyses on the Empire Clothing company, Canada who is facing the challenges including adapting to fashion
Reproduce and adapt commonly used basic algorithms : ITECH1400 Fundamentals of Programming, Federation University - Identify and use the correct syntax of a common programming language.
How long did the average passenger have to wait in line : How long did the average passenger have to wait in line? what maximum average number of waiting passengers would ensure that the average waiting time is
Received multiple written warnings for poor attendance : You are the food and beverage manager of a hotel in Fort Lauderdale, Florida. Joan, has already received multiple written warnings for poor attendance
What might be some warning signs of a weak quality culture : What might be some "warning signs" of a weak quality culture? For example, one might be "senior executives rarely discuss quality." List at least three
Analyze the hazards associated with the roofing : Analyze the hazards associated with the roofing and the interior work. You should identify at least three hazards for each activity. Perform a risk assessment

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

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