O documento discute conceitos de lógica, algoritmos e pseudocódigo. Apresenta exemplos de algoritmos para trocar uma lâmpada e movimentar discos de torre de Hanói. Explica o que é algoritmo computacional e como escrever algoritmos em pseudocódigo de forma independente de linguagem de programação.
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.
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.
14.
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.
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 "calculaX" // 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("O Valor de F(x) é : ", y:2:2) fimalgoritmo Variáveis
22. Pseudocódigo Linguagem de Programação Pascal algoritmo "calculaX" // 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("O Valor de F(x) é : ", 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.