Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMSC 1041 Algorithms III Problem Solving and Pseudocode.

Similar presentations


Presentation on theme: "CMSC 1041 Algorithms III Problem Solving and Pseudocode."— Presentation transcript:

1 CMSC 1041 Algorithms III Problem Solving and Pseudocode

2 CMSC 1042 Methods of Problem Solving l Decode this sentence: Pdeo eo pda yknnayp wjosan.

3 CMSC 1043 Problem Solving l Now that we know what algorithms are, we are going to try some problem solving and write algorithms for the problems. l 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.

4 CMSC 1044 Someone stole a cookie from the cookie jar l 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?

5 CMSC 1045 Solve the Problem l 3 cookies left X 2 = 6 cookies left after 2nd child l 6 X 2 = 12 cookies left after 1st child l 12 X 2 = 24 = original number of cookies

6 CMSC 1046 A Generic Algorithm l 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

7 CMSC 1047 Generic Algorithm for Cookie Problem l Get number of children as input from the user. l Get number of remaining cookies as input from the user. l 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. l Print the original number of cookies.

8 CMSC 1048 Pseudocode l When we broke down the previous problem into steps, we expressed each step as an English phrase. l We can think of this as writing pseudocode for the problem. l Typically, pseudocode is a combination of English phrases and formulas. l If we know the programming language that we’ll be using, it can also include code fragments.

9 CMSC 1049 Brian’s Shopping Trip l 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?

10 CMSC 10410 Brian’s Shopping Trip l 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$

11 CMSC 10411 Generic Algorithm l Now, we’ll make a generic algorithm to solve any problem of this type. l Instead of using actual amounts or a description of items, we’ll use variable names.

12 CMSC 10412 Brian’s Clothing Purchases l Brian’s belt cost $9. We’ll call this item1. l Brian’s shirt cost 4 times item1. So, we’ll call 4 the multiplier. l Brian’s shirt will be called item2. It can be calculated by item2 = multiplier X item1. l Since Brian had $10 left over, we’ll call that amountLeft.

13 CMSC 10413 Brian’s Clothing Purchases Cont. l Brian started with start dollars. l item1 + item2 = start - amountLeft l start = item1 + item 2 + amountLeft

14 CMSC 10414 Pseudocode for Brian’s Clothing Problem Algorithm l Get price of item1 from user l Get multiplier from user l Get amountLeft from user l Calculate item2 (item2 = multiplier X item1) l Calculate start (start = item1 + item2 + amountLeft) l Print “The starting amount = ” start

15 CMSC 10415 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.

16 CMSC 10416 Uses of Pseudocode Cont. Must have a limited vocabulary. Must be easy to learn. Must produce simple, English-like narrative notation.

17 CMSC 10417 Control Structures Sequence Selection Repetition

18 CMSC 10418 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

19 CMSC 10419 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

20 CMSC 10420 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-body end_while

21 CMSC 10421 Pseudocode for Cookie Problem l Get number of children as input from the user, numChild. l Get number of remaining cookies as input from the user, cookiesLeft. l while (numChild > 0 ) cookiesLeft = cookiesLeft X 2 numChild = numChild - 1 l Print “Original number of cookies =” cookiesLeft


Download ppt "CMSC 1041 Algorithms III Problem Solving and Pseudocode."

Similar presentations


Ads by Google