Académique Documents
Professionnel Documents
Culture Documents
O que um algoritmo?
Conjunto finito de instrues organizadas em seqncia que descrevem a soluo de algum problema.
Programa
Descrio narrativa
Exemplo: Receita culinria
Dissolva a gelatina em gua quente. Bata o leite condensado, o limo e a gelatina no liquidificador. Depois de tudo misturado acrescente as claras de ovo em neve e misture delicadamente. Unte uma frma com um pouco de leo e despeje a mistura. Leve para gelar at que fique firme.
Fluxograma
Sim
Inicio
Ligue a TV
Ligou?
No
Fim
Conecte a Tomada.
No
Est na Tomada?
Sim
Assistncia tcnica
Pseudo-Cdigo
Portugol Algoritmo SomaValor declare VALOR1, VALOR2, SOMA: inteiro escreva Digite o primeiro valor: leia VALOR1 escreva Digite o segundo valor: leia VALOR2 SOMA VALOR1 + VALOR2 escreva A soma dos valores : escreva SOMA fim algoritmo
Problema Anlise Como construir Algoritmos Soluo Teste de qualidade Produto final Alteraes
Testes de qualidade
Perfeitamente definido
No ambguo
Eficaz
Eficiente
Anlise de algoritmo
Algoritmo lavar cabelo 1 Molhe o cabelo 2 Coloque o xampu 3 - Massageie 4 - Enxge 5 - Repita
Anlise de algoritmo
Soluo:
Algoritmo lavar cabelo_Modificado 1 Molhe o cabelo 2 Repita 2 vezes 2.1 Coloque a quantidade correspondente a uma tampa de xampu no cabelo 2.2 Massageie o cabelo at fazer espuma 2.3 Enxge at tirar o xampu
Processamento de algoritmos
Processamento sequencial
Exemplo: Algoritmo Mdia 1 Some as duas primeiras notas 2 Some o resultado da instruo 1 com a terceira nota 3 Some o resultado da instruo 2 com a quarta nota 4 Some o resultado da instruo 3 com a quinta nota 5 Divida o resultado da instruo 4 por 5
Processamento condicional Exemplo: Algoritmo Mdia 1 Some as duas primeiras notas 2 Some o resultado da instruo 1 com a terceira nota 3 Some o resultado da instruo 2 com a quarta nota 4 Some o resultado da instruo 3 com a quinta nota 5 Divida o resultado da instruo 4 por 5 6 Se o resultado da instruo 5 for igual ou maior que 7 7 Aprove o aluno 8 - Se o resultado da instruo 5 for menor que 7 9 Reprove o aluno
IDENTAO
Processamento com repetio Exemplo: Algoritmo Mdia 1 Para cada aluno da sala faa 2 Some as duas primeiras notas 3 Some o resultado da instruo 2 com a terceira nota 4 Some o resultado da instruo 3 com a quarta nota 5 Some o resultado da instruo 4 com a quinta nota 6 Divida o resultado da instruo 5 por 5
Conceito de varivel
Ao ser executado, um algoritmo possui as seguintes fases: 1. Coleta das informaes de que o algoritmo necessita (Entrada); 2. Processamento; 3. Apresentao dos resultados (Sada).
Exemplo de endereo de memria: 10CF, 2A00, 0200 endereo 10CF 2B00 0200 Varivel NOME_ALUNO FALTAS MEDIA
Tipos de variveis Inteiro: Para os nmeros inteiros (Positivos e negativos) Real: Para os nmeros reais (Positivos e negativos) Caracter: Para um conjunto Alfanumrico Lgico ou Booleano: Para valores lgicos (verdadeiro ou falso)
Exemplo 2: Exemplo 1: Sejam 2 variveis A e B do tipo inteiro: A B B 2 A B+3 Seja A do tipo Inteiro e B do tipo Lgico: A B A B 2 5,6 B Verdadeiro
Diga que atribuies sero concludas Com sucesso e quais apresentaro erro.
Conceito de constante
Exemplo: PI = 3,14
Exerccio: Reescreva o algoritmo mdia utilizando constantes e variveis. Atribua valores para testar o algoritmo.
Algoritmo Mdia 1 Some as duas primeiras notas 2 Some o resultado da instruo 1 com a terceira nota 3 Some o resultado da instruo 2 com a quarta nota 4 Some o resultado da instruo 3 com a quinta nota 5 Divida o resultado da instruo 4 por 5
Possvel resultado: Algoritmo Mdia VAR NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, MEDIA: Real Const DIVIDE 5 1 Some NOTA1 e NOTA2 2 Some o resultado da instruo 1 com a NOTA3 3 Some o resultado da instruo 2 NOTA4 4 Some o resultado da instruo 3 NOTA5 5 Divida o resultado da instruo 4 por DIVIDE
Expresses e operandos
Relacionais Igual Diferente Maior Menor Maior ou igual Menor ou igual = <> > < >= <=
Lgicos E OU
+ * / **
Metodologia para desenvolvimento de algoritmos passo 1: leia cuidadosamente a especificao do problema at o final. (fazer anotaes) passo 2: levantar e analisar todas as entradas citadas na especificao do problema; passo 3: levantar e analisar todas as sadas exigidas na especificao do problema; passo 4: verificar se necessrio gerar valores internamente ao algoritmo e levantar as variveis necessrias e os valores iniciais de cada uma (comentar); passo 5: levantar e analisar todas as transformaes necessrias para, dadas as entradas e valores gerados internamente, produzir as sadas especificadas (comentar); passo 6: testar cada passo do algoritmo, verificando se as transformaes Intermedirias executadas esto conduzindo aos objetivos desejados. Utilizar, sempre que possvel, valores de teste que permitam prever os resultados a priori;
1. Algoritmos devem ser feitos para serem lidos por seres humanos. 2. Procure incorporar comentrios no algoritmo no momento de sua construo sempre dando significado aos comentrios. 3. Use comentrios no prlogo para informaes gerais sobre o algoritmo. 4. Escolha nomes de variveis que sejam significativos. 5. Procure alinhar os comandos de acordo com o nvel a que pertenam (Identao). 6. Utilize espaos em branco e parnteses para melhorar a legibilidade e evitar erros.
Comentrios Pode ser designado em qualquer parte do algoritmo. designado pelo smbolo //
Entrada e sada de dados leia: Recebe informaes do usurio. Transfere dados de um perifrico (Teclado) Ex.: leia (NOTA1)
escreva: Informa resultados ao usurio. Transfere dados para um perifrico (Monitor) Ex.: escreva (A mdia do aluno , MEDIA)
Estrutura de um algoritmo
fimalgoritmo
Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena algoritmo MediaAluno var NOTA1,NOTA2, MEDIA: real const DIVIDE 2 inicio escreva (Digite a primeira nota: ) leia (NOTA1) escreva (Digite a segunda nota: ) leia (NOTA2) MEDIA (NOTA1 + NOTA2) / DIVIDE escreva (A mdia do aluno : , MEDIA) fimalgoritmo
Exemplo:
Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena algoritmo MediaAluno // Algoritmo que calcula a mdia de 2 notas de um aluno // Autor: Rodrigo Sena var NOTA1,NOTA2, MEDIA: real // Variveis que armazenam as notas e o resultado const DIVIDE 2 // constante com o fator de diviso para calcular a mdia inicio escreva (Digite a primeira nota: ) leia (NOTA1) // Solicita a NOTA1 ao usurio escreva (Digite a segunda nota: ) leia (NOTA2) // Solicita a NOTA2 ao usurio MEDIA (NOTA1 + NOTA2) / DIVIDE // Realiza o clculo da mdia escreva (A mdia do aluno : , MEDIA) // Apresentao do resultado fimalgoritmo
Exerccio
Faa um algoritmo que leia uma temperatura em Celsius, calcule e escreva essa temperatura em Fahrenheit. Sabe-se que F = 180(C+32)/100.
algoritmo ConverteTemperatura var C, F: real inicio Escreva (Informe a temperatura em Celsius: ) Leia ( C ) F (180 * (C+32)) /100 Escreva (A temperatura em Fahrenheit : , F) fimalgoritmo