Partilhar: Classroom Teams WhatsApp
aulify
UC UC00245 · T. Desenv. Software, T. Multimédia e mais 6 cursos

Ficha 05 · Pseudocódigo, fluxograma e depuração

Conversão entre representações · trace tables · identificação de erros
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Nº
Data
Objectivos da ficha

Parte I · Pseudocódigo ↔ Fluxograma

Exercício 1 · Identificar símbolos

Indica o nome (e símbolo) que representa cada um destes elementos do fluxograma:

a) Início ou fim do algoritmo. ___

b) Cálculo ou atribuição. ___

c) Decisão (pergunta com resposta V/F). ___

d) Entrada ou saída de dados. ___

e) Direção do fluxo entre símbolos. ___

Exercício 2 · Converter pseudocódigo em fluxograma

Considera o seguinte algoritmo. Desenha o fluxograma correspondente no espaço abaixo:

INICIO
   LER nota
   SE nota >= 10 ENTÃO
      ESCREVER "Aprovado"
   SENÃO
      ESCREVER "Reprovado"
   FIM SE
FIM

Exercício 3 · Converter fluxograma em pseudocódigo

Considera um fluxograma com:

Escreve o pseudocódigo equivalente.

Parte II · Trace Table

Exercício 4 · Trace table simples

Completa a trace table para o algoritmo abaixo, com entrada n = 6:

LER n
fact ← 1
i ← 1
ENQUANTO i <= n FAÇA
   fact ← fact * i
   i ← i + 1
FIM ENQUANTO
ESCREVER fact
Iteração n i (antes do teste) Condição i ≤ n fact (após operação) i (após incremento)
Inicial 6 1 V 1 (1×1) 2
2 6 2 V
3 6
4 6
5 6
6 6
7 6 F (nenhuma) (nenhuma)

Saída: ____

Parte III · Identificar e corrigir erros

Exercício 5 · Encontrar o erro

O algoritmo seguinte é suposto somar os primeiros n números pares. Identifica o(s) erro(s) e corrige:

LER n
soma ← 1                  // (a)
PARA i DE 1 ATÉ n FAÇA    // (b)
   soma ← soma + i        // (c)
FIM PARA
ESCREVER soma

Exercício 6 · Detetar ciclo infinito

Indica se cada algoritmo termina. Se não terminar, explica porquê.

(a)

i ← 0
ENQUANTO i < 10 FAÇA
   i ← i + 2
FIM ENQUANTO

(b)

i ← 0
ENQUANTO i <> 10 FAÇA
   i ← i + 3
FIM ENQUANTO

(c)

n ← 100
ENQUANTO n > 0 FAÇA
   n ← n - 1
FIM ENQUANTO

Exercício 7 · Programação defensiva

O seguinte algoritmo calcula a média de notas, mas tem várias vulnerabilidades. Identifica-as e propõe melhorias.

LER n
soma ← 0
PARA i DE 1 ATÉ n FAÇA
   LER nota
   soma ← soma + nota
FIM PARA
media ← soma / n
ESCREVER media

Exercício 8 · Refactoring (legibilidade)

Reescreve o seguinte algoritmo de forma mais legível, mantendo o mesmo comportamento. Justifica pelo menos duas alterações.

INICIO
   LER x
   LER y
   z ← x + y
   IF z > 100 THEN
      a ← z * 0.1
      ESCREVER z - a
   ELSE
      ESCREVER z
   FIM SE
FIM