O documento discute estruturas de controle em programação, especificamente estruturas condicionais IF e CASE. IF permite direcionar o fluxo de acordo com uma condição booleana, enquanto CASE é útil quando várias estruturas IF encadeadas são necessárias e oferece maior legibilidade. Exemplos ilustram o uso de cada estrutura.
1. MATERIAL DE APOIO
Bases de Programação – Estruturas de Controlo
Curso Tecnológico de Informática - 10ºano
2012/2013
A sequência de instruções de um programa apresenta uma ordem implícita da
realização das operações descritas.
Por vezes torna-se conveniente alterar a ordem de instruções de controlo de
execução utilizando as estruturas de Selecção.
Estruturas de Selecção
IF
Frequentemente torna-se necessário decidir qual a próxima instrução a ser
executada, em função do valor lógico de uma expressão booleana.
A estrutura condicional IF permite direccionar o fluxo de acção em função do
valor lógico de uma condição.
A estrutura IF pode ser interpretada da seguinte forma:
SE a condição for verdadeira ENTÃO é executada a instrução, após o que
a condição continua na instrução imediatamente.
SE no entanto a condição for falsa, a acção prossegue na instrução que se
encontra imediatamente a seguir á estrutura.
Contrariamente á estrutura IF simples, qualquer que seja o valor lógico da
condição, esta estrutura prevê uma acção específica, e não apenas para o caso
em que a condição é verdadeira.
A estrutura condicional completa pode ser interpretada da seguinte forma:
1 Bases de Programação – Estruturas de Controlo
2. SE a condição for verdadeira ENTÃO é executada a instrução1
SENÃO é executada a instrução 2.
Exemplo: - A partir das dimensões de 2 lados adjacentes de uma polígono de 4
lados e ângulos, pretende-se identificar a respectiva figura.
Código:
Readln(Lado1,Lado2);
IF Lado1 = Lado2 THEN
Writeln(‘A figura é um quadrado’);
ELSE
Writeln(‘É um rectângulo’);
Em determinadas situações surge a necessidade da utilização de duas ou mais
estruturas IF encadeadas.
Repara no seguinte exemplo:
Suponha que, a partir de lados de um polígono que tenha todos os lados iguais,
se pretende escrever o Nome desse polígono, até ao polígono de 5 lados.
Código:
…
Readln(num_lados);
IF num_lados =3 THEN
Writeln(‘Triangulo’);
ELSE
IF num_lados = 4 THEN
Writeln(‘Quadrado’);
ELSE
IF num_lados=5 THEN
Writeln(‘Pentagono’);
Analisando este exemplo, ressalta de imediato a sua fraca legibilidade, motivada
por várias estruturas condicionais IF encadeadas.
Além da fraca legibilidade, a estruturação lógica de um programa desta natureza
torna-se por vezes extremamente complexa.
- É por isso difícil detectar erros e corrigi-los neste tipo de estruturas.
- A estrutura CASE permite ultrapassar todas estas limitações.
Estruturas de Selecção
CASE
Uma estrutura CASE utiliza-se em situações em que seria necessário aplicar IF
encadeados.
2 Bases de Programação – Estruturas de Controlo
3. A estrutura CASE tem a seguinte forma:
Reformulação do exemplo anterior utilizando a estrutura CASE:
Código
Readln(num_lados);
CASE num_lados OF
3: writeln(‘Triângulo’);
4: writeln(‘Quadrado’);
5: writeln(‘Pentagono’);
End;
…
A instrução CASE selecciona uma instrução a ser executada com base no valor
de um a expressão chamada “o selector”.
A expressão (selector) pode ser um qualquer tipo ordinal.
A instrução 2 é executada sempre que o valor da expressão seja um dos
valores enumerados
A instrução3 é executada sempre que o valor da expressão esteja contido
no intervalo.
A palavra reservada ELSE deve ser utilizada sempre que exista uma acç ão
ou um conjunto de acções, a concretizar quando não se verifique
nenhuma das situações inicialmente previstas.
3 Bases de Programação – Estruturas de Controlo