cis 101: computer programming and problem solving lecture 4 usman roshan department of computer...

29
CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Post on 21-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

CIS 101: Computer Programming and Problem Solving

Lecture 4Usman Roshan

Department of Computer Science

NJIT

Page 2: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Overview

• So far we have seen how to define basic mathematical expressions and how to manipulate arrays and matrices

• Now we will look at script files and functions. They are useful for storing sets of commands and defining them apriori. Also an important step before we get into programming with control and flow operators

• Today: chapters 4 and 6

Page 3: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Scripts

• Used for writing programs

• Script variables are global. They can be accessed and modified from anywhere

Page 4: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Creating scripts

Page 5: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Editor for scripts

Page 6: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Running script

Page 7: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Output of script

Page 8: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Script for mean of three numbers

Page 9: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Output of mean script

Page 10: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

fprintf command

• A powerful command

• General syntax

fprintf(‘text as string %-5.2f additional text’, variable name)

Formatting elements

Page 11: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Updated mean script

Page 12: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Output of updated mean script

Page 13: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Writing to a file

• fid = fopen(‘file_name’, ‘permission’)

• File permissions– r = open for reading– w = open for writing (if file exists then content

is deleted)– a = open for appending

Page 14: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Mean script output to file

Page 15: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Mean script output to file

Page 16: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Output file of mean script

Page 17: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Function files

Function FileInput data Output

Page 18: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Function syntax

function [output arguments] = function_name(input arguments)

Example functions:

function [A] = RectArea(x, y)

function [V, S] = SphereVolArea(r)

Page 19: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

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 20: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Memory space

Global memoryspace accessibleby all scripts andfunctions

Local spacefor function A

Local spacefor function B

Page 21: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

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 22: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Function for computing area of sphere

Page 23: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Area of sphere

It won’t run if you click on the run button

Page 24: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Area of sphere

The function is called from the command line…

Page 25: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Area of sphere

Or the function can be called from a script.

Page 26: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Area of sphere

Function output from script

Page 27: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

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 28: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

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 29: CIS 101: Computer Programming and Problem Solving Lecture 4 Usman Roshan Department of Computer Science NJIT

Using inline to define area of sphere