Conditional statements
Download
1 / 11

Conditional Statements - PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on

Conditional Statements. Switch Statements. Why another conditional statement?. Multiple elseif statements can be included within an if statement. answer = menu( 'What day is today?' , 'a ) Mon' , 'b ) Tues' , 'c ) Wed' , 'd ) Thur ' , 'e ) Fri' ); if answer == 1

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Conditional Statements' - pink


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Conditional statements

Conditional Statements

Switch Statements


Why another conditional statement
Why another conditional statement?

  • Multiple elseif statements can be included within an if statement

answer = menu('What day is today?', 'a) Mon', 'b) Tues', 'c) Wed', 'd) Thur', 'e) Fri');

if answer == 1

disp('Today is not Monday!');

elseifanswer == 2

disp('Today is not Tuesday!');

elseif answer == 3

disp('That is correct!');

elseifanswer == 4

disp('Today is not Thursday!');

elseif answer == 5

disp('Today is not Friday!');

else

disp('Are you sure you entered a day?');

end


Switch statements
Switch Statements

switch_variable is what controls which case is executed

switch switch_variable

case case_expr1

MATLAB® commands

case case_expr2

MATLAB® commands

otherwise

MATLAB® commands

end

Each case compares the case_expr against the switch_variable to see if that case should be used

If the case is selected, the MATLAB commands for that case will be executed

If the switch_variabledoes not match any of the cases, the otherwise case will be executed


Switch statements1
Switch Statements

answer = menu('What day is today?', 'a) Mon', 'b) Tues', 'c) Wed', 'd) Thur', 'e) Fri');

switch answer

case 1

disp('Today is not Monday!');

case 2

disp('Today is not Tuesday!');

case 3

disp('That is correct!');

case 4

disp('Today is not Thursday!');

case 5

disp('Today is not Friday!');

otherwise

disp('Are you sure you entered a day?');

end


Comments on switch statements
Comments on Switch Statements

  • The case expressions can be almost any type of value available in MATLAB:

    • Number

      Ex. case 1 case 3.14159

    • Character

      Ex. case'a'case'?'

    • String

      Ex. case'pizza'case'spam'

    • Boolean

      Ex. casetrue casefalse

  • You cannot have a vector as a case expressions


Comments on switch statements1
Comments on Switch Statements

  • It is not necessary to include an otherwise statement in a switch statement but it is generally a good idea

    Why?

    • Consider the following situation:You have written a MATLAB script to present the user with four images produced using a different amount of data. The purpose is to find out which picture is acceptable to the user in an attempt to use the least amount of data (and thus the least amount of memory).


Comments on switch statements2
Comments on Switch Statements

% counts for user selections

pic1 = 0;

pic2 = 0;

pic3 = 0;

pic4 = 0;

% ask user to choose

choice = input('Please select which picture is acceptable:');

% record the user’s choice

switch choice

case 1

pic1 = pic1 + 1;

case 2

pic2 = pic2 + 1;

case 3

pic3 = pic3 + 1;

case 4

pic4 = pic4 + 1;

end


Comments on switch statements3
Comments on Switch Statements

% counts for user selections

pic1 = 0;

pic2 = 0;

pic3 = 0;

pic4 = 0;

% ask user to choose

choice = input('Please select which picture is acceptable:');

% record the user’s choice

switch choice

case 1

pic1 = pic1 + 1;

case 2

pic2 = pic2 + 1;

case 3

pic3 = pic3 + 1;

case 4

pic4 = pic4 + 1;

otherwise

disp('Incorrect selection');

end


Comments on switch statements4
Comments on Switch Statements

  • There may be situations where you want to same set of code to execute for several different cases

    • Copy the code into each case:

    • Combine multiple cases into a single case:

    • Multiple cases can be combined by placing them inside curly brackets {case_expr1, case_expr2,…}

answer = menu('What day is today?', 'a) Mon', 'b) Tues', 'c) Wed', 'd) Thur', 'e) Fri');

switch answer

case 1

disp('Today is not Monday!');

case 2

disp('Today is not Tuesday!');

case 3

disp('That is correct!');

case 4

disp('Today is not Thursday!');

case 5

disp('Today is not Friday!');

otherwise

disp('Are you sure you entered a day?');

end

answer = menu('What day is today?', 'a) Mon', 'b) Tues', 'c) Wed', 'd) Thur', 'e) Fri');

switch answer

case 1

disp('That is not correct!');

case 2

disp('That is not correct!');

case 3

disp('That is correct!');

case 4

disp('That is not correct!');

case 5

disp('That is not correct!');

otherwise

disp('Are you sure you entered a day?');

end

answer = menu('What day is today?', 'a) Mon', 'b) Tues', 'c) Wed', 'd) Thur', 'e) Fri');

switch answer

case {1, 2, 4, 5}

disp('That is not correct!');

case 3

disp('That is correct!');

otherwise

disp('Are you sure you entered a day?');

end


Switch vs if
switch vs. if

  • With multiple conditional statements available, we need to be able to decide when to use them

Use an if when…

Use a switch when…

  • You have a range of values

    x < 5

  • You have complex conditions

    x < 5 && x > 2

  • Your condition uses multiple variables

    x > 10 && y < 5

  • You can always use an if statement

  • You have a specific set of values you need to test

  • All of your conditions can be satisfied with == comparisons

  • You only have one variable you need to check

  • You should only use a switch with a finite set of possible values



ad