Estruturas condicionais e de repetição \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 15 Horas 

 52 Min 

 07 Seg 

   Tempo restante da oferta: 15 52 07 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Estruturas condicionais e de repetição  [ Algoritmos ](https://www.treinaweb.com.br/blog/categoria/algoritmos) [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

# Estruturas condicionais e de repetição

 Entenda a função das estruturas condicionais (If - Else) e de repetição (While - For) nos estudos sobre lógica de programação.

 [ Wesley Gado ](https://www.treinaweb.com.br/blog/autor/wesley-gado) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/ESTRUTURAS-CONDICIONAIS-REPETIÇÃO.png)  

Ao iniciar os estudos em programação nos deparamos com as estruturas condicionais e de repetição, que são dois pilares em relação a [lógica de programação](https://www.treinaweb.com.br/blog/o-que-e-de-fato-a-logica-de-programacao/ "lógica de programação").

\[

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/ebook-logica-de-programacao.jpg) ](https://www.treinaweb.com.br/ebook/logica-de-programacao/)

## Estruturas condicionais simples (SE - IF)

Primeiramente, uma estrutura condicional é baseada em uma condição que se for atendida o algoritmo toma uma decisão. Nós podemos representar uma estrutura condicional conforme o algoritmo abaixo.

```
SE (a > b) ENTÃO
	Exibir mensagem "o número A é maior que o número B".
FIM SE

```

Utilizando a Linguagem C, este algoritmo seguirá a seguinte sintaxe:

```c
if (a > b) {
	printf("o número %d maior que o número %d", a, b);
}

```

**Obs:** exemplo utilizando a linguagem C, porém o fundamento das estruturas condicionais são os mesmos para quaisquer [linguagens](https://www.treinaweb.com.br/blog/qual-linguagem-devo-aprender-primeiro/ "linguagens"), alterando somente a sintaxe particular de cada linguagem.

Note que o código acima representa a seguinte condição: se o número A for maior que o número B, o algoritmo irá entender que a condição é **verdadeira** e deve exibir a mensagem “o número A é maior que o número B”, se esta condição não for atendida, ou seja, se ela for **falsa**, o algoritmo não irá tomar nenhuma ação, pois ela não atende a condição.

Para facilitar o entendimento, podemos representar a estrutura condicional acima utilizando um fluxograma: ![Estruturas condicionais - simples (Se - IF)](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/Estrutura-Condicional-Simples.png)

Caso o algoritmo precise tomar uma decisão dependendo da estrutura de condição, nós podemos utilizar a estrutura condicional composta.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/BANNER-AULA-GRATUITA-1700x850-1.jpg) ](https://www.treinaweb.com.br/lp/aula-gratis/)

## Estruturas condicionais composta (SENÃO - ELSE)

A diferença em relação a estrutura condicional simples é que se a condição for **falsa** nosso algoritmo também irá tomar uma ação neste caso, seguindo o exemplo anterior:

```
SE (a > b) ENTÃO
	Exibir mensagem "o número A é maior que o número B".
SENÃO
	Exibir mensagem "o número A é menor que o número B".

```

Utilizando a Linguagem C, esse algoritmo seguirá a seguinte sintaxe:

```c
if (a > b) {
    printf("o número %d é maior que o número %d", a, b);
} else {
    printf("o número %d é menor que o número %d", a, b);
}

```

Note que o código acima representa a seguinte condição: se o número A for maior que o número B, o algoritmo irá entender que a condição é **verdadeira** e deve exibir a mensagem “o número A é maior que o número B”, se esta condição não for atendida, ou seja, se ela for **falsa**.

Diferente do exemplo sobre estrutura condicional simples onde o algoritmo não tomava nenhuma ação, aqui ele toma uma decisão diferente, exibindo a mensagem “o número A é **menor** que o número B”.

Para facilitar o entendimento, podemos representar a estrutura condicional acima utilizando um fluxograma: ![Estruturas Condicionais - Composta (senão - else)](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/Estrutura-Condicional-Composta.png)

Casos mais complexos podem exigir a utilização de estruturas de repetição também conhecido como loop ou laço de repetição, onde o algoritmo repete uma ação até que ela não seja mais atendida.

[  ![Wordpress - Criação de Temas](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/wordpress-temas.svg)   Curso Wordpress - Criação de Temas Conhecer o curso ](https://www.treinaweb.com.br/curso/wordpress-desenvolvimento-de-temas)

## Estruturas de repetição

Para situações que será necessário repetir uma tarefa mais de uma vez podemos contar com as estruturas de repetição.

## ENQUANTO (While)

Uma das condições que podemos usar é o **enquanto**, ou seja, enquanto a expressão booleana for verdadeira o algoritmo executa o bloco proposto, por fim é necessário que algo dentro do bloco altere a condição.

Podemos exemplificar o uso do **enquanto** supondo um algoritmo que retorne o resultado de uma tabuada, onde:

*`i` sendo uma variável inteira de valor 1.*

```
ENQUANTO i ≤ 10
	Exibir "9 x i = (9 * i)"
	Soma i = i + 1;
FIM DA CONDIÇÃO

```

Utilizando a Linguagem C, o algoritmo seguirá a seguinte sintaxe:

```c
while (i
