EuraStudy
Traduz-se a algoritmia em programas: distinguem-se as linguagens de programação (baixo/alto nível) e o papel de compiladores e interpretadores, e programa-se numa linguagem de alto nível — variáveis e entrada/saída, estruturas de controlo, estruturas de dados (arrays/listas), funções e procedimentos, e ainda o teste e a depuração. Segunda parte da unidade de Introdução à Programação de Aplicações Informáticas B (12.º ano), disciplina de opção sem Exame Nacional, avaliada internamente com forte componente prática.
5 secções~16 min de leitura5 competênciasNível Base 1 · Padrão 2 · Aprofundamento 2
nível básico
Traduzir algoritmos simples para uma linguagem de alto nível, com variáveis, entrada/saída e estruturas de controlo.
nível avançado
Usar arrays e funções para estruturar programas e validá-los com casos de teste bem escolhidos.
Profundidade de leitura: Aprofundado
Tamanho do texto: Padrão
Do código-fonte à execução
Classifica quanto ao modelo de tradução: (a) um programa em C que produz um ficheiro .exe; (b) um guião em Python executado com o comando «python programa.py».
O C é compilado: todo o código-fonte é traduzido de uma vez para um executável em linguagem máquina, que corre depois sozinho.
O Python é (tipicamente) interpretado: o interpretador lê, traduz e executa o guião instrução a instrução, sem gerar um executável autónomo.
O executável de C tende a ser mais rápido; o Python é mais cómodo para desenvolver e testar rapidamente.
Resultado: (a) compilado; (b) interpretado — dois modelos de tradução do mesmo código-fonte de alto nível para algo executável.
Erros frequentes
Revisão ativa
Explica, para um programa em Python e outro em C, como cada um passa do código-fonte à execução, indicando se é usado interpretador ou compilador. Dá uma vantagem de cada modelo.
Evocação ativa
Recorda os pontos-chave — depois revela.
Fontes: Aprendizagens Essenciais de Aplicações Informáticas B — 12.º ano (DGE) (Direção-Geral da Educação (DGE))
Programa «ler dois números e escrever a soma»
Escreve o programa que lê dois inteiros e escreve a sua soma, tratando a conversão de tipos, e simula-o para A = 8 e B = 5.
a ← inteiro(ler()); b ← inteiro(ler()) — converte o texto do teclado em inteiro.
soma ← a + b.
escrever(soma). Para a = 8 e b = 5: soma = 8 + 5 = 13.
Resultado: O programa escreve 13. Sem a conversão para inteiro, «"8" + "5"» daria a concatenação «"85"» — o erro típico de esquecer os tipos.
Erros frequentes
Revisão ativa
Escreve um programa (em pseudocódigo) que leia a base e a altura de um retângulo e escreva a sua área. Indica os tipos das variáveis usadas.
Evocação ativa
Recorda os pontos-chave — depois revela.
Fontes: Aprendizagens Essenciais de Aplicações Informáticas B — 12.º ano (DGE) (Direção-Geral da Educação (DGE))
Ciclo «para» com seleção: somar os pares de 1 a N
Simula o algoritmo da Fig. 3 para N = 10 e indica a soma dos números pares.
Entre 1 e 10, «i mod 2 = 0» é verdadeiro para 2, 4, 6, 8 e 10.
soma passa por: 2, depois 6, depois 12, depois 20, depois 30.
2 + 4 + 6 + 8 + 10 = 30 — confere com o valor acumulado.
Resultado: soma = 30. A seleção «i mod 2 = 0» dentro do ciclo filtra corretamente os pares.
Erros frequentes
Revisão ativa
Escreve um programa que percorra os inteiros de 1 a 20 e escreva apenas os múltiplos de 3. Que estrutura de repetição usas e porquê?
Evocação ativa
Recorda os pontos-chave — depois revela.
Fontes: Aprendizagens Essenciais de Aplicações Informáticas B — 12.º ano (DGE) (Direção-Geral da Educação (DGE))
Um array e os seus índices
Indexação base 0
Num array de N elementos, o primeiro está no índice 0 e o último no índice N−1; aceder ao índice N está fora dos limites.
Escreve o algoritmo que determina o maior valor da lista [3, 9, 2, 7] percorrendo-a com um ciclo, e simula-o.
maior ← lista[0] (= 3). Percorrer os índices de 1 a 3.
i=1: lista[1]=9 > 3 → maior ← 9; i=2: lista[2]=2 > 9? não; i=3: lista[3]=7 > 9? não.
O ciclo vai só até ao índice 3 (comprimento−1 = 3); aceder a lista[4] seria um erro de índice fora dos limites.
Resultado: maior = 9. O padrão «inicializar com o primeiro elemento e comparar com os restantes» resolve o máximo/mínimo de qualquer lista.
Erros frequentes
Revisão ativa
Dada a lista «temperaturas» com 7 valores, escreve o algoritmo que calcula e escreve a temperatura média. Indica os índices válidos e como obténs o comprimento.
Evocação ativa
Recorda os pontos-chave — depois revela.
Fontes: Aprendizagens Essenciais de Aplicações Informáticas B — 12.º ano (DGE) (Direção-Geral da Educação (DGE))
Chamada de uma função
Fatorial (função recursiva/iterativa clássica)
Exemplo típico de função: recebe n e devolve o produto de todos os inteiros de 1 a n; por convenção 0! = 1.
Escreve uma função iterativa «fatorial(n)» e simula «fatorial(5)», mostrando o valor do acumulador em cada passo.
função fatorial(n): f ← 1; para i de 1 até n: f ← f × i; devolver f.
f começa em 1; i=1: f=1; i=2: f=2; i=3: f=6; i=4: f=24; i=5: f=120.
5! = 5×4×3×2×1 = 120.
Resultado: fatorial(5) devolve 120. A função encapsula o cálculo e pode ser reutilizada e testada isoladamente (casos limite: fatorial(0) = 1, fatorial(1) = 1).
Erros frequentes
Revisão ativa
Escreve uma função «ehPrimo(n)» que devolva Verdadeiro se n for primo e Falso caso contrário, e mostra como a chamarias para testar o número 7. Que casos limite testarias?
Evocação ativa
Recorda os pontos-chave — depois revela.
Fontes: Aprendizagens Essenciais de Aplicações Informáticas B — 12.º ano (DGE) (Direção-Geral da Educação (DGE))
Referências e fontes
Direção-Geral da Educação (DGE)