Skip to content Skip to navigation

OpenStax-CNX

You are here: Home » Content » Programming with M-files: For-Loop Drill Exercises

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Programming with M-files: For-Loop Drill Exercises

Module by: Darryl Morrell. E-mail the author

Summary: This module provides several simple exercises designed to test and increase your understanding of for loops in m-file scripting environments.

Some For Loop Exercises

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
Explain why this code does what it does.

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
What is a simpler way to achieve the same results?

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 7 × 24 × 60 × 60 = 604800 7 24 60 60 604800 times.

A simpler way to achieve the same results is the command


                        7*24*60*60
                    

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks