Exercise 1
Loop Indices
How many times will this program print "Hello World"?
for a=0:50
disp('Hello World')
end
Solution
The code 0:50 creates a vector of integers starting at 0 and going to 50; this vector has 51 elements. "Hello World" will be printed once for each element in the vector (51 times).
Exercise 2
Loop Indices II
How many times will this program print "Guten Tag Welt"?
for a=-1:-1:-50
disp('Guten Tag Welt')
end
Solution
The code -1:-1:-50 creates a vector of integers starting at -1 and going backward to -50; this vector has 50 elements. "Guten Tag Welt" will be printed once for each element in the vector (50 times).
Exercise 3
Loop Indices III
How many times will this program print "Bonjour Monde"?
for a=-1:1:-50
disp('Bonjour Monde')
end
Solution
The code -1:1:-50 creates an empty vector with no elements. "Bonjour Monde" would be printed once for each element in the vector, but since the vector is empty, it is never printed.
Exercise 4
Nested Loops
How many times will this program print "Hola Mundo"?
for a=10:10:50
for b=0:0.1:1
disp('Hola Mundo')
end
end
Solution
The outer loop (the loop with a) will be executed five times. Each time the outer loop is executed, the inner loop (the loop with b) will be executed eleven times, since 0:0.1:1 creates a vector with 11 elements. "Hola Mundo" will be printed 55 times.
Exercise 5
A tricky loop
What sequence of numbers will the following for loop print?
n = 10;
for j = 1:n
n = n-1;
j
end
Solution
In the first line, the value of n is set to 10. The code 1:n creates a vector of integers from 1 to 10. Each iteration through the loop sets j to the next element of this vector, so j will be sent to each value 1 through 10 in succession, and this sequence of values will be printed. Note that each time through the loop, the value of n is decreased by 1; the final value of n will be 0. Even though the value of n is changed in the loop, the number of iterations through the loop is not affected, because the vector of integers is computed once before the loop is executed and does not depend on subsequent values of n.
Exercise 6
Nested Loops II
What value will the following program print?
count = 0;
for d = 1:7
for h = 1:24
for m = 1:60
for s = 1:60
count = count + 1;
end
end
end
end
count
Solution
The d loop will be executed seven times. In each iteration of the d loop, the h loop will be executed 24 times. In each iteration of the h loop, the m loop will be executed 60 times. In each iteration of the m loop, the s loop will be executed 60 times. So the variable count will be incremented
A simpler way to achieve the same results is the command
7*24*60*60




