6 – Estruturas de Controlo Pode escrever-se qualquer programa recorrendo apenas a 3 formas de controlo da sua execução: Sequencial Condicional Repetitiva Os programas por agora ainda algoritmos são baseados em estruturas de controlo. Um programa pode ter todas as estruturas de controlo o número de vezes que forem necessárias.
6.1 – Estrutura Sequencial Estrutura de controlo: SEQUENCIAL As instruções de um programa são executadas pala ordem em que se encontram escritas É a estrutura de controlo que temos usado até agora nos nossos algoritmos
6.1 – Estrutura Sequencial Exemplo de uma estrutura sequencial: Algoritmo Idade [calcula a idade aproximada de uma pessoa] Inteiro: ano_actual, ano_de_nascimento, idade Início Ler ano_actual, ano_de_nascimento idade ano_actual – ano_de_nascimento Mostrar idade Fim
Estruturas de Controlo É possível em linguagem algorítmica descrever situações em que a avaliação de uma condição determina o conjunto de acções que são posteriormente tomadas.
6.2 – Estrutura Condicional Estas estruturas permitem a selecção de um conjunto de instruções após a avaliação lógica de uma condição Se <condição> Então <bloco de instruções> FimSe Se a condição for verdadeira é executado o bloco de instruções caso contrário nada acontece.
6.2 – Estrutura Condicional Exemplos … Se calças = “ganga” Então Mostrar “vou comprar” FimSe Se calças = “ganga” E preço<50
6.2 – Estrutura Condicional Se <condição> Então <bloco de instruções 1> Senão <bloco de instruções 2> FimSe Se a condição for verdadeira é executado o bloco de instruções 1 senão é executado o bloco de instruções 2
6.2 – Estrutura Condicional Exemplos … Se tempo = “sol” Então Mostrar “vou à praia” Senão Mostrar “vou à piscina” FimSe Se tempo = “chuva” Mostrar “vou ao cinema”
6.2 – Estrutura Condicional Como podemos ver no segundo exemplo do diapositivo anterior, podemos ter estruturas condicionais “Se” aninhadas NOTA: devemos ter sempre o cuidado de escrever o código de forma “indentada”, para que fique mais perceptível, evitando assim erros de lógica de programação
6.2 – Estrutura Condicional Quando temos de decidir entre vários valores possíveis que uma expressão pode tomar, podemos evitar o uso de estruturas “Se” aninhadas com a utilização da estrutura “Caso” CASO expressão IGUAL A constante1 : bloco de instruções 1 constante2 : bloco de instruções 2 … Senão: bloco de instruções n FimCaso
6.2 – Estrutura Condicional Exemplo … Caso numero_mês Igual a 1: Escrever “Janeiro” 2: Escrever “Fevereiro” 3: Escrever “Março” 12: Escrever “Dezembro” Senão escrever “o nº introduzido não se encontra no intervalo entre 1 e 12” FimCaso
6.2 – Estrutura Condicional O algoritmo anterior faz o seguinte: Analisa o valor de numero_mês Se o seu valor for igual a 1 escreve Janeiro Se o seu valor for igual a 2 escreve Fevereiro … Se o seu valor for igual a 12 escreve Dezembro Se não (SENÃO) for nenhum dos valores anteriores escreve “o nº introduzido não se encontra no intervalo entre 1 e 12”