O processador do
algoritmo
Instituto de Computação – UFAL
Processador do algoritmo
 O agente que executa um algoritmo é chamado
processador
 O proc...
Instituto de Computação – UFAL
Processador do algoritmo
 E se o processador e uma maquina e não sabe
o que é algarismo, c...
Instituto de Computação – UFAL
Exemplo
 O processador é capaz de
 Determinar o resto de uma divisão inteira
 Queremos
...
Instituto de Computação – UFAL
Exemplo, um pouco mais formal
inicio
var n, resto : inteiro
leia n
resto = n % 10
imprima r...
Instituto de Computação – UFAL
Linguagem coloquial
 Em muitos casos utilizamos uma linguagem
coloquial para expressar alg...
Instituto de Computação – UFAL
Linguagem coloquial
 Dificuldade em expressar certas instruções
 Exemplo
 Algoritmo para...
Instituto de Computação – UFAL
Equações :: uma linguagem um pouco mais
adequada
1. Chame de a, b e c os coeficientes da eq...
Instituto de Computação – UFAL
Exemplos
 Suposições
 O nosso processador de algoritmos é capaz de:
 Somar
 Subtrair
 ...
Instituto de Computação – UFAL
Exemplos de algoritmos matemáticos
 Nosso processador não é capaz de calcular o
resto e ne...
Instituto de Computação – UFAL
Como resolver?
 Qual a entrada?
 Qual a saída esperada?
 Quais os passos para “dada a en...
Instituto de Computação – UFAL
Algoritmo
inicio
// declaração de variáveis
var dividendo, divisor, i : inteiro
var quocien...
Instituto de Computação – UFAL
Execução do algoritmo
rodrigo@ic.ufal.br
Dividendo Divisor
Quociente
* i
i Quociente Resto
Instituto de Computação – UFAL
Exemplo 2
 Determinar o menor divisor maior que 1 de um
inteiro dado
 Exemplos:
 10, res...
Instituto de Computação – UFAL
Algoritmo
inicio
numero, divisor : inteiro
leia numero
divisor = 2
repita enquanto ( (numer...
Instituto de Computação – UFAL
Exemplo 3
 Calcular o Máximo Divisor Comum (mdc) de
dois números dados
 Exemplo:
 mdc(15...
Instituto de Computação – UFAL
Solução
 Algoritmo de Euclides
 mdc (120, 84)
rodrigo@ic.ufal.br
120 84
1
36
2
12
3
0
Instituto de Computação – UFAL
Desafio
 Você já conseguiria escrever esse algoritmo?
 Tente !
 Lembre-se
 Qual a entra...
Instituto de Computação – UFAL
Exercícios
1. Faça um algoritmo que leia 2 valores e mostre as
quatro operações matemáticas...
Próximos SlideShares
Carregando em…5
×

Aula 2 - Programação 1

381 visualizações

Publicada em

Aulas da Disciplina de Programação I do Professor Rodrigo Paes, UFAL

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
381
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 2 - Programação 1

  1. 1. O processador do algoritmo
  2. 2. Instituto de Computação – UFAL Processador do algoritmo  O agente que executa um algoritmo é chamado processador  O processador precisa entender as instruções contidas no algoritmo  Exemplo:  Elaborar um algoritmo para extrair o algarismo da casa das unidades de um inteiro dado  Se o processador for um ser humano que saiba o que é número inteiro, algarismo e casa das unidades, o algoritmo teria uma única instrução:  “Forneca o algarismo das unidades do inteiro dado” rodrigo@ic.ufal.br
  3. 3. Instituto de Computação – UFAL Processador do algoritmo  E se o processador e uma maquina e não sabe o que é algarismo, casa das unidades, "mais a direita“, etc.?  Quem esta elaborando o algoritmo deveria conhecer que instruções o processador e capaz de executar para poder escrever o seu algoritmo rodrigo@ic.ufal.br
  4. 4. Instituto de Computação – UFAL Exemplo  O processador é capaz de  Determinar o resto de uma divisão inteira  Queremos  O algarismo da casa das unidades  Solução:  Chame de n o inteiro dado;  Calcule o resto da divisão de n por 10;  Forneça este resto como o algarismo pedido. rodrigo@ic.ufal.br
  5. 5. Instituto de Computação – UFAL Exemplo, um pouco mais formal inicio var n, resto : inteiro leia n resto = n % 10 imprima resto fim rodrigo@ic.ufal.br
  6. 6. Instituto de Computação – UFAL Linguagem coloquial  Em muitos casos utilizamos uma linguagem coloquial para expressar algoritmos  Nem sempre é adequado  Ambiguidades  Crianças que bebem leite materno freqüentemente são mais sadias;  As crianças são mais sadias porque recebem leite freqüentemente ou são freqüentemente mais sadias porque recebem leite?  Gabriela deve pegar o estojo vazio da aliança de diamantes que estava sobre a cama  O que estava sobre a cama: o estojo vazio ou a aliança de diamantes? rodrigo@ic.ufal.br
  7. 7. Instituto de Computação – UFAL Linguagem coloquial  Dificuldade em expressar certas instruções  Exemplo  Algoritmo para calcular raízes de uma equação do segundo grau  “Subtraia do quadrado do segundo coeficiente o produto do numero quatro pelo produto dos dois outros coeficientes.” rodrigo@ic.ufal.br
  8. 8. Instituto de Computação – UFAL Equações :: uma linguagem um pouco mais adequada 1. Chame de a, b e c os coeficientes da equação. 2. Calcule d = b2 - 4ac. 3. Se d < 0 forneça como resposta a mensagem: A equação não possui raízes reais. 4. Se d ≥ 0 1. Calcule x1 = (-b + raiz(d))/2a e x2 = (-b - raiz(d))/2a. 2. Forneça x1 e x2 como raízes da equação. rodrigo@ic.ufal.br
  9. 9. Instituto de Computação – UFAL Exemplos  Suposições  O nosso processador de algoritmos é capaz de:  Somar  Subtrair  Dividir  Multiplicar  Comparar  Executar condicionalmente uma instrução  Repetir instruções  Número fixo  Condicionalmente  Representar por seqüências de caracteres (chamadas variáveis) valores numéricos (que passam a ser chamados valores da variável)  Atribuir um valor a uma variável  Substituir o valor de uma variável por um outro valor  Emitir mensagens rodrigo@ic.ufal.br
  10. 10. Instituto de Computação – UFAL Exemplos de algoritmos matemáticos  Nosso processador não é capaz de calcular o resto e nem o quociente de uma divisão inteira  Objetivo:  Algoritmo para a determinação do quociente e do resto da divisão de dois inteiros positivos dados  Exemplo  30 / 7  Quociente: 4  Resto: 2 rodrigo@ic.ufal.br
  11. 11. Instituto de Computação – UFAL Como resolver?  Qual a entrada?  Qual a saída esperada?  Quais os passos para “dada a entrada” chegar na “saída esperada” ?  Resolva primeiro na sua “cabeça”  Use papel e caneta para entender e desenvolver a solução  Só depois faça o algoritmo rodrigo@ic.ufal.br
  12. 12. Instituto de Computação – UFAL Algoritmo inicio // declaração de variáveis var dividendo, divisor, i : inteiro var quociente, resto : inteiro // entrada de dados leia dividendo, divisor i = 1 repita enquanto ((i * divisor) <= dividendo ) i = i+1 fim_enquanto quociente = i - 1 resto = dividendo - quociente*divisor // saída imprima "O resto é "+resto+" e o quociente é "+quociente fim rodrigo@ic.ufal.br
  13. 13. Instituto de Computação – UFAL Execução do algoritmo rodrigo@ic.ufal.br Dividendo Divisor Quociente * i i Quociente Resto
  14. 14. Instituto de Computação – UFAL Exemplo 2  Determinar o menor divisor maior que 1 de um inteiro dado  Exemplos:  10, resposta: 2  13, resposta: 13  15, resposta: 3  Considere que dessa vez o processador do algoritmo sabe executar o resto:  10 % 3 == 1  2 % 5 == 2  10 % 4 == 2 rodrigo@ic.ufal.br
  15. 15. Instituto de Computação – UFAL Algoritmo inicio numero, divisor : inteiro leia numero divisor = 2 repita enquanto ( (numero%divisor) !=0 ) divisor = divisor + 1 fim_enquanto imprima "A resposta é "+divisor fim rodrigo@ic.ufal.br Note que agora já sabemos calcular o resto
  16. 16. Instituto de Computação – UFAL Exemplo 3  Calcular o Máximo Divisor Comum (mdc) de dois números dados  Exemplo:  mdc(15, 20) = 5  mdc(8,32) = 8  mdc(56, 64)=8 rodrigo@ic.ufal.br
  17. 17. Instituto de Computação – UFAL Solução  Algoritmo de Euclides  mdc (120, 84) rodrigo@ic.ufal.br 120 84 1 36 2 12 3 0
  18. 18. Instituto de Computação – UFAL Desafio  Você já conseguiria escrever esse algoritmo?  Tente !  Lembre-se  Qual a entrada?  Qual a saída esperada?  Como fazer para: rodrigo@ic.ufal.br Entrada SaídaAlgoritmo
  19. 19. Instituto de Computação – UFAL Exercícios 1. Faça um algoritmo que leia 2 valores e mostre as quatro operações matemáticas básicas entre estes 2 números. 2. Faça um algoritmo que calcule a área de um triângulo. São dadas a base e a altura do triângulo. 3. Faça um algoritmo que através de quatro notas calcule as médias aritmética, harmônica e geométrica. 4. Faça um algoritmo que imprima como resposta o sucessor e o antecessor de um número dado. rodrigo@ic.ufal.br

×