# Programming at a high level. Developing a Computer Program Programmer Writes program in source code (VB or other language) Compiler Converts source.

Post on 13-Dec-2015

215 views

TRANSCRIPT

- Slide 1

Programming at a high level Slide 2 Developing a Computer Program Programmer Writes program in source code (VB or other language) Compiler Converts source code to machine language code Linker Combines machine language with libraries & converts them to an executable module Interpreter Converts source code to machine language and executes one line at a time CompilerLink/load Executable module Source code Machine language Output Input data High-level language Low-level Language Slide 3 Programming Process Grace M. Hopper First Bug Algorithm Design (underlying logic of program) Program Composition Debug & test (error free & reliable) Program Documentation Program Maintenance Slide 4 Programming Tools Tools to convert algorithms into computer programs Algorithm: Step-by-Step procedure for solving a problem Example Problem: You write a letter. To mail it, you must decide how much postage to put on the envelop. Rule of Thumb: One stamp for every 5 sheets of paper. Algorithm: see next slide Slide 5 Algorithm 1. Request the number of sheets of paper; call this Sheets 2. Divide Sheets by 5 3. Round the quotient up to the next highest whole number; call it Stamps 4. Reply with the number Stamps 5. Example: INPUT (16) Processing Output (4) Slide 6 Flowchart Symbols Flow Line Start/Stop Input/Output Processing Decision Slide 7 Stamp Problem Program: Determine the proper number of stamps for a letter Read sheets Set the number of stamps to sheets/5 Round the number of stamps up to the next whole number Display the number of stamps Start Read sheets Set stamps = sheets/5 Round stamps up To next whole # Display stamps End Input Processing Output Flowchart Pseudocode Slide 8 Decisions If condition is true, then Process step(s) 1 Else Process step(s) 2 End if Is condition True? Process Step(s) 1 Process Step(s) 2 No Yes Flowchart Pseudocode Slide 9 Pseudocode Structure Start and stop begin and end Output Return Decisions If-then-else Loops For While-do Repeat-until Slide 10 Real world problems A traffic light A vending machine An elevator An ATM Slide 11 Mathematical problems Calculate the summation of a list of numbers Calculate the average of a list of numbers Find the maximum number from a list Find the minimum number from a list Slide 12 Average Grade Problem Start Sum=0 Count = 0 Input Grade More grades? Sum = Sum + Grade Count = Count + 1 Average = Sum/Count Stop No Yes Flowchart Pseudocode BEGIN Average Grade sum=0 count = 0 DO WHILE grade > 0 sum = sum + grade count = count +1 END DO average = sum/count END Average Grade Slide 13 Introduction to Search Algorithms Search: locate an item in a list (array, vector, etc.) of information Two algorithms: Linear search Binary search Interpolation search Slide 14 Linear Search Tradeoffs Benefits Easy algorithm to understand Array can be in any order Disadvantage Inefficient (slow): for array of N elements, examines N/2 elements on average for value in array, N elements for value not in array Slide 15 Binary Search Algorithm 1. Divide an ordered array into three sections. middle element elements on one side of the middle element elements on the other side of the middle element 2. If the middle element is the correct value, done. Otherwise, go to step 1, using only the half of the array that may contain the correct value. 3. Continue steps 1 and 2 until either the value is found or there are no more elements to examine. Slide 16 Binary Search Tradeoffs Benefit Much more efficient than linear search (For array of N elements, performs at most log 2 N comparisons) Disadvantage Requires that array elements be ordered Slide 17 Interpolation Search Tradeoffs Benefits Much more efficient than binary search (For array of N elements, performs log 2 log 2 N comparisons on an average) Disadvantage Requires that array elements be ordered Elements need to be uniformly distributed for best performance

Recommended