Introduction
The purpose of this project component is to provide a first experience in the actual writing of computer programs. Using a relatively simple introductory scripting language (Python), you will create program code in an editor (Notepad), save it to your disk, and run it from the command line prompt.
You will gain experience in planning, writing, debugging, documenting, and running simple programs. Learning Python serves as a convenient stepping-stone to more complex object-oriented languages, such as Java.
In this project, you will use online resources, including downloadable Python tools and tutorials.
Before writing programs, it is useful to plan the programming steps and actions by writing an algorithm. An algorithm is a set of plain English language commands or steps, each of which is then replaced by the appropriate command line for the programming language used. This technique becomes less useful when using complex object-oriented languages such as Java, but may be helpful in the early stages of learning to design programs. You will write algorithms for your first two programming exercises in this project.
The project will be graded for completeness and correct functioning of programs.
Acquiring the Tools
Download and install Python version 2.2 or higher by following the instructions at the Python download site.
The downloaded file will be called Python-2_2.exe. After downloading, run this file to complete the installation. You can view the installed components from your Start list.
Writing Algorithms
In the traditional approach to programming, the program is seen as a series of steps, which may include branches and loops. A branch occurs when a program may go in two or more different directions, depending upon a logical condition or a choice made by the user. A loop is a situation where a particular step, or series of steps, may be repeated until a certain condition or choice occurs.
The following simple example of an algorithm includes both elements, and describes a simple program for performing addition or multiplication.
Step 1display the program name Addition and Multiplication
Step 2display the options menu (A)dd, (M)ultiply
Step 3request and store input of user choice A or M as choice
Step 4if choice does not equal A or M, go to Step 9
Step 5request and store the first number to be used as variable X
Step 6request and store the second number to be used as variable Y
Step 7if choice = A go to Step 11
Step 8if choice = M go to Step 13
Step 9display message Choose A or M
Step 10go to Step 3
Step 11display Sum is X+Y
Step 12go to Step 3
Step 13display Product is X*Y
Step 14go to Step 3
Writing, Storing, and Running Python Programs
The actions involved in creating and running Python programs are relatively simple:
Input the code using Notepad, and save the file as *.py (e.g., prog1.py). Save your programs in the Python folder on your hard disk.
Open the MS-DOS prompt window.
Change directory from Windows to Python22 (enter cd, followed by cd python22).
Run the Python interpreter on your program by typing python filename.py, where filename is the actual name of your saved *.py file (e.g., python prog1.py).
Learning Python
Go to A Beginners Python Tutorial, and work through the first seven lessons.
Please note that the tutorial describes running programs for an earlier version of Python, and follows:
Edit menu-> Run Script
In later versions of Python, programs are run as follows:
Run menu-> Run Module (or simply hit F5)
Note: If you
need more help, the internet has several instructive sites, for example, www.learnpython.org/.
Programs
The programs you will write for this project are copied with permission, or adapted from, the exercises in A Beginners Python Tutorial.
Each program should be written, tested, and debugged. The first two programs should also be fully commented, with each line documented by a descriptive comment. The remaining programs should have a single comment line at the beginning to describe the function of the program. All programs should start with a display of your name, student id#, and the program number and name. When storing the files, name them as prog1.py, prog2.py, etc.
EXAMPLE OF AUTHOR/PROGRAM INFORMATION OUTPUT
Program author: B. Rubble
ID#: 1234567
Program 1Math Functions
PROGRAM 1MATH FUNCTIONS
Write an algorithm for a program that shows the use of all six math functions. Write, test, and debug the program using Python.
SAMPLE OUTPUT (not including author/program information)
ADDITION: 2+2=4
SUBTRACTION: 4-2=2
MULTIPLICATION: 4*2=8
DIVISION: 4/2=2
EXPONENT: 2**3=8
REMAINDER: 5%2=1
PROGRAM 2USING INPUT
Write an algorithm for a program that receives, as input from the user, 2 string variables and 2 integer variables; then joins together and displays the combined strings; and finally multiplies the two numbers on a new line. Write, test, and debug the program using Python.
SAMPLE OUTPUT (not including author/program information)
Input string 1? Billy
Input String 2? Bob
Input integer A? 23
Input integer B? 2
BillyBob
46
PROGRAM 3LOOPS AND IF CONDITIONS
Write a program that requests a password after the author/program information is displayed. Make the password hello. The program should then ask the user for their name: if the name entered is the same as your name, the program should respond with What a great name!; if they enter Madonna or Cher, the program should respond May I have your autograph, please?. For any other input, the program should respond with (input name), thats a nice name.
SAMPLE OUTPUT (including author/program information)
Program author: Barney Rubble
ID#: 1234567
Program 3LOOPS AND IF CONDITIONS
Password? unicorn
Password? opus
Password? hello
Welcome to the second half of the program!
What is your name? Barney
What a great name!
ALTERNATE OUTPUTS
What is your name? Cher
May I have your autograph, please?
What is your name? Bill
Bill, thats a nice name.
PROGRAM 4FUNCTIONS
Rewrite the area.py program (shown below, or in the Creating Functions section of the tutorial) so that it has separate functions for the perimeter and area of a square, a rectangle, and a circle (3.14 * radius**2). This program should include a menu interface that has exit the program as one of its choices.
SAMPLE PROGRAM EXECUTION
Area.py
#This program calculates the perimeter and area of a rectangle
print Calculate information about a rectangle
length = input(Length:)
width = input(Width:)
print Area,length*width
print Perimeter,2*length+2*width
SAMPLE OUTPUT (not including author/program information)
CALCULATIONS MENU
1) AREA (SQUARE)
2) AREA (RECTANGLE)
3) AREA (CIRCLE)
4) PERIMETER (SQUARE)
5) PERIMETER (RECTANGLE)
6) PERIMETER (CIRCLE)
7) EXIT
INPUT MENU CHOICE (1,2,3,4,5,6 OR 7)? 2
YOU HAVE CHOSEN AREA (RECTANGLE)
INPUT WIDTH? 8
INPUT LENGTH? 4
AREA IS 32
INPUT MENU CHOICE?
Packaging and Submitting
When submitting your project, use WinZip or a compatible program to compress all the required files into a single archive. There should be four files in total: prog1.py, prog2.py, prog3.py, and prog4.py.