Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CSE123 Lecture 3 Different types of Variables Logical operators, Conditional Statements and If Blocks Different types of Variables Numerical Variables Integer. positive whole numbers {1, 2, 3,... } negative whole numbers {-1, -2, -3,... } Matrix index (ex: B(2,1) ) Counters zero {0} Real. real number. Complex. a+bi • a and b are real numbers All calculus results… Complex calculus Geometry Vector calculus • i is an imaginary number. ( i2= -1 ) Matlab Notation N= a+bi or N=a+bj Examples: A= 5+10i; B=2.5+20.2j; Different types of Variables Character/string Variables Character/string. Strings of alphanumeric elements Matlab Notation A=’string’ All labels and titles. Filenames Examples: name=’ James’; Date=’October 7th’; Example: >>myname=’James’; >>whos myname Strings and characters follow the same rules as other matrices, with each character counting for one element. Name Size Bytes Class myname 1x5 10 char array Different types of Variables Logical Variables Logical Variables or Boolean. Logical expression with 2 states: Condition statements Decision making 0 or 1 which means: false or true Example: Example: >>A=true A= 1 >> whos A Name Size Bytes Class >>B=false B= 0 >> whos B Name Size A 1x1 1 logical array B 1x1 Bytes Class 1 logical array Structured Programming Structured Programming Sequential Programming Initialization Initialization Input Initialization Input Calculation Calculation Results Decision making ? Calculation 1 Result 1 Condition statements Calculation 2 Result 2 Relational Operators Decision making uses comparison of logical variables Comparison is done by creating logical expressions Format of SIMPLE Logical Expressions: expression1 relational-operator expression2 relationaloperator Comparison == Is equal to > Is greater than < Is smaller than >= Is greater or equal to <= Is smaller or equal to ~= Is not equal to Example: >> A=1; B=2; >> A==B ans = 0 >> A>B >> A<B >> A>=B >> A<=B >> A~=B ans = ans = ans = ans = ans = 0 1 0 1 1 Logical Operators Format of COMPOUND Logical Expressions: (exp1 relational-op exp2) Logical operator (exp3 relational-op exp4) Logical operator operation & | and or xor ~ or (exclusive) not Truth Table A B C= A|B ~(A|B) 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 A B C= A&B ~(A&B) A B C= xor(A,B) ~xor(A,B) 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 Logical Variables Examples: >> A=1; B=2; >> (A==B) & (A>B) >> (A<B) & (A==B) ans = 0 ans = 0 >> (A==B) | (A>B) >> (A<B) | (A==B) ans = ans = 0 1 >> xor( (A==B), (A<B) ) >> xor( (A~=B), (A<B) ) ans = ans = 1 0 >> ~(A<B) >> ~(A>B) ans = ans = 0 1 >> (A>0) & (B>A) ans = 1 >> (A>0) & (B>A)&(B<0) ans = 0 Structured Programming Format of if statement: False if if Logical Expression Statements …… end Format of if else statement: if Logical Expression Statement 1 else Statement 2 end True Statement if False True Statement1 Statement2 Structured Programming Example: iftest1.m Initialization Input X False If X>=0 True Calculate X Display Result End of script % Program to test the if statement #1 X=input(‘Enter value for x:’); if X>=0 Y=sqrt(X); fprintf(‘The squareroot of %3.2f is %4.3f’,X,Y) end >>iftest1 Enter value for x: 9 The squareroot of 9.00 is 3.0000 >>iftest1 Enter value for x: -2 >> Structured Programming Example: iftest2.m Initialization Input X % Program to test the if statement #2 X=input(‘Enter value for x:’); if X>=0 Y=sqrt(X); fprintf(‘The squareroot of %3.2f is %3.4f’ ,X,Y) else disp(‘x is negative: there is no real result’) end False If X>=0 True Calculate X Display Result End of script Display NO Result >>iftest2 Enter value for x: 3 The squareroot of 9.00 is 3.0000 >>iftest2 Enter value for x: -2 x is negative: there is no real result >> Structured Programming Format of if elseif else statement: if Logical Expression Statements 1 elseif Logical Expression Statements 2 else Statements 3 end if False True Statement1 elseif False True Statement2 Statement3 Structured Programming Example: iftest3.m Initialization Input X False If X>0 True Display Result >0 False % Program to test the if statement #3 X=input(‘Enter value for x:’); if X>0 disp(‘x is positive’); elseif X<0 disp(‘x is negative’); else disp(‘x equal 0’); end If X<0 True Display Result <0 Display Result = 0 End of script >>iftest3 Enter value for x: 3 x is positive >>iftest3 Enter value for x: -2 x is negative Structured Programming “nesting “ Problem: % nested “if statements” example •Pick a random number N (-2<N<2) Calculate B= N= rand(1)*4-2; log( N ) •If N positive calculate: A=log(N) •if A positive calculate: B=sqrt(A) if N>=0 A=log(N); A=log(N); if A>0 if A>0 B=sqrt(A); B=sqrt(A); endend end Use indentation (Tab key) Structured Programming The “SWITCH” structure switch variable case test1 Statement 1 case test2 Statement 2 ….. otherwise Statement n end Switch Statement1 Statement3 Statement2 Statement n Statement4 ME 102 Introduction to Mechanical Engineering The “SWITCH” structure % program to test switch >> Testswitch A=input('Your choice [1,2 3] ? '); Your choice [1,2 3] ? 1 switch A case 1 disp('Choice 1') case 2 disp('Choice 2') case 3 disp('Choice 3') otherwise disp('Wrong choice') end Choice 1 >> Testswitch Your choice [1,2 3] ? 2 Choice 2 >> Testswitch Your choice [1,2 3] ? 3 Choice 3 >> Testswitch Your choice [1,2 3] ? 7 Wrong choice Example1 Write a script example.m to find roots of a second order equation ax2+bx+c=0. When the script is executed it will – ask the user enter the coefficients a,b,c – calculate discriminant – calculate the roots and display the case according to sign of discriminant. Example2 Write a script that allows a user to enter a string containing a day of a week (“Sunday”, “Monday” etc) uses a switch construct to convert the day to its corresponding number, where Moday is the first day of the week. Print out the resulting day number. Also be sure to handle the case of an illegal day name.