21
CMSC 104 Algorithms II Problem Solving and Pseudocode

Algorithms II

  • Upload
    kylia

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

Algorithms II. Problem Solving and Pseudocode. Methods of Problem Solving. Decode this sentence: Pdeo eo pda yknnayp wjosan. Problem Solving. Now that we know what algorithms are, we are going to try some problem solving and write algorithms for the problems. - PowerPoint PPT Presentation

Citation preview

Page 1: Algorithms II

CMSC 104 1

Algorithms II

Problem Solving

and

Pseudocode

Page 2: Algorithms II

CMSC 104 2

Methods of Problem Solving

Decode this sentence:

Pdeo eo pda yknnayp wjosan.

Page 3: Algorithms II

CMSC 104 3

Problem Solving

Now that we know what algorithms are, we are going to try some problem solving and write algorithms for the problems.

We’ll start with step-by-step instructions that solve a particular problem and then write a generic algorithm that will solve any problem of that type.

Page 4: Algorithms II

CMSC 104 4

Someone stole a cookie from the cookie jar

Momma had just filled the cookie jar when the three children went to bed. That night one child woke up, ate half the cookies and went back to bed. Later the second child woke up, ate half the remaining cookies, and went back to bed. Still later the third child woke up, ate half the remaining cookies, leaving 3 cookies in the jar. How many cookies were in the jar to begin with?

Page 5: Algorithms II

CMSC 104 5

Solve the Problem

3 cookies left X 2 = 6 cookies left after 2nd child

6 X 2 = 12 cookies left after 1st child 12 X 2 = 24 = original number of

cookies

Page 6: Algorithms II

CMSC 104 6

A Generic Algorithm

What’s a generic algorithm for this problem?

An algorithm that will work with any number of remaining cookies

AND

that will work with any number of children

Page 7: Algorithms II

CMSC 104 7

Generic Algorithm for Cookie Problem

Get number of children as input from the user.

Get number of remaining cookies as input from the user.

While there are still children that have not raided the cookie jar, multiply the number of cookies by 2 and reduce the number of children by 1.

Print the original number of cookies.

Page 8: Algorithms II

CMSC 104 8

Pseudocode

When we broke down the previous problem into steps, we expressed each step as an English phrase.

We can think of this as writing pseudocode for the problem.

Typically, pseudocode is a combination of English phrases and formulas.

If we know the programming language that we’ll be using, it can also include code fragments.

Page 9: Algorithms II

CMSC 104 9

Brian’s Shopping Trip

Brian bought a belt for $9 and a shirt that cost 4 times as much as the belt. He then had $10. How much money did Brian have before he bought the belt and shirt?

Page 10: Algorithms II

CMSC 104 10

Brian’s Shopping Trip

First we solve the problem to help us identify the steps.

9 + 4 X 9 = START$ -10

9 + 36 = START$ - 10

45 = START$ -10

55 = START$

Page 11: Algorithms II

CMSC 104 11

Generic Algorithm

Now, we’ll make a generic algorithm to solve any problem of this type.

Instead of using actual amounts or a description of items, we’ll use variable names.

Page 12: Algorithms II

CMSC 104 12

Brian’s Clothing Purchases

Brian’s belt cost $9. We’ll call this item1. Brian’s shirt cost 4 times item1. So, we’ll

call 4 the multiplier . Brian’s shirt will be called item2. It can be

calculated by item2 = multiplier X item1. Since Brian had $10 left over, we’ll call that

amountLeft.

Page 13: Algorithms II

CMSC 104 13

Brian’s Clothing Purchases Cont.

Brian started with start dollars. item1 + item2 = start - amountLeft start = item1 + item 2 + amountLeft

Page 14: Algorithms II

CMSC 104 14

Pseudocode for Brian’s Clothing Problem Algorithm

Get price of item1 from user Get multiplier from user Get amountLeft from user Calculate item2 (item2 = multiplier X

item1) Calculate start (start = item1 + item2 +

amountLeft) Print “The starting amount = ” start

Page 15: Algorithms II

CMSC 104 15

Uses of Pseudocode

• Used in designing algorithms.• Used in communicating to users.• Used in implementing algorithms as

programs.• Used in debugging logic errors in

programs.

Page 16: Algorithms II

CMSC 104 16

Uses of Pseudocode Cont.

• Must have a limited vocabulary.• Must be easy to learn.• Must produce simple, English-like

narrative notation.

Page 17: Algorithms II

CMSC 104 17

Control Structures

• Sequence• Selection• Repetition

Page 18: Algorithms II

CMSC 104 18

Sequence

• Series of steps or statements that are executed in the order they are written.

• Example:Get num1 from user

Get num2 from user

sum = num1 + num2

Print “sum = “ sum

Page 19: Algorithms II

CMSC 104 19

Selection• Defines one or two courses of action

depending on the evaluation of a condition.• A condition is an expression that is either

true or false.• Example:

if condition (is true) do this

else do that

end_if

Page 20: Algorithms II

CMSC 104 20

Repetition

• Many times there will be a group of statements that should be repeated.

• These statements will make up what is known as the body of a loop.

• Example:while condition (is true)

loop-bodyend_while

Page 21: Algorithms II

CMSC 104 21

Pseudocode for Cookie Problem

Get number of children as input from the user, numChild.

Get number of remaining cookies as input from the user, cookiesLeft.

while (numChild > 0 )

cookiesLeft = cookiesLeft X 2

numChild = numChild - 1 Print “Original number of cookies =”

cookiesLeft