Algoritmos: conceitos básicos

Propaganda
GMA038 - 2015/1
Universidade Federal de Uberlândia
Faculdade de Computação
Conceitos básicos de algoritmos
Prof. Renato Pimentel
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
1
Computação
Dados → Informações vindas de usuários ou de
outras máquinas;
Processamento → transformação dos dados, de
acordo com os desejos do usuário ou de outra
máquina;
Resultados → aquilo que vem do processamento,
e que servirá aos propósitos do usuário.
Dados
Dados
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Processamento
Processamento
Algoritmos: conceitos básicos
Resultados
Resultados
2
1
GMA038 - 2015/1
Computação
Objetivo básico → auxiliar os seres humanos em trabalhos
repetitivos e braçais, diminuindo esforços e economizando
tempo;
O computador é capaz de auxiliar em qualquer coisa que
lhe seja solicitada;
Entretanto:
Não tem iniciativa;
Nenhuma independência;
Não é criativo nem inteligente.
Por isso, é necessário que ele receba suas instruções nos
mínimos detalhes, para que tenha condições de realizar
suas tarefas → Programação.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
3
Programação
Quando queremos criar ou desenvolver um software para
realizar determinado tipo de processamento de dados:
Escrever um programa (ou vários programas
interligados);
Devemos escrever o programa usando uma linguagem
que tanto o computador quanto o criador de software
entendam – linguagem de programação.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
4
2
GMA038 - 2015/1
Etapas envolvidas no processo de programação
Análise: enunciado do problema:
Dados de entrada;
Processamento (resolução);
Dados de saída.
Algoritmo → descrever o problema, com suas
soluções;
Codificação → algoritmo é transformado em
códigos da linguagem de programação escolhida
para se trabalhar.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
5
Programa
Nada mais é do que a codificação de um algoritmo
em uma linguagem de programação.
Uma definição mais formal:
Conjunto
Conjunto de
de instruções
instruções passo
passo aa passo
passo que
que
orientam
orientam oo computador
computador aa fazer
fazer as
as tarefas
tarefas
necessárias
necessárias ee produzir
produzir o(s)
o(s) resultado(s)
resultado(s)
desejado(s)
desejado(s)
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
6
3
GMA038 - 2015/1
Algoritmo
Sequência
Sequência finita
finita ee não
não ambígua*
ambígua* de
de instruções
instruções ou
ou
operações
operações (passos),
(passos), cuja
cuja execução,
execução, em
em um
um tempo
tempo
finito,
finito, resolva
resolva um
um problema
problema
* cada instrução deve ser precisamente definida,
sem permitir mais de uma interpretação.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
7
Algoritmo
IMPORTANTE → para a grande maioria dos
problemas, é possível haver mais de um algoritmo
de resolução;
Algoritmos não são operações exclusivas de um
computador:
A grande maioria das coisas que fazemos no dia a dia,
fazemos por via de algoritmos.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
8
4
GMA038 - 2015/1
Exemplos cotidianos de algoritmos
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
9
Algoritmo 1 – somar três números
Passo 1 – receber três números.
Passo 2 – somar os três números.
Passo 3 – mostrar o resultado obtido.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
10
5
GMA038 - 2015/1
Algoritmo 2 – sacar dinheiro no caixa eletrônico
Passo 1 – ir até um caixa eletrônico
Passo 2 – colocar o cartão
Passo 3 – digitar a senha
Passo 4 – solicitar a quantia desejada
Passo 5 – se saldo for maior ou igual à quantia
desejada, realizar o saque; caso contrário, não
realizar o saque ou sacar uma quantia menor
Passo 6 – retirar o cartão
Passo 7 – sair do caixa eletrônico
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
11
Note pelos exemplos que podem existir
maneiras diferentes de se resolver
determinados problemas, de maneira
que ao final o resultado seja o mesmo
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
12
6
GMA038 - 2015/1
Método para construção de algoritmos
(a) Compreender completamente o problema a ser
resolvido, destacando pontos mais importantes e objetos
que o compõem;
(b) Definir os dados de entrada, isto é, quais dados
serão fornecidos e quais objetos fazem parte do
problema;
(c) Definir o processamento, isto é, quais cálculos serão
efetuados; quais as restrições para estes cálculos;
Processamento: responsável pela transformação de dados de
entrada em dados de saída.
Deve-se também verificar quais objetos são responsáveis por
cada atividade de processamento.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
13
Método para construção de algoritmos
(d) Definir os dados de saída, isto é, quais dados
são gerados após o processamento;
(e) Construir o algoritmo;
(f) Testar o algoritmo, através de simulações.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
14
7
GMA038 - 2015/1
Em suma:
Entrada
Entrada de
de dados
dados
Processamento
Processamento
Saída
Saída de
de dados
dados
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
15
Dicas
Precisa-se descrever a sequência de instruções,
de maneira simples e objetiva:
Somente um verbo por frase;
Frases curtas e simples;
Ser objetivo;
Evitar frases com sentido dúbio.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
16
8
GMA038 - 2015/1
Representação de algoritmos
1. Descrição narrativa
Escrever, utilizando uma linguagem natural (exemplo:
língua portuguesa), os passos a serem seguidos para
resolução do problema.
Vantagem: nenhum conceito novo necessário
Desvantagem: pode abrir espaço para interpretações
Dificultará transcrição deste algoritmo para um programa
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
17
Exemplo de descrição narrativa
Exemplo: fazer um sanduíche
Passo 1 – pegar o pão
Passo 2 – cortar o pão ao meio
Passo 3 – pegar a maionese
Passo 4 – passar a maionese no pão
Passo 5 – pegar e cortar alface e tomate
Passo 6 – colocar alface e tomate no pão
Passo 7 – Pegar o hambúrguer
Passo 8 – fritar o hambúrguer
Passo 9 – colocar o hambúrguer no pão
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
18
9
GMA038 - 2015/1
Representação de algoritmos
2. Fluxograma
Escrever, usando símbolos gráficos predefinidos, os
passos a serem seguidos para a resolução do
problema.
Diagrama: representação visual dos algoritmos
Também utilizado em outras áreas:
Exemplo: processos dentro de uma linha de produção
Vantagem: entendimento mais simples. Útil nas fases
iniciais de aprendizado de programação
Desvantagem: algoritmo resultante com poucos
detalhes; aprendizado da simbologia necessário.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
19
Exemplo de fluxograma
Imprimir maior dentre dois números, A e B.
Início
Leia A e B
A > B?
Sim
Não
Escreva A
Escreva B
Fim
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
20
10
GMA038 - 2015/1
Exemplo de fluxograma
Representação alternativa:
Início
Leia A e B
A > B?
Não
Sim
A← B
Escreva A
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
21
Representação de algoritmos
3. Pseudocódigo
Linguagem intermediária entre linguagem natural e
linguagem de programação
Escrever, por meio de regras predefinidas, os passos a
serem seguidos para resolução do problema
Vantagem: codificação em linguagem de programação
é quase imediata
Desvantagem: é necessário aprender as regras do
pseudocódigo – será apresentado nas próximas aulas
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
22
11
GMA038 - 2015/1
Exemplo de pseudocódigo
Como seria o pseudocódigo do algoritmo dado no
fluxograma do penúltimo slide?
Declare
Declare A,
A, BB numérico
numérico
Início
Início
Escreva
Escreva “Digite
“Digite dois
dois valores”
valores”
Leia
Leia A,
A, BB
Se
Se AA << BB Então
Então
AA ←← BB
Fim
Fim Se
Se
Escreva
Escreva AA
Fim
Fim
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
23
Simbologia de fluxogramas
Início e fim
Podem ser círculos ou
formas ovais
Normalmente contêm a
palavras “Início”, “Fim”,
ou alguma expressão
sinalizando o início ou
fim do processo.
Início
Fim
Escreva A
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
24
12
GMA038 - 2015/1
Simbologia de fluxogramas
Processo e operações
Representação por
retângulos.
Leia A e B
Indica uma tarefa a ser
executada pelo
algoritmo.
M=N+P
Usado para cálculos e
atribuições de valores.
Escreva B
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
25
Simbologia de fluxogramas
Condição ou decisão
Representação por
losangos.
Normalmente contém
uma pergunta do tipo
Sim/Não ou um teste de
Verdadeiro/Falso.
A > B?
Mudanças no fluxo –
possibilidade de
desvios.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
26
13
GMA038 - 2015/1
Simbologia de fluxogramas
Setas
Conectam dois
símbolos quaisquer.
Indicam o fluxo de
dados – ordem das
operações a serem
realizadas.
GMA038 - Intro. Ciênc. Computação
A > B?
Não
Sim
A
←
B
Escreva A
Algoritmos: conceitos básicos
27
Outro exemplo de algoritmo
Faça um algoritmo para calcular a média aritmética
entre duas notas de um aluno e mostrar sua
situação, que pode ser “aprovado” - caso a média
seja maior ou igual a 60, ou “reprovado”, caso
reprovado. Utilize:
Descrição narrativa
Pseudocódigo
Fluxograma
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
28
14
GMA038 - 2015/1
Descrição narrativa
Passo 1: receber duas notas
Passo 2: calcular a média aritmética
Passo 3: mostrar média aritmética
Passo 4: se média for maior ou igual a 60, então
situação do aluno é aprovado; caso contrário, a
situação é reprovado.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
29
Pseudocódigo
Declare N1, N2, M numérico
Início
Escreva “digite as duas notas”
Leia N1, N2
M ← (N1+N2)/2
Escreva “Média =”, M
Se M >= 60 Então
Escreva “aprovado”
Senão
Escreva “reprovado”
Fim Se
Fim
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
30
15
GMA038 - 2015/1
Fluxograma
Início
Leia N1, N2
M = (N1 + N2)/2
Escreva M
Sim
M >= 60?
Escreva “aprovado”
Não
Escreva “reprovado”
Fim
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
31
Testando o algoritmo: teste de mesa
Consiste do acompanhamento manual (linha a
linha) da execução do algoritmo, visando:
Avaliar se os resultados obtidos correspondem àqueles
esperados/desejados.
Detectar, se existentes, os erros de comandos e/ou
fluxo de execução.
Durante os testes, deve-se definir os valores de
entrada, visando avaliar as seguintes situações:
Casos extremos (valores limítrofes da validade);
Exceções do problema (valores inválidos).
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
32
16
GMA038 - 2015/1
Teste de mesa: exemplo
Declare P1, P2, P3, P4 inteiro
media real
inicio
leia P1, P2, P3, P4
media ← (P1+P2+P3+P4)/4
escreva(media)
se media < 6 entao
escreva “REPROVADO”
senao
escreva “APROVADO”
fim se
fim
Algoritmos: conceitos básicos
GMA038 - Intro. Ciênc. Computação
33
Teste de mesa: exemplo
Declare P1, P2, P3, P4 inteiro
media real
inicio
leia P1, P2, P3, P4
media ← (P1+P2+P3+P4)/4
escreva(media)
se media < 6 entao
escreva “REPROVADO”
senao
escreva “APROVADO”
fim se
fim
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
34
17
GMA038 - 2015/1
Metodologia de programação:
Refinando o algoritmo
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
35
Metodologias de programação
A resolução de um problema começa com a
definição dos dados e tarefas básicas.
Esta definição inicial é feita em nível bem alto e
geral.
Não há preocupação com os detalhes
(refinamento).
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
36
18
GMA038 - 2015/1
Metodologias de programação
Refinamentos sucessivos (top-down)
Consiste em decompor uma ou várias tarefas em
subtarefas mais detalhadas.
É um processo iterativo, isto é, subtarefas podem ser
decompostas em subtarefas ainda mais detalhadas.
Algoritmos: conceitos básicos
GMA038 - Intro. Ciênc. Computação
37
Refinamentos sucessivos
Exemplo: trocar um pneu furado
Levantar o carro parcialmente;
Retirar o pneu furado;
Instalar o novo pneu;
Abaixar o carro
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
38
19
GMA038 - 2015/1
Refinamentos sucessivos
Exemplo: trocar um pneu furado
Retirar o estepe;
Levantar o carro parcialmente;
Retirar o pneu furado;
Instalar o novo pneu;
Abaixar o carro;
Apertar bem as porcas
Algoritmos: conceitos básicos
GMA038 - Intro. Ciênc. Computação
39
Refinamentos sucessivos
Exemplo: trocar um pneu furado
Pegar as ferramentas no porta-malas;
Retirar o estepe;
Instalar o macaco;
Levantar o carro parcialmente;
Afrouxar os parafusos do pneu furado;
Retirar o pneu furado;
Instalar o novo pneu;
Abaixar o carro;
Apertar bem as porcas;
Guardar o pneu furado e as ferramentas
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
40
20
GMA038 - 2015/1
Refinamentos sucessivos
O algoritmo ainda pode ser refinado de várias
maneiras:
O que fazer se o macaco não estiver no porta-malas?
O que fazer se o estepe também estiver vazio?
Deve-se puxar sempre o freio de mão antes de
executar estas operações.
Limpar as mãos;
Consertar o pneu furado;
Etc...
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
41
Tipos de dados e variáveis
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
42
21
GMA038 - 2015/1
Variáveis
Todo algoritmo – e, consequentemente, todo
programa – recebem dados.
Dados são armazenados no computador, para
posteriormente serem processados.
Armazenamento durante a execução do programa: memória
primária (RAM).
Representação de dados na memória: bits e bytes.
Porções de memória (sequências de bits / bytes) que
armazenam os dados são identificadas e acessadas
através de endereços.
Algoritmos: conceitos básicos
GMA038 - Intro. Ciênc. Computação
43
Exemplo: programa para
folha de pagamento
Índice de
pagamento:
localização 3
Horas trabalhadas:
localização 6
Resultado (Salário):
localização 8
Escolha arbitrária: qualquer localização pode ser usada;
Programador não precisa se preocupar com endereço: cada
endereço pode receber um nome, chamado endereço
simbólico. Ex.: índice, horas, salário
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
44
22
GMA038 - 2015/1
Variável
Endereço simbólico: variável
Possui um nome (identificador) e um tipo;
Representa uma posição de memória, onde é guardado
um dado ou valor;
Seu conteúdo pode ser alterado durante a execução do
programa, mas não sua posição;
Pode assumir valores distintos, mas somente um único
valor a cada instante da execução do
programa/algoritmo.
Exemplos (slide anterior):
Horas, Salario, Indice.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
45
Tipos de dados
Toda variável possui um determinado tipo.
Tipo de uma variável: determina o conjunto de valores
(e operações) que a variável pode aceitar.
Tipos de dados primitivos (básicos):
Numéricos;
Inteiros;
Reais.
Lógicos;
Literais ou de texto.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
46
23
GMA038 - 2015/1
Dados numéricos
Positivos ou negativos;
Dois grupos:
Inteiros;
Reais.
Inteiros:
Sem parte fracionária;
Exemplos: -23, 98, 0, -357, 237, -2
Reais:
Possuem parte fracionária;
Exemplos: 23.45, -34.88, -247.0, -346.89
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
47
Dados numéricos
Observação:
Observação: notação
notação de
de dados
dados reais
reais no
no
computador:
computador: língua
língua inglesa
inglesa (ponto,
(ponto, ee não
não vírgula,
vírgula,
separa
separa parte
parte inteira
inteira da
da parte
parte fracionária
fracionária
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
48
24
GMA038 - 2015/1
Dados lógicos
Podem assumir somente dois valores:
Verdadeiro
Falso
Também chamados de boolianos (álgebra de
Boole).
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
49
Dados literais ou caracteres
Formados por um único caractere ou uma cadeia
de caracteres.
Caractere:
Letras maiúsculas;
Letras minúsculas;
Algarismos (não podem ser utilizados para cálculos);
Caracteres especiais (ex.: &, #, @, ?, +, etc.)
Exemplos: “aluno”, “1234”, “0.34”,
“1+2”, “1ab”, “0”, “x”, etc.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
50
25
GMA038 - 2015/1
Identificando variáveis
Toda variável, além de um tipo, deve possuir um
nome (identificador).
Algumas regras para identificar uma variável:
Podem ser utilizados algarismos, letras maiúsculas, letras
minúsculas;
No início: somente uma letra ou símbolo “_”;
Não permitidos: espaço em branco, caracteres especiais
(@, $, +, -, %, etc.);
Não permitidos: palavras reservadas da linguagem de
programação em uso.
Exemplos: x, y, salario, _horas, N1, n2
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
51
Programação estruturada
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
52
26
GMA038 - 2015/1
Programação estruturada
Questão: como resolver um determinado
problema?
Paradigma de programação
Relacionado à forma de pensar do programador;
Como ele busca a solução para o problema;
Mostra como o programador analisou e abstraiu o
problema a ser resolvido.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
53
Paradigmas de programação
Paradigmas
Estruturado;
Orientado a objetos;
Lógico;
Funcional;
Etc....
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
54
27
GMA038 - 2015/1
Paradigma estruturado
Também chamado imperativo;
Utilização de 3 estruturas:
Sequencial;
Condicional;
Repetição ou iterativa.
Busca quebrar um problema complexo em partes
menores;
Programador:
Analisa o problema;
Tenta relacionar ações que deverão ser executadas.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
55
Estrutura sequencial de um algoritmo
A estrutura sequencial de um algoritmo é dada
como segue:
Algoritmo
Algoritmo
Declaração
Declaração de
de variáveis
variáveis
Comandos
Comandos (atribuição,
(atribuição, entrada
entrada // saída,
saída, processamento)
processamento)
Fim
Fim do
do algoritmo
algoritmo
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
56
28
GMA038 - 2015/1
Declaração de variáveis
Na declaração de variáveis, criamos as mesmas,
definindo um identificador (nome) válido, e seu tipo
Quando a variável é criada durante a execução do
programa, uma posição de memória é atribuída à
mesma
Exemplo (pseudocódigo):
Declare x numérico
Declare y,z literal
Declare teste lógico
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
57
Atribuição
Comandos de atribuição são usados para
conceder (atribuir) valores ou operações às
variáveis.
Exemplos (pseudocódigo):
x ← 4
y ← x + 2
M ← (N1 + N2)/2
teste ← falso
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
58
29
GMA038 - 2015/1
Comandos de entrada
Comandos de entrada são utilizados para receber
dados de entrada do usuário (via teclado ou outro
dispositivo de entrada), e armazená-los em variáveis.
São representados pela palavra leia. Exemplos:
Leia x
Leia y
Se x é numérico: um valor digitado pelo usuário será
armazenado na variável x;
Se y é literal: um ou mais caracteres digitados pelo usuário
serão armazenados na variável y.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
59
Comandos de saída
Comandos de saída são utilizados para mostrar ao
usuário dados na tela (ou outro dispositivo de
saída):
Dados podem ser simplesmente o conteúdo de
variáveis ou mensagens.
Exemplos:
Escreva X
Escreva “conteúdo de Y = “, Y
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
60
30
GMA038 - 2015/1
Exercícios
1.Escreva um algoritmo que execute a soma de dois
números inteiros fornecidos pelo usuário, usando:
Declaração de variáveis
Comandos de entrada (leitura) e saída de dados
2.Faça um algoritmo que, a partir do salário de um
funcionário, calcule e mostre o novo salário, sabendo-se
que este sofreu um aumento de 25%.
3.Escreva um algoritmo que lê o nome de um vendedor, o
seu salário fixo, o total de vendas por ele efetuadas e o
percentual que ganha sobre o total de vendas. Calcular o
salário total do vendedor. Escrever o nome do vendedor
e seu salário total.
GMA038 - Intro. Ciênc. Computação
Algoritmos: conceitos básicos
61
Referências
ASCENCIO, A. F. G., CAMPOS, E. A. V.
Fundamentos da Programação de Computadores.
São Paulo: Prentice Hall, 2007.
PAIVA, J. G. S. Notas de aula de algoritmos e
programação de computadores.
MARTINS, L. G. A. e SILVA, A. J. Notas de aula de
Introdução a algoritmos.
GMA038 - Intro. Ciênc. Computação
Prof. Renato Pimentel
Algoritmos: conceitos básicos
62
31
Download