- 105 Views
- Uploaded on
- Presentation posted in: General

Programming Basics using Real-life examples

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Programming Basics usingReal-life examples

- 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?

Sequence

- 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%

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

- Drive car or take DART bus?
- Party or study?
- Fly or drive?
What is the common idea for all these activities?

Decision

Get hourly pay rate & # of hours, compute the weekly pay, but do not pay for hours beyond 50.

Sample inputs:

Prompt & get hourly pay rate & # of hours

IF hours <= 50

pay = hours * payRate;

ELSE

pay = 50 * payRate;

ENDIF

output pay

Prompt & get hourly pay rate & # of hours

if (hours <= 50)

pay = hours * payRate;

else

pay = 50 * payRate;

output pay

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

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;

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;

IF hours > 50

hours= 50;

IF hours <= 40

pay = payRate * hours;

ELSE

pay = payRate * 40 + payRate * 1.5 * (hours – 40);

hours = (hours > 50 ? 50 : hours);

IF hours <= 40

pay = payRate * hours;

ELSE

basePay = payRate * 40;

overPay = payRate * 1.5 * (hours – 40);

pay = basePay + overPay;

- 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?

Compute the average score for the whole class.

Enter # of students: 5

Enter scores:

91

92

92

93

94

Average score is: 92.4

- 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

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 != ‘=‘);

- Google for “Java random number generation”

- 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.

- 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 =

- How to make the computer guess a number?

- All programs have only 3 control structures: Sequence, decision & repetition
- Problem description High level idea Detailed Pseudocode Implement in specific language Executable program

- 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******:

- 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);