Presentation is loading. Please wait.

Presentation is loading. Please wait.

CISC105 – General Computer Science Class 4 – 06/14/2006.

Similar presentations


Presentation on theme: "CISC105 – General Computer Science Class 4 – 06/14/2006."— Presentation transcript:

1 CISC105 – General Computer Science Class 4 – 06/14/2006

2 Office Hours Michael Haggerty –When: Friday 12-1 (by appointment) –Where: Pearson 115B Robert Derelanko –When: M-F 11-1 (by appointment) –Where: Mitchell 219 By appointment? – –You will need to contact us to set up an appointment to meet with you –We are willing to help you as much as you need, however, we do not want to waste time away by sitting in an empty office! –If you cannot meet during the times above contact me and we will make alternate arrangements

3 Exam is next week! Format is True/False, Multiple Choice, Short Answer, Write a Program Exam will cover Chapters 1-4, class notes, Lab00 and Lab01 (except loops) –Vocabulary –Compiling, Linking & executing a program –Software Development Method –Coding – understand how to read/write a program Variable types ( int char double ) Functions – declaration, definition, use printf – understand formatting scanf if…else & switch (Selection) –Operator Precedence

4 Review Algorithm – series of steps to follow in order to solve a problem Program – the implementation of an algorithm written using the rules of the programming language –Can be in machine code or assembly –High-Level Language (like C) must be complied and linked before execution Process – a program in execution

5 Review – Problem to Program The Software Development Method Use the software development method to define your algorithm –Problem Definition – usually given to you in class/lab –Analyze Problem (inputs, outputs, relevant formulas) –Design Algorithm – what steps should you take to get input and transform it to the output –Implement Algorithm – write C code based on the algorithm –Test – Use test cases to determine if you implemented the algorithm correctly –Maintain – an important step used for “production” software (not necessary for what we are doing here)

6 Review Program Structure –Preprocessor Directives ( #include & #define ) –The main function ( return(0) ) –Variable Types and Declaration ( int double & char ) –Variable Manipulation –I/O Statements – printf() scanf() Function arguments Format String (placeholders – multiple placeholders) Print list Output Format –\n and the cursor –Numbers

7 Program Structure Review

8 Review Functions Function Declaration –What –Where –Why Function Definition –What –Where Function Use –What –Where –How Function Input and Output Arguments

9 Review Selection Structures ( if…else ) Execution of a statement (s) is dependent on a condition Single, compound, multiple alternatives General Structure if (condition) statement(s) if condition is true else statement(s) if condition is false if statements can be nested within other if statements – use {} to clarify which statement(s) belong together

10 Review Selection Structures ( switch() ) Used instead of nested loops where you can utilize jumps break; & default:

11 Review - switch Example switch(n) { case 0: printf("You typed zero.\n"); break; case 3: case 5: case 7: printf("n is a prime number\n"); break; case 2: printf("n is a prime number\n"); case 4: case 6: case 8: printf("n is an even number\n"); break; case 1: case 9: printf("n is a perfect square\n"); break; default: printf("Only single-digit numbers are allowed\n"); }

12 Lab and Projects Read the Lab Assignment BEFORE lab (Lab02 is posted now – I’ll try to get the rest of the labs posted ASAP) –I will no longer hand out a hardcopy of the lab! Refer to the book and class notes for syntax on writing C programming – the TA is there to help you not write your programs!

13 Repetition Control Structures Repetition Control Structures are used whenever we need to repeat a group of steps in a program (loop). The statements that are repeated are contained in the loop body (using {} again!) There are many types of loops that we can use in an algorithm – C has statements that can run all loop types

14 Loop Types Counting – when we know exactly how many time the loop will repeat (use while or for ) Sentinel-Control – Input a list of data in any length ended by a special value (use while or for ) Endfile-Control – input a list of data from a data file (use while or for ) Input Validation – Repeated interactive input of data until a value is within a valid range (use do-while ) General Conditional – Repeated input until a desired condition is met (use while or for )

15 How to choose the loop type?

16 Counting loop Algorithm Steps –Initialize loop control variable –Test condition Condition True –Execute Statement(s) –Update loop control variable Condition False –Exit Loop

17 Counting Loop and while The C identifier while can be used to control a counting loop: initialize loop variable; while (loop repetition condition) { statement(s) run while condition is true; update condition; } control flow continues here when condition is false; Without initialization an Updating the loop can: –Never run –Become endless

18 Counting Loop and while

19

20 What is the output of the following code: int i = 0; while (i <= 5) { printf(“i = %3d\n”, i); i = i + 1; } printf(“All done!\n);

21 Compute Payroll # emp = 3 Emp1 – Hours 50 Rate 5.25 Emp2 – Hours 6 Rate 5.00 Emp3 – Hours 15 Rate 7.00 Accumulator – value to store a value being computed in increments during the execution of a loop 1-Which variable is the accumulator in this program? total_pay 2-What would the output this program be? Pay is $262.50 Pay is $ 30.00 Pay is $105.00 All employees processed Total payroll is $ 397.50

22 Counting Loop and for The C identifier for can be used to control a counting loop for (initialization expression; loop repetition condition; update expression) statement Similar to a while loop except initialization, condition and update are together.

23 Counting Loop and for

24 Increment and Decrement Operator We have seen loop update expressions written as counter = counter + 1; or counter += 1; We can also use: –counter++; is postfix increment – it returns the value of counter then increments –++counter; is prefix increment – it increments counter and then returns the new value Substitute -- for ++ to get a decrement operator –counter--; –--counter;

25 Prefix vs. Postfix

26 for loop example

27 Using loops with increments other than 1 You can control loops with update expressions other than 1 –counter += 10; will increment counter by 10 –Counter -= 10; will decrement counter by 10 Incrementing/Decrementing by values other than 1 would be identified in your algorithm (the Design phase of the Software Development Method) – see Example 5.4 in Hanly/Koffman p.227.

28 Conditional Loops Sometimes you will not know the number of time that you need to run a loop –Number of repetitions relies on data entered –Keep requesting data until the data is valid The C identifiers while or for can be used to control conditional loops

29 Conditional Loop Example printf(“Enter a positive number >”); scanf(“%d”, value); while (value < 0) { printf(“Enter a positive number >”); scanf(“%d”, value); } Input validation Example

30 do…while loop The do…while loop can be use to reduce program input and take the form do { statement(s); } while (condition); Commonly used for input validation

31 Do…while example do { printf(“Enter a positive number >”); scanf(“%d”, value); } while (value < 0);

32 Sentinel Controlled Loops Loops that run until a sentinel value (an end marker that follows the last data item) is entered Sentinel Controlled loops still follow the sequence of: –Initialize –Check condition –Update

33 Sentinel Example

34 Using for in a Sentinel Loop Can we use for as a Sentinel Loop Control? printf(“Enter first score (or %d to quit)>”,SENTINEL); for (scanf(“%d”, &score); /* Initialize */ score != SENTINEL; /* Test Condition */ scanf(“%d”, &score)) /* Update */ { score += score; printf(“Enter next score (or %d to quit)>”,SENTINEL); }


Download ppt "CISC105 – General Computer Science Class 4 – 06/14/2006."

Similar presentations


Ads by Google