Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Algoritmos e Estruturas de Dados Walisson Ferreira de Carvalho Walisson.carvalho@prof.una.br * * Introdução Computador Sem finalidade específica Pode ser programado para resolver para resolver problemas Programados em linguagem de máquina Complexa Alto índice de erros Baixa produtividade Necessidade de conhecimento da arquitetura Linguagem de programação Baixo nível Alto nível * * Arquitetura de Von Neumann * * Algoritmos - Conceitos “Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa” (ASCENCIO,1999) “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo problema específico” Knuth “Sequência ordenada e não ambígua de passos que levam à solução de um dado problema” Tremblay “A noção de algoritmos é básica para toda programação de computadores” Knuth "O conceito central da programação e da Ciência da Computação é o conceito de algoritmos, isto é, programar é basicamente construir algoritmos.“ Wirth * * Algoritmos - Características Possuir início e fim Ser escrito em termos de ações ou comandos bem definidos. Deve ser fácil de interpretar e codificar, ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. Ter uma seqüência lógica. * * Exemplos Somar três números Passo 1: Receber os três números; Passo 2: Somar os três números; Passo 3: Mostrar o resultado. * * Exemplos Ligação telefônica 1. Tirar o fone do gancho; 2. Esperar até ouvir o sinal de linha; 3. Teclar o número desejado; 4. Se der o sinal de chamar: 4.1. Conversar; 4.2. Desligar; 5. Se não der o sinal de chamar: 5.1. Desligar; 5.2. Repetir desde o passo 1 * * Exemplos Receita de Bolo Bata 4 claras em neve Adicione 2 xícaras de açúcar Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate Bata por 3 minutos Unte uma assadeira com margarina e farinha de trigo Coloque o bolo para assar por 20minutos * * Construção de Algoritmos Compreender o problema a ser resolvido; Definir os dados de entrada; Definir o processamento; Definir os dados de saída; Construir o algoritmo usando descrição narrativa, fluxograma ou pseudocódigo; Testar o algoritmo realizando simulações; * * Algoritmos - Representações Descrição Narrativa Uso de linguagem natural (português por exemplo) para descrever os passos de uma solução Fluxograma É uma forma universal de representação, pois se utiliza de símbolos gráficos para ilustrar passos a serem seguidos para a resolução de problemas Pseudocódigo Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação * * Simbologia do Fluxograma * * Exemplo Descrição Narrativa Multiplicação de 2 números Passo 1: Receber os dois números; Passo 2: Multiplicar os dois números; Passo 3: Mostrar o resultado. * * Exemplo Fluxograma Início N1,N2 M=N1*N2 M Fim * * Exemplo Pseudocódigo Algoritmo declare N1,N2, M Numerico Escreva “Digite dois números” leia N1,N2 M N1*N2 Escreva “Multiplicação = “, M Fim_Algoritmo * * Variável Representa uma posição na memória, onde pode ser armazenado um dado. Usadas para generalização de problemas. Possui um nome e um valor. Durante a execução do algoritmo, pode ter seu valor alterado. Mudanças no valor das variáveis: Por entrada de dados (“Ler N1”). Por atribuição (“MEDIA = <um certo valor>”). * * Tipos de Dados Numéricos Números reais e inteiros Lógicos Booleanos Verdadeiro e Falso Literais ou caracteres Formados por um único caractere ou cadeia de caracteres * * Identificadores Caracteres permitidos: números, letras maiúsculas, letras minúsculas e sublinhado; Primeiro caractere deve ser sempre uma letra; Espaços em brancos e caracteres especiais não são permitidos Não é permitido o uso de palavras reservadas; * * Programa Algoritmo escrito em uma linguagem de computador (linguagem de programação - C, Pascal, COBOL, Fortran, Basic, Java, etc.); Compilado/Interpretado e executado por um computador; Interpretação rigorosa, exata, do computador; * * Programa de Computador Problema Solução Algoritmo Linguagem de Programação Linguagem de Máquina Computador * * Tradução Programa Fonte Programa Objeto CPU Linguagem de Programação
Compartilhar