DOC PREVIEW
UMBC CMSC 104 - Algorithms, Part 2 of 3

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Algorithms, Part 2 of 3Problem SolvingProblem Solving (con’t)Someone Stole a Cookie from the Cookie JarSpecific Solution to the ProblemA Generic AlgorithmGeneric Algorithm for Cookie ProblemPseudocodePseudocode (con’t)Improved PseudocodeObservationsObservations (con’t)Brian’s Shopping TripSpecific SolutionGeneric AlgorithmGeneric Algorithm (con’t)Slide 17Control StructuresSequenceSelectionRepetitionCMSC 104, Version 9/01 1Algorithms, Part 2 of 3Topics•Problem Solving Examples•Pseudocode•Control StructuresReading•Section 3.3 - 3.10 (don’t worry about understanding the C code, just the pseudocode)CMSC 104, Version 9/01 2Problem Solving•Decode this sentence:Pdeo eo pda yknnayp wjosan.•We have just come up with a specific solution to a problem.•Can this solution be generalized?CMSC 104, Version 9/01 3Problem Solving (con’t)•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.CMSC 104, Version 9/01 4Someone Stole a Cookie from the Cookie JarProblem: Momma had just filled the cookie jar when the 3 children went to bed. That night one child woke up, ate half of the cookies and went back to bed. Later, the second child woke up, ate half of the remaining cookies, and went back to bed. Still later, the third child woke up, ate half of the remaining cookies, leaving 3 cookies in the jar. How many cookies were in the jar to begin with?CMSC 104, Version 9/01 5Specific Solution to the Problem•First, we solve the specific problem to help us identify the steps.o3 cookies left X 2 = 6 cookies left after 2nd childo6 X 2 = 12 cookies left after 1st childo12 X 2 = 24 = original number of cookiesCMSC 104, Version 9/01 6A Generic Algorithm•What is a generic algorithm for this problem? An algorithm that will work with any number of remaining cookies ANDthat will work with any number of children.CMSC 104, Version 9/01 7Generic Algorithm for Cookie Problem•Get number of children.•Get number of cookies remaining.•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.•Display the original number of cookies.CMSC 104, Version 9/01 8Pseudocode•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.CMSC 104, Version 9/01 9Pseudocode (con’t)•Pseudocode is used inodesigning algorithmsocommunicating an algorithm to the customeroconverting an algorithm to code (used by the programmer)odebugging logic (semantic) errors in a solution before coding (hand tracing)•Let’s write the Cookie Problem algorithm using a more formal pseudocode and being more precise.CMSC 104, Version 9/01 10Improved PseudocodeDisplay “Enter the number of children: “Read <number of children>Display “Enter the number of cookies remaining: “Read <cookies remaining><original cookies> = <cookies remaining>While (<number of children> > 0)<original cookies> = <original cookies> X 2<number of children> = <number of children> - 1End_WhileDisplay “Original number of cookies = “, <original cookies>CMSC 104, Version 9/01 11Observations•Any user prompts should appear exactly as you wish the programmer to code them.•The destination of any output data should be stated, such as in “Display”, which implies the screen.•Make the data items clear (e.g., surround them by < and > ) and give them descriptive names.•Use formulas wherever possible for clarity and brevity.•Use keywords (such as Read and While) and use them consistenty. Accent them in some manner.CMSC 104, Version 9/01 12Observations (con’t)•Use indentation for clarity of logic.•Avoid using code. Pseudocode should not be programming language-specific.•Always keep in mind that you may not be the person translating your pseudocode into programming language code. It must, therefore, be unambiguous.•You may make up your own pseudocoding guidelines, but you MUST be consistent.CMSC 104, Version 9/01 13Brian’s Shopping TripProblem: 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?CMSC 104, Version 9/01 14Specific SolutionStart$ = Belt$ + Shirt$ + $10 Start$ = Belt$ + (4 X Belt$) + $10Start$ = 9 + (4 X 9) + 10 = $55CMSC 104, Version 9/01 15Generic Algorithm•Now, let’s write a generic algorithm to solve any problem of this type.•What are the inputs to the algorithm?othe cost of the first item (doesn’t matter that it’s a belt): <item1 price>othe number to multiply the cost of the first item by to get the cost of the second item: <multiplier>othe amount of money left at the end of shopping: <amount left>CMSC 104, Version 9/01 16Generic Algorithm (con’t)•What are the outputs from the algorithm?othe amount of money available at the start of the shopping trip: <start amount>•Note that we may end up needing some intermediate variables.CMSC 104, Version 9/01 17PseudocodeDisplay “Enter the price of the first item: “Read <item 1 price>Display “Enter the multiplier: “Read <multiplier>Display “Enter the amount left after shopping: “Read <amount left><item2 price> = <multiplier> X <item1 price><start amount> = <item1 price> + <item2 price> + <amount left>Display “The starting amount was “, <start amount>CMSC 104, Version 9/01 18Control StructuresAny problem can be solved using only three logical control structures:oSequenceoSelectionoRepetitionCMSC 104, Version 9/01 19Sequence•A series of steps or statements that are executed in the order they are written.•Example:Display “Enter two numbers: “Read <number1>Read <number2><sum> = <number1> + <number2>Display “sum = “, <sum>CMSC 104, Version 9/01 20Selection•Defines one or more courses of action depending on the evaluation of a condition.•Synonyms: conditional, branching, decision•Examples: If (condition is true) If (condition is true) do this do thisEnd_if Else do that End_ifCMSC 104, Version 9/01 21Repetition•Allows one or more statements to be repeated


View Full Document

UMBC CMSC 104 - Algorithms, Part 2 of 3

Download Algorithms, Part 2 of 3
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Algorithms, Part 2 of 3 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Algorithms, Part 2 of 3 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?