Algoritmos Conceitos Iniciais Cleone Silva cleone limaifrn edu
- Slides: 26
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 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; – 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 é 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 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 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 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 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 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 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, 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. . . 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? !? !
Como construir um algoritmo? ? ? Mas antes. . .
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 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 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 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 + Ferramentas
. . . 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 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 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 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 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 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? ? ?
- Ef02ci
- Leitura para atpc
- Parâmetros iniciais ventilação mecânica neonatal
- Projeto de reforço escolar para séries iniciais
- Edu.sharif.edu
- Conceitos básicos de clp
- Conceitos de calor e temperatura
- Conceitos solid
- Conceitos básicos em ecologia
- Símbolo do florescimento cultural científico
- Conceitos gerais da ecologia
- Conceitos que definem a arquitetura cliente-servidor.
- Conceitos centrais do marketing
- Reposta
- Bacia hidrográfica
- Conceitos ecológicos
- Sotipos
- Conceitos de hardware
- Orgao maximo do sfn
- O que e ecologia
- Algoritmos
- Algoritmo prim c++
- Algoritmos de escalonamento
- Complexidade de algoritmos
- Algoritmos
- Algoritmos
- Algoritmos voraces