Programming Basics using Real-life examples
description
Transcript of Programming Basics using Real-life examples
Programming Basics using
Real-life examples
Activities
• Recipe• Assembly instructions for a toy• Map out the plan at amusement park• A busy day schedule
What is the common idea for all these activities?
Programming problem: Using sequence structure
• Compute the weighted score based on individual assignments’ scores. Let us say there are only 3 assignments & 2 exams, each with max score of 100. Respective weights are (10%, 10%, 10%, 35% and 35%)
• Sample input & output:Input: 100 100 100 95 95Output: 96.5%
Pseudocode
Prompt & get the score for assignment1Prompt & get the score for assignment2Prompt & get the score for assignment3Prompt & get the score for exam1Prompt & get the score for exam2weightedScore = (assignment1 + assignment2 + assignment3) * 0.1 + (exam1 + exam2) * .35output weightedScore
Activities
• Drive car or take DART bus?• Party or study?• Fly or drive?
What is the common idea for all these activities?
Programming problem:using decision structure
Get hourly pay rate & # of hours, compute the weekly pay, but do not pay for hours beyond 50.
Sample inputs:Input: Pay Rate
Input:Hours
Output
150 30 Rs. 4500
150 60 Rs. 7500
Pseudocode
Prompt & get hourly pay rate & # of hoursIF hours <= 50 pay = hours * payRate;ELSE pay = 50 * payRate;ENDIFoutput pay
C code
Prompt & get hourly pay rate & # of hours
if (hours <= 50) pay = hours * payRate;else pay = 50 * payRate;
output pay
Programming problem:using decision structure
V2: Get hourly pay rate & # of hours, compute the weekly pay, but do not pay for >50 hours. Also, pay 1.5 times regular pay for overtime hours (that is, # of hours beyond regular 40 hours).
First 40 hours: payRateNext 10 hours: payRate * 1.5Beyond 50 hours: 0
pseudocode
IF hours <= 40 pay = payRate * hours;ELSE IF hours <= 50 pay = payRate * 40 + payRate * 1.5 * (hours – 40);ELSE pay = payRate * 40 + payRate * 1.5 * 10;
pseudocode #2
overHours = hours – 40;IF hours <= 40 pay = payRate * hours;ELSE IF hours <= 50 pay = payRate * 40 + payRate * 1.5 * overHours;ELSE pay = payRate * 40 + payRate * 1.5 * 10;
pseudocode #3
hours = (hours > 50 ? 50 : hours);IF hours <= 40 pay = payRate * hours;ELSE pay = payRate * 40 + payRate * 1.5 * (hours – 40);
pseudocode #4
hours = (hours > 50 ? 50 : hours);IF hours <= 40 pay = payRate * hours;ELSE basePay = payRate * 40; overPay = payRate * 1.5 * (hours – 40); pay = basePay + overPay;
Activities
• Bring in tons of purchased items from car to house
• Load up uhaul truck when cleaning up apartment
• Eat cookies from a box • Taking an exam that has several questions
What is the common idea for all these activities?
Programming problem: Using repetition structure
Compute the average score for the whole class.
Are we ready to code it?
Guessing game
• Guess a number between 1 and 100 in your mind. Write a program so that the computer will ask you a series of questions and determine that number based on your answers.
Repeat the following steps as many times as needed:• Computer asks, “Is it NN?”• User responds with <, =, or >
Range – 2 variables: low = 1 and high = 100• compute mid = (low + high) / 2• Ask the user: Is it mid?• Get user response• adjust low or high based on response• repeat as needed
Pseudocode
Detailed pseudocode
Initialize range – 2 variables: low = 1 and high = 100do {
compute mid = (low + high) / 2Ask the user: Is it mid?Get user responseif (response == ‘<‘)
high = mid-1;else if (response == ‘>’)
low = mid+1;
while (response != ‘=‘);
Are we ready to code it?
Are we ready to code it?
• Google for “Java random number generation”
Guessing game V2 – Role reversal
• Let the computer guess a number between 1 and 100. Write a program so that the computer will answer a series of your questions and you will determine the number based on computer’s responses.
Pseudocode
• Generate a random number between 0 and 100: assign rand() % 101 to a variable.
• then enter the loop– get a guess from the user– output <, >, or =
repeat until user enters =
Are we ready to code it?
• How to make the computer guess a number?
Summary
• All programs have only 3 control structures: Sequence, decision & repetition
• Problem description High level idea Detailed Pseudocode Implement in specific language Executable program
C++ strings
• Similar functionality to hangman game• Write a method to return # of tries to guess all
the letters in a given word.• Sample run:Guess the letters in *******:sletters in s******:
Pseudocode for guessWord()• bool guessed[100]; initialize to false using loop• int exposedCount = 0;• int len = word.length();for(int i = 0; i < len ; i++)
guessed[i] = false;do { for(int i = 0; i < len ; i++)
cout << (guessed[i] ? word[i] : “*”); include code for getting next guess from the user and updating guessed[] array and exposedCount.} while (exposedCount < len);