Académique Documents
Professionnel Documents
Culture Documents
Algoritmia
Pg. 1
ISCAP
PROBLEMA
Passo difcil
ISCAP
ISCAP
De uma forma mais detalhada, poderemos desdobrar estas duas em seis fases para a resoluo do Problema: Definio do Problema Analise do Problema (elaborao do Algoritmo) Codificao do algoritmo em linguagem de Programao Teste do Programa Implementao Documentao
Pg. 4
ISCAP Algoritmo
Definio do PROBLEMA
Anlise do Problema
Codificao
Programa Fonte
Compilao
Negativa
Programa Objecto
Teste do Programa
Implementao:
Positiva
Algoritmizar um Problema
ISCAP
2. 3. 4.
O que um Algoritmo?
ISCAP
Um Algoritmo uma sequncia de passos ordenados e sem ambiguidade e que levam resoluo de um problema Exemplos:
Indicaes para chegar a um determinado endereo Instrues para construo de um brinquedo Receita de culinria
Propriedades:
Passos simples e sem ambiguidades Ordem dos passos cuidadosamente definida Passos efectivos - resolver um problema num n finito de passos
Na representao de um Algoritmo, usamos uma linguagem estruturada, muito prxima da natural Pseudo Cdigo
Pg. 7
ISCAP
Tipicamente poderemos considerar que um Algoritmo composto pelos seguintes Blocos: 1.Definio de Dados 2.Inicializao de variveis 3. Leitura de Dados 4. Tratamento dos Dados 5. Apresentao de Resultado
Pg. 8
Exemplos de Anlise de Problemas Ex1: Calcular a dcima parte de um valor lido 1. Ler um Nmero 2. Dividir o Nmero lido por 10 3. Escrever o n lido e o resultado Obtido Ex2: Ler apelido e nome e apresentar a sua juno 1. Ler APELIDO 2. Ler NOME 3. Concatenar NOME + + APELIDO 4. Escrever o resultado obtido em 3
Pg. 9
ISCAP
ISCAP
Ex3: Pretende-se calcular o Preo de Venda (PV) de um artigo, sabendo que este o resultado da soma de: custos de produo (CP), custos de armazenagem (CA) e custos de Mat.Primas (CMP), acrescido de 20% de lucro PV = CP + CA +
CMP + 20% *(CP+CA+CMP) Verso 2 1. Ler CP, CA, CMP 2. Somar os 3 valores 3. Calcular 20% do valor obtido 4. Somar os valores obtidos em 2 e 3 5. Apresentar resultados
Verso 1 1. Ler CP, CA, CMP 2. Calcular valor de PV: PV = CP + CA + CMP +0.2 * (CP+CA+CMP) 3. Apresentar resultados
Pg. 10
ISCAP
Ex4: Dada um valor em Escudos, converter para Euros. 1. Atribuir a FACTOR um valor 200.482 2. Ler o Valor em Escudos (VAL_ESC) 3. Converter (VAL_EURO =VAL_ESC/FACTOR) 4. Apresentar resultados 5. Terminar
Pg. 11
ISCAP
Ex5: Dada uma lista de 10 ns, pretende-se determinar o maior valor lido 1. Atribuir a MAXIMO um valor muito pequenino () 2. Repetir 10 vezes:
Ler NUMERO Se o NUMERO lido for superior a MAXIMO Ento MAXIMO toma o valor do NUMERO
3. Apresentar resultados
Pg. 12
ISCAP
Dados Lgicos
Utilizam-se para estabelecimento de condies
ISCAP
Pg. 14
Variveis
ISCAP
Os dados necessrios ao processamento de um Programa so armazenados em posies de da memria identificadas por um nome - a Varivel. Quando definimos a varivel, estamos a reservar um endereo de memria onde ir ser guardado o valor dessa mesma varivel. Este valor mutvel, consoante as operaes que vo sendo feitas sobre ele. Exemplos: Y -5 X2 Z0 Y (X+Y) /2 X Y *2 Z Y ^2
Pg. 15
Exerccios
ISCAP
1. Sejam A,B e C reais e I, J e K inteiros A = 4.0 B = 6.0 I= 3 Qual o valor das seguintes Expresses? C A * B -I K B/4 C B/A+1.5 2.Transforme em expresses de computador:
a+ b c e f b b2 4ac 2a (a + b) c d
ISCAP
Estruturas Repetitivas N. finito de passos Para i = 1 at n (passo p) Aco Prximo i Controlado por uma condio Enquanto (cond) aces Fim Enquanto Controlado por vrias condies Enquanto (cond e /ou / no cond2) Aces Fim Enquanto
Pg. 17
Fluxogramas - Simbologia
ISCAP
Incio/Fim
Deciso
Processo Documento
Entrada/Sada de Dados
Pg. 18
ISCAP
Condicional
As instrues a executar dependem de pelo menos uma condio lgica que ter que ser avaliada
Repetitiva
Conjunto de instrues que se iro repetir at que seja atingida uma determinada condio. O n. de vezes a repetir as operaes pode ser determinado antes ou durante a execuo.
Pg. 19
ISCAP
Algoritmo Nome Objectivo: Inicio Escrever o contedo de uma 1. [Declarao e Inicializao de Vari veis] varivel Nome string anteriormente inicializada Nome Ana 2. [Apresentao de Resultados]
ESCREVA (Nome)
Fim
Pg. 20
10
Lista de e Variveis
Algoritmo Nome Nome NOME Tipo Alfa Descrio Nome a escrever
ISCAP
Pg. 21
ISCAP
INICIO
NOME ANA
NOME
FIM
Pg. 22
11
Traagem
Algoritmo Nome Passo 1. 2. Nome Ana Ana Sada
ISCAP
Pg. 23
ISCAP Objectivo:
Fim
Pg. 24
12
Lista de e Variveis
Algoritmo Nome Nome X Y Soma Tipo Real Real Real Descrio 1 Numero lido 2 Numero lido
ISCAP
Pg. 25
ISCAP
Soma X + Y
Soma
FIM
Pg. 26
13
Traagem
Algoritmo Soma Dados para teste: X=56, Y=33 Passo 1. 2. 3. 4. 5.
Pg. 27
ISCAP
X 0 56
Y 0 33
SOMA 0
Sada
89
A soma de 56 com 33 89
Fim
Exerccios
ISCAP
14
Exercicios
ISCAP
Escreva um algoritmo que leia uma temperatura em graus Celsius e converta para graus Farneith. Faa a traagem para 37.5 Escreva um algoritmo, que dados os valores dos lados de um rectngulo, calcule a sua rea e o seu permetro.. Faa a traagem para L1=5, L2=8. Escreva um algoritmo, que leia as notas de um aluno (5 disciplinas) e calcule a mdia da turma
Pg. 29
ISCAP
Processo para Condio Verdadeira Seno Processo para Condio Falsa Fim se Exemplo (Ler um nmero e verificar a sua paridade)
Se Nmero/2 = Int (Nmero/2) Ento Escreva (O nmero , Numero par!) Seno Escreva (O nmero , Numero impar!) Fim se
Pg. 30
15
3 [Verificao da positividade e apresentao de resultados] Se Numero > 0 Ento ESCREVA ( O nmero , Numero , positivo) Seno ESCREVA ( O nmero , Numero , no positivo) Fim se Fim
Pg. 31
3 [Processamento - Verificao da positividade] Se Numero > 0 Ento Mensagem positivo Seno Mensagem no positivo Fim se 4. [Apresentao de Resultados]
ESCREVA ( O nmero , Numero, , Mensagem)
Pg. 32
Fim
16
Lista de e Variveis
Algoritmo Nome
ISCAP
Nome Numero
Mensagem
Pg. 33
ISCAP
No
Numero > 0
Sim
No Positivo
Positivo
FIM
Pg. 34
17
Traagem
Passo NUMERO MENSAGEM NUMERO>0
ISCAP
1. 2. 3.
0 -7 Falso no positivo
O nmero -7 no positivo
4. 5.
Pg. 35
Fim
Traagem
ISCAP
1. 2. 3.
0 34 Verdadeiro positivo
O nmero 34 positivo
4. 5.
Pg. 36
Fim
18
Traagem
ISCAP
1. 2. 3.
0 0 Falso no positivo
O nmero 0 no positivo
4. 5.
Pg. 37
Fim
ISCAP
19
ISCAP Objectivo:
....
Lista de e Variveis
Algoritmo Nome
ISCAP
Pg. 40
20
ISCAP
INICIO Numero
Sim
Numero > 0
Numero = 0
Sim No
N Positivo
N Nulo
N Negativo
FIM
Pg. 41
Traagem
ISCAP
1. 2. 3.
0 -7 Falso
Falso
negativo 4.
Pg. 42
O nmero -7 negativo
21
Traagem
ISCAP
1. 2. 3.
0 34
Verdadeiro
positivo 4.
Pg. 43
O nmero 34 positivo
Traagem
ISCAP
1. 2. 3.
0 0 Falso
Verdadeiro
nulo 4.
O nmero 0 nulo
22
Exerccios
ISCAP
Escreva um algoritmo que leia um nmero e verifique se divisvel por 5e 7 simultaneamente.Faa a traagem para os n.s 15 e 35. Escreva um algoritmo que calcule a mdia das idades de uma populao de 15 pessoas e escreva uma mensagem de acordo com a situao (Mdia < 25 Jovem, Mdia <40 Adulta, outras Idosa. Faa a traagem 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 classificaes: Muito Jovem, se Mdia < 14 .
Pg. 45
ISCAP
Enquanto Condio
1.2. [Operaes a realizar dentro do ciclo] [Leituras, clculos,...] 1.3. [Actualizao da varivel de Controlo do Ciclo] 1.4. [Terminar ciclo ]
Fim Enquanto
Pg. 46
23
ISCAP
Prximo I
Exemplo: Para I = 1 at 10
Ler (Numero) Soma Soma + Numero
Proximo I
Escrever (Soma)
Pg. 47
ISCAP
Seleccionar Caso Opo Caso Opo = 1 procedimento A Caso Opo = 2 procedimento B Caso Seno procedimento ERRO Fim Seleccionar
Exemplo: Seleccionar Caso Opo Caso Opo = 1 ADICIONAR Caso Opo = 2 ALTERAR Caso Seno ERRO Fim Seleccionar
Pg. 48
24
Estruturas de Repetio
Algoritmo Soma de 50 nmero
Inicio 1. [Declarao e inicializao de Variveis] Numero real, Soma real, contador inteiro, Soma 0 2. [Ciclo de Processa/ -Leitura dos ns e clculo da soma] 2.1. [Inicializar varivel de controlo de ciclo]
Contador 0; Enquanto Contador < 50 2.2. [Ler nmero] Leia( Numero] [Actualizao do valor da Soma] Soma Soma + Numero 2.3. [Actualizao da varivel de Controlo do Ciclo] Contador Contador + 1 2.4.. [Terminar ciclo ] Fim Enquanto 3. [Apresentao de Resultados] Escreva(a soma dos 50 ns lidos , Soma)
Fim
Pg. 49
Estruturas de Repetio
Algoritmo Mximo
Inicio
1. [Declarao e inicializao de Variveis] Maximo real, Numero real, ; Contador inteiro Maximo - 999999999 ; Contador 0
2. [Processamento - Determinao do mximo] 2.1. [Ciclo de Repetio]
LEIA (Numero)
2.3. [Verificao de valor]
Fim se
2.4. [Actualizao da varivel de Controlo do Ciclo]
Contador Contador + 1
Fim Enquanto 3. [Apresentao de Resultados] ESCREVA ( O mximo valor lido foi , Maximo) Fim
Pg. 50
25
Lista de e Variveis
Algoritmo Mximo
Nome Nmero Mximo Tipo Real Real Descrio Numero lido Mximo valor encontrado
ISCAP
Contador
Inteiro
Pg. 51
ISCAP
Mximo
FIM Contador=Contador+1
Pg. 52
26
Exerccios
ISCAP
1. Escreva um algoritmo que leia uma lista de valores e determine o Mximo, o Mnimo 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 aps 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 aps a leitura de um valor e seu processamento, seja perguntado ao utilizador se este pretende continuar ou no. 3. Escreva um algoritmo que calcule as razes reais de uma equao de 2 grau. Aps a execuo para uma equao dever ser perguntado ao utilizador se este pretende continuar ou no.
Pg. 53
Exerccios
ISCAP
4. Escreva um algoritmo que leia uma Lista de nmeros cujo tamanho determinado pelo utilizador e calcule o mximo n lido. 5. Escreva um algoritmo que leia o nome da disciplina e as notas de um aluno,calcule a mdia e determine a sua aprovao ou no no Curso. O Aluno considera-se aprovado se a sua mdia for no inferior a 12 valores. A leitura termina quando o nome lido for FIM O algoritmo deve permitir o clculo para vrios alunos. 6. Escreva um algoritmo que permita calcular o total da despesa feita num supermercado. Dever ler o nome dos itens, a quantidade e o preo unitrio. A leitura para cada cliente termina quando for lido o nome FIM.Deve permitir o clculo para vrios clientes.
Pg. 54
27
Exerccios
ISCAP
7. A empresa XPTO, SA distribuidora de componentes para automveis, pretende fazer a anlise de vendas do ano anterior. Para cada venda efectuada, existe informao seguinte: Nome do Cliente Zona Geogrfica (1- Norte; 2 - Sul; 3 - Centro) Famlia do Produto (1- Pneus; 2 - Jantes) Tipo de veculo (1- Ligeiros; 2 - Pesados) Quantidade, Valor Total As estatsticas pretendidas, so as seguintes: a) Valor Total de Vendas por Zona e Total Geral b) Total por Famlia de Produtos (Quantidade e Valor) c) Total por Tipo de veculo (Quantidade e Valor) Escreva um algoritmo para resoluo deste problema.
Pg. 55
Exerccios
ISCAP
8. Considere uma Empresa que comercializa dois tipos de Produtos - A e B, para os quais se conhece o preo unitrio e a quantidade existente em stock. Tipo de Produto Preo Quantidade A 500 2000 B 300 5000 Para cada nova encomenda necessrio conhecer os seguintes dados: N. Cliente; Tipo Produto; Quantidade Encomendada Escreva um algoritmo que permita fazer a gesto das Encomendas desta Empresa.
Pg. 56
28
Exerccios
ISCAP
a) Pretende-se que para cada encomenda seja verificada a quantidade existente para o Tipo de Produto, e se : a quantidade for Zero (0), emita uma mensagem No h stock para satisfazer a Encomenda; caso a quantidade existente seja inferior solicitada, ento a encomenda ser satisfeita parcialmente, dando tambm lugar emisso de uma mensagem: Satisfao parcial da Encomenda Na satisfao da Encomenda, dever actualizar sempre o Stock restante para o Tipo de Produto. Todas as Facturas devero referir : O Cliente, o tipo de Produto, a Quantidade satisfeita (quer seja total ou parcial) e o Valor a pagar b) Apresente um resumo final que informe das quantidades e valores facturados para cada Tipo de Produto, bem como os totais gerais.
Pg. 57
29