Lab 4
Lab 4
Lab 4
Statements
I. Introduction
The if, while and other control statements in Octave control the flow of execution
in the program. Its basic structure starts with a special keyword such as while or if.
This is to set them aside from the expressions that are considered simple. It is then
ended with a corresponding end statement, which marks its end. For example, the
endif is the keyword for the end of an if statement. The body of the control statement
is defined by the list of statements contained between the special keyword and the
corresponding end statement.
In this activity, you will learn the different statements which will be useful in automating
your code or script. This will result to a shorter script which is always desirable to have
the shortest code to save computing time and memory. But, be careful in using these
statements since improper script may result to an infinite loop which will cause your
system to solve forever.
If (condition)
then-body
endif
In this form, control is coming from the condition expression. The execution of the
then-body will happen if the condition is true. This condition may be a Boolean
algebra. It can be true (non-zero value) and false if its value is zero. It is also possible
that this condition is in a form of vector or matrix. In this case the value of
the expression can only be true if it is non-empty and all of the elements are non-
zero. Otherwise, it will be considered as false.
If (condition)
then-body
else
else-body
endif
In this form, the then-body will only be executed if the condition is true. If the
condition is false, the else-body will be executed. The third form is the most
general form and it is in the form as follows:
If (condition)
then-body
elseif (condition)
elseif-body
else
else-body
endif
P a g e 28 | 70
Just like the forms earlier, the condition will still dictate whether the body will be
executed or not. The number of elseif clauses may be used. Each of these
conditions will be tested in turns. When it is true, it will execute the corresponding body.
If none of the conditions is true, then the else-body will be executed. It should be
noted that only one else clause should be used and it must be written last.
It is desirable to write our codes using indention, as shown above, for you to identify
which part of the statement is missing. It is easy to miss some parts of statements
especially if you have a complicated nested loop.
if (A == 1)
do_one_task ();
elseif (A == 2)
do_another_task();
else
do_a_completely_different_task ();
endif
switch expression
case label
command_list
case label
command_list
…
otherwise
command_list
endswitch
A label is characterized as any expression. Having duplicate label values will create
problem as only the first-match corresponding command_list will be executed.
The simplest looping statement in GNU Octave is the while statement. But what is
looping? Looping means that a certain part of the program is executed twice or more
in succession. In while statement, the body will be executed repeatedly as long as the
condition is true. It can be written as:
while(condition)
body
endwhile
Firstly, the while loop tests the condition, if it is true, then the body will be
executed. After the body has been executed, the condition is again tested. In case
the condition is still true, the body will be executed again. On the other hand, if the
condition is false in the first test, the body will not be executed at all.
The do-until statement is somewhat similar to the while statement. However, here,
the body is executed until the statement is true and the condition is at the end. It
P a g e 29 | 70
means that the body is executed at least once before the condition is tested. The
format is as follows:
do
body
until (condition)
Sometimes counting the iterations in the loops may be tedious. Use the for statement
to make this easy. Its general form is
for variable=expression
body
endfor
II. Objectives
At the end of the activity, the students are expected to:
1. Acquire a vivid idea on the algorithms for the conditional and looping statements;
2. Recognize the importance of iterative solutions in power systems;
3. Demonstrate basic operations with conditional and looping statements in GNU
Octave.
III. Materials/Equipment
Computer with a full version of GNU Octave installed
IV. Procedure
1. Start the GNU Octave as instructed at the start of Laboratory Exercise 1 Part IV.
2. In the editor window, type the following:
clc;clear;
a=5
if (rem(a,2)==0)
fprintf("a is an even number\n");
else
fprintf("a is an odd number\n");
endif
P a g e 30 | 70
a=7
switch a
case (rem(a,2)==0)
fprintf("a is an even number\n");
otherwise
fprintf("a is an odd number\n");
endswitch
In the previous examples, you used the function fprintf. This function returns the script
in between the “ “ in its argument. It is one way that the GNU Octave returns an output
through the Command window. The fprintf (format, data) function requires the following
formatting to display certain values:
%d integer
%f floating point format
%e exponential format
%g either floating point or exponential format, whichever is shorter
\n new line character
\t tab character
For example, you can write fprintf(‘the number is %d’,3) which will result to the
number is 3. You can also write fprintf(‘The circumference of the circle
with radius %d is %f’, 2, 2*pi*2), it will result to The circumference of
the circle with radius 2 is 12.566371.
However, do not confuse the use of % in the script outside the ‘ ‘ marks since this will
create a comment which the program will ignore in execution. This can be seen by being
written with color green in the editor window.
You can also use disp(array) function such as writing disp(‘Hello’) to output
Hello or disp(5) to output 5. The ‘ ‘ marks dictates that it will be read as a string and not
a numeric value. You can also concatenate series of strings like disp([‘Happy’
‘Birthday’]) to output Happy Birthday. You can also convert numeric value to string
using num2str() function or int2str() function. For example, if you write
d=[num2str(1) ’-May-‘ num2str(2022)]; disp(d) it will return 1-May-2022.
P a g e 32 | 70
V. Observation Matrix
Instructions: Put your observations and calculated values in the space provided
1.
IF Statement
2.
SWITCH Statement
3.
WHILE Statement
4.
DO-UNTIL Statement
P a g e 33 | 70
VI. Guide Questions
In this part, please provide your answers to the guide questions in the space provided.
1. In your own, using the third form of if statement, create a code that differentiates
an even number, odd number that is divisible by three and an odd number. Write the
code space provided.
3. In the WHILE statement example, how do you explain the results based on the
given code?
3. What is the difference of the While and Do-Until examples? Why did we do
these changes to have the same output?
P a g e 34 | 70
4. Using For statement, write the code for the same output of while and do-until
examples.
P a g e 35 | 70