• Nenhum resultado encontrado

Estrutura Condicional

No documento Programação 1 Linguagem C (UFRPE) (páginas 62-68)

Estrutura também conhecida como de decisão ou de seleção, caracteriza-se pela execução de um bloco de instruções dependendo da veracidade de uma condição (representada por expressões com operadores relacionais e lógicos). Ou seja, a execução de um ou mais comandos dependerá de se uma condição é satisfeita (é verdadeira) ou não. A estrutura de decisão deve ser sempre usada quando há a necessidade de testar alguma condição e em função da mesma tomar uma atitude. Essa estrutura é muito utilizada, até porque no nosso dia-a-dia, estamos sempre tomando decisões, vejamos um exemplo:

Se estiver chovendo então tenho de fechar as janelas Caso contrário (senão) as janelas podem ficar abertas

A estrutura se subdivide em outras três formas: Condicional Simples, Condicional Composta e Condicional Múltipla. Vamos analisar cada uma delas.

Estrutura condicional simples

Na estrutura condicional simples, uma única expressão lógica é avaliada, para decidir se o bloco de instruções será executado ou não. Em descrição narrativa, seria algo do gênero: “Se fizer sol então

eu irei à praia”. A representação dessa condição em um fluxograma, seria algo como na Figura 25. Nesta mesma figura, o exemplo de uso do fluxograma mostra que se o Tempo for igual a sol, a condição é verdadeira (V) e o comando “vou à praia” será executado. Se a condição não for verdadeira, o comando não será executado.

Figura 25 – Modelo Fluxograma e Exemplo para Estrutura Condicional Simples

Em linguagem algorítmica, a sintaxe para esse tipo de estrutura é:

Se <condição> então <comando-1> <comando-2> ... <comando-N> Fimse Exemplo: Se (idade < 18) então

escreva (“Esta pessoa é menor de idade”)

fimse

Onde, se a <condição> for verdadeira será executado os comandos dentro do bloco, que pode ser apenas um ou vários comandos (<comando-1>...<comando-2>. Como mencionado anteriormente a

Estrutura condicional composta

Na estrutura condicional composta, a condição irá determinar qual comando ou bloco de comandos será executado dentre dois listados. Na estrutura simples temos “Se...Então”, nesta caso teremos “Se... Então...Senão”. Dessa forma, além de executar se a condição for Verdadeira (V), a decisão composta também vai executar algo se a condição for Falsa (F). Ou seja, a seleção composta sempre executará um bloco condicional, pois se o resultado do teste condicional for verdadeiro um conjunto de instruções ou somente uma instrução será executada e se o resultado não for verdadeiro (for falso) uma outra instrução ou conjunto delas será executada também. Agora, será um caminho ou outro, nunca os dois blocos de instruções serão executados. Em descrição narrativa seria algo do gênero: “Se fizer

sol então eu irei à praia senão eu irei ao shopping”. A representação

dessa condição em um fluxograma, seria algo como na Figura 26.

Figura 26 – Modelo Fluxograma e Exemplo para Estrutura Condicional Composta

Nesta mesma figura 26, o exemplo de uso do fluxograma mostra que se o Tempo for igual a sol, a condição é verdadeira (V) e o comando “vou à praia” será executado. Senão, se a condição não for verdadeira (for falsa), o comando “vou ao shopping” será executado. Em linguagem algorítmica, a sintaxe para esse tipo de estrutura é:

Se <condição> então

<comando-A1> <comando-A2>

...

senão <comando-B1> <comando-B2> ... <comando-BN> Fimse Exemplo: Se (media >= 7.0) então

escreva (“Aluno Aprovado!”) senão

escreva (“Aluno Reprovado!”)

fimse

Onde, se a <condição> for verdadeira será executado os comandos dentro do bloco SE, que pode ser apenas um ou vários comandos (<comando-1>...<comando-2>. Já se a condição for falsa, será executado o comando ou bloco de comandos do SENAO. No caso do exemplo, a frase “Aluno Aprovado!” só apareceria se a média fosse maior do que 7. Senão apareceria fase de “Aluno Reprovado!”.

Estrutura condicional composta aninhadas

A instrução condicional (SE) pode ser encadeada uma dentro da outra, seja no bloco verdadeiro (então) ou falso (senão). O encadeamento destas instruções também é chamado de aninhamento de instruções de seleção ou de decisão. Não existe um limite de quantos testes condicionais podem estar dentro um do outro, tudo vai depender do problema a ser resolvido. Só para dar um exemplo de aninhamento, temos: se <condição_1> então <bloco de comandos 1> senão se (<condição_2>) então <bloco de comandos 2> senão se (<condição_3>) então :

fimse

Um exemplo de uso desse tipo de estrutura seria:

Algoritmo exemplo var idade: inteiro inicio

escreva(“Informe sua idade: “); leia(idade);

se (idade < 18) então

escreva (“Você é de menor”)

senão se (idade >=18 e idade < 30) então escreva (“Você é jovem”)

senão se (idade >= 30 e idade < 60) então escreva (“Você é adulto”)

senão se (idade >= 60) então escreva(“Você é velho”) fimse fimse fimse fimse fimalgoritmo

Veja que apenas uma das condições será executada. Porque a pessoa não poderá se encaixar em dois intervalos de idades diferentes. Ou seja, as opções de IF quando encadeadas ou aninhadas são mutuamente exclusivas.

Estrutura condicional múltipla

A estrutura condicional ou de decisão múltipla é uma especialização da estrutura de decisão composta aninhada, que permite a execução de opções mutuamente exclusivas. Dessa forma, ela é equivalente a uma estrutura aninhada.

Esse tipo de instrução checa a igualdade do valor avaliado com algumas opções e executa a instrução ou bloco de instrução correspondente ao valor selecionado. A sintaxe desse comando pode ser vista a seguir.

caso <exp1> <seqüência-de-comandos-1>

caso <exp2> <seqüência-de-comandos-2> ...

outrocaso

<seqüência-de-comandos-extra>

fimescolha

Neste comando o seletor é avaliado para ver em qual dos casos ele se encaixa. É checada a igualdade do seletor com cada uma das expressões presentes em cada caso. Quando uma igualdade ocorrer, a seqüência de comandos correspondente é executada e apenas ela. Se nenhum caso atender a seleção, o trecho denominado “outro caso” é executado (ou seja, a seqüência de comandos extra). Vejamos um exemplo. Suponha um trecho de programa para selecionar o mês do ano. Sendo que 1 é janeiro, 2 é fevereiro, 3 é março e assim por diante.

No exemplo acima, vai ser realizada uma comparação de igualdade para identificar qual opção tem o mesmo valor do seletor. Caso todas as condições sejam F, executa-se o “outro caso” (se este existir, uma vez que ele é uma parte opcional do comando) ou sai-se da estrutura sem executar nada. Se a igualdade for encontrada, vai ser executada a operação pertinente. O fluxograma ao lado do código ilustra, de forma resumida, o que acontece durante a execução. O teste dos casos é feito seqüencialmente .

No documento Programação 1 Linguagem C (UFRPE) (páginas 62-68)