Vous êtes sur la page 1sur 29

Algoritmos e Programao I

Curso de graduao em sistemas de informao Prof. Rodrigo Sena

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

O que um algoritmo?

Conjunto finito de instrues organizadas em seqncia que descrevem a soluo de algum problema.

Instruo = Verbo imperativo + complemento

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Tipos de algoritmo: Descrio narrativa Fluxograma Pseudo-Cdigo

Programa

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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.

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Fluxograma
Sim

Inicio

Ligue a TV

Ligou?
No

Fim

Conecte a Tomada.

No

Est na Tomada?

Sim

Assistncia tcnica

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Problema Anlise Como construir Algoritmos Soluo Teste de qualidade Produto final Alteraes

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Testes de qualidade

Perfeitamente definido

No ambguo

Eficaz

Eficiente

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Anlise de algoritmo
Algoritmo lavar cabelo 1 Molhe o cabelo 2 Coloque o xampu 3 - Massageie 4 - Enxge 5 - Repita

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Mas afinal, para que serve um algoritmo?


Algumas aplicaes prticas de algoritmos: Algoritmos criptogrficos: usados por exemplo na Internet, transaes bancrias, celular etc. Projeto Genoma Humano: identificar todos os 100.000 genes do DNA humano; Algoritmos Inteligentes: como exemplo, algoritmos de busca na internet; Algoritmos numricos: Simuladores; Na indstria: alocar recursos com maior eficincia, localizar poos subterrneos, insero, atualizao e busca numa base de dados, etc.

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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)

endereo 10CF 2B00 0200

Varivel NOME_ALUNO FALTAS MEDIA

Tipo Caracter Inteiro Real

Contedo Maria 5 8,2

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Atribuio de contedo <Nome_da_variavel> Expresso

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

Qual o valor de A e B ao Final do algoritmo?

Diga que atribuies sero concludas Com sucesso e quais apresentaro erro.

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Conceito de constante

Exemplo: PI = 3,14

Atribuio Const <Nome_da Constante> Exemplo: Const PI 3,14 Valor

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Expresses e operandos

Aritmticos Adio Subtrao Multiplicao Diviso Exponenciao

Relacionais Igual Diferente Maior Menor Maior ou igual Menor ou igual = <> > < >= <=

Lgicos E OU

+ * / **

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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;

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Regras bsicas da construo de algoritmos

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.

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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)

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

Estrutura de um algoritmo

algoritmo MeuAlgoritmo var {Declarao de variveis} inicio {Instrues}

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

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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.

Curso de graduao em Sistemas de Informao Algoritmos e programao I Prof. Rodrigo Sena

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

Vous aimerez peut-être aussi