Conditional loop

Conditional loop

In computer programming, conditional loops or repetitive control structures are a way for computer programs to repeat one or more various steps depending on conditions set either by the programmer initially or real-time by the actual program.

A conditional loop has the potential to become an infinite loop when nothing in the loop's body can affect the outcome of the loop's conditional statement. However, infinite loops can sometimes be used purposely, often with an exit from the loop built into the loop'implementation for every computer language, but many share the same basic structure and/or concept. The While loop and the For loop are the two most common types of conditional loops in most programming languages.

Contents

Types

The following types are written in Java, but apply to multiple languages.

While loop

Checks condition for truthfulness before executing any of the code in the loop. If condition is initially false, the code inside the loop will never be executed.

 while ( condition )
 {
   /* code */
 }

Do-While loop

Checks condition for truthfulness after executing the code in the loop. Therefore, the code inside the loop will always be executed at least once.

 do
 {
   /* code */
 } while ( condition );

For loop

A simplified way to create a while loop.

 /* for a real example of what a, b, or c might be, see example below */
 for ( a; b; c )
 {
   /* code */
 }

a is executed just once before the loop. b is the condition of the loop. c is executed at the end of every loop.

So for example, the following while loop:

 int i = 0;
 while ( i < 10 )
 {
   /* code */
   i++;
 }

Could be written as the following for loop:

 for ( int i = 0; i < 10; i++ )
 {
   /* code */
 }

For-Each Loop

A for-each loop is essentially equivalent to an iterator. It allows a program to iterate through a data structure without having to keep track of an index. It is especially useful in Sets which do not have indices. An example is as follows:

 Set<Object> theSet = new HashSet<Object>();
 /* initialize values in theSet */
 for(Object obj : theSet)
 {
    /* code */
 }

Examples

The following is a C-style While loop. It continues looping while x does not equal 3, or in other words it only stops looping when x equals 3. However, since x is initialized to 0 and the value of x is never changed in the loop, the loop will never end (infinite loop).

int x = 0;
while ( x != 3 )
{
  /* code that doesn't change x */
}

The while loop below will execute the code in the loop 5 times. x is initialized to 0, and each time in the loop the value of x is incremented. The while loop is set up to stop when x is equal to 5.

int x = 0;
while ( x != 5 )
{
  /* code here */
  x = x + 1;
}

Frequent bugs

Conditional loops are often the source of an Off by one error.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Conditional Loop —   [engl.], bedingte Schleife …   Universal-Lexikon

  • Loop optimization — In compiler theory, loop optimization plays an important role in improving cache performance, making effective use of parallel processing capabilities, and reducing overheads associated with executing loops. Most execution time of a scientific… …   Wikipedia

  • Loop unswitching — is a compiler optimization. It moves a conditional inside a loop outside of it by duplicating the loop s body, and placing a version of it inside each of the if and else clauses of the conditional. This can improve the parallelization of the loop …   Wikipedia

  • Loop unwinding — Loop unwinding, also known as loop unrolling, is a loop transformation technique that attempts optimize a program s execution speed at the expense of its size.The goal of loop unwinding is to increase the programs speed by reducing (or… …   Wikipedia

  • Loop-switch sequence — A loop switch sequence is a specific derivative of the spaghetti code programming antipattern where a clear set of steps is implemented as a byzantine switch within a loop. Also known as The FOR CASE paradigm… …   Wikipedia

  • For loop — In computer science a for loop is a programming language statement which allows code to be repeatedly executed. A for loop is classified as an iteration statement.Unlike many other kinds of loops, such as the while loop, the for loop is often… …   Wikipedia

  • Control flow — Not to be confused with Flow control. In computer science, control flow (or alternatively, flow of control) refers to the order in which the individual statements, instructions, or function calls of an imperative or a declarative program are… …   Wikipedia

  • Simons' BASIC — This product is widely, but incorrectly, called Simon s BASIC , because of confusion between the first name Simon and the surname Simons .Simons BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16 year old… …   Wikipedia

  • MTropolis — was a multimedia authoring tool debuting in 1995. mTropolis was bought in 1997 by Quark, which moved development from Burlingame, California to Denver and then cancelled the product one year later. [http://archive.salon.com/21st/feature/1998/06/10… …   Wikipedia

  • Compiler optimization — is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”