cis 101: computer programming and problem solving lecture 5 usman roshan department of computer...
Post on 21-Dec-2015
215 views
TRANSCRIPT
![Page 1: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/1.jpg)
CIS 101: Computer Programming and Problem Solving
Lecture 5Usman Roshan
Department of Computer Science
NJIT
![Page 2: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/2.jpg)
Function files
Function FileInput data Output
![Page 3: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/3.jpg)
Function syntax
function [output arguments] = function_name(input arguments)
Example functions:
function [A] = RectArea(x, y)
function [V, S] = SphereVolArea(r)
![Page 4: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/4.jpg)
Local and global variables
• So far ALL variables we have worked with have been global. This means they can be accessed and modified by any part of the program
• In functions variables are local by default (and global if they are defined as such)
![Page 5: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/5.jpg)
Memory space
Global memoryspace accessibleby all scripts andfunctions
Local spacefor function A
Local spacefor function B
![Page 6: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/6.jpg)
Defining and calling a function
• A function file must be saved before it can be used.
• The name of the file must be the same as the function name
• Examples:– Function Filename– function [A] = RectArea(x,y) RecArea.m– function[V, S] = SphereVolArea(r) SphereVolArea.m
![Page 7: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/7.jpg)
Function for computing area of sphere
![Page 8: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/8.jpg)
Area of sphere
It won’t run if you click on the run button
![Page 9: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/9.jpg)
Area of sphere
The function is called from the command line…
![Page 10: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/10.jpg)
Area of sphere
Or the function can be called from a script.
![Page 11: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/11.jpg)
Area of sphere
Function output from script
![Page 12: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/12.jpg)
Comparison between functions and scripts
• Both scripts and funtion files are saved with .m extension
• The first line in a function file is the definition line• Function variables are local whereas script ones
are global• Function files can accept data through input
arguments and can return data similarly• When a function file is saved, the name of the
file should be the same as the function’s.
![Page 13: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/13.jpg)
Inline functions
name = inline(‘math expression typed as a string’)
name = inline(‘math expression’, arg1, …, argn)
For example,
double = inline(‘2*x’)
defines a function that doubles the input. So
double(10) = 20
![Page 14: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/14.jpg)
Using inline to define area of sphere
![Page 15: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/15.jpg)
Logical operators
• AND: if both are true result is true (1)
• OR: if either is true result is true (1)
• NOT: produces opposite of operand
![Page 16: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/16.jpg)
Conditional statements
if <boolean expression>
<commands>
else
<commands>
end
![Page 17: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/17.jpg)
Max of two numbers
![Page 18: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/18.jpg)
Max of two numbers
![Page 19: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/19.jpg)
Loops
for k = f:s:t
<group of commands>
…
…
end
![Page 20: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/20.jpg)
Loops
![Page 21: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/21.jpg)
Loops
![Page 22: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/22.jpg)
Loops
while <conditional expression>
<group of commands>
…
…
end
![Page 23: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/23.jpg)
Loops
![Page 24: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/24.jpg)
Loops
![Page 25: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/25.jpg)
Nested loops
for k = 1:n
for h = 1:m
<group of matlab commands>
…
…
end
end
![Page 26: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/26.jpg)
Loops
![Page 27: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/27.jpg)
Loops
![Page 28: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/28.jpg)
Loops
• break: terminates execution of loop• continue: goes to next iteration of loopfor k = 1:2:200
<commands>…continue<commands>…
end
stops execution and goes to next iteration
![Page 29: CIS 101: Computer Programming and Problem Solving Lecture 5 Usman Roshan Department of Computer Science NJIT](https://reader037.vdocuments.site/reader037/viewer/2022110322/56649d605503460f94a409e6/html5/thumbnails/29.jpg)
Loops
• break: terminates execution of loop• continue: goes to next iteration of loopfor k = 1:2:200
<commands>…break<commands>…
end
stops execution and exits loop