1 / 34

CISC105 – General Computer Science

CISC105 – General Computer Science. Class 4 – 06/14/2006. 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? –

thomasbruce
Download Presentation

CISC105 – General Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 ProgramThe 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. Counting Loop and while

  20. Counting Loop and while • 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 • 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? # emp = 3Emp1 – Hours 50 Rate 5.25Emp2 – Hours 6 Rate 5.00Emp3 – Hours 15 Rate 7.00 Pay is $262.50 Pay is $ 30.00 Pay is $105.00 All employees processedTotal 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); }

More Related