Introduction to Programming

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Chapter 5 C Functions The best way to develop and maintain a large program is to divide it into several smaller program modules, each of which is more.
Chapter 7 - Functions. Functions u Code group that performs single task u Specification refers to what goes into and out of function u Design refers to.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
 2007 Pearson Education, Inc. All rights reserved C Functions.
Chapter 6. 2 Objectives You should be able to describe: Function and Parameter Declarations Returning a Single Value Pass by Reference Variable Scope.
 2007 Pearson Education, Inc. All rights reserved C Functions.
C Lecture Notes Functions (Cont...). C Lecture Notes 5.8Calling Functions: Call by Value and Call by Reference Used when invoking functions Call by value.
Chapter 4:Functions| SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: September 2005 Slide 1 Functions Lecture 4 by Jumail Bin.
Call-by-Value vs. Call-by-Reference Call-by-value parameters are used for passing information from the calling function to the called function (input parameters).
A First Book of C++: From Here To There, Third Edition2 Objectives You should be able to describe: Function and Parameter Declarations Returning a Single.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
 2007 Pearson Education, Inc. All rights reserved C Functions.
Lecture6 Recursion function © by Pearson Education, Inc. All Rights Reserved. 1.
Agenda Review C++ Library Functions Review User Input Making your own functions Exam #1 Next Week Reading: Chapter 3.
C Functions Pepper. Objectives Create functions Function prototypes Parameters – Pass by value or reference – Sending a reference Return values Math functions.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 6 September 17, 2009.
CPS120: Introduction to Computer Science Functions.
Functions CIS Feb-06. Summary Slide Using Functions Mathematical Functions Misc. Functions Naming Conventions Writing Functions –Function Prototype.
CPS120: Introduction to Computer Science Lecture 14 Functions.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
C++ Lecture 2 Friday 11 July Chapter 3, Functions l built-in functions l function prototype, function definition and use l storage class and scope.
Introduction to C Programming Lecture 6. Functions – Call by value – Call by reference Arrays Today's Lecture Includes.
Functions in C CSE 2451 Rong Shi. Functions Why use functions? – Reusability Same operation, different data – Abstraction Only need to know how to call.
KIC/Computer Programming & Problem Solving 1.  Header Files  Storage Classes  Scope Rules  Recursion Outline KIC/Computer Programming & Problem Solving.
A FIRST BOOK OF C++ CHAPTER 6 MODULARITY USING FUNCTIONS.
1 Lecture 3 Part 2 Storage Classes, Scope, and Recursion.
EEL 3801 C++ as an Enhancement of C. EEL 3801 – Lotzi Bölöni Comments  Can be done with // at the start of the commented line.  The end-of-line terminates.
1 2/2/05CS250 Introduction to Computer Science II Pointers.
1 CSC103: Introduction to Computer and Programming Lecture No 16.
C++ Programming Lecture 12 Functions – Part IV
Introduction to Programming Lecture 6. Functions – Call by value – Call by reference Today's Lecture Includes.
 2000 Prentice Hall, Inc. All rights reserved Program Components in C++ Function definitions –Only written once –These statements are hidden from.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 4.
Functions Course conducted by: Md.Raihan ul Masood
Functions.
Chapter 6 - Functions modular programming general function format
-Neelima Singh PGT(CS) KV Sec-3 Rohini
C Functions -Continue…-.
Lesson #6 Modular Programming and Functions.
C++.
Lesson #6 Modular Programming and Functions.
C-language Lecture By B.S.S.Tejesh, S.Neeraja Asst.Prof.
CSC113: Computer Programming (Theory = 03, Lab = 01)
This technique is Called “Divide and Conquer”.
Programming Fundamentals Lecture #7 Functions
Deitel- C:How to Program (5ed)
Chapter 5 - Functions Outline 5.1 Introduction
Chapter 5 - Functions Outline 5.1 Introduction
Functions.
Chapter 5 - Functions Outline 5.1 Introduction
Lesson #6 Modular Programming and Functions.
Chapter 6 - Functions Outline 5.1 Introduction
A function with one argument
FUNCTION CSC128.
Chapter 9: Value-Returning Functions
Lesson #6 Modular Programming and Functions.
The Function Prototype
Function.
CS149D Elements of Computer Science
1-6 Midterm Review.
Introduction to Programming
Predefined Functions Revisited
Introduction to Programming
Programming Fundamental
Function.
Programming Fundamental
Presentation transcript:

Introduction to Programming Lecture 10

Today's Lecture Includes Header Files Scope of Variables Functions Call by value Call by reference

Header Files #include <iostream.h>

Assignment List with data type Prototype Assignment List with data type Return value int functionName ( int , int );

Using Header Files double pi = 3.1415926; It is better to define this value in a header file Then simply by including the header file in the program this value is defined and it has a meaningful name

#define CircleArea = pi * radius * radius #define pi 3.1415926 Name can be used inside a program exactly like a variable It cannot be used as a variable CircleArea = pi * radius * radius Circumference = 2 * pi * radius

Scope of Identifiers Identifier is any name user creates in his/her program Functions are also identifiers Labels are also identifiers

Scope of Identifiers Scope means visibility A variable declared inside a block has visibility within that block only Variables defined within the function has a scope that is function wide

Example void functionName ( ) { int i ; } …..

Identifiers Important Points Do not create variables with same name inside blocks, inside functions or inside bigger blocks Try to use separate variable names to avoid confusion Reuse of variables is valid

File Scope # include < iostream.h > int i ; Global variable

Global Variable Can be used anywhere in program Can cause logical problems if same variable name is used in local variable declarations For good programming Try to minimize the use of global variables Try to use local variables as far as possible

Visibility of Identifiers Global Scope Anything identified or declared outside of any function is visible to all functions in that file Function level scope Declaring variables inside a function can be used in the whole function Block level scope Variables or integers declared inside block are used inside block

for ( int i = 0 ; i < 10 ; i++ ) Example: Block Scope for ( int i = 0 ; i < 10 ; i++ ) It is block level scope declared in for loop When for is finished “ i ” no longer exists

Example: Global Scope #include < iostream.h > int i ; void f ( void ) ; main ( ) { i = 10 ; cout<< “ within main i = “ << i ; f ( ) ; }

Example: Global Scope void f ( void ) { cout<< “ Inside function f , i =“ << i ; i = 20 ; }

Example: Call by Value #include <iostream.h > int f ( int ) ; main ( ) { int i = 10 ; cout << “In main i = " << i ; f ( i ) ; cout << " Back in main, i = " << i ; } s

Example: Call by Value int f ( int i ) { cout << "In function f , i = " << i ; i *= 2 ; cout << "In function f , i is now = “ << i ; return i ; }

Example : Square of a Number double square ( double x ) { return x * x ; } main ( ) double number = 123.456 ; cout << “ The square of “ << number << “ is “<< square ( number ) ; cout << “ The current value of “ << number << “is “ << number ;

Math.h log10 , pow ( xy ) , sin , cos , tan … #include < math.h > double sqrt ( double ); log10 , pow ( xy ) , sin , cos , tan …

Call by Reference A function in which original value of the variable is changed To call by reference we cannot pass value, we have to pass memory address of variable “&” is used to take the address of a variable

Example: Call by Reference main ( ) { double x = 123.456 ; square ( &x ) ; } Value of ‘x’ is not passed , but the memory address of ‘x’ is passed

Example: Call by Reference square ( double *x ) { *x = *x * *x ; } x is a pointer to a variable double

Pointers Pointers are used to pass address of variable for reference We use “ &x ” to send the address of “ x “ To receive the address we use “ *x ” (whatever “ x ” points to)

Recursive Functions Special function which can call itself x10 = x * x9 x9 = x * x8 x8 = x * x7 … … xn = x * xn-1

Recursive Functions: Factorial n! = n * (n-1) * (n-2) …….. 3 * 2 * 1 5! = 5 * 4 * 3 * 2 * 1 4! = 4 * 3 * 2 * 1 5! = 5 * 4! 0! = 1

Recursive Functions: Factorial long factorial ( long n ) { if (n == 1 ) return ( n ) ; else return ( n * factorial (n-1) ) ; }

Exercise Try to write program for Fibonacci series Find ‘power of number’ using recursive technique

Example The Fibonacci Series Set of recursive calls to function fibonacci f( 3 ) f( 1 ) f( 2 ) f( 0 ) return 1 return 0 return +

Management Issues of Computer There are two issues inside a computer Memory overhead Stack overhead

Programming Options Elegant code where price is not too high Efficient code where price is too high

What have we Done Today … Header Files Nice mechanism of putting all prototypes and definitions of global constants etc. Scope of variables Functions Call by value Call by reference Recursion