Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* ALGORITMOS PROF. HELDER GUIMARÃES ARAGÃO * PLANO DE ENSINO Algoritmos Linguagem C: tipo elementares de dados. Entrada e Saída. Atribuição. Expressões Lógicas e Aritméticas. Estruturas de seleção e repetição. * SITE E CONTATOS Contatos: helderfib@yahoo.com.br Webaula * BIBLIOGRAFIA Título: Lógica de programação e estruturas de dados Subtítulo:com aplicações em Java Editora:Pearson Education EAN-13: 9788587918826 Ano: 2003 Edição: 1ª Título: Fundamentos da programação de computadores Subtítulo: Algoritmos, Pascal e C/C++ e Java Ano: 2002 Título: Lógica de programação e estruturas de dados Subtítulo: com aplicações em Java Ano: 2003 * DEFINIÇÃO – COMPUTADOR Um computador é uma máquina especial pelo fato de ser programável. O fabricante de um computador não tem idéia de qual será a utilização dada ao seu computador; Por definição, um computador é uma máquina que a partir de dados de entrada, processa esses dados gerando saída de resultados. * DEFINIÇÃO – COMPUTADOR um computador tem uma característica que o diferencia das outras máquinas: pode realizar as tarefas mais distintas Processar uma folha de pagamento e uma contabilidade; Jogos; Navegação na internet; * DEFINIÇÃO – COMPUTADOR Podemos concluir que o computador pode processar dados de muitas maneiras diferentes. Depende fundamentalmente do tipo de instruções que se fornece para ele. Durante esse curso, vamos aprender como formular essas instruções para que o computador as execute da melhor maneira possível. * PROCESSADOR Unidade Lógica e Aritmética (ULA): responsável pelas operações matemáticas e avaliações lógicas; Unidade de Controle (UC): Exerce o controle sobre as demais partes do computador. distribui tarefas às outras unidades; Define uma série de instruções. * Lógica Coerência de raciocínio ou de idéias. Seqüência coerente, regular e necessária de acontecimentos ou de coisas (Aurélio) A lógica busca ordenar o pensamento. * A lógica coerente para validar os fatos e ordenar as idéias Na lógica se estabelece uma relação, que pode ser válida ou não. Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. Ordenar o pensamento no dia-a-dia: A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta. * Lógica de desenvolvimento de Programas Lógica de programação: É a técnica de encadear pensamentos, ou seja, ligar idéias coerentemente para atingir determinado objetivo. Os computadores “compreendem” uma seqüência de idéias (instruções) finitas e coerentes. O principal objetivo do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. * O que é um algoritmo? Algoritmo pode ser definido como uma seqüência de passos que visam atingir um objetivo bem definido. Os algoritmos são representados por um conjunto de passos finitos com o objetivo de solucionar um problema (Lopes, Anita). Os programas de computadores são executados a partir de uma linguagem de programação (ex: Java, pascal, C). * OUTRAS DEFINIÇÕES DE ALGORITMOS “Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” [KNUTH] “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] “Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” [AURÉLIO] * Exemplo de Algoritmo Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas * Exemplo de Algoritmo Cálculo da média de um aluno: Obter as suas 2 notas de provas Calcular a média aritmética Se a média for maior que 7, o aluno foi aprovado, senão ele foi reprovado * * Abstração nos algoritmos Os algoritmos são entidades abstratas. Programa é a implementação (concreto) do algoritmo em uma determinada linguagem de programação. * * EXEMPLO: FAZER UM ALGORITMO PARA UM ROBÔ QUE PINTE UMA PAREDE 1. Pegue o pincel; 2. Pegue a lata de tinta; 3. Enquanto não chegar no fim da parede, repita os passos 4,5,6 e 7; 4. Se acabou a tinta, pegue outra lata; 5. Molhe o pincel na tinta; 6. Passe o pincel na parede; 7. Ande um passo à direita; Neste exemplo, podemos observar que as instruções se encaixam em três estruturas padrão: A SEQUÊNCIA SIMPLES, ou seja, a execução de passos um após o outro de forma sequencial (Ex: passos 1 e 2, passos 5, 6 e 7). A SELEÇÃO, ou seja, execução de determinada ação, condicionada a um teste. (Ex: passo 4). A REPETIÇÃO, ou seja, execução de um conjunto de passos repetidas vezes, enquanto determinada condição for verdadeira (Ex: passo 3). * FORMAS DE REPRESENTAR UM ALGORITMO Fluxograma. Linguagem Algorítmica. Linguagem de Programação. * FLUXOGRAMA * * VANTAGENS: Uma das ferramentas mais conhecidas; Padrão; DESVANTAGENS: Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; Complica-se à medida que o algoritmo cresce. * * EXEMPLO: Algoritmo CALCULA_DOBRO início Leia NUM DOBRO 2 * NUM Escreva DOBRO fim PORTUGOL * * VANTAGENS: Usa o português como base; Pode-se definir quais e como os dados vão estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. DESVANTAGENS: Exige a definição de uma linguagem não real para trabalho; Não padronizado. * LINGUAGEM DE PROGRAMAÇÃO Pode-se utilizar uma linguagem de programação para implementar um algoritmo Exemplos de Linguagens: C, Pascal, Java etc... * VANTAGENS: Linguagem que o computador entende; Fortemente Padronizado; Suporta qualquer tamanho de algoritmo. DESVANTAGENS: Exige um conhecimento de lógica de programação É preciso conhecer a sintaxe da linguagem para extrair idéias básicas sobre o algoritmo. * Exercício Algoritmo Faça um algoritmo que calcule a média de um aluno através de duas notas Faça um algoritmo que represente o seu caminho até a faculdade * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar