Buscar

Introducao ALGORITIMOS

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais