View
1.606
Download
3
Embed Size (px)
Citation preview
Prof. Adm. Hélio Lemes Costa Jr. M.Eng.
Introdução a Algoritmos
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
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.
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.
O que é “lógica” ou “pensamento lógico”?
Sempre que se quer pensar, falar ou escrever corretamente, deve-se colocar os pensamentos em ordem.
Exemplo
Todo mamífero é um animal.
Todo cavalo é mamífero.
PORTANTO, todo mamífero é animal.
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.
Recapitulando...O que é “lógica” ou “pensamento lógico”?
é a forma correta de organizar os pensamentos e demonstrar o raciocínio de maneira correta.
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...
AlgoritmoApesar do nome estranho, os algoritmos são muito comuns no nosso cotidiano, como por exemplo, emuma 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.
AlgoritmoPadrã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
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:
Exercícios de Fixação1.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?
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.
Mova <disco n> da haste <n1> para haste <n2>
Passo 1Passo 2Passo 3Passo 4Passo 5Passo 6Passo 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
Algoritmo computacional – Trabalhando os conceitosUm algoritmo é um procedimento computacional definido que recebe um ou mais valores (entrada) e produz um ou mais valores (saída).
Entrada Saída
Algoritmo computacional – Trabalhando os conceitosO 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).
Algoritmo computacional – Trabalhando os conceitos
Os passos do algoritmo para resolução deste problema ficariam da seguinte forma:
O algoritmo aqui seria o seguinte:
1. Entrada: Receber o valor X. 2. Elevar X ao quadrado e guardar o número resultante
como Z. 3. Dividir Z por 3 e guardar o número resultante como Y. 4. Saída: Imprimir o valor Y.
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?
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 : realinicio// Seção de Comandos leia(x)y <- (x * x)/3escreva("O Valor de F(x) é : ", y:2:2)fimalgoritmo
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 : realinicio// Seção de Comandos leia(x)y <- (x * x)/3escreva("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}varx : real;y : real;begin { Seção de Comandos} readln(x); y := (x * x)/3; write('O Valor de F(x) é : ', y:2:2);end.
Fatores a serem levados em consideração na construção de um algoritmo1. 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.
ComplexidadeA complexidade pode ser vista como um sinônimo de variedade (quantidade de situaçõesdiferentes que um problema pode apresentar), as quais devem ser previstas na sua solução.
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?
Exemplo de Complexidade
É um instrumento com três ponteiros concêntricos
O que é um Relógio ?
É um instrumento cuja finalidade é marcar o decorrer do tempo.
Exemplo de Complexidade
O que é um relógio ?
Algumas variáveis podem aumentar ou diminuir a complexidade de um sistema quando forem bem ou mal utilizadas.
Exercícios de Fixação e aprendizado1. Crie um algoritmo, ou descreva os passos para se
trocar o pneu furado de um carro parado no acostamento de uma rodovia.
2. Crie um algoritmo para calcular o X na seguinte fórmula: