# Dragon/Lessons/Control Structures

## Control Structures

In this chapter we are going to learn about the control structures provided by the Dragon programming language.

## Branching

• If Statement

Syntax:

```	if(Expression)
{
Block of statements
}
else if(Expression)
{
Block of statements
}
else {
Block of statements
}```

Example:

```        select "types"
select "graphic"

nOption = int(prompt("1) Say Hello \n2) About")

if nOption = 1
{
name = prompt("Enter your name: ")
showln "Hello " + name
}
else if nOption = 2
{
showln "Sample : using if statement"
}
else
{
}```

## Looping

• While Loop

Syntax:

```	while(Expression)
{
Block of statements
}```

• For Loop

Syntax:

```	for (identifier=Initialize value, expression , expression [step expression])
{

Block of statements
}```

Example:

```	// print numbers from 1 to 10
for (x = 1,x<=10,x++)
{
showln x
}```

• Foreach Loop

Syntax:

```	for (identifier : List/String)
Block of statements
}```

Example:

```	aList = [1,2,3,4]	//create list contains numbers from 1 to 10
for( x in aList )
{
showln x   // print numbers from 1 to 10
}```

## Do While Loop

Syntax:

```
do {
body
} while condition```

Example:

```	x = 1
do {
showln x
x++
}
while(x <= 10)```