Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Lógica Gilson Amorim Programação e Algorítmo • “A programação é a arte de fazer com que o computador faça exatamente o que desejamos que ele faça.” • “Programar é criar uma rotina para que, seguindo uma lógica passo-a- passo, possamos alcançar a resolução de um problema computacional.” • A esse passo-a-passo chamamos de ALGORITMO Exemplo de Algoritmo do dia-a-dia Algoritmo • “Algoritmo é um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico, em um tempo determinado” (KNUTH, 1997). • Sempre termina •Passos em tempo finito • Sequência lógica Algoritmo • Sem ambiguidade •Resulta em saída •Nem sempre há entrada •Resolve um problema • Tem utilidade • “Uma solução” e não “a solução” Algoritmo de “trocar uma lâmpada” – várias soluções Exemplos numéricos de algoritmos •Qual o próximo número da sequência? • 2, 4, 6, 8, ____ • 1, 1, 2, 3, 5, 8, 13 ___ • 0, 1, 4, 9, 16, 25, ___ •Como não foi possível definir uma lógica não conseguiremos construir um algoritmo Encontrar o Algoritmo •Um problema tem que ter uma lógica para que tenha solução • Importante: muitas vezes, pode ser difícil a primeira vista encontrar a lógica, mas isso vai ficando cada vez mais fácil com a prática Fases Básicas da Construção de Algoritmos • Entrada: Valores que serão utilizados pelo algoritmo para apresentar uma solução, geralmente fornecido pelo usuário. Fases Básicas da Construção de Algoritmos • Processamento: Procedimento utilizados para se chegar ao resultado final. São executados no processador do computador. • Saída: São os dados processados, apresentados em dispositivos de saída. Outro exemplo de algoritmo do dia-a-dia Exemplo numérico de algoritmo •Média aritmética de dois números • Entrada: os dois números •Processamento: o cálculo da média (que seria somar os dois números e dividir por dois) • Saída: a média Representação de Algoritmos •Descrição Narrativa •Fluxograma e •Linguagem Algorítmica ou Pseudocódigo. Representação de Algoritmos • Descrição Narrativa – Fazer uso do português normal, descrevendo o principais passo para a resolução do problema. Descrição Narrativa Descrição Narrativa Descrição Narrativa • Vantagem – Todos que conhecem o idioma escolhido não terão dificuldades em entender ou elaborar a descrição narrativa. • Desvantagens • Não há um padrão • Imprecisão ou ambiguidade Fluxograma • Ferramenta muito utilizada na área de Administração • É uma forma intermediária entre a descrição narrativa e pseudocódigo •Além dos símbolos apresentados a seguir utiliza-se as setas indicando o fluxo do algoritmo Fluxograma Fluxograma – exemplo do cálculo da média de um aluno – versão 1 Fluxograma – exemplo do cálculo da média de um aluno – versão 2 Fluxograma •Vantagens • Conhecida em outras áreas além da informática • Figuras falam mais que palavras •Desvantagens • Dá pouca atenção aos dados • Para algoritmos muito complexos os fluxos podem se tornar confusos, com linhas cruzadas Linguagem Algorítmica ou Pseudocódigo • Supre a deficiências das representações anteriores •Os comandos são em português, mas lembra um pouco a estrutura de uma linguagem de programação estruturada Linguagem Algorítmica ou Pseudocódigo – Exemplo de média de um aluno Linguagem Algorítmica ou Pseudocódigo •Vantagens • É a forma de representação mais poderosa de todas •A passagem de linguagem algorítmica para uma linguagem de programação estruturada é quase imediata • Já existem ferramentas computacionais que utilizam esta linguagem (nós utilizaremos o VisuAlg) Linguagem Algorítmica ou Pseudocódigo •Desvantagens •Não é uma linguagem de programação •Não é padronizada Conceitos Básicos sobre Linguagens •“Lógica é a ciência que estuda as leis do raciocínio; é a correção/validação do pensamento; é o encadeamento, ordenação de ideias; É a arte de bem pensar.” •Exemplo: se Rosa é mãe de Ana; Paula é filha de Rosa e Júlia é filha de Ana. Então, a partir do que foi dito, podemos dizer que Júlia é neta de Rosa e sobrinha de Paula. Conceitos Básicos sobre Linguagens • “Lógica de Programação é o encadeamento lógico de instruções para o desenvolvimento de programas.” • “Programa é a implementação das instruções de um algoritmo em uma linguagem de programação.” • “Uma instrução representa um passo de um algoritmo.” • Linguagem de programação é um conjunto finito de palavras, comandos e instruções escritos com a finalidade de orientar a execução de uma tarefa no computador. Conceitos Básicos sobre Linguagens • Exemplos de linguagens de programação: C, Pascal, Cobol, Fortran, C#, PHP etc. • Qualquer linguagem de programação deve estar entre os dois extremos: o da linguagem natural e o da linguagem de máquina Conceitos Básicos sobre Linguagens • Exemplo de tradução de uma linguagem de programação no computador Conceitos Básicos sobre Linguagens •Compilador: traduz de uma vez só todo o programa escrito em linguagem de alto nível (código-fonte) para um programa equivalente escrito em linguagem de máquina (código-objeto). • Interpretador: traduz (sem gerar código-objeto) e em seguida executa, uma a uma, as instruções de um programa em linguagem de alto nível (código-fonte) Compilador Interpretador Aplicação • Ler um valor de temperatura em Fahrenheit e calcular o seu valor correspondente em Celsius e, depois, apresentar esse valor ao usuário. Aplicação Aplicação
Compartilhar