Você está na página 1de 3

3.

Estruturas de seleção e repetição


estruturas de seleção são aquelas que permitem alterar o fluxo de execução, de forma a
selecionar qual parte deve ser executada. Uma decisão é tomada de acordo com a
avaliação da condição, que é uma expressão lógica: caso o resultado dessa avaliação seja
verdadeiro, o comando ou o bloco de comandos será executado; caso contrário, será
ignorado.
As estruturas de seleção podem ser classificadas em simples, composta ou encadeada.
Em uma seleção simples, quando a 'condição' for verdadeira o bloco de comandos é
executado. Quando a 'condição' for falsa o bloco de comandos não é executado. Ela
realiza uma verificação simples de uma condição estabelecida por uma operação
relacional.
if (x > 0)
printf("Este numero e positivo!");
ou, Pode conter uma operação lógica:
if ((sal > 0) && (sal < 100)) {
printf("Salario muito baixo!");
}

A estrutura de seleção composta é utilizada quando se tem duas opções a serem


executadas: uma verdadeira e outra falsa. A diferença em relação a estrutura condicional
simples é que se a condição for falsa o algoritmo também irá tomar uma ação.

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);
}

O trecho de 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, diferentemente da 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”.
Uma seleção encadeada ocorre quando uma seleção tem como ação uma outra seleção,
esta seleção encadeada pode ser heterogênea, quando não é possível identificar o padrão
de comportamento, ou homogênea, quando é possível identificar o padrão de
comportamento.

As seleções encadeadas também podem ser utilizada quando se têm três ou mais opções
a serem escolhidas, um outro exemplo de estrutura encadeada é o switch-case. Este
comando geralmente é utilizado quando existe uma grande quantidade de opções.
switch (variavel) {
case valor1:
//instruções
break;
case valor2:
//instruções
break;
default:
//instruções
}
o comando switch pode alternativamente ser escrito como um conjunto de comandos if e
else, embora utiliza-se o switch devido à natureza da operação, deixando o código mais
legível.
Para situações que será necessário repetir uma tarefa mais de uma vez podemos contar
com as estruturas de repetição. elas permitem executar mais de uma vez (repetir) um
determinado trecho do algoritmo. o trecho do algoritmo em repetição é chamado de laço
(ou loop). As repetições devem ser sempre finitas.
Essa capacidade de repetição permite que um programador escreva programas mais
concisos que contenham processos repetitivos que poderiam necessitar de centenas ou
milhares de linhas se não fossem assim escritos.
Existem diferentes tipos de laços de repetição, cada com com criterios de parada destintos.
Os laços podem utilizar como criterio de parada:
Teste no inicio (while)
teste no final (do)
variavel de controle (for)
Esses laços possuem as seguintes formas, respectivamente:
while (expressão de controle) {comando}
do {comando} while (expressão de controle)
for (comando de inicialização; expressão de controle; controle de passo) {comando}
No comando while antes de cada possível execução a (expressão de controle) é avaliada.
Se o valor é (falso), o {comando} não é executado, se for (verdadeiro), o {comando} é
executado e depois a (expressão de controle) é avaliada novamente, e assim por diante.
while (numero <= 100) {
soma = soma + numero;
numero = numero + 1;
}
O comando do trabalha da mesma maneira que while, exceto pelo fato de que o valor da
(expressão de controle) é testado depois de cada execução dos {comandos} ao invés de
ser testado antes (como no while). Assim, o {comando} é sempre executado pelo menos
uma vez; depois de cada execução a (expressão de controle) é avaliada para verificar se
o loop continua ou não. Este comando é útil quando deve ser executado uma vez antes
que seja avaliada.
do {
seqüência de comandos
} while (condição);
A estrutura de repetição for possui uma inicialização, a expressão de controle e o controle
de passo, todos na mesma linha, logo após o comando for, envolvidos por parênteses. O
funcionamento deste comando é dado da seguinte forma. Sempre que um comando for é
encontrado, a inicialização é executada. Em seguida, a expressão de controle é verificada.
Se o resultado da avaliação desta condição é verdadeiro, então o fluxo de execução é
desviado para a sequência de comandos do for. Finalizada a sequência de comandos, o
controle de passo é realizado e o fluxo de execução é desviado para a linha do comando
do for, onde novamente a expressão de controle será testada e o processo todo repetido,
até que esta condição tenha como resultado o valor falso.
for (inicialização; condição; passo) {
seqüência de comandos
}

Você também pode gostar