ISCAP - Algoritmia
ISCAP - Algoritmia
Algoritmia
Fase de Implementação
Solução como um
PROGRAMA
de Computador
Ana Paula Teixeira
Pág. 2
ISCAP Os Computadores e a resolução de Problemas
Definição do Algoritmo
Análise do Problema
PROBLEMA
Codificação
Programa Fonte
Compilação
Teste do Programa
Implementação:
Positiva •Colocação em Produção
Avaliação dos Resultados •Formação de utilizadores
•Manutenção e actualização
Ana Paula Teixeira
Pág. 5
ISCAP O que é um Algoritmo?
• Análise de um Problema:
– Fazer uma aproximação descendente
– Proceder à Modularização
1. Definição de Dados
2. Leitura de Dados
3. Tratamento dos Dados
4. Apresentação de Resultados
Versão 2
Versão 1
1. Ler CP, CA, CMP
1. Ler CP, CA, CMP
2. Somar os 3 valores
2. Calcular valor de PV:
3. Calcular 20% do valor
PV = CP + CA + CMP +0.2 * (CP+CA+CMP) obtido
3. Apresentar resultados 4. Somar os valores obtidos
em 2 e 3
5. Apresentar resultados
Ana Paula Teixeira
Pág. 10
ISCAP Exemplos de Análise de Problemas
• Dados Simples
– Numéricos
• Poderão ainda ser de diferentes tipos (Inteiros; Reais)
– Dados tipo cadeia de caracteres (Alfanuméricos)
• Exemplo Nome = “ANA”
– Dados Lógicos
• Utilizam-se para estabelecimento de condições
• Estruturas de Dados básicas
♣ Vectores X(i), ♣ Matrizes Y(a,b)
• Estruturas Complexas
♣ Ficheiros ♣ Bases de dados
Ana Paula Teixeira
Pág. 14
ISCAP Operações
• Simbologia utilizada
– Adição + 3+2
– Subtracção - 9-5
– Divisão / 15/6
– Multiplicação * 24*45
– Potenciação ^ 3^2
• Prioridade das operações
– Parentização
– Potenciação, raiz quadrada
– Multiplicação, Divisão
– Adição, Subtracção
Início/Fim Decisão
Processo
Documento
Entrada/Saída Conector
de Dados
Fluxo
Ana Paula Teixeira
Pág. 20
ISCAP Estrutura de Controlo Sequencial
Algoritmo Nome Objectivo:
Inicio Escrever o
1. [Inicialização de Variáveis] conteúdo de uma
variável
Nome←”Ana“ anteriormente
2. [Apresentação de Resultados] inicializada
ESCREVA (Nome)
Fim
Principais Conceitos:
•Inicializar INICIO
•Escrever
NOME ⇐ “ANA”
NOME
FIM
Ana Paula Teixeira
Pág. 23
ISCAP Traçagem
Algoritmo Nome
2. Ana
INICIO
Principais Conceitos:
•Inicializar X⇐0
•Ler Y⇐0
Soma ⇐ 0
•Calcular
•Escrever
X, Y
Soma ⇐ X + Y
Soma
Não Sim
Numero > 0
Não é Positivo
Positivo
FIM
Ana Paula Teixeira
Pág. 34
ISCAP Traçagem
Algoritmo Positividade (versão 1.0)
Dados para teste:Número =-7
Passo NUMERO MENSAGEM NUMERO>0 Saída
1. 0
2. -7
3. Falso
não é positivo
4. O número -7 não
é positivo
5. Fim
Ana Paula Teixeira
Pág. 35
ISCAP Traçagem
Algoritmo Positividade (versão 1.0)
Dados para teste:Número = 34
Passo NUMERO MENSAGEM NUMERO>0 Saída
1. 0
2. 34
3. Verdadeiro
é positivo
4. O número 34 é
positivo
5. Fim
Ana Paula Teixeira
Pág. 36
ISCAP Traçagem
Algoritmo Positividade (versão 1.0)
Dados para teste:Número = 0
Passo NUMERO MENSAGEM NUMERO>0 Saída
1. 0
2. 0
3. Falso
não é positivo
4. O número 0 não
é positivo
5. Fim
Ana Paula Teixeira
Pág. 37
Estrutura de Controlo Alternativa
ISCAP
Composta
Se Condição1
Então
Processo p/ Condição1 Verdadeira
Senão
Se Condição2
Então Processo p/ Condição2 Verdadeira
Senão Processo p/ Condição2 Falsa
Fim se
Fim se
Exemplo (Ler um número e verificar a sua positividade)
Se Numero >0
Então Escreva ( Numero ”é positivo!”)
Senão
Se Num < 0
Então Escreva (Numero ”é negativo!”)
Senão Escreva (Numero ”é nulo!”)
Fim se
Fim se
Ana Paula Teixeira
Pág. 38
Estrutura de Controlo Alternativa
ISCAP
Composta
Algoritmo Positividade (versão 2.0) Objectivo:
Inicio
Ler 1 número e
1. [Declaração de Variáveis]
indicar a sua
Mensagem ← “ “; Numero ← 0 positividade
2. [Leitura do Número]
LEIA (Numero)
3 [Processamento - Verificação da positividade]
Se Numero > 0
Então Mensagem ← “é positivo”
Senão Se Numero = 0
Então Mensagem ← “ é nulo”
Senão Mensagem ← “é negativo”
Fim se
Fim se
Pág. 39 .... Ana Paula Teixeira
ISCAP Lista de e Variáveis
Algoritmo Nome
Não Sim
Numero > 0
Numero = 0
Sim Não Nº Positivo
Nº Nulo Nº Negativo
FIM
Ana Paula Teixeira
Pág. 41
ISCAP Traçagem
Algoritmo Positividade (versão 2.0)
Dados para teste:Número = -7
Passo NUMERO MENSAGEM NUMERO NUMERO Saída
>0 =0
1. 0
2. -7
3. Falso
Falso
é negativo
4. O número -7 é
negativo
Ana Paula Teixeira
Pág. 42
ISCAP Traçagem
Algoritmo Positividade (versão 2.0)
Dados para teste:Número = 34
Passo NUMERO MENSAGEM NUMERO NUMERO Saída
>0 =0
1. 0
2. 34
3. Verdadeiro
é positivo
4. O número 34 é
positivo
1. 0
2. 0
3. Falso
Verdadeiro
é nulo
4. O número 0 é
nulo
Ana Paula Teixeira
Pág. 44
ISCAP Exercícios
• Escreva um algoritmo que leia um Número e verifique se é
divisível por 5e 7 simultaneamente.Faça a traçagem para os
n.ºs 15 e 35.
• Escreva um algoritmo que calcule a média das idades de
uma população de 15 pessoas e escreva uma mensagem de
acordo com a situação (Média < 25 » “Jovem”, Média <40
» “Adulta”, outras » “Idosa. Faça a traçagem para
(12,8,2,6,5,18,54,65,5,10,48,47,7,4,18,17,12,13)
• Altere o Algoritmo anterior criando mais uma classe de
classificações: Muito Jovem, se Média < 14 ».
Enquanto Condição
1.2. [Operações a realizar dentro do ciclo]
[Leituras, cálculos,...]
Exemplo:
Para I = 1 até 10
Ler (Numero)
Soma ← Soma + Numero
Proximo I
Escrever (Soma)
Ana Paula Teixeira
Pág. 47
ISCAP Estrutura de Repetição – Seleccionar caso
Exemplo:
Seleccionar Caso Opção Seleccionar Caso Opção
Caso Opção = 1 Caso Opção = 1
procedimento A ADICIONAR
Caso Opção = 2 Caso Opção = 2
procedimento B ALTERAR
Caso Senão Caso Senão
procedimento ERRO ERRO
Fim Seleccionar Fim Seleccionar
Algoritmo Máximo
Numero
Máximo
Numero >Máximo
Sim Não
Máximo=Numero
FIM
Contador=Contador+1
Ana Paula Teixeira
Pág. 52
ISCAP Exercícios
1. Escreva um algoritmo que leia uma lista de valores e determine o
Máximo, o Mínimo e a Soma desses valores. A lista termina quando o
valor lido for 999999.
2.1. Altere o algoritmo do ponto 1. de modo a que após a leitura de uma
lista de valores seja perguntado ao utilizador se este pretende ler uma
nova lista.
2.2. Altere o algoritmo do ponto 1. de modo a que após a leitura de um
valor e seu processamento, seja perguntado ao utilizador se este
pretende continuar ou não.
3. Escreva um algoritmo que calcule as raízes reais de uma equação de 2º
grau. Após a execução para uma equação deverá ser perguntado ao
utilizador se este pretende continuar ou não.
Algoritmia/V.B.A.
•Procedimentos
Os procedimentos são módulos de código do Visual Basic que
executam uma determinada acção. Uma macro é um exemplo de um
procedimento
•Existem dois tipos básicos de procedimentos em VBA:
– Procedimentos que retornam ou devolvem um valor designados por Function
– Procedimentos que não retornam um valor designados por Sub
•Estrutura de um procedimento:
– Instruções de início e fim
– Nome
– Argumentos
– Código do VBA
– Valor devolvido (apenas nos procedimentos tipo Function)
Function