Algoritmos
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,097
On Slideshare
2,095
From Embeds
2
Number of Embeds
1

Actions

Shares
Downloads
43
Comments
0
Likes
1

Embeds 2

http://tecnologiadainformacao2015.blogspot.com.br 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Prof. Adm. Hélio Lemes Costa Jr. M.Eng. Programação de Computadores Introdução a Algoritmos
  • 2. Agenda de Aula O que é “ lógica ” ou “ pensamento lógico ”? O que é algoritmo ? Alguns outros conceitos de algoritmos Exemplos de algoritmos Exercícios de Fixação e aprendizado
  • 3. Exemplos de Algoritmos
    • - pegar uma escada;
    • - posicionar embaixo da lâmpada;
    • - buscar uma lâmpada nova;
    • - ligar o interruptor;
    • - se a lâmpada não acender, então:
    • - subir na escada;
    • - retirar a lâmpada velha;
    • - colocar a lâmpada nova.
    • senão, se a lâmpada acender, então:
        • fim do algoritmo.
    Trocar a lâmpada
  • 4. O que é “ lógica ” ou “ pensamento lógico ”? Lógica é a forma correta de organizar os pensamentos e demonstrar o raciocínio de maneira correta. A utilização da lógica é a melhor forma de solucionar problemas e atingir objetivos.
  • 5. O que é “ lógica ” ou “ pensamento lógico ”? Sempre que se quer pensar , falar ou escrever corretamente, deve-se colocar os pensamentos em ordem.
  • 6. Exemplo Todo mamífero é um animal. Todo cavalo é mamífero. PORTANTO, todo mamífero é animal.
  • 7. A lógica é muito importante em nossa vida, no dia- a- dia. Veja os exemplos abaixo: A gaveta está fechada. A Bala está dentro da gaveta Preciso primeiro abrir a gaveta, para depois pegar a bala.
  • 8. Recapitulando... O que é “ lógica ” ou “ pensamento lógico ”? é a forma correta de organizar os pensamentos e demonstrar o raciocínio de maneira correta.
  • 9. O que é algoritmo ? Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema A seguir, um exemplo de algoritmo não computacional...
  • 10.  
  • 11. Algoritmo Apesar do nome estranho, os algoritmos são muito comuns no nosso cotidiano, como por exemplo, em uma receita de bolo . Nela estão escritos os ingredientes necessários e a seqüências de passos ou ações a serem cumpridos para que se consiga fazer um determinado tipo de bolo. Em um modo geral, um algoritmo segue um determinado padrão de comportamento, com objetivo de alcançar a solução de um problema.
  • 12. Algoritmo Padrão de Comportamento: Imagine a seqüência de números: 1, 6, 11, 16, 21, 26, ... Para determinar qual será o sétimo elemento dessa série, precisamos descobrir qual é a sua regra de formação, isto é, qual é o seu padrão de comportamento. Regra: X + 5
  • 13. Alguns outros conceitos de algoritmos
    • Algoritmo é a forma organizada de expressar uma seqüência de passos que visam atingir um objetivo definido. Algoritmo é a lógica necessária para o desenvolvimento de um programa.
    Palavras que sempre encontramos nos conceitos de algoritmos: Organizada Seqüência passos receita instrução
  • 14. Exercícios de Fixação
    • Um homem quer atravessar um rio com um barco que pode carregar ele mesmo e apenas mais uma de suas três cargas: um lobo, um carneiro e um maço de alfafa. O que o homem deve fazer para atravessar o rio sem perder nenhuma de suas cargas?
  • 15. Elabore um algoritmo que mova 3 discos de uma torre de Hanói, que consiste em 3 hastes (a-b-c), uma das quais serve de suporte para os três discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, sendo que nunca deve ser colocado um disco maior sobre um menor. O objetivo é transferir os três discos da haste A para haste C.
  • 16. Mova <disco n> da haste <n1> para haste <n2> Passo 1 Passo 2 Passo 3 Passo 4 Passo 5 Passo 6 Passo 7 Mova Disco 1 da haste a para a haste c Mova Disco 2 da haste a para a haste b Mova Disco 1 da haste c para a haste b Mova Disco 3 da haste a para a haste c Mova Disco 1 da haste b para a haste a Mova Disco 2 da haste b para a haste c Mova Disco 1 da haste a para a haste c
  • 17. Algoritmo computacional – Trabalhando os conceitos Um algoritmo é um procedimento computacional definido que recebe um ou mais valores (entrada) e produz um ou mais valores (saída) . Entrada Saída EPS
  • 18. Algoritmo computacional – Trabalhando os conceitos O algoritmo é aquela fórmula matemática, aquele pedaço de código, que fica ali no meio da entrada e da saída para transformar o primeiro no segundo. Vamos supor por exemplo que temos a função:             A sua entrada é o x e a sua saída é o y (ou f(x) , o valor que a função retorna).
  • 19. Algoritmo computacional – Trabalhando os conceitos Os passos do algoritmo para resolução deste problema ficariam da seguinte forma:
    • O algoritmo aqui seria o seguinte:
    • Entrada: Receber o valor X.
    • Elevar X ao quadrado e guardar o número resultante como Z.
    • Dividir Z por 3 e guardar o número resultante como Y.
    • Saída: Imprimir o valor Y.
  • 20. Pseudocódigo – Introdução. É uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve, de forma a ser entendida por qualquer pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. Como ficaria a escrita do algoritmo para a resolução deste problema, independente do valor de X?
  • 21. algoritmo &quot;calculaX&quot; // Função : Calcular: F(x) = (X2)/2 // Autor : Prof. Reverton Cristaldo // Data : 31/7/2008 // Seção de Declarações var x : real y : real inicio // Seção de Comandos leia(x) y <- (x * x)/3 escreva(&quot;O Valor de F(x) é : &quot;, y:2:2) fimalgoritmo Variáveis
  • 22. Pseudocódigo  Linguagem de Programação Pascal algoritmo &quot;calculaX&quot; // Função : Calcular: F(x) = (X2)/2 // Autor : Prof. Reverton Cristaldo // Data : 31/7/2008 // Seção de Declarações var x : real y : real inicio // Seção de Comandos leia(x) y <- (x * x)/3 escreva(&quot;O Valor de F(x) é : &quot;, y:2:2) fimalgoritmo program calculaX; uses Crt; { Função : Calcular: F(x) = (X2)/2} { Autor : Prof. Reverton Cristaldo} { Data : 31/7/2008} { Seção de Declarações} var x : real; y : real; begin { Seção de Comandos} readln(x); y := (x * x)/3; write('O Valor de F(x) é : ', y:2:2); end. Pseudocódigo Pascal
  • 23. Fatores a serem levados em consideração na construção de um algoritmo 1. Complexidade Percebemos que, na medida em que colocamos situações novas no problema a ser resolvido, o algoritmo vai aumentando a sua complexidade . Esse certamente é o maior problema envolvido na construção de algoritmos.
  • 24. Complexidade A complexidade pode ser vista como um sinônimo de variedade ( quantidade de situações diferentes que um problema pode apresentar ), as quais devem ser previstas na sua solução. Complexo Simples
  • 25. Exemplo de Complexidade Ah!, Sim! Pode ser digital E um relógio sem ponteiro, pode ? Pode..com 3,2 ou 1 ponteiro E um relógio com 1 ponteiro é possível? É...Pode ser Um relógio com 2 ponteiros é possível? É um instrumento com três ponteiros concêntricos O que é um Relógio ?
  • 26. Exemplo de Complexidade É um instrumento cuja finalidade é marcar o decorrer do tempo. O que é um relógio ? Algumas variáveis podem aumentar ou diminuir a complexidade de um sistema quando forem bem ou mal utilizadas.
  • 27. Exercícios de Fixação e aprendizado
    • Crie um algoritmo, ou descreva os passos para se trocar o pneu furado de um carro parado no acostamento de uma rodovia.
    • Crie um algoritmo para calcular o X na seguinte fórmula: