Algoritmos

Post on 06-Jun-2015

1.607 views 3 download

Transcript of Algoritmos

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: