apontamentos algoritmia

Upload: flaviomarta

Post on 12-Jul-2015

81 views

Category:

Documents


0 download

TRANSCRIPT

ISCAP

Algoritmia

Pg. 1

Os Computadores e a resoluo de Problemas

ISCAP

PROBLEMA

Fase de Resoluo do Problema

Passo difcil

Soluo em forma de Algoritmo Fase de Implementao

Soluo como um PROGRAMA de ComputadorPg. 2

1

Os Computadores e a resoluo de Problemas

ISCAP

importante separar as duas fases:1. Fase de Resoluo do Problema Elaborao de um algoritmo adequado 2. Fase de Implementao Se o Algoritmo satisfaz, ento segue-se a implementao desse algoritmo numa Linguagem de Programao (Programa de Computador) Nota: Se o algoritmo for suficientemente preciso, ento, a codificao quase directaPg. 3

Os Computadores e a resoluo de Problemas

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

2

Os Computadores e a resoluo de Problemas

ISCAP Algoritmo

Definio do PROBLEMA

Anlise do Problema

Codificao

Programa FonteCompilao

Negativa

Programa ObjectoTeste do ProgramaImplementao:

Avaliao dos ResultadosPg. 5

Positiva

Colocao em Produo Formao de utilizadores Manuteno e actualizaoAna na Paula aula A P Teix ixeiraira e

Algoritmizar um Problema

ISCAP

Na fase de Resoluo de um Problema, deveremos cumprir os seguintes passos:1. Descrio do Problema (definio clara dos dados que temos, dados a ler e dados a obter) - Fazer uma aproximao descendente e proceder Modularizao Elaborao da lista de variveis ou dicionrio de dados Construo do Algoritmo (todo o Algoritmo tem um Nome. Ex: Algoritmo Soma) Teste do Algoritmo - traagem do Algoritmo para um conjunto de dados (esta fase muito importante para validao do algoritmo)

2. 3. 4.

Poder ainda ser complementado pela apresentao de um FluxogramaPg. 6

3

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 CdigoPg. 7

Principais blocos do Algoritmo

ISCAP

Os algoritmos so formados por conjuntos de passos.Cada passo numerado e apresenta uma breve descrio da sua funcionalidade

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 ResultadoPg. 8

4

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 3Pg. 9

ISCAP

Exemplos de Anlise de Problemas

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

5

Exemplos de Anlise de Problemas

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

Exemplos de Anlise de Problemas

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

6

Tipos de Dados Dados Simples Numricos Podero ainda ser de diferentes tipos (Inteiros; Reais)

ISCAP

Dados tipo cadeia de caracteres (Alfanumricos) Exemplo Nome = ANA

Dados Lgicos Utilizam-se para estabelecimento de condies

Estruturas de Dados bsicas Vectores X(i), Estruturas Complexas FicheirosPg. 13

Matrizes Y(a,b) Bases de dados

Operaes Simbologia utilizada

ISCAP

Pg. 14

7

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 ^2Pg. 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

d

3. Em Quais dos seguintes pares importante a ordem das operaes? X Y Z Y X Z Z Y Y Z Z X Y X X YPg. 16

8

Linguagem Algortmica - InstruesDeclarao de variveis N inteiro; R real; C caractere; B booleano; D data Inicializao de variveis N 0 Estruturas sequenciais Leia("Nome", C) Escreva("Nome",C) R R *2 + 4/N Estruturas condicionais Se (cond) ento aco1 seno aco2 Fimse

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

Conecttorr Conec o Fluxo

Pg. 18

9

Tipos de Estruturas de ProgramaoSequencial

ISCAP

Conjunto de instrues que visam atingir um objectivo

CondicionalAs instrues a executar dependem de pelo menos uma condio lgica que ter que ser avaliada

RepetitivaConjunto 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

Estrutura de Controlo Sequencial

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 VariveisAlgoritmo Nome Nome NOME Tipo Alfa Descrio Nome a escrever

ISCAP

Pg. 21

Inicializar varivel; Escrever o s/valorPrincipais Conceitos: Inicializar Escrever

ISCAP

INICIO

NOME ANA

NOME

FIMPg. 22

11

TraagemAlgoritmo Nome Passo 1. 2. Nome Ana Ana Sada

ISCAP

Pg. 23

Estrutura de Controlo SequencialAlgoritmo SomaInicio 1. [Declarao e Inicializao de Variveis] X real, Y real, Soma real Soma 0 2. [Leitura de variveis]LEIA (X) LEIA (Y)

ISCAP Objectivo:

Ler 2 nmero e escrever o valor da soma

3 [Processamento - clculo da soma] SOMA X + Y 4. [apresentao de Resultados]ESCREVA (A soma de X, com Y SOMA)

FimPg. 24

12

Lista de e VariveisAlgoritmo Nome Nome X Y Soma Tipo Real Real Real Descrio 1 Numero lido 2 Numero lido

ISCAP

Resulltado da soma dos 2 ns lidos

Pg. 25

Ler 2 Ns e Escrever a sua SomaPrincipais Conceitos: Inicializar Ler Calcular Escrever INICIO X0 Y0 Soma 0 X, Y

ISCAP

Soma X + Y

Soma

FIMPg. 26

13

TraagemAlgoritmo 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

89A soma de 56 com 33 89

Fim

Exerccios

ISCAP

Elabore um Algoritmo estruturado para os exemplos 1, 2 , 3 e 4 vistos anteriormente Dever apresentar A lista de variveis Algoritmo e traagem para os seguintes valores: Exemplo 1 9 Dados: 4500 Exemplo 2 9 Dados: Cunha, Andr Exemplo 3 9 Dados: 400; 600; 700; 350 Exemplo 4 9 Dados: 1000Pg. 28

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

Estrutura de Controlo CondicionalSe Condio Ento

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 sePg. 30

15

Estrutura de Controlo CondicionalAlgoritmo Positividade (verso 1.0) Inicio1. [Declarao de Variveis] Numero real, Mensagem caractere 2. [Leitura do Nmero]LEIA (Numero)

ISCAP Objectivo: Ler 1 nmero e escrever se positivo ou no

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 FimPg. 31

Estrutura de Controlo CondicionalAlgoritmo Positividade (verso 2.0) Inicio1. [Declarao de Variveis] Numero real, Mensagem caractere 2. [Leitura do Nmero]LEIA (Numero)

ISCAP Objectivo: Ler 1 nmero e escrever se positivo ou no

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 VariveisAlgoritmo Nome

ISCAP

Nome NumeroMensagem

Tipo Real Alfa

Descrio Numero lido Descrio da positividade do numero lido

Pg. 33

Ler um N e Escrever a sua Positividade (verso 1)Principais Conceitos: Alternativa (Se;Ento;Seno) Numero INICIO

ISCAP

No

Numero > 0

Sim

No Positivo

Positivo

FIMPg. 34

17

TraagemPasso NUMERO MENSAGEM NUMERO>0

ISCAP

Algoritmo Positividade (verso 1.0) (Dados para teste:Nmero =-7Sada

1. 2. 3.

0 -7 Falso no positivoO nmero -7 no positivo

4. 5.Pg. 35

Fim

Traagem

ISCAP

Algoritmo Positividade (verso 1.0) Dados para teste:Nmero = 34Passo NUMERO MENSAGEM NUMERO>0 Sada

1. 2. 3.

0 34 Verdadeiro positivoO nmero 34 positivo

4. 5.Pg. 36

Fim

18

Traagem

ISCAP

Algoritmo Positividade (verso 1.0) Dados para teste:Nmero = 0Passo NUMERO MENSAGEM NUMERO>0 Sada

1. 2. 3.

0 0 Falso no positivoO nmero 0 no positivo

4. 5.Pg. 37

Fim

Estrutura de Controlo Condicional compostaSe Condio1 Ento Processo p/ Condio1 Verdadeira Seno Se Condio2 Ento Processo p/ Condio2 Verdadeira Seno Processo p/ Condio2 Falsa Fim se Fim se

ISCAP

Exemplo (Ler um nmero e verificar a sua positividade)Se Numero >0 Ento Seno Escreva ( Numero positivo!) Se Num < 0 Ento Escreva (Numero negativo!) Seno Escreva (Numero nulo!) Fim se Fim sePg. 38

19

Estrutura de Controlo Condicional composta Algoritmo Positividade (verso 3.0)Inicio 1. [Declarao de Variveis] Mensagem caractere, Numero real 2. [Leitura do Nmero]LEIA (Numero)

ISCAP Objectivo:

Ler 1 nmero e indicar a sua positividade

3 [Processamento - Verificao da positividade]Se Numero > 0 Ento Mensagem positivo Seno Se Numero = 0 Ento Mensagem nulo Seno Mensagem negativo Fim seFim sePg. 39

....

Lista de e VariveisAlgoritmo Nome

ISCAP

Pg. 40

20

Ler um N e Escrever a sua Positividade (verso 3)Principais Conceitos: Alternativa composta (Se;Ento;Seno(Se...))No

ISCAP

INICIO NumeroSim

Numero > 0

Numero = 0Sim No

N Positivo

N Nulo

N Negativo

FIMPg. 41

Traagem

ISCAP

Algoritmo Positividade (verso 3.0) Dados para teste:Nmero = -7Passo NUMERO MENSAGEM NUMERO NUMERO>0 =0 Sada

1. 2. 3.

0 -7 FalsoFalso

negativo 4.Pg. 42

O nmero -7 negativo

21

Traagem

ISCAP

Algoritmo Positividade (verso 3.0) Dados para teste:Nmero = 34Passo NUMERO MENSAGEM NUMERO NUMERO>0 =0 Sada

1. 2. 3.

0 34Verdadeiro

positivo 4.Pg. 43

O nmero 34 positivo

Traagem

ISCAP

Algoritmo Positividade (verso 3.0) Dados para teste:Nmero = 0Passo NUMERO MENSAGEM NUMERO NUMERO=>0 0 Sada

1. 2. 3.

0 0 FalsoVerdadeiro

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 MaximoEnto Maximo Numero

Fim se2.4. [Actualizao da varivel de Controlo do Ciclo]

Contador Contador + 1

2.5. [Terminar ciclo ]

Fim Enquanto 3. [Apresentao de Resultados] ESCREVA ( O mximo valor lido foi , Maximo) Fim

Pg. 50

25

Lista de e VariveisAlgoritmo MximoNome Nmero Mximo Tipo Real Real Descrio Numero lido Mximo valor encontrado

ISCAP

Contador

Inteiro

Varivel de controlo do ciclo - conta o n de repeties do ciclo

Pg. 51

Ler 10 ns e escrever valor do MaiorPrincipais Conceitos: Ciclo de Repetio Enquanto Cond Sim Numero Numero >Mximo Sim Mximo=Numero No INICIO Mximo - Numero 0 Contador 0 Contador