Algoritmos Conceitos Iniciais Cleone Silva cleone limaifrn edu

  • Slides: 26
Download presentation
Algoritmos – Conceitos Iniciais Cleone Silva cleone. lima@ifrn. edu. br http: //docente. ifrn. edu.

Algoritmos – Conceitos Iniciais Cleone Silva cleone. lima@ifrn. edu. br http: //docente. ifrn. edu. br/cleonelima

Lógica de Programação v A lógica é usada para guiar nossos pensamentos ou ações

Lógica de Programação v A lógica é usada para guiar nossos pensamentos ou ações na busca da solução: – A lógica está correta se conseguirmos atingir o nosso objetivo; – É a habilidade fundamental para se resolver problemas de programação de computadores. v Temos que aprender a pensar de forma estruturada: – Desenvolver e aperfeiçoar a técnica de pensamento; – Seguir um raciocínio lógico e matemático.

Lógica v O que é lógica? – A lógica trata da correção do pensamento;

Lógica v O que é lógica? – A lógica trata da correção do pensamento; – Ensina-nos a usar corretamente as leis do pensamento: § É a arte de pensar corretamente; § A forma mais complexa do pensamento é o raciocínio; § Ordem da razão (nossa razão pode funcionar desordenadamente) ou ordem no pensamento.

Noções de Lógica v Exemplo: – Todo mamífero é animal. – Todo cavalo é

Noções de Lógica v Exemplo: – Todo mamífero é animal. – Todo cavalo é mamífero. – Portanto, todo cavalo é animal. – Brasil é país do planeta Terra. – Todos os Brasileiros são do Brasil. – Portanto, todos os Brasileiros são terráqueos.

Existe lógica no dia-a-dia? v Sempre que pensamos. v Quando falamos, pois a palavra

Existe lógica no dia-a-dia? v Sempre que pensamos. v Quando falamos, pois a palavra falada é a representação do pensamento. v Quando escrevemos, pois a palavra escrita é a representação da palavra falada ou mesmo do nosso pensamento. v Daí a importância da lógica em nossa vida, pois quando pensamos, escrevemos ou falamos corretamente precisamos colocar Ordem no Pensamento.

Existe lógica no dia-a-dia? v Exemplos: – a) A gaveta está fechada. – A

Existe lógica no dia-a-dia? v 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 João. – João é mais velho do que Pedro. – Portanto, Ana é mais velha do que Pedro.

Lógica de Programação v Resolver problemas com o computador é semelhante a maneira como

Lógica de Programação v Resolver problemas com o computador é semelhante a maneira como resolvemos problema do cotidiano: – Encontrar uma maneira de descrever o problema; – Seguir uma sequência de passos até atingir a solução desejada. Isso é algoritmo!

O que é Algoritmo? v Sequência de passos com o objetivo de resolver um

O que é Algoritmo? v Sequência de passos com o objetivo de resolver um problema. v Sequência de passos (ações) que visam atingir um objetivo bem definido [Forbellone, 1999]. v Descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa [Ascencio, 1999]. v São regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas [Manzano, 1997].

Algoritmo - Exemplos v Exemplos: – Receita de bolo, onde você tem uma série

Algoritmo - Exemplos v Exemplos: – Receita de bolo, onde você tem uma série de ingredientes necessários, uma sequência de diversos passos a serem cumpridos para que se consiga fazer determinado tipo de bolo (objetivo bem definido). – Mapa para se chegar à escola, que também possui uma sequência de passos a serem seguidos e um objetivo bem definido.

O que é uma ação? É um acontecimento que a partir de um estado

O que é uma ação? É um acontecimento que a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. O que é um estado? É a situação atual de dado objeto.

Redefinindo Algoritmo v Algoritmo é a descrição de um conjunto de ações que, obedecidas,

Redefinindo Algoritmo v Algoritmo é a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão finita de passos, atingindo o objetivo. v Algoritmo pode ser definido com uma seqüência lógica, e sem ambigüidade de passos que levam solução de um problema; v Algoritmo destina-se a resolver um problema: fixa um padrão de comportamento a ser seguido, uma norma de execução a ser trilhada, com vistas a alcançar, como resultado final, a solução de um problema.

Algoritmo Imagine a sequência de números: 1, 6, 11, 16, 21, 26. . .

Algoritmo Imagine a sequência de números: 1, 6, 11, 16, 21, 26. . . Qual seria o sétimo elemento da série? Para isto, precisamos definir qual a sua regra de formação, ou seja, o seu padrão de comportamento.

Qual é o algoritmo para atravessar uma estrada? ? ? Quantas possibilidades existem? !?

Qual é o algoritmo para atravessar uma estrada? ? ? Quantas possibilidades existem? !? !

Como construir um algoritmo? ? ? Mas antes. . .

Como construir um algoritmo? ? ? Mas antes. . .

Algoritmo - Exemplo Trocar uma lâmpada – – – Pegue uma escada; Posicione-a embaixo

Algoritmo - Exemplo Trocar uma lâmpada – – – Pegue uma escada; Posicione-a embaixo da lâmpada; Busque uma lâmpada nova; Suba na escada; Retire a lâmpada; Coloque uma lâmpada nova.

Algoritmo - Exemplo v O objetivo de trocar a lâmpada queimada pode ser atingido

Algoritmo - Exemplo v O objetivo de trocar a lâmpada queimada pode ser atingido com tal algoritmo que descreve a sequência de passos a ser seguida. Porém, e se a lâmpada não estiver queimada? Podemos efetuar um teste antes de trocá-la. – – – v pegue uma escada; posicione-a embaixo da lâmpada; busque uma lâmpada nova; ligue o interruptor; SE a lâmpada não acender, então: § suba na escada; § retire a lâmpada; § coloque uma lâmpada nova. O que aconteceu neste algoritmo foi a inclusão de um teste seletivo que determina quais ações serão executadas, dependendo de uma condição.

Algoritmo - Exemplo v Otimização do algoritmo anterior – o algoritmo anterior permite que

Algoritmo - Exemplo v Otimização do algoritmo anterior – o algoritmo anterior permite que se pegue a escada e uma lâmpada nova sem saber se serão necessárias. – ligue o interruptor; – SE a lâmpada não acender, então: § § § pegue uma escada; posicione-a embaixo da lâmpada; busque uma lâmpada nova; suba na escada; retire a lâmpada; coloque uma lâmpada nova.

Algoritmo - Exemplo v E se a lâmpada nova não funcionar? O objetivo portanto

Algoritmo - Exemplo v E se a lâmpada nova não funcionar? O objetivo portanto não foi atingido. Devemos então trocar a lâmpada diversas vezes, até que funcione. – – ligue interruptor; SE a lâmpada não acender, então: § pegue uma escada; § posicione-a embaixo da lâmpada; § busque uma lâmpada nova; § suba na escada; § retire a lâmpada; § coloque uma lâmpada nova. § ENQUANTO a lâmpada não acender: § retire a lâmpada; § coloque outra lâmpada.

. . . e como construir um ALGORITMO? Raciocínio lógico + Conhecimento de técnicas

. . . e como construir um ALGORITMO? Raciocínio lógico + Conhecimento de técnicas + Ferramentas

. . . e como construir um ALGORITMO? Raciocínio lógico – experiência adquirida com

. . . e como construir um ALGORITMO? Raciocínio lógico – experiência adquirida com a prática (exercícios) + Conhecimento de técnicas – estudo (leitura de livros de programação) + Ferramentas – estudo (manuais de referência)

Algoritmo (Cotidiano) Trocar um pneu de um carro (Cotidiano) Raciocínio lógico + Conhecimento de

Algoritmo (Cotidiano) Trocar um pneu de um carro (Cotidiano) Raciocínio lógico + Conhecimento de Técnicas (“curso de mecânica/física”) + Ferramentas (“macaco hidráulico”, “chave de roda”)

Como construir um Algoritmo? Síntese!!! Para resolver um problema por meio da construção de

Como construir um Algoritmo? Síntese!!! Para resolver um problema por meio da construção de um algoritmo siga uma sequência lógica de passos: 1. Leia atentamente o enunciado: para resolver um problema é necessário sua compreensão; 2. Retire do enunciado a relação das entradas de dados: por meio do enunciado descubra quais informações devem ser fornecidas; 3. Retire do enunciado a relação das saídas de dados: por meio do enunciado descubra quais são os dados que devem ser emitidos para compor o resultado final; 4. Determine as ações que levarão a atingir o resultado desejado: determine qual a sequência de ações é capaz de transformar um conjunto definido de dados nas informações do resultado; 5. Construa o algoritmo: descreva os passos para resolver o problema; 6. Execute o algoritmo: execute todas as ações descritas seguindo o fluxo de execução estabelecido, verificando se os resultados obtidos correspondem ao esperado. Desta forma torna-se possível detectar algum possível erro no desenvolvimento do algoritmo.

Treinando Raciocínio Lógico Exercício Um homem precisa atravessar um rio com um barco que

Treinando Raciocínio Lógico Exercício Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e uma caixa de alfafa. Indique as ações necessárias para que o homem consiga atravessar o rio sem perder suas cargas. ü O lobo não pode ficar sozinho com o bode, senão ele o come; ü O bode não pode ficar sozinho com a alfafa, senão a come.

Treinando Raciocínio Lógico. . . outro exercício Três jesuítas e três canibais precisam atravessar

Treinando Raciocínio Lógico. . . outro exercício Três jesuítas e três canibais precisam atravessar um rio; para tal, dispõem de um barco com capacidade para duas pessoas. Por medida de segurança não se permite que em alguma margem a quantidade de jesuítas seja inferior à de canibais (senão o canibal come o jesuíta). Elabore um algoritmo indicando as ações que concretizam a travessia com segurança.

Treinando Raciocínio Lógico. . . e outro exercício Elabore um algoritmo que mova três

Treinando Raciocínio Lógico. . . e outro exercício Elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a-b-c), uma das quais serve de suporte para 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, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste.

Perguntas? ? ?

Perguntas? ? ?