Skip to content Skip to navigation

Connexions

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

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

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

      What is in a lens?

      Lens makers point to Connexions 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 Connexions 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
  • E-mail the author
  • Rate this module (How does the rating system work?)

    Rating system

    Ratings

    Ratings allow you to judge the quality of modules. If other users have ranked the module then its average rating is displayed below. Ratings are calculated on a scale from one star (Poor) to five stars (Excellent).

    How to rate a module

    Hover over the star that corresponds to the rating you wish to assign. Click on the star to add your rating. Your rating should be based on the quality of the content. You must have an account and be logged in to rate content.

    (0 ratings)

Recently Viewed

This feature requires Javascript to be enabled.

Programming with M-files: For-Loop Drill Exercises

Module by: Darryl Morrell

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

Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.

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
                    

Comments, questions, feedback, criticisms?

Send feedback