Sunteți pe pagina 1din 26

Algoritmos Conceitos Iniciais

Cleone Silva cleone.lima@ifrn.edu.br http://docente.ifrn.edu.br/cleonelima

Lgica de Programao

A lgica usada para guiar nossos pensamentos ou aes na busca da soluo: A lgica est correta se conseguirmos atingir o nosso objetivo; a habilidade fundamental para se resolver problemas de programao de computadores. Temos que aprender a pensar de forma estruturada: Desenvolver e aperfeioar a tcnica de pensamento; Seguir um raciocnio lgico e matemtico.

Lgica

O que lgica?
A lgica trata da correo do pensamento; Ensina-nos a usar corretamente as leis do pensamento:
a arte de pensar corretamente; A forma mais complexa do pensamento o raciocnio; Ordem da razo (nossa razo pode funcionar desordenadamente) ou ordem no pensamento.

Noes de Lgica

Exemplo:
Todo mamfero animal. Todo cavalo mamfero. Portanto, todo cavalo animal.

Brasil pas do planeta Terra. Todos os Brasileiros so do Brasil. Portanto, todos os Brasileiros so terrqueos.

Existe lgica no dia-a-dia?


Sempre que pensamos.

Quando falamos, pois a palavra falada a representao do pensamento.


Quando escrevemos, pois a palavra escrita a representao da palavra falada ou mesmo do nosso pensamento. Da a importncia da lgica em nossa vida, pois quando pensamos, escrevemos ou falamos corretamente precisamos colocar Ordem no Pensamento.

Existe lgica no dia-a-dia?

Exemplos:
a) A gaveta est fechada. A agenda est na gaveta. Preciso primeiro abrir a gaveta, para depois pegar a agenda. b) Ana mais velha do que Joo. Joo mais velho do que Pedro. Portanto, Ana mais velha do que Pedro.

Lgica de Programao

Resolver problemas com o computador semelhante a maneira como resolvemos problema do cotidiano: Encontrar uma maneira de descrever o problema; Seguir uma sequncia de passos at atingir a soluo desejada.

Isso algoritmo!

O que Algoritmo?

Sequncia de passos com o objetivo de resolver um problema. Sequncia de passos (aes) que visam atingir um objetivo bem definido [Forbellone,1999]. Descrio de uma sequncia de passos que deve ser seguida para a realizao de uma tarefa [Ascencio, 1999].

So regras formais para a obteno de um resultado ou da soluo de um problema, englobando frmulas de expresses aritmticas [Manzano, 1997].

Algoritmo - Exemplos

Exemplos:
Receita de bolo, onde voc tem uma srie de ingredientes
necessrios, uma sequncia de diversos passos a serem cumpridos para que se consiga fazer determinado tipo de bolo (objetivo bem definido).

Mapa para se chegar escola, que tambm possui uma


sequncia de passos a serem seguidos e um objetivo bem definido.

O que uma ao?


um acontecimento que a partir de um estado inicial, aps um perodo de tempo finito, produz um estado final previsvel e bem definido.

O que um estado?
a situao atual de dado objeto.

Redefinindo Algoritmo

Algoritmo a descrio de um conjunto de aes que, obedecidas, resultam numa sucesso finita de passos, atingindo o objetivo. Algoritmo pode ser definido com uma seqncia lgica, e sem ambigidade de passos que levam soluo de um problema; Algoritmo destina-se a resolver um problema: fixa um padro de comportamento a ser seguido, uma norma de execuo a ser trilhada, com vistas a alcanar, como resultado final, a soluo de um problema.

Algoritmo
Imagine a sequncia de nmeros: 1, 6, 11, 16, 21, 26 ... Qual seria o stimo elemento da srie? Para isto, precisamos definir qual a sua regra de formao, ou seja, o seu padro de comportamento.

Qual o algoritmo para atravessar uma estrada???


Quantas possibilidades existem?!?!

Como construir um algoritmo???


Mas antes...

Algoritmo - Exemplo
Trocar uma lmpada

Pegue uma escada; Posicione-a embaixo da lmpada; Busque uma lmpada nova; Suba na escada; Retire a lmpada; Coloque uma lmpada nova.

Algoritmo - Exemplo

O objetivo de trocar a lmpada queimada pode ser atingido com tal algoritmo que descreve a sequncia de passos a ser seguida. Porm, e se a lmpada no estiver queimada? Podemos efetuar um teste antes de troc-la.

pegue uma escada; posicione-a embaixo da lmpada; busque uma lmpada nova; ligue o interruptor; SE a lmpada no acender, ento: suba na escada; retire a lmpada; coloque uma lmpada nova.

O que aconteceu neste algoritmo foi a incluso de um teste seletivo que determina quais aes sero executadas, dependendo de uma condio.

Algoritmo - Exemplo

Otimizao do algoritmo anterior o algoritmo anterior permite que se pegue a escada e uma lmpada nova sem saber se sero necessrias.
ligue o interruptor; SE a lmpada no acender, ento:
pegue uma escada; posicione-a embaixo da lmpada; busque uma lmpada nova; suba na escada; retire a lmpada; coloque uma lmpada nova.

Algoritmo - Exemplo

E se a lmpada nova no funcionar? O objetivo portanto no foi atingido. Devemos ento trocar a lmpada diversas vezes, at que funcione.

ligue interruptor; SE a lmpada no acender, ento: pegue uma escada; posicione-a embaixo da lmpada; busque uma lmpada nova; suba na escada; retire a lmpada; coloque uma lmpada nova. ENQUANTO a lmpada no acender: retire a lmpada; coloque outra lmpada.

...e como construir um ALGORITMO?


Raciocnio lgico +

Conhecimento de tcnicas
+ Ferramentas

...e como construir um ALGORITMO?


Raciocnio lgico experincia adquirida com
a prtica (exerccios) + Conhecimento de tcnicas estudo (leitura de livros de programao) + Ferramentas estudo (manuais de referncia)

Algoritmo (Cotidiano)
Trocar um pneu de um carro (Cotidiano)
Raciocnio lgico + Conhecimento de Tcnicas (curso de mecnica/fsica) + Ferramentas (macaco hidrulico, chave de roda)

Como construir um Algoritmo?


Sntese!!!
Para resolver um problema por meio da construo de um algoritmo siga uma sequncia lgica de passos:
1. Leia atentamente o enunciado: para resolver um problema necessrio sua compreenso; 2. Retire do enunciado a relao das entradas de dados: por meio do enunciado descubra quais informaes devem ser fornecidas; 3. Retire do enunciado a relao das sadas de dados: por meio do enunciado descubra quais so os dados que devem ser emitidos para compor o resultado final; 4. Determine as aes que levaro a atingir o resultado desejado: determine qual a sequncia de aes capaz de transformar um conjunto definido de dados nas informaes do resultado; 5. Construa o algoritmo: descreva os passos para resolver o problema; 6. Execute o algoritmo: execute todas as aes descritas seguindo o fluxo de execuo estabelecido, verificando se os resultados obtidos correspondem ao esperado. Desta forma torna-se possvel detectar algum possvel erro no desenvolvimento do algoritmo.

Treinando Raciocnio Lgico


Exerccio
Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas trs cargas, que so: um lobo, um bode e uma caixa de alfafa. Indique as aes necessrias para que o homem consiga atravessar o rio sem perder suas cargas.
O lobo no pode ficar sozinho com o bode, seno ele o come; O bode no pode ficar sozinho com a alfafa, seno a come.

Treinando Raciocnio Lgico


... outro exerccio
Trs jesutas e trs canibais precisam atravessar um rio; para tal, dispem de um barco com capacidade para duas pessoas. Por medida de segurana no se permite que em alguma margem a quantidade de jesutas seja inferior de canibais (seno o canibal come o jesuta). Elabore um algoritmo indicando as aes que concretizam a travessia com segurana.

Treinando Raciocnio Lgico


... e outro exerccio
Elabore um algoritmo que mova trs discos de uma Torre de Hani, que consiste em trs hastes (a-b-c), uma das quais serve de suporte para trs discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo transferir os trs discos para outra haste.

Perguntas???

S-ar putea să vă placă și