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
 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
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

Fp1

  • 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 acondiçã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 CASEtem 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