Download presentation
Presentation is loading. Please wait.
Published byCameron Warner Modified over 6 years ago
1
CS 108 Computing Fundamentals Notes for Tuesday, September 19, 2017
2
Review Quiz
3
Review GHP #8
4
Exam #1 (1) Tuesday, September 26
Chapters 2, 3, and UNIX tutorial only for closed-book part… up through and including programmer-created functions (PCFs) and GHP #8 for open-book part Use "Quick Check Exercises" and "Review Questions" in the textbook plus MPL exercises
5
Exam #1 (2) If you need to take the exam in the Learning Center
Send me an reminding me Visit the Learning Center ASAP to make sure they are ready for you On Thursday I will collect official paperwork for accommodations if you have not already provided it Homework: do last semester’s Exam #1 I will is to you Do not make the mistake of thinking that your Exam #1 will be a copy of last semester's Exam #1 I'm showing you last semester's exam to give you a flavor of what could be on the exam and to give you an idea of what an exam looks like and what to expect (generally)
6
Let's Go Through an Entire Example (1)
Let's write a program that calculates the area and the perimeter and of rectangle once the user provides a length and width input… let’s start by developing an algorithm Maximize the use of functions (like GHP #8) main( ) merely passes values and control to programmer-created functions (PCFs) We are going to violate the "Urban Inside-Out One Step at a Time Method" this time to view functions from a slightly different perspective
7
Let's Go Through an Entire Example (2)
/********************************** Algorithm 1. Greet user 2. Ask for length 3. Read/record the length 4. Ask for width 5. Read/record the width 6. Calculate area (area = length * width ) 7. Calculate perimeter (perimeter = 2 * length + 2*width) 8. Display answer 9. Terminate **********************************/
8
Let's Go Through an Entire Example (3)
/********************************** Algorithm 1. Greet user ………………………………………….…..…. PCF #1 2. Ask for length …………….……………………….….….. PCF #2 3. Read/record the length ……………………………….….. PCF #2 4. Ask for width .……………….………………………..….. PCF #3 5. Read/record the width ………………….…………….…... PCF #3 6. Calculate area (area = length * width ).………………….… PCF #4 7. Calculate perimeter (perimeter= 2 * length + 2* width.)…. PCF #5 8. Display answer ………………………………………….…. PCF #6 9. Terminate ………………………………………………..…. main( ) **********************************/ This link below shows the beginning of the source-code file with the algorithm at the top each algorithm step inside the main ( )
9
Let's Go Through an Entire Example (4)
/********************************** Algorithm 1. Greet user ………………………………………….….…. PCF #1 2. Ask for length …………….……………………….…….. PCF #2 3. Read/record the length ………………………………….. PCF #2 4. Ask for width .……………….……………………….….. PCF #3 5. Read/record the width ………………….…………….….. PCF #3 6. Calculate area (area = length * width ).………………….… PCF #4 7. Calculate perimeter (perimeter= 2 * length + 2* width)…. PCF #5 8. Display answer ……………………………………………. PCF #6 9. Terminate …………………………………………………. main( ) *********************************/ In-class exercise: Given the algorithm above with the additional guidance about PCFs, develop, on paper, the prototypes for each of the 6 PCFs (use identifiers of your choice).
10
Let's Go Through an Entire Example (5)
/********************************** Algorithm 1. Greet user ……………………………………………. .…PCF #1 2. Ask for length ……………….…………………………... PCF #2 3. Read/record the length ………………………………….. PCF #2 4. Ask for width .……………….…………………………... PCF #3 5. Read/record the width ………………….………………... PCF #3 6. Calculate are (area = length * width ).………………….… PCF #4 7. Calculate perimeter (perimeter= 2 * length + 2* width)…..PCF #5 8. Display answer ……………………………………………. PCF #6 9. Terminate ………………………………………………….. main( ) *********************************/ void intro_msg (void) ; // PCF #1 Prototype float get_length (void) ; // PCF #2 Prototype float get_width (void) ; // PCF #3 Prototype float calc_area (float , float) ; // PCF #4 Prototype float calc_perimeter (float , float) ; // PCF # 5 Prototype void display_answer (float , float) ; // PCF # 6 Prototype
11
Let's Go Through an Entire Example (6)
In-class exercise: Given the prototypes below, develop, on paper, the calls for each of the 6 PCF prototypes … answers on next slide. void intro_msg (void) ; // PCF #1 Prototype float get_length (void) ; // PCF #2 Prototype float get_width (void) ; // PCF #3 Prototype float calc_area (float , float) ; // PCF #4 Prototype float calc_perimeter (float, float) ; // PCF # 5 Prototype void display_answer (float , float) ; // PCF # 6 Prototype
12
Let's Go Through an Entire Example (7)
In-class exercise: Given the prototypes below, develop, on paper, the calls for each of the 6 PCF prototypes … calls below in green. void intro_msg (void) ; // PCF #1 Prototype float get_length (void) ; // PCF #2 Prototype float get_width (void) ; // PCF #3 Prototype float calc_area (float , float) ; // PCF #4 Prototype float calc_perimeter (float, float) ; // PCF # 5 Prototype void display_answer (float , float) ; // PCF # 6 Prototype intro_msg( ) ; length = get_length( ) ; width = get_width ( ) ; area = calc_area( length , width) ; perimeter = calc_perimeter( length , width ) ; display_answer ( area , perimeter ) ;
13
Let's Go Through an Entire Example (8)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. void intro_msg (void); // PCF #1 Prototype intro_msg( ) ; // PCF #1 Call
14
Let's Go Through an Entire Example (9)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. void intro_msg (void); // PCF #1 Prototype intro_msg( ) ; // PCF #1 Call // PCF #1 Declaration, no formal parameters and no return value void intro_msg (void) { printf("\n\nThis program does very little.\n\n\n"); return ; }
15
Let's Go Through an Entire Example (10)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. float get_length (void); // PCF #2 Prototype length = get_length( ) ; // PCF #2 Call
16
Let's Go Through an Entire Example (11)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. float get_length (void); // PCF #2 Prototype length = get_length( ) ; // PCF #2 Call // PCF #2 Declaration, no formal parameters, a single float value // returned to the calling environment float get_length (void) { float llength =0.0; // Local variable llength declared printf("\nEnter the length of the rectangle: "); scanf("%f", &llength); // return ( llength ); }
17
Let's Go Through an Entire Example (11b)
In-class exercise: developing the get_width( ) declaration is very similar to developing the get_length( ) declaration
18
Let's Go Through an Entire Example (12)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. float calc_area (float , float); // PCF #4 Prototype area = calc_area( length , width) ; // PCF #4 Call
19
Let's Go Through an Entire Example (13)
In-class exercise: Given the prototype and call below, develop, on paper, the declaration necessary. float calc_area (float , float); // PCF #4 Prototype area = calc_area( length , width) ; // PCF #4 Call // PCF # 4 Declaration, two formal parameters // and a single float value returned float calc_area ( float ca_length, float ca_width ) { float ca_area = 0.0; // Local variable declared ca_area = ca_length * ca_width; return ( ca_area ); }
20
Let's Go Through an Entire Example (14)
PCF #5 is very similar to PCF #4… PCF #6 displays the answer Complete example at this link :
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.