0% found this document useful (0 votes)
38 views

Programming Basics Using Real-Life Examples

The document provides examples of programming problems that use different control structures like sequence, decision, and repetition. It discusses common ideas behind different everyday activities that can be modeled as programming problems. It also gives pseudocode for problems involving weighted score calculation, payroll calculation with overtime, number guessing game, and letter guessing game. The document emphasizes that all programs use the three basic control structures and provides steps to solve a problem from high level idea to pseudocode to code.

Uploaded by

eunarbdayangco
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Programming Basics Using Real-Life Examples

The document provides examples of programming problems that use different control structures like sequence, decision, and repetition. It discusses common ideas behind different everyday activities that can be modeled as programming problems. It also gives pseudocode for problems involving weighted score calculation, payroll calculation with overtime, number guessing game, and letter guessing game. The document emphasizes that all programs use the three basic control structures and provides steps to solve a problem from high level idea to pseudocode to code.

Uploaded by

eunarbdayangco
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

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 95
Output: 96.5%
Pseudocode
Prompt & get the score for assignment1
Prompt & get the score for assignment2
Prompt & get the score for assignment3
Prompt & get the score for exam1
Prompt & get the score for exam2
weightedScore = (assignment1 + assignment2 +
assignment3) * 0.1 + (exam1 + exam2) * .35
output 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: Input: Output
Pay Rate Hours
150 30 Rs. 4500

150 60 Rs. 7500


Pseudocode
Prompt & get hourly pay rate & # of hours
IF hours <= 50
pay = hours * payRate;
ELSE
pay = 50 * payRate;
ENDIF
output 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: payRate
Next 10 hours: payRate * 1.5
Beyond 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 >
Pseudocode
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
Detailed pseudocode
Initialize range 2 variables: low = 1 and high = 100
do {
compute mid = (low + high) / 2
Ask the user: Is it mid?
Get user response
if (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 computers 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 *******:
s
letters 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);

You might also like