Programação e Sistemas de Informação Mecanismos de Controlo de Execução 1 Mecanismos de decisão binária e múltipla 2 Mecanismos de repetição condicionada Índice
1 Mecanismos de decisão binária e múltipla Estruturas de DECISÃO ou SELEÇÃO BINÁRIA MÚLTIPLA Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) SE ENTÃO SENÃO SE ENTÃO CASO 1
1 Mecanismos de decisão binária e múltipla Sintaxe Estruturas de decisão/seleção binária SE-ENTÃO-SENÃO SE-ENTÃO Permitem a seleção entre duas alternativas dependendo de uma condição/expressão. SE-ENTÃO[-SENÃO] É avaliada a condição/expressão Se o seu valor for verdadeiro, é apenas executado o primeiro bloco de instruções – instruções_v. Se o valor da condição é falso é executado apenas o segundo bloco de instruções – instruções_f. SE «condição» ENTÃO «instruções_v»; [SENÃO «instruções_f»;] FIM SE Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) 1
1 Mecanismos de decisão binária e múltipla ENTER SE-ENTÃO-SENÃO Avaliação de uma CONDIÇÃO VERDADEIRA FALSA Processo alternativa VERDADEIRA Processo alternativa FALSA SEGUIR PARA A AÇÃO SEGUINTE 1
1 Mecanismos de decisão binária e múltipla ENTER SE-ENTÃO Avaliação de uma CONDIÇÃO VERDADEIRA FALSA Processo alternativa VERDADEIRA SEGUIR PARA A AÇÃO SEGUINTE 1
1 Mecanismos de decisão binária e múltipla Em Pascal Em C If-Then-Else if – else Sintaxe: If (condição) Then instrução1; [Else instrução2; ] Sintaxe: if (condição) instrução1; [ else instrução2; ] Em C, existe também o OPERADOR CONDICIONAL ? condição ? instrução1 : instrução2 1
1 Mecanismos de decisão binária e múltipla SE «condição1» ENTÃO SE «condição2» ENTÃO SE «condição3» ENTÃO «instrução1»; SENÃO «instrução2»; FIM SE «instrução3»; «instrução4»; SE-ENTÃO-SENÃO ENCADEADOS 1
1 Mecanismos de decisão binária e múltipla Variável N: inteiro Início Escrever (“Introduza um inteiro”) Ler (N) Se N>0 então Escrever (“Positivo!”) senão Se N<0 então Escrever (“Negativo!”) Escrever (“Nulo!”) fim se Fim Exemplo 1 Dado um número introduzido pelo utilizador, verificar se é positivo, negativo ou nulo. 1
1 Mecanismos de decisão binária e múltipla Variáveis A, B, C: inteiros Início Escrever (“Introduza tres inteiros”) Ler (A, B, C) Se A<B então Se A<C então Se B<C então Escrever (A, B, C) senão Escrever (A, C, B) fim se senão Escrever (C, A, B) senão Se B<C então Se A<C então Escrever (B, A, C) senão Escrever (B, C, A) senão Escrever (C, B, A) Fim Exemplo 2 Ordenar três números introduzidos pelo utilizador. 1
1 Mecanismos de decisão binária e múltipla Estruturas de decisão/seleção múltipla CASO Esta estrutura permite a escolha de várias alternativas. Sintaxe SELECIONAR CASO «variavel» «valor1»: «instruções1»; «valor2»: «instruções2»; ... [SENÃO «instruções_n»] FIM SELECIONAR Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) 1
1 Mecanismos de decisão binária e múltipla ENTER CASO Verificação de um VALOR OPÇÃO_1 OPÇÃO_2 OPÇÃO_3 OPÇÃO_N Processo alternativa OPÇÃO1 Processo alternativa OPÇÃO2 Processo alternativa OPÇÃO3 Processo alternativa OPÇÃON … SEGUIR PARA A AÇÃO SEGUINTE 1
1 Mecanismos de decisão binária e múltipla Em Pascal Case-Of Sintaxe: Case «variável» Of «valor1»: «instruções1»; «valor2»: «instruções2»; ... [Else «instruçõesn» ] End 1
1 Mecanismos de decisão binária e múltipla Em C BREAK Permite parar a instrução imediatamente a seguir a um switch switch Sintaxe: switch (variavel) { case «valor1»: «instruções1»; [break;] case «valor2»: «instruções2»; [break;] … [ default: «instruções»; ] } 1
2 Mecanismos de repetição condicionada Mecanismos de repetição/CICLOS Um ciclo é constituído por uma sequência de instruções e por uma estrutura, que controla a execução dessas instruções. Estruturas de REPETIÇÃO CONDICIONAL INCONDICIONAL Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) PARA ATÉ FAZER ENQUANTO FAZER REPETIR ATÉ 2
2 Mecanismos de repetição condicionada Sintaxe Estruturas de repetição baseadas numa condição ENQUANTO-FAZER REPETIR-ATÉ Possibilitam a repetição da execução de uma ou várias instruções, enquanto uma determinada condição, do tipo lógico, tiver valor verdadeiro. Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) 2
2 Mecanismos de repetição condicionada ENQUANTO-FAZER Esta estrutura permite repetir uma ou várias instruções, enquanto uma determinada condição do tipo lógico, tenha valor verdadeiro. Sintaxe ENQUANTO «condição» FAZER «instrução1»; ... «instruçãoN»;] Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) 2
2 Mecanismos de repetição condicionada REPETIR-ATÉ Esta estrutura permite repetir uma ou várias instruções, até que uma determinada condição do tipo lógico, tenha valor verdadeiro. Ao contrário da estrutura enquanto são executadas as instruções incluídas no corpo do ciclo e, só depois é verificada a condição/expressão. Sintaxe REPETIR «instrução1»; ... «instruçãoN»; ATÉ «condição» Ler (n) algarismo n div 10 Escrever (algarismo) Para i=1 até n impar 2*i + 1 Imprimir (impar) soma 0 par 2*i soma soma + par Imprimir (“A soma dos” n “primeiros números pares é:” soma) Para i=0 até n-1 termo 2^termo Imprimir (termo) soma soma + termo Imprimir (“A soma dos” n “primeiros termos da PG é:” soma) 2
1 Mecanismos de decisão binária e múltipla ENTER ENQUANTO-FAZER Avaliação de uma CONDIÇÃO FALSA VERDADEIRA Instruções 1; Instruções 2; ... SEGUIR PARA A AÇÃO SEGUINTE 2
1 Mecanismos de decisão binária e múltipla ENTER REPETIR-ATÉ Instruções 1; Instruções 2; ... Avaliação de uma CONDIÇÃO VERDADEIRA FALSA SEGUIR PARA A AÇÃO SEGUINTE 2