Branching and Looping Statements
charturong.ee.engr.tu.ac.th/CN208
āļāļēāļāļĢāļāļ āļāļāļāļāļāļāļāļ āļēāļāļ§āļāļēāļ§āļĻāļ§āļāļĢāļĢāļĄāđāļāļāļēāđāļĨāļ°āļāļāļĄāļāļ§āđāļāļāļĢ
āļĄāļŦāļēāļ§āļāļĒāļēāļĨāļĒāļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ
āđāļāļāļŠāļēāļĢāļāļĢāļ°āļāļāļāļāļēāļĢāļŠāļāļāļāļāļāļāļģāļēāđāļāļĒ āļāļĢ.āļāļĢāļāļĒāļĻ āļāļēāļāļāļĢāļĒāļāļĨ
2
Introduction
āđāļāļāļāļ āđāļĢāļēāļāļ°āđāļāļ°āļāļģāļēāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļ MATLAB āđāļāļĒāļāļēāļĢāđāļāļāļģāļēāļŠāļāļāļāļ§āļāļāļĄāļāļēāļĢāļĨāļģāļēāļāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļāļāļāļģāļēāļŠāļāđāļ MATLAB āđāļāļĒāļāđāļāļāļāļāļāđāļāđāļāļ 2 āļāļĢāļ°āđāļ āļāđāļŦāļāđāļāļ āļāļģāļēāļŠāļ branches āļāđāļĨāļāļāļāļēāļāļŠāļ§āļāļāļāļāđāļāļ (code) āđāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨ āđāļĨāļ° āļāļģāļēāļŠāļ loops āļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāđāļāļāļ§āļāļāļģāļē
āđāļāļĒāļāđāļĢāļēāļāļ°āļāļāļāļāļŦāļ§āļāļāļāļāđāļāļâĒ āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļĒāđāļ top-down design techniquesâĒ āļāļēāļĢāđāļāļāļāļĄāļĨāļāļĢāļ°āđāļ āļāļāļĢāļĢāļāļ° (logical data type)âĒ āļāļēāļĢāđāļāļāļģāļēāļŠāļ branchesâĒ āļāļēāļĢāđāļāļāļģāļēāļŠāļ loops
3
āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ top-down design
āļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļ top-down design āļāļāļāļēāļĢāđāļāļāļāļāļŦāļēāđāļŦāļāļāđāļĢāļēāđāļāļĢāļāđāļŦāđāļāļāļŦāļ§āļāļāļĒāļāļĒāđāļāļāļāļēāļĒāļāļāļāļēāļĢāđāļāđāļāđāļĨāļ°āđāļāļēāđāļ āļāļēāļāļāļāļāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļŦāļēāļĒāļāļĒāđāđāļŦāļŠāļģāļēāđāļĢāļāđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļ§āļēāđāļāļĢāđāļāļĢāļĄāđāļŦāļĨāļēāļāļāļģāļēāļāļēāļāđāļāļāļĢāļ āđāļāļāļāļāļāļāļŠāļāļāļēāļĒāļāļāļāļģāļēāđāļāļĢāđāļāļĢāļĄāļĒāļāļĒāđāđāļŦāļĨāļēāļāļĄāļēāļĢāļ§āļĄāļāļāđāļāļāđāļāļāļāļŦāļēāđāļŦāļāļāđāļĢāļēāđāļāļĢāļ
āļāļāļāļāļāđāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļĄāļāļĢāļ°āļŠāļāļāļāļĨāļŠāļēāļĄāļēāļĢāļāļāļģāļēāđāļāļāļāļāļāđāļāļâĒ āđāļāļēāđāļāļāļāļŦāļēāļāļāļ°āđāļāđāļāđāļŦāļāļāļāļāļāđāļĨāļ°āļāļāđāļāļâĒ āļāļģāļēāļŦāļāļāļāļ§āļāļāļāļ (input) āđāļĨāļ°āļāļ§āđāļāļēāļāļāļ (output) āļāļāļāđāļāļĢāđāļāļĢāļĄāđāļŦ
āļāļāđāļāļâĒ āļāļāļāđāļāļāļāļēāļĢāđāļāđāļāļāļāļŦāļēāđāļŦāļĨāļ°āđāļāļĒāļ (design the algorithm)âĒ āđāļāļĨāļĒāļāļāļĨāļāļāļĢāļāļĄāđāļŦāđāļāļāļāļģāļēāļŠāļāđāļ MATLABâĒ āļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āđāļāđāļāđāļāļĢāđāļāļĢāļĄ
4
āļāļēāļĢāđāļāļĒāļāđāļāļāđāļāļĒāļĄ (pseudocode)
āđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļĢāđāļāļĢāļĄāđāļāļĨāļ°āļāļĢāļ āļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļŠāļĄāļāļ§āļĢāđāļāļĒāļ pseudocode āđāļāļāļāļ§āļĒāđāļŦāļāļēāļĒāļāļāļāļēāļĢāđāļāđāļāļāļāļŦāļē pseudocode āļāđāļāļĒāļāļāļ°āđāļāļāļāļģāļēāļāļāļ āļēāļĐāļēāļāļāļāļĪāļĐāļāļŠāļĄāļāļāļĢāļāđāļāļāļāļēāļĢāđāļāđāļ MATLAB āđāļāļ āđāļāļĒāļāļāļģāļēāļŠāļāđāļāļāļāļĢāļĢāļāļāđāđāļāļ MATLAB āđāļāļĒāļāļāļģāļēāļŠāļāđāļāļāļāļģāļēāļāļāļ āļēāļĐāļēāļāļāļāļĪāļĐ āđāļāļāļāļ
Pseudocode āļāļ°āļāļ§āļĒāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļēāļĢāđāļĢāļĒāļāđāļĢāļĒāļāļāļ§āļēāļĄāļāļāļāļāļāļāļāļ°āđāļāļĨāļāļāļ§āļēāļĄāļāļāđāļāļāļāļģāļēāļŠāļāđāļ MATLAB
5
āļāļ§āļāļĒāļēāļāļ 1: Temperature Conversion
āļāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ MATLAB āļāđāļāļĨāļĒāļāļāļēāļāļāļŦāļ āļĄāđāļāļĢāļ°āļāļāļāļēāđāļĢāļāđāļŪāļāđāļāļāļĢāļ°āļāļāļāļāļĻāļēāđāļāļĨāđāļāļĒāļŠ āđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļ°āļĢāļāļāļēāļāļāļāļāļāļēāļāļāđāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ§āđāļĨāļāļāļāļŦāļ āļĄāđāļāļĢāļ°āļāļāļāļēāđāļĢāļāđāļŪāļ āđāļĨāļ§āđāļŠāļāļāļāļĨāđāļāļāļāļāļŦāļ āļĄāļĢāļ°āļāļāļāļāļĻāļēāđāļāļĨāđāļāļĒāļŠ āļāļāļāļāļāļŦāļāļēāļāļ
6
āļāļēāļĢāđāļāđāļāļāļāļŦāļēāđāļĢāļēāļāļ°āđāļāđāļāļāļāļŦāļēāđāļāļ top-down design āļāļāļāļāļĨāļēāļ§āđāļāđāļĨāļ§āđāļāļāļēāļāļāļ
āļŠāļģāļēāļŦāļĢāļāļāļ§āļāļĒāļēāļāļāļĄāļāļāļēāļāđāļĨāļāļāļāđāļĄāļāļģāļēāđāļāļāļāļāļāđāļāļāļāļāļŦāļēāđāļāļāļāļāļŦāļēāļĒāļāļĒāđāđāļāļāļĒāļēāļāđāļ āđāļāļĢāđāļāļĢāļĄāļāļŠāļĢāļāđāļāļŠāļāđāļ§āļēāļĄāļāļ§āļāļāļāļāđāļāļāļāļ§āđāļĨāļāļŦāļāļāļāļ§āđāļĨāļ°āļāļ§āđāļāļēāļāļāļāļŦāļāļāļāļ§ āļāļāļāļēāļĢāļāļāļāđāļāļāļāļĨāļāļāļĢāļāļĄāđāļāļāļēāļĢāđāļāļāļāļŦāļēāļāđāļŠāļāļāđāļāļāļ§āļĒāļŠāļĄāļāļēāļĢāļāļāđāļāļ
āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāđāļāļĒāļ pseudocode āļŠāļģāļēāļŦāļĢāļāļāļāļŦāļēāļāđāļāļāļāļPrompt user to enter temperature in degree FahrenheitRead temperature in degrees Fahrenheit (temp_f)temp_c in Celsius (temp_f â 32) / 1.8Write temperature in Celsius
( ) ( ) 32 /1.8T in Celsius T in Fahrenheit
7
temp_conversion.m% Script file: temp_conversion% Programmer: âĶâĶâĶâĶâĶ.% Purpose: to convert an input temperature from degrees Fahrenheit% to an output temperature in Celsius.% Define variables:% temp_f -- Temperature in degrees Fahrenheit% temp_c -- Temperature in degrees Celsius
% Prompt the user for the input temperaturetemp_f = input('Enter the temperature in degrees Fahrenheit:');
% Convert to Celsius.temp_c = (temp_f - 32) / 1.8;
% Write out the result.fprintf('%6.2f degrees Fahrenheit = %6.2f Celsius.\n', temp_f, temp_c);
8
Testing the program
āļŦāļĨāļāļāļēāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļŠāļģāļēāđāļĢāļāđāļĨāļ§ āļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļŠāļĄāļāļ§āļĢāļāļāļ°āļāļāļāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļāļāļāļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāđāļāļĒāļāđāļŠāļĄāļ āđāļāļĒāļāļģāļēāđāļāļāļ§āļĒāļāļēāļĢāļāļāļĨāļāļāđāļŠāļāļēāļāļāļāļāđāļāļāļāļĢāļ§āļāļŠāļāļ
9
The Logical Data Type
āļāļāļāļāļāļāļāļāļĄāļĨāļāļāļāļĢāļ°āđāļ āļāļŦāļāļāđāļ MATLAB āļāļ āļāļāļĄāļĨāļāļĢāļĢāļāļ° (logical data type) āļāļĄāļāļēāđāļ 2 āļāļāļāļāļ āļāļĢāļ (true) āļŦāļĢāļ āđāļāļ (false) āđāļāļĒāļĄāļāļēāļĢāđāļĢāļĄāđāļāđāļ MATLAB 6.5 āđāļāļāļāļāđāļ āļāļāļĄāļĨāļāļĢāļĢāļāļ°āļŠāļēāļĄāļēāļĢāļāļāļāļŠāļĢāļēāļāđāļāļĒāļāļģāļēāļŠāļ 2 āļāļĢāļ°āđāļ āļāļāļ relational operators āļāļ logic operators
āļŦāļēāļāđāļĢāļēāļāļāļāļāļēāļĢāļāļģāļēāļŦāļāļāļāļēāļāļ§āđāļāļĢāđāļŦāđāļāļāļāļĢāļ°āđāļ āļ logical āļāļāļģāļēāđāļāđāļāļ>> a1 = true;
āđāļ§āļĨāļēāļāļāļāļĄāļĨāļāļĢāļ°āđāļ āļāļāļĢāļĢāļāļ°āļāļāđāļāļāļŠāļĄāļāļāļāļ§āđāļĨāļ āļāļāļĄāļĨāļāļĢāļ°āđāļ āļāļāļĢāļĢāļāļ°āļāļ°āļāļāđāļāļĨāļĒāļāđāļāļāļāļ§āđāļĨāļāđāļāļĒāļāļāļē true āļāļ 1 āđāļĨāļ°āļāļē false āđāļāļ 0 āļāļēāļŦāļēāļāļāļāļĄāļĨāļāļ§āđāļĨāļāļāļāđāļāđāļāļāļāļāļāļĄāļĨāļāļĢāļĢāļāļ° āļāļēāļāļ§āđāļĨāļāļāđāļĄāđāļāļēāļāļ 0 āļāļ°āļāļāđāļāļĨāļĒāļāđāļāļ true āđāļĨāļ°āļāļē 0 āļāļ°āļāļāđāļāļĨāļĒāļāđāļāļ false
10
Relational Operators
āļāļēāđāļāđāļāļāđāļĢāđāļāļāļĢāļŠāļģāļēāļŦāļĢāļāđāļāļĢāļĒāļāđāļāļĒāļāļāļ§āļēāļĄāļŠāļĄāļāļāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļāļ§āđāļāļĢāļāļāļāļŠāđāļāļĨāļēāļĢāļŦāļĢāļāđāļĄāļāļĢāļāļāļāđāļ āđāļāļĒāļāļāļēāđāļāđāļāļāđāļĢāļāđāļāļāļĢāļāđāļāļĄāļāļāļ
āđāļāđāļāļāđāļĢāđāļāļāļĢ Relational āļāļģāļēāļāļāļāļēāļĒ==~=<>
<=>=
āđāļāļēāļāļāđāļĄāđāļāļēāļāļāļāļāļĒāļāļ§āļēāļĄāļēāļāļāļ§āļēāļāļāļĒāļāļ§āļēāļŦāļĢāļāđāļāļēāļāļāļĄāļēāļāļāļ§āļēāļŦāļĢāļāđāļāļēāļāļ
11
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļ relational operators
āđāļāđāļāļāđāļĢāđāļāļāļĢ āļāļĨāļĨāļāļ3 < 4
3 == 43 ~= 43 <= 4
7+ 3 > 4 +103^2 >= 4
āļāļĢāļ (1) āđāļāļ (0) āļāļĢāļ (1) āļāļĢāļ (1) āđāļāļ (0) āļāļĢāļ (1)
12
Logic Operators
āđāļāđāļāļāđāļĢāđāļāļāļĢ logic āđāļāļāđāļāđāļāļāđāļĢāđāļāļāļĢāļāđāļāđāļāļāļĄāļāļ§āļēāļĄāļŠāļĄāļāļāļāļĢāļ°āļŦāļ§āļēāļāļāļēāļāļāļāļāļ§āđāļāļĢāļāđāļāļāļāļāđāļāļĒāđāļāđāļāļāđāļĢāđāļāļāļĢ relational āļāļēāļāļ§āļēāļĄāļŠāļĄāļāļāļāļŠāļāļāļāļĨāļāļāļāļāļāļĨāļĨāļāļāļāđāļāļāļāļ°āļĄāļāļēāđāļāļāļāļĢāļ (true) āđāļāļāļēāļāļ§āļēāļĄāļŠāļĄāļāļāļāđāļĄāļŠāļāļāļāļĨāļāļāļāļāļāļĨāļĨāļāļāļāđāļāļāļāļ°āļĄāļāļēāđāļāļāđāļāļ (false) āđāļāđāļāļāđāļĢāđāļāļāļĢ logic āļāđāļāļāļ§āđāļāđāļ MATLAB āļĄāļāļĒ 3 āđāļāļ āļāļ
āđāļāđāļāļāđāļĢāđāļāļāļĢ logic āļāļģāļēāļāļāļāļēāļĒ&|~
āđāļĨāļ° (AND)āļŦāļĢāļ (OR)āđāļĄ (NOT)
13
āļāļĨāļĨāļāļāļāļāļāđāļāđāļāļāđāļĢāđāļāļāļĢ logic
āļĒāļāļāļ§āļāļĒāļēāļāđāļāļ >> x = (5 > 3) & (2 < 9);
āļāļĨāļĨāļāļ x āļāļ°āļĄāļāļēāđāļāļāļāļĢāļ (true)
āļāļāļāļ āđāļĨāļ° (AND) āļŦāļĢāļ (OR) āđāļĄ (NOT)
P Q false false false true true false true true
P & Q P | Q ~P false false true false true false true false true true
14
BranchesāļāļēāļĢāđāļāļĒāļāļāļģāļēāļŠāļāļāļāļŠāļāļāđāļāļāļāđāļāđāļ MATLAB āļĄāļāļ§āļēāļĄāļāļģāļēāđāļāļāļāļĒāļēāļāļĄāļēāļ āđāļāļ
āļāļ§āļĒāđāļāļāļēāļĢāļāļāļŠāļāđāļāļāļāļāļāļāļ āđāļĨāļ°āļāļ§āļĒāđāļŦāđāļāļĢāđāļāļĢāļĄāļāļāļŠāļāđāļāđāļĨāļāļāļāļģāļēāļŠāļāļāļāļ°āļāļĢāļ°āļāļģāļēāđāļĨāļ°āļāļģāļēāļŠāļāļāļāļ°āđāļĄāļāļĢāļ°āļāļģāļē āļĢāļāđāļāļāļāļēāļĢāđāļāļāļāļēāļŠāļāđāļāļāļ āļāļģāļēāļŠāļ if āđāļĨāļ°āļāļģāļēāļŠāļ switch
āļāļģāļēāļŠāļ ifāļāļģāļēāļŠāļ if āđāļāļāļģāļēāļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāļāļ§āļēāļĄāļŠāļĄāļāļāļāļ§āļēāđāļāļāļāļĢāļāļŦāļĢāļāđāļāļāđāļāļāđāļĨāļ§āļāļāļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļāļāļĒāļ āļēāļĒāđāļāđāļāļāļāđāļāļāļ āļĄāļĢāļāđāļāļāļāļēāļĢāđāļāļāļēāļāļāļāļif expression (command 1)(command 2)âĶend
āļāļēāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāđāļāļāļāļĢāļ āđāļāļĢāđāļāļĢāļĄMATLAB āļāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļ commands āļāļāļŦāļĄāļāļāļāļĒāļĢāļ°āļŦāļ§āļēāļ if āđāļĨāļ° end āđāļāļāļēāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļāļāđāļāļ āđāļāļĢāđāļāļĢāļĄāļāļ°āļāļēāļĄ(āđāļĄāļāļĢāļ°āļĄāļ§āļĨāļāļĨ) āļāļģāļēāļŠāļāļāļāļŦāļĄāļāļāļāļĒāļĢāļ°āļŦāļ§āļēāļ if āđāļĨāļ° end
15
āļāļģāļēāļŠāļ if āļāļ else āļāļģāļēāļŠāļ if āļĒāļāļĄāļĢāļāđāļāļāļāļēāļĢāđāļāļāļēāļāđāļāļāļēāļĢāļāļāļŠāļāđāļāļāļāļāļāļāļ āđāļāļĒāļĄāļĢāļāđāļāļāļāļēāļĢ
āđāļāļāļēāļāļĢāļ§āļĄāļāļ else āļāļāļ
if expression (commands evaluated if expression is true)
else(commands evaluated if expression is false)
end
āļāļēāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāđāļ expression āđāļāļāļāļĢāļ MATLAB āļāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļ commands āļāļāļŦāļĄāļ (āļāļāļāļēāļāļāļ°āļĄāļĄāļēāļāļāļ§āļē 1 āļāļģāļēāļŠāļ) āļāļāļĒāļĢāļ°āļŦāļ§āļēāļ if āļāļ else āđāļāļāļēāļŦāļēāļāļāļĨāļāļēāļĢāļāļāļŠāļāļ expression āđāļāļāđāļāļ āļāļģāļēāļŠāļ commands āļāļāļŦāļĄāļāļāļāļĒāļĢāļ°āļŦāļ§āļēāļ else āļāļ end āļāļ°āļāļāļāļĢāļ°āļāļģāļē
16
elseifāļŦāļēāļāđāļāļāļēāļĢāļāļāļŠāļāđāļāļĄāļŦāļĨāļēāļĒāđāļāļāļāđāļāđāļĨāļ°āļāļāļāļāļāļĄāļēāļāļāļ āļāļģāļēāļŠāļ if āļĄāļāļēāļĢāđāļāļĢāļ§āļĄāļāļāļāļģāļēāļŠāļ
elseif āđāļāļāļāļif expression_1(commands_1 evaluated if expression_1 is true)elseif expression_2(commands_2 evaluated if expression_2 is true)elseif expression_3(commands_3 evaluated if expression_3 is true) else(commands evaluated if no other expression is true)end
āļāļāļŦāļēāļāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāđāļ expression_1 āđāļāļāļāļĢāļ āļāļģāļēāļŠāļ commands_1 āļāļāļŦāļĄāļ (āļāļāļāļēāļāļāļ°āļĄāļĄāļēāļāļāļ§āļē 1 āļāļģāļēāļŠāļ) āļāļ°āļāļāļāļĢāļ°āļāļģāļēāđāļĨāļ°āļāļ°āļāļēāļĄāļāļģāļēāļŠāļāļāđāļŦāļĨāļāļāļāļŦāļĄāļāđāļāļāļāļāļ end āđāļāļāļē expression_1 āđāļāļāđāļāļ expression_2 āļāļ°āļāļāļāļĢāļ§āļāļŠāļāļāđāļāļāļĨāļģāļēāļāļāļāļāđāļāđāļĢāļāļĒāđ
āļāļāļāļ§āļĢāļāļģāļē: āļāļģāļēāļŠāļ else āļāļ§āļŠāļāļāļēāļĒāđāļĨāļ° commands āļāđāļāļĒāļ§āļāļ else āļāļāļāļēāļāļāļ°āļĄāļŦāļĢāļāđāļĄāļĄāļāđāļ
17
āļāļ§āļāļĒāļēāļāļ 2: function of two variables
āļāļāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄ MATLAB āđāļāļāļāļ§āļĒāļāļģāļēāļāļ§āļāļāļēāļāļāļāļāļāļāļāļ f(x,y) āđāļāļĒāļāļģāļēāļŦāļāļāđāļŦāļāđāļāđāļāļāļāļāļģāļēāļŦāļāļāļāļē x āđāļĨāļ° y āđāļĨāļ§āđāļŠāļāļāļāļĨ f(x,y) āļāļāļāļāļāļŦāļāļēāļāļ āļāļāļāļāļ f(x,y) āļĄāļāļāļāļēāļāļāđāļāļ
f(x,y) = x + y, x >= 0 and y >= 0 x + y2, x >= 0 and y < 0 x2 + y, x < 0 and y >= 0 x2 + y2, x < 0 and y < 0
18
āļāļēāļĢāđāļāđāļāļāļāļŦāļēāđāļĢāļēāđāļĢāļĄāļāļ§āļĒāļāļēāļĢāđāļāļĒāļ pseudocode āļŠāļģāļēāļŦāļĢāļāļāļāļŦāļēāļāļāļ
Prompt the user for the values x and yRead x and y if x >= 0 and y >= 0
func x + yelseif x >= 0 and y < 0
func x + y^2elseif x < 0 and y >= 0
func x^2 + yelse
func x^2 + y^2endWrite out f(x,y)
19
func_xy.m% Script file: func_xy.m% Programmer: ...................% Purpose: This program solves the function f(x,y) for a user-% specified x and y, where f(x, y) is defined as:% f(x,y) = x + y, x >= 0 and y >= 0% x + y2, x >= 0 and y < 0% x2 + y, x < 0 and y >= 0% x2 + y2, x < 0 and y < 0 %% Define variables:% x -- first independent variable % y -- second independent variable% func -- resulting function
20
% Prompt the user for the values x and yx = input('Enter the x coefficient: ');y = input('Enter the y coefficient: ');
% Calculate the function f(x,y) if x >= 0 & y >= 0
func = x + y;elseif x >= 0 & y < 0
func = x + y^2;elseif x < 0 & y >= 0
func = x^2 + y;else
func = x^2 + y^2;end
%Write the value of the functiondisp (['The value of the function is ', num2str(func)]);
21
āļāļģāļēāļŠāļ switchāļāļģāļēāļŠāļ switch āđāļāļāļāļģāļēāļŠāļāļāļĢāļ°āđāļ āļ branching āļāļāđāļāļāļŦāļāļāļāđāļŦāļāđāļāļĒāļ
āđāļāļĢāđāļāļĢāļĄāđāļĨāļāļāđāļ āļĢāļāđāļāļāļāļāļāļāļģāļēāļŠāļ switch āļĄāļāļāļswitch switch_var
case case_expression_1(commands_1)
case case_expression_2(commands_2)
otherwise(commands_3)
end
āļāļēāļāļēāļāļāļ switch_var āđāļāļēāļāļ case_expression_1 āļāļģāļēāļŠāļ commands_1 āļāļāļŦāļĄāļ (āļāļāļāļēāļāļĄāļĄāļēāļāļāļ§āļē 1 āļāļģāļēāļŠāļ) āļāļ°āļāļāļāļĢāļ°āļāļģāļēāđāļĨāļ§āđāļāļĢāđāļāļĢāļĄāļāļ°āļāļēāļĄāļāļģāļēāļŠāļāļāđāļŦāļĨāļāļāļāļŦāļĄāļāđāļāļāļāļāļ end āđāļāļāļē switch_var āđāļāļēāļāļ case_expression_2 commands_2 āļāļāļŦāļĄāļāļāļ°āļāļāļāļĢāļ°āļāļģāļēāđāļāļ āđāļāļāļāļāļāđāļāđāļĢāļāļĒāđ āļāļēāļāļ case āđāļāļāđāļāļ āļāļģāļēāļŠāļāđāļ otherwise āļāļ°āļāļāđāļ
āļāļāļāļ§āļĢāļāļģāļē: āļāļģāļēāļŠāļ otherwise āļāļ°āļĄāļŦāļĢāļāđāļĄāļĄāļāđāļ
22
āļāļēāļĢāļĢāļ§āļĄ case āđāļ switchāļāļē case āļāļēāļ case āđāļŦāļāļĨāļĨāļāļāļāļāļāļāļģāļēāļŠāļāđāļāļĒāļ§āļāļ āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļĢāļ§āļĄ case
āđāļŦāļĨāļēāļāđāļāļēāļāļ§āļĒāļāļāđāļ āļāļāļāļģāļēāđāļāđāļāļĒāļāļēāļĢāļĢāļ§āļĄāđāļ§āđāļāđāļāļĢāļāļāļŦāļĄāļēāļĒāļāļāļāļē (brackets) āđāļāļĒāđāļāļĢāļāđāļāļāļāļāļ
switch switch_varcase {case_expression_1, case_expression_2}
(commands_1)case {case_expression_3, case_expression_4}
(commands_2)otherwise
(commands_3)end
āđāļāļĒāļ switch_var āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļ§āđāļĨāļ (double) āļŦāļĢāļāļāļ§āļāļāļĐāļĢ (character string) āļāđāļ
23
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ switchāļŦāļēāļāđāļĢāļēāļāļāļāļāļēāļĢāđāļŠāļāļāļāļĨāļāļāļŦāļāļēāļāļāļ§āļēāļāļ§āđāļĨāļāļāļāđāļāđāļĨāļāļāļĢāļ°āļŦāļ§āļēāļ 1 āļāļ 10
āđāļāļāđāļĨāļāļāļŦāļĢāļāđāļĨāļāļāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļģāļēāļŠāļ switch āđāļāļāļāļ
value = input('Choose a integer between 1 and 10: ');switch value
case {1, 3, 5, 7, 9}disp('The number is odd.');
case {2, 4, 6, 8, 10}disp('The number is even.');
otherwisedisp('The number is out of range.');
end
24
āļāļ§āļāļĒāļēāļāļāļģāļēāļŠāļ switch āļāļāļāļ§āđāļāļĢ charāļāļģāļēāļŠāļ switch āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļĢāļĒāļāđāļāļĒāļāļāļ§āđāļāļĢāļāļĢāļ°āđāļ āļāļāļ§āļāļāļĐāļĢ (character
string) āđāļāļĒāđāļāļāļāļēāļĢāđāļāļĨāļāļāļēāļāļ§āđāļāļĢ x āļāļēāļāđāļāļāļāļĄāđāļāļāļĢāđāļāļāļĢāļ°āļāļāļāļāđāļāļ āđāļāļāļāļ§ āļāļ āļŦāļĢāļ āđāļĄāļāļĢ
x = 2.7;units = 'm' ;switch unitscase {'inch' , 'in' }y = x/2.54;case {'feet' , 'ft' }y = x/2.54/12;case {'meter' , 'm' }y = x/100;otherwisedisp(['Unknown Units: ', units])y = nan;end
āļŦāļĨāļāļāļēāļ run āđāļāļĢāđāļāļĢāļĄāļāđāļĨāļ§ āļāļĨāļĨāļāļāļāđāļāļāļ y = 0.027
25
āļāļģāļēāļŠāļāļ§āļāļĨāļāļāļēāļĢāđāļāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļāļāļ āđāļāļŦāļĨāļēāļĒāđāļāļĢāļāļĄāļāļ§āļēāļĄāļāļģāļēāđāļāļāļāļāļāļāļģāļēāļāļ§āļāļāļ
āļāļģāļēāļŠāļāļāļēāļāļāļĒāļēāļāļāļģāļēāđāļāļāļģāļēāļĄāļēāļŦāļĨāļēāļĒāđāļĢāļāļ āļāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļŠāļģāļēāļāļāđāļĄāļāļĒ 2 āđāļāļāļāļ āļāļģāļēāļŠāļ for āđāļĨāļ°āļāļģāļēāļŠāļ while
āļāļāđāļāļāļāļēāļāļāļŠāļģāļēāļāļāļāļāļ 2 āļāļģāļēāļŠāļāļāļāļ āļāļģāļēāļŠāļ while āļāļ°āļ§āļāļāļģāļēāđāļāđāļĢāļāļĒāđāđāļĄāļĄāļāļŠāļāļŠāļ āļāļāļāļ§āļē āļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāđāļ expression āļāļ°āđāļāļāđāļāļ āđāļāļāļāļ°āļ āļāļģāļēāļŠāļ for āļāļ°āļāļģāļēāļŦāļāļāļāļģāļēāļāļ§āļāļĢāļāļāļāļēāļĢāļ§āļāļāļģāļēāđāļ§āļāļāđāļāļ
26
āļāļģāļēāļŠāļ while
āļāļģāļēāļŠāļ while āļāļ°āļāļģāļēāļāļēāļĢāļāļāļŠāļāļāđāļāļāļāđāļāđāļ expression āļāļāđāļĢāļāļāļāļāļāļāļēāļĢāļ§āļāļāļģāļē āļāļēāļāļĨāļāļēāļĢāļāļāļŠāļāļāđāļ expression āđāļŦāļāļēāđāļāļāļāļĢāļ āđāļāļĢāđāļāļĢāļĄāļāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļāļāļŦāļĄāļāļ āļēāļĒāđāļ while āļĨāļāļŦāļāļāļĢāļāļ āđāļĨāļ§āļāļĨāļāļĄāļēāļāļĢāļ§āļāļŠāļāļ expression āļāļāļāļĢāļāļŦāļāļ āđāļĨāļ°āļāļ°āļāļģāļēāđāļāļāļāļāļāđāļāđāļĢāļāļĒāđ āļāļāļāļ§āļēāļāļĨāļāļēāļĢāļāļāļŠāļāļāļāļ°āđāļāļāđāļāļ āđāļĨāļ§MATLAB āļāļāļāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļŦāļĨāļāļāļēāļāļāļģāļēāļŠāļ end
āļāļģāļēāļŠāļ while āļĄāļĢāļāđāļāļāļāļēāļĢāđāļāļāļēāļāļāļāļ
while expression(commands)
end
27
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ while
āđāļāļāļ§āļāļĒāļēāļāļāļāļ°āđāļŠāļāļāļāļēāļĢāđāļ while loop āđāļāļāļēāļĢāļāļēāļĄāļāđāļāđāļāļĢāđāļāļĢāļĄāđāļŦāļāļāļāļāļģāļēāļāļēāļĄāļāļēāļāļāļāļāļĻāļēāļŠāļāļĢ āđāļĨāļ°āļāļ°āđāļĄāļāļāļāļāļēāļāđāļāļĢāđāļāļĢāļĄāļāļāļāļ§āļēāļāđāļāđāļāļĢāđāļāļĢāļĄāļāļ°āļāļāļāļāļ
sum = input('What is five plus ten?: ');while (sum ~= 15)
disp('Nope! Your answer is incorrect.');sum = input('What is five plus ten?: ');
enddisp('Great! You are smart.')
28
āļāļģāļēāļŠāļ for
āļāļģāļēāļŠāļ for āļāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļāļāļŦāļĄāļ (āļāļāļāļēāļāļāļ°āļĄāļĄāļēāļāļāļ§āļē 1 āļāļģāļēāļŠāļ) āļāļāļĒāļĢāļ°āļŦāļ§āļēāļ expression āļāļ end āđāļāļāļģāļēāļāļ§āļāļĢāļāļāļāļāļāļ āļāļāļģāļēāļŦāļāļāđāļ§āđāļ expression āđāļāļĒāļĄāļĢāļāđāļāļāļāļēāļĢāđāļāļāļēāļāļāļāļ
for index = array(commands)
endāļāļ§āđāļāļĢ index āļāļ āļāļ§āđāļāļĢāļāļāļāļĨāļ (loop variable) āđāļĨāļ° array āļāļ āļāļēāđāļĢāļĒ
āļāđāļāļāļāļ§āļāļ§āļāļāļĄāļāļģāļēāļāļ§āļāļĨāļ (loop control expression) āđāļāļĨāļ°āļāļāļĨāļĄāļāđāļ array āļāļ°āļāļāļāļģāļēāļŦāļāļāđāļŦāļāļāļāļ§āđāļāļĢ index āđāļāđāļāļĨāļ°āļĢāļāļāđāļāļāļēāļĢāļ§āļāļĨāļ āļāļģāļēāļŠāļ commands āļāļāļŦāļĄāļāļāļ°āļāļāļāļĢāļ°āļāļģāļēāđāļāđāļāļĨāļ°āļāļģāļēāļāļ§āļāļĢāļāļāļāļāļāļāļēāļĢāļ§āļāļĨāļ āđāļāļĒāļŠāļ§āļāļĄāļēāļāđāļĨāļ§ array āļāļ°āđāļāļāđāļ§āļāđāļāļāļĢāđāļĨāļ°āļĄāđāļāļāļāļāļĢāļĄāļāļ first:incr:last
29
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ for
sum = 0;for ii = 1:10
sum = sum + ii;fprintf('sum = %6.2f.\n', sum);
endfprintf('The value of ii is now %d.\n', ii);
30
āļāļģāļēāļāļāļāļēāļĒāļāļ§āļāļĒāļēāļāļāļēāļĢāđāļ for1 .āđāļāļāļāļāđāļĢāļĄāļāļāļāļāļāļāļģāļēāļŠāļ for āđāļāļĢāđāļāļĢāļĄ MATLAB āļŠāļĢāļēāļ array āļāļ
āđāļāļ row vector āļĄāļāļēāļāļēāļ 1 āļāļ 102. āđāļāļāļĢāļāļ 1 āļāļāļāļāļēāļĢāļ§āļāļĨāļ āļāļ§āđāļāļĢ ii āļĄāļāļēāđāļāļ 1 āļāļāđāļāļāļāļēāđāļĨāļāļāļ§āđāļĢāļ
āđāļ array āđāļĨāļ°āļāļģāļēāļŠāļāļāļāļŦāļĄāļāļĢāļ°āļŦāļ§āļēāļ āļāļģāļēāļŠāļ for āļāļ end āļāļ°āļāļāļāļĢāļ°āļāļģāļē āļāļĨāļĨāļāļāļāļāļāļēāļāļāļāļāļ§āđāļāļĢ sum = sum + ii āļŦāļĢāļ 0 + 1 āļāļāļāļāļ 1
3. āđāļĄāļāļāļģāļēāļŠāļ fprintf āļāļāļāļĢāļ°āļāļģāļē āđāļāļĢāđāļāļĢāļĄāļāļ°āđāļāļāļāļāļāļģāļēāļŠāļ end āļāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļ°āļ§āļāļāļĨāļāđāļāļĒāļāļāļāđāļĢāļĄāļāļāļāļāļāļāļģāļēāļŠāļ for āđāļĨāļ°āļāļģāļēāļŦāļāļāļāļēāļāļ§āđāļĨāļāļāļ§āļāļāđāļāđāļ array āđāļŦāļāļāļāļ§āđāļāļĢ ii āļāļāļāļāļāđāļĨāļ 2 āđāļāļĢāļēāļ°āļāļ°āļāļāđāļāļāļēāļĢāļ§āļāļĨāļāļāļĢāļāļ ii = 2 āđāļĨāļ°āļāļēāļāļāļāļāļ§āđāļāļĢ sum = sum + ii = 1 + 2 āļŦāļĢāļ 3
4. āđāļāļĢāđāļāļĢāļĄ MATLAB āļāļ°āļāļģāļēāļāļģāļēāļŠāļāđāļāļāļ 3 āđāļāđāļĢāļāļĒāđ āļāļāļāļĢāļ°āļāļāļāļ§āđāļĨāļāļāļ§āļŠāļāļāļēāļĒāđāļ array āļāļāļāļģāļēāļŦāļāļāđāļŦāļāļāļāļ§āđāļāļĢ ii āđāļĨāļ°āļāļģāļēāļŠāļ commands āļĢāļ°āļŦāļ§āļēāļ for āļāļ end āļāļ°āļāļāļāļĢāļ°āļāļģāļēāđāļāļāļĢāļāļāļŠāļāļāļēāļĒ
31
āļāļ§āļāļĒāļēāļāļ 2 āļāļāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ for
sum = 0;for ii = 1:2:9
sum = sum + 1;fprintf('sum = %6.2f.\n', sum);
endfprintf('The value of ii is now %d.\n', ii);
32
āļāļģāļēāđāļāļāļāđāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ forāļŦāļĨāļāđāļĨāļĒāļāļāļēāļĢāļāļģāļēāļŦāļāļāļāļēāđāļŦāļĄāđāļŦāļāļāļāļ§āđāļāļĢ index āđāļāļĒāđāļāļāļģāļēāļŠāļ commands āļ āļēāļĒāđāļāļāļģāļē
āļŠāļ for āļĨāļāļāļēāļĢāļāļģāļēāļŦāļāļāļāļēāđāļŦāļĄāđāļŦāļāļāļāļ§āđāļāļĢ index āļ āļēāļĒāđāļāļāļģāļēāļŠāļ for āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļģāļēāđāļŦāļāļģāļēāļŠāļāļ§āļāļĨāļ
for āļāļāđāļĢāļ§āļāļāđāļ āđāļĨāļ°āļāļēāļāļāļģāļēāđāļŦāđāļāļāļāļāļāļāļāļĨāļēāļāļŦāļĢāļ bug āđāļāļāļēāļĒ āļĒāļāļāļ§āļāļĒāļēāļāđāļāļsum = 0;for ii = 1:10ii = 5;sum = sum + ii;fprintf('sum = %6.2f.\n', sum);endfprintf('The value of ii is now %d.\n', ii);
āđāļāļāļ§āļāļĒāļēāļāļ āļāļģāļēāļŠāļ for āļāļ°āļ§āļāļĨāļāđāļāļāļāļģāļēāļāļ§āļ 10 āļĢāļāļāđāļĨāļ°āļāļē sum āļāļ°āļĄāļāļēāđāļāļ 50 āđāļĄāļāļāļāđāļāļĢāđāļāļĢāļĄ
33
āļāļģāļēāļŠāļ break āļāļ continue
āļĄāļāļģāļēāļŠāļ 2 āļāļģāļēāļŠāļāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļ§āļāļāļĄāļāļēāļĢāļ§āļāļĨāļāļāļāļāļāļģāļēāļŠāļ while āđāļĨāļ° for āđāļāļāļāļāļāļ āļāļģāļēāļŠāļ breakāđāļĨāļ° continue
āļāļģāļēāļŠāļ break āļŦāļĒāļāļāļēāļĢāļāļģāļēāļāļēāļāļāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļāđāļ for āļŦāļĢāļ while āđāļĨāļ°āļŠāļāđāļŦ MATLAB āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļāļĢāļĢāļāļāļāļāđāļāļāļēāļāļāļģāļēāļŠāļ end
āļāļģāļēāļŠāļ continue āļŦāļĒāļāļāļēāļĢāļāļģāļēāļāļēāļāļāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļāđāļ for āļŦāļĢāļ while āđāļĨāļ§āļŠāļāđāļŦ MATLAB āļāļĨāļāđāļāļāļģāļēāļāļģāļēāļŠāļāđāļāļāļāđāļĢāļĄāļāļāļāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļ
34
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļ breakfor ii = 1:5if ii == 3 break;endfprintf('ii = %d\n', ii);enddisp(['End of loop!']);
āđāļ§āļĨāļēāļ m-file āļāļāļ run āļāļĨāļĨāļāļāļāļāļ°āđāļāļāļāļŦāļāļēāļāļāļāļ ii = 1ii = 2End of loop!
āļāļāđāļāļĢāļēāļ°āđāļĄāļ ii āđāļāļēāļāļ 3 āđāļāļāļāđāļāļāļāļŠāļāļāđāļ if āļāļ°āđāļāļāļāļĢāļāđāļĨāļ§āļāļģāļēāļŠāļ break āļāļ°āļāļāļāļĢāļ°āļāļģāļē āļāļāļāļģāļēāđāļŦāļāļēāļĄāļāļģāļēāļŠāļāļāļāļŦāļĄāļāđāļāļāļģāļēāļŠāļ for āļĨāļ āđāļĨāļ§āđāļāļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļŦāļĨāļāļāļēāļ end
35
āļāļ§āļāļĒāļēāļāļāļēāļĢāđāļāļāļģāļēāļŠāļ continuefor ii = 1:5if ii == 3 continue;endfprintf('ii = %d\n', ii);enddisp(['End of loop!']);
āđāļ§āļĨāļēāļ m-file āļāļāļ run āļāļĨāļĨāļāļāļāļāļ°āđāļāļāļāļŦāļāļēāļāļāļāļ ii = 1ii = 2ii = 4ii = 5End of loop!
āļāļāļāļāđāļĄāļ ii āđāļāļēāļāļ 3 āđāļāļāļāđāļāļāļāļŠāļāļāđāļ if āļāļ°āđāļāļāļāļĢāļāđāļĨāļ§āļāļģāļēāļŠāļ continue āļāļ°āļāļāļāļĢāļ°āļāļģāļē āļāļāļāļģāļēāđāļŦāļāļēāļĄāļāļģāļēāļŠāļāļāļāļŦāļĄāļāđāļāļĢāļāļāļĨāļāļāļ āđāļāļĒāļāļāļģāļēāļŠāļ for āđāļŦāļĄ āđāļĨāļ§ ii āļāļ°āļĄāļāļēāđāļāļ 4 āđāļāļāļēāļĢāļ§āļāļĢāļāļāđāļŦāļĄāđāļĨāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļāļāđāļāļāļāļāļ
36
Nested Loops
āđāļāļāļēāļāļāļĢāļ āļāļēāļāļĄāļāļēāļĢāđāļāļĒāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļ āļēāļĒāđāļāļāļāļāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļ āļāļāļāļ 2 āļĨāļāļāļāđāļĢāļĒāļāļ§āļē nested loops āđāļāļĒāļāļ§āļāļĒāļēāļāļāļāđāļāļāđāļāļ āļāļģāļēāļŠāļ for āļĨāļāļ āļēāļĒāđāļāļāļāļāļģāļēāļŠāļ for āļĨāļ (two nested for loops) āļŠāļģāļēāļŦāļĢāļāļŦāļēāļāļĨāļāļāļāļāļāļāļģāļēāļāļ§āļāđāļāļĄāļāļāļāļāļģāļēāļāļ§āļ
for ii = 1:3 for jj = 1:3 product = ii * jj;
fprintf('%d * %d = %d\n', ii, jj, product); endend
37
āļāļģāļēāļŠāļ for āļāļ§āļāļāļ(āļāļ§āđāļĢāļ) āļāļ°āļāļģāļēāļŦāļāļāļāļē 1 āđāļŦāļāļāļāļ§āđāļāļĢ ii āļāļēāļāļāļāļāļģāļēāļŠāļ for āļāļ§āđāļ(āļāļ§āļāļŠāļāļ) āļāļ°āļāļāļāļĢāļ°āļāļģāļē 3 āļāļĢāļāđāļāļĒāļāļāļ§āđāļāļĢ jj āļāļ°āļĄāļāļē 1, 2, āđāļĨāļ° 3 āļāļāļŦāļĨāļāļāļēāļāļāļāļāļēāļĢāļāļĢāļ°āļāļģāļē for āļĨāļāļāļ§āđāļāđāļĨāļ§ āļāļģāļēāļŠāļ for āļāļ§āļāļāļāļāļ°āļāļģāļēāļŦāļāļāļāļēāļāļ§āđāļāļĢ ii āđāļāļ 2 āđāļĨāļ§ āđāļĢāļĄāļāļģāļēāļāļģāļēāļŠāļ for āļāļ§āđāļāđāļŦāļĄāļāļāļāļĢāļāđāļāļāļ āđāļāļāļāļāļĢāļ°āļāļāļāļģāļēāļŠāļ for āļāļ§āļāļāļ āđāļāļāļģāļēāļŦāļāļāļāļēāđāļŦāļāļāļāļ§āđāļāļĢ ii āļāļāļāļĢāļ 3 āļāļĢāļ
āļāļĨāļĨāļāļāļāđāļāļāļēāļāđāļāļĢāđāļāļĢāļĄāļāļēāļāļāļāļāļ 1 * 1 = 11 * 2 = 21 * 3 = 3 2 * 1 = 22 * 2 = 42 * 3 = 63 * 1 = 33 * 2 = 63 * 3 = 9
38
āļāļēāļĢāđāļāļāļģāļēāļŠāļ break āļŦāļĢāļ continue āđāļ nested loops
āļāļēāļāļģāļēāļŠāļ break āļŦāļĢāļ continue āļāļĢāļēāļāļāļāļĒāļ āļēāļĒāđāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļ§āđāļ āļāļģāļēāļŠāļ break āļŦāļĢāļ continue āļāļāļāļ°āļĄāļāļĨāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļ§āđāļāđāļāļēāļāļ āļĒāļāļāļ§āļāļĒāļēāļāđāļāļ
for ii = 1:3 for jj = 1:3 if jj == 3
break;endproduct = ii * jj;fprintf('%d * %d = %d\n', ii, jj, product);
end fprintf('End of inner loop\n');end fprintf('End of outer loop\n');
39
āđāļĄāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļ§āđāļ āļāļģāļēāļŦāļāļāļāļēāđāļŦ jj āđāļāļ 3 āļāļģāļēāļŠāļ break āļāļ°āļāļāļāļĢāļ°āļāļģāļēāļāļāļāļģāļēāđāļŦāđāļāļĢāđāļāļĢāļĄāļŦāļĒāļāļāļēāļĢāļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļĨāļāļāļ§āđāļ āđāļĨāļ°āļāļĄāļāđāļŠāļāļāļāļĨ End of inner loop āļāļēāļāļāļāđāļāļĢāđāļāļĢāļĄāļāļāļ°āļāļĨāļāđāļāļāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļ§āļāļāļ āđāļĨāļ°āđāļāļĄāļāļē ii āļāļ 1 āđāļĨāļ°āļāļĢāļ°āļāļģāļēāļāļģāļēāļŠāļāļ§āļāļĨāļāļāļ§āđāļāļāļāļāļĢāļ āļāļĨāļĨāļāļāļāđāļāļāļ
1 * 1 = 11 * 2 = 2End of inner loop2 * 1 = 22 * 2 = 4
End of inner loop3 * 1 = 33 * 2 = 6End of inner loopEnd of outer loop