Características que a especificação completa deve assumir
• deve considerar-se sempre a resolução dos problemas no âmbito mais lato possível; ou
seja, deve considerar-se a resolução de classes de problemas e não de problemas
particulares;
o que implica uma descrição algébrica da solução do problema;
• a gama de valores permitida para as variáveis de entrada deve ser claramente
estabelecida;
• a solução descrita deve contemplar alternativas para toda a gama de valores das
variáveis de entrada, eliminando toda e qualquer ambiguidade.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Conversão de distâncias (milhas para quilómetros)
Sua formulação para resolução no computador: Dada uma distância, expressa em
milhas, que é lida do teclado, convertê-la para quilómetros e escrevê-la no écran do
monitor vídeo.
Variável de entrada: MILHAS (distância expressa em milhas)
valor numérico positivo ou nulo
Variável de saída: KILOMETROS (distância expressa em quilómetros)
valor numérico representado com 3 casas decimais
Solução: KILOMETROS = 1.609 * MILHAS
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Resolução da equação de 2º grau
Sua formulação para resolução no computador: Dados os parâmetros A, B e C, que
são lidos do teclado, determinar as raízes da equação de 2º grau, Ax2+Bx+C=0, e
escrevê-las no écran do monitor vídeo.
Variáveis de entrada: A, B, C (parâmetros da equação)
A é um valor numérico não nulo, B e C são valores
numéricos quaisquer
Variáveis de saída: X1R, X1I, X2R, X2I (raízes da equação)
valores numéricos representados em notação científica,
com 4 algarismos significativos na mantissa
Solução:
∆
= B
∆ ≥ 0 ⇒ X1R =
-B + ∆
2⋅ A
∆ < 0 ⇒ X1R =
-B
2⋅ A
2
- 4 ⋅A ⋅C
X1I = 0
X2R =
-B - ∆
2⋅ A
-∆
2⋅ A
X2R =
-B
2⋅ A
X1I =
X2I = 0
X2I = -
-∆
2⋅ A
(raizes reais)
(raizes complexas conjugadas)
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
O que é um algoritmo?
• costuma-se designar por algoritmo, a descrição detalhada e rigorosa
da solução do problema;
• a transcrição do algoritmo para uma linguagem de programação dá
origem ao programa.
NOTA MUITO IMPORTANTE
Para se garantir que a passagem do algoritmo ao programa se faz de uma forma
natural, a descrição do primeiro deve usar um vocabulário e sintaxe semelhante aos da
linguagem de programação que se vai utilizar.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Propriedades dos algoritmos
• supõe-se que o conjunto de operações descrito no algoritmo é realizado segundo uma
ordem pré-estabelecida: só se inicia uma dada operação, quando a anterior estiver
terminada - execução sequencial;
• cada uma das operações tem que ser enunciada sem ambiguidade: costuma-se
começar por usar uma linguagem natural (o português, por exemplo); depois, à medida
que a descrição se torna mais detalhada, passa-se para uma linguagem formalmente
mais simples, mas mais rigorosa, baseada na notação matemática;
• a sequência de operações tem necessariamente que ser concluída num número finito
de passos, sob pena da solução, que ela representa, não ser realizável na prática
(neste caso, num computador);
• a sequência de operações tem também que produzir sempre resultados (valores); de
outro modo, é inútil.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Decomposição da solução
Modelo Básico
• leitura dos valores das variáveis de entrada;
• processamento;
• escrita dos valores das variáveis de saída.
OBSERVAÇÃO
As três etapas correspondem directamente à descrição funcional do que é um
computador, e de como ele executa um programa.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Decomposição da solução
Modelo Básico - Modificado à Entrada
• leitura dos valores de algumas variáveis de entrada;
• leitura com processamento dos valores das restantes variáveis de entrada;
• processamento complementar;
• escrita dos valores das variáveis de saída.
OBSERVAÇÃO
A modificação introduzida resulta quando a leitura de dados está enquadrada num
processo repetitivo, em que há de alguma maneira acumulação de valores, sendo lidos
para algumas variáveis diferentes valores ao longo do tempo.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Decomposição da solução
Modelo Básico - Modificado à Saída
• leitura dos valores das variáveis de entrada;
• processamento preliminar;
• processamento e escrita dos valores de algumas variáveis de saída;
• escrita dos valores das restantes variáveis de saída.
OBSERVAÇÃO
A modificação introduzida resulta quando a escrita de resultados está enquadrada num
processo repetitivo, em que há de alguma maneira produção sucessiva de valores,
sendo atribuídos a algumas variáveis diferentes valores ao longo do tempo.
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Conversão de distâncias (milhas para quilómetros)
Algoritmo:
nome: Conversão de distâncias (milhas para quilómetros)
begin
leitura com validação de uma distância expressa em milhas (MILHAS);
conversão da distância de milhas para quilómetros (MILHAS, KILOMETROS);
impressão da distância expressa em quilómetros (KILOMETROS)
end
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Resolução da equação de 2º grau
Algoritmo:
nome: Resolução da equação de 2º grau Ax2+Bx+C = 0
begin
leitura com validação dos coeficientes da equação (A, B, C);
determinação das raízes da equação por aplicação da fórmula resolvente
(A, B, C, X1R, X1I, X2R, X2I);
impressão das raízes (X1R, X1I, X2R, X2I)
end
Departamento de Electrónica e Telecomunicações - Universidade de Aveiro
Download

aula 2 - Universidade de Aveiro › SWEET