Baseado no documento do Prof. Ronaldo Martins da Costa Prof. Bruno Costa Algoritmos – Aula I Baseado no documento do Prof. Ronaldo Martins da Costa
Objetivos Identificar os elementos de um algoritmo e/ou fluxograma e utilizá-los corretamente na solução de um problema para posterior codificação de um programa; Construir algoritmos e fluxogramas; Conceituar e utilizar corretamente os comandos de programação da linguagem PASCAL.
Metodologia Aulas expositivas Aulas práticas em laboratório Recursos Computacionais Microcomputadores Windows Turbo Pascal 7.0
Critérios de Avaliação Freqüência Mínima: 75% Média Mínima: 6.0 Composição da Nota Provas Listas de exercícios Participação nas aulas
Apoio www.dca.ufrn.br/~bruno bruno.costa@cefetrn.br http://academico.cefetrn.br
Introdução Para que exista comunicação é necessário estabelecer padrões e regras que podem ser: falados, escritos, desenhados e/ou representados em símbolos.
Introdução Regras de comunicação
Linguagem de Programação! Introdução Linguagem de Programação A comunicação com o computador também é feita através de um conjunto de regras, originando a: Linguagem de Programação! Exemplos: Pascal, C, C++, Delphi, Java, etc.
Introdução Programa exemplo em Pascal
Introdução Definição de Programa Programas são seqüências finitas de ordens que têm o objetivo de resolver um problema, apresentar uma figura, calcular valores, tomar ou auxiliar decisões.
Introdução Lógica de Programação Para se programar em uma linguagem é necessário possuir Lógica de Programação; Lógica de Programação consiste em compreender claramente os diversos passos e funções que são realizados na execução de um programa.
Introdução Definição de Algoritmo Algoritmo é uma seqüência de instruções organizadas de forma lógica e estruturada (sem desvios), expressas em linguagem natural (Português estruturado), que tem por finalidade resolver um problema ou descrever uma tarefa.
Introdução Exemplo 1 - Escovar os dentes pela manhã
Introdução Exemplo 2 – Trocar uma lâmpada queimada
Introdução Exemplo 3 – Resolver Equação do 2º Grau
Introdução Importante: abordar o máximo de detalhes em um algoritmo. Não esquecer: como será interpretado o que foi escrito?
Problemas - Atravessar um rio Na margem esquerda de um rio estão: 1 Pastor 1 Lobo 1 Cabra 1 Repolho Objetivo: Passar todos para a margem direita do rio, sendo que: O pastor só pode atravessar um “passageiro” de cada vez; Um “Passageiro” que “devora” o outro nunca podem estar no mesmo local sem a presença do pastor.
Problemas – Divisão de Água Inicialmente o recipiente de 8 litros está cheio e os demais vazios; Os recipientes não possuem escala de medição, sabe-se apenas o volume total de cada; Cada transferência(entre os recipientes) deve ser feita no volume total do recipiente receptor; Ao final das transferências o recipiente com capacidade para 8 litros deve possuir apenas 4 litros de água e o recipiente de 5 litros deve possuir apenas 4 litros de água.
Problemas – Divisão de Água Solução:
Problemas – Torre de Hanoi Admita 3 bastões posicionados verticalmente lado a lado. No primeiro bastão 3 roldanas (1 pequena, 1 média e 1 grande). Transferi-lás para o último bastão com as seguintes condições: só é possível a retirada das roldanas pela parte superior do bastão; só é possível retirar 1 roldana por vez; jamais pode ocorrer de uma roldana maior estar sobre uma menor; toda roldana que é retirada de um bastão tem que ser colocada em outro bastão antes da retirada da próxima.
Problemas – Transporte Chinês Transportar todos os elementos de um lado para outro do rio, sendo que: Somente o pai, a mãe e o policial sabem pilotar o barco; A mãe não pode ficar sozinha com os filhos; O pai não pode ficar sozinho com as filhas; O prisioneiro não pode ficar sozinho com nenhum integrante da família; O barco só pode transportar duas pessoas por vez; Você pode ir e vir com as pessoas quantas vezes precisar.
Problemas – Transporte Chinês
Problemas – Transporte Chinês Solução
Dúvidas?