Os programas geralmente, baseados em algum dado,
selecionam porções do código a serem executadas, realizando operações diferenciadas a cada execução. Para representar essa
seleção em nosso programa utilizamos as
estruturas de seleção.
A primeira estrutura de seleção que iremos conhecer é o
Se. O Se é utilizado quando esperamos por uma
condição. O bloco de código referente só sera executado
se a condição for
verdadeira. A seguir temos um exemplo algoritmico da utilização dessa estrutura e sua implementação em Pascal.
2 | se (numero MOD 2 = 0 ) então |
4 | escreva("O número é par.") |
2 | if (numero MOD 2 = 0 ) then |
4 | write ( 'O número é par.' ); |
Neste exemplo, lemos do usuário a variável
numero. Se o resto da divisão do conteúdo da variável for igual a zero, será mostrada na tela a frase
O número é par. A partir disso, podemos criar condições para o nosso programa, executando determinadas tarefas
somente se algumas condições forem satisfeitas. Mas e se, por exemplo o número não fosse par? Ele seria ímpar… mas como faríamos isso no programa? A estrutura do
Se é composta do
Senão, que é executado caso a condição do
Se não seja satisfeita. A seguir temos o exemplo da utilização do Se com o Senão na forma algoritmica e na linguagem Pascal:
4 | escreva("O número é par.") |
6 | escreva("O número é impar.") |
2 | if (numero MOD 2 = 0 ) then |
4 | write ( 'O número é par.' ); |
8 | write ( 'O número é ímpar.' ); |
Dessa forma, se o número digitado fosse par, a mensagem
O número é par. Caso contrário, a mensagem
O número é ímpar. seria exibida. Além disso, podemos
encadear vários ‘
Ses’, criando uma série de condições. Podemos também, colocar mais de uma condição ou negar uma condição, com a utilização dos operadores lógicos
e,
ou e
não.
5 | senão se (idade >= 13 e < 21 ) |
06 | else if (idade >= 13 and idade < 21 ) then |
Ah, um detalhe. Percebam que em Pascal, somente o último
End de uma sequência de
Ifs tem ponto-e-vírgula! Observando o exemplo acima, podemos realizar diversas tarefas, encadeando diversos
Ifs /
Elses. Apesar de simples, esta estrutura é vastamente utilizada na programação. Porém, quando precisamos conferir o valor de uma variável frente a muitos valores, o uso de Ifs encadeados torna-se trabalhoso, principalmente ao programador, além de deixar o código repleto de
Begins e
Ends. Para resolver problemas do tipo, utilizamos uma estrutura chamada
Escolha ou
Case. Com ela, podemos comparar o conteúdo de uma variável frente a diversas constantes, de uma forma bem mais organizada que o simples encadeamento de Ifs. A seguir, temos um exemplo de um programa de apuração de votos, com a utilização do
Escolha.
3 | caso (votos = 1 ) : candidato1 ← candidato1 + 1 |
4 | caso (votos = 2 ) : candidato2 ← candidato2 + 1 |
6 | escreva("Voto inválido") |
2 | 1 : candidato1 := candidato1 + 1 ; |
3 | 2 : candidato2 := candidato2 + 2 ; |
5 | write ( 'Voto inválido' ); |
Neste caso, a variável
votos foi comparada com os valores
1 e
2. Dependendo do seu conteúdo, incrementa-se a variável correspondente ao candidato. Caso o voto não confira com nenhuma das opções do case, ele irá executar o comando para escrever
Voto inválido na tela. Nesta estrutura, assim como no
se, o uso do
senão é facultativo, ou seja, ele não precisa necessariamente estar presente, sendo utilizado de acordo com a necessidade. Outro ponto é que os valores constantes comparados não precisam ser necessariamente inteiros. Podem ser, por exemplo, um tipo caracter.
Bom, pessoal, é isso. No começo pode ser que vocês estranhem um pouco estas estruturas, mas com o tempo elas virão a estar presente em praticamente todas as aplicações que vocês fizerem. E lembrem-se que, em caso de dúvida, podem simplesmente deixar um comentário aqui no blog.
Obrigado pela visita e até o próximo post com as
Estruturas de Repetição. Abraço a todos!
Nenhum comentário:
Postar um comentário