22
1 CSCI N201 Programming Concepts and Database 10 – Functions Lingma Acheson [email protected] Department of Computer and Information Science, IUPUI

CSCI N201 Programming Concepts and Database 10 – Functions Lingma Acheson linglu@iupui

Embed Size (px)

DESCRIPTION

CSCI N201 Programming Concepts and Database 10 – Functions Lingma Acheson [email protected]. Department of Computer and Information Science, IUPUI. Task:. Create a program called “UserFriendlyAddition” that does the following job: Greet the user Add two user inputs and output the result - PowerPoint PPT Presentation

Citation preview

1

CSCI N201Programming Concepts and Database

10 – Functions

Lingma [email protected]

Department of Computer and Information Science, IUPUI

Task:

• Create a program called “UserFriendlyAddition” that does the following job:– Greet the user– Add two user inputs and output the result– Say goodbye to the user

Algorithm Design

• Create a new program• Greet the user

• Create a new variable, name• Ask user to input his name, and store in the new

variable• Output “Hello, (user input)!”

• Add two integers• Create three variables, n1, n2, n3• Ask user to input two integers, store in the two

variables, and parse the user input to integers • Add two integers and store the result in n3• Output “The result is “ + n3

• Say goodbye to the user• Output “Thanks for using this program. Good bye!”

• End the program

• Design your algorithm!

Use Miracle

http://www.cs.iupui.edu/~aharris/MirJS.html

How to Structure Your Program Better?

• Function – a group of instructions that perform a specific task• Each function has a name• The group of instructions are executed by calling the function name

New Structure of the “UserFriendlyAddition”• Algorithm

– Main program• Create a new program• greetUser();• addition();• goodbye();• End the main program

– Function greetUser()• Create a new variable, name• Ask user to input his name, and store in the new variable• Output “Hello, (user input)!”

– Function addition()• Create three variables, n1, n2, n3• Ask user to input two integers, store in the two variables, and parse the user

input to integers • Add the two integers and store the result in n3• Output “The result is “ + n3

– Function goodbye()• Output “Thanks for using this program. Good bye!”

Use Miracle

• Create a function• Functions -> New Function• Enter detailed task of the function• Function -> End Function

• Code structure with functionsfunction main(){

}// end of main

function functionName1(){

} // end of functionName1

function functionName2(){

} //end of functionName2

Lab

• Create a program that can add and multiply two integers. You program should have two functions add() and multiply(). Each function should take two user inputs, perform addition or multiplication on the two inputs, then output the result.

• Note: save the code into a file to be used for next lab!

Function with Parameters

• Task: Create a program that can add and multiply two integers. You program should have two functions add() and multiply(). User will be asked to input two integers. Each function will use the same user inputs, perform addition or multiplication on the two inputs, then output the result.

Function with Parameters• Algorithm

– Main program• Create a new program• Create two variables, n1, n2, to be shared by two functions• Ask user to input two integers, store in the two variables, and parse

the user inputs to integers

• add() using n1 and n2;• multiply() using n1 and n2;• End the main program

– Function add() using n1 and n2• Create a variable, n3• n3 = n1 + n2;• Output “The result of addition is “ + n3

– Function multiply() using n1 and n2• Create a variable, n3• n3 = n1 * n2;• Output “The result of multiplication is “ + n3

Function with Parameters

• Question: How to use the same user input for two different functions?

• Answer: pass values into functions• The variable(s) that holds the passing

values are called “parameters”

Function with Parameters

• Code structure for functions with parametersfunction main(){

add(n1, n2); //n1 and n2 are parameters of function “add”

multiply(n1, n2); // n1 and n2 are parameters of function “multiply”

}// end of main

function add(value1, value2){

n3 = value1 + value2;

} // end of add

function multiply(value1, value2){

n3 = value1 * value2;

} //end of multiply

Practice

• Use Miracle to make the code work!

Function that Return a Value

• Question: values can be passed into a function, can a function pass a value out?

• Answer: use a function that returns a value• Task: Create a program that can add two

integers. User will be asked to input two integers and store them in n1 and n2. The functions will perform the addition and pass the result out.

Function that Return a Value

• Code Structurefunction main(){

…var n1 = 0;var n2 = 0;var n3 = 0;n3 = add(n1, n2);alert(“The addition result is: “ + n3);

}function add(value1, value2){

var n4=0;n4 = value1 + value2;return n4;

}

Practice

• Create a function that returns a value.

Lab

• Create two functions that both returns a value. n1 and n2 will be used to store user inputs and passed into the two functions. n3 will be created to store the returned value, and will be shared by the two functions.

• Hint: value of n3 can be replaced by a new value.

Global Variables

• Question about previous code:• Can functions share variables without

having to pass the value? • Answer: using global variables• Global Variable –

• a variable that is created outside of the main() function

• a variable that can be used directly by all functions include main()

Global Variables

• Code structurevar n1 = 0;

var n2 = 0;

var n3 = 0;

function main(){

add(); //no need to pass n1 and n2 into the function

alert(“The result for addition is: “ +n3); //use n3 directly

}// end of main

function add(){

n3 = n1+ n2; //use n1, n2 and n3 directly

} // end of add

Lab

• Create a program that illustrates the idea of the previous slide.

Global Variable vs. Local Variablevar n1 = 2; //global variable

var n2 = 4; //global variable

var n3 = 0; //global variable

function main(){

var n4 = 0; //local variable

var n3 = 1; //local variable

add(); //no need to pass n1 and n2 into the function

alert(“n3 in main is: “ +n3); //look for local variable first, output is 1

}// end of main

function add(){

n3 = n1+ n2; //will change the global variable n3

alert(“n3 in add is: “ +n3); //use the global variable n3, output is 6

alert(“n4 is: “ +n4); //ERROR! n4 is local to main(), cannot be

//found here

} // end of add

Global Variables

• Use with caution – • Too many global variables cause confusion.• You might not know the value of a global

variable is changed somewhere in a function.