1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: The do-until Statement</title>
<meta name="description" content="GNU Octave: The do-until Statement">
<meta name="keywords" content="GNU Octave: The do-until Statement">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Statements.html#Statements" rel="up" title="Statements">
<link href="The-for-Statement.html#The-for-Statement" rel="next" title="The for Statement">
<link href="The-while-Statement.html#The-while-Statement" rel="prev" title="The while Statement">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-do_002duntil-Statement"></a>
<div class="header">
<p>
Next: <a href="The-for-Statement.html#The-for-Statement" accesskey="n" rel="next">The for Statement</a>, Previous: <a href="The-while-Statement.html#The-while-Statement" accesskey="p" rel="prev">The while Statement</a>, Up: <a href="Statements.html#Statements" accesskey="u" rel="up">Statements</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="The-do_002duntil-Statement-1"></a>
<h3 class="section">10.4 The do-until Statement</h3>
<a name="index-do_002duntil-statement"></a>
<p>The <code>do-until</code> statement is similar to the <code>while</code> statement,
except that it repeatedly executes a statement until a condition becomes
true, and the test of the condition is at the end of the loop, so the
body of the loop is always executed at least once. As with the
condition in an <code>if</code> statement, the condition in a <code>do-until</code>
statement is considered true if its value is non-zero, and false if its
value is zero. If the value of the conditional expression in a
<code>do-until</code> statement is a vector or a matrix, it is considered
true only if it is non-empty and <em>all</em> of the elements are non-zero.
</p>
<p>Octave’s <code>do-until</code> statement looks like this:
</p>
<div class="example">
<pre class="example">do
<var>body</var>
until (<var>condition</var>)
</pre></div>
<p>Here <var>body</var> is a statement or list of statements that we call the
<em>body</em> of the loop, and <var>condition</var> is an expression that
controls how long the loop keeps running.
</p>
<p>This example creates a variable <code>fib</code> that contains the first ten
elements of the Fibonacci sequence.
</p>
<div class="example">
<pre class="example">fib = ones (1, 10);
i = 2;
do
i++;
fib (i) = fib (i-1) + fib (i-2);
until (i == 10)
</pre></div>
<p>A newline is not required between the <code>do</code> keyword and the
body; but using one makes the program clearer unless the body is very
simple.
</p>
</body>
</html>
|