Buscar

1 Algoritmo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Professor: Mestrando Hállysson Duarte
Introdução a Algoritmo
24/02/2015Prof. Mestrando Hállysson Duarte2
24/02/2015Prof. Mestrando Hállysson Duarte3
24/02/2015Prof. Mestrando Hállysson Duarte4
24/02/2015Prof. Mestrando Hállysson Duarte5
24/02/2015Prof. Mestrando Hállysson Duarte6
24/02/2015Prof. Mestrando Hállysson Duarte7
24/02/2015Prof. Mestrando Hállysson Duarte8
24/02/2015Prof. Mestrando Hállysson Duarte9
24/02/2015Prof. Mestrando Hállysson Duarte10
24/02/2015Prof. Mestrando Hállysson Duarte11
24/02/2015Prof. Mestrando Hállysson Duarte12
Exemplo:
24/02/2015Prof. Mestrando Hállysson Duarte13
 Algoritmo1 Quadrado
Calcular o quadrado de um número
1: Solicite um valor de x
2: Calcule x * x e chame esse valor de s
3: Forneça o valor de s para o programa que o chamou – o chamador 
O ambiente de chamada
24/02/2015Prof. Mestrando Hállysson Duarte14
 Definição: A entidade que provoca a execução de um algoritmo é 
conhecida como um chamador. O chamador é normalmente um outro 
algoritmo (software). 
Dados de entrada e saída
 Dados de entrada: são dados que devem fornecer a um algoritmo para 
que ele execute e realize sua função.
 Dados de saída: São dados que um algoritmo fornece ao ambiente 
externo.
No nosso algoritmo1 quem são esses dados?
Vamos ver dois Algoritmos de 
Multiplicação
24/02/2015Prof. Mestrando Hállysson Duarte15
 Os tipos de instruções que podemos escrever quando
criamos um algoritmo são dependentes das quais são
intrínsecas à máquina que executará no algoritmo. Se ela
pode multiplicar, podemos usar a instrução de multiplicação;
se não pode multiplicar, mas pode adicionar e repetir tarefas
várias vezes, então podemos construir nosso próprio
algoritmo de multiplicação.
Algoritmo2 Multiplicação de Números 
Não-Negativos
24/02/2015Prof. Mestrando Hállysson Duarte16
Toma inteiros não-negativos i e j e retorna um inteiro igual a i x j
Solicite: i  0, j  0
1: Atribua 0 a produto
2: Atribua 0 a contador
3: enquanto contador < i faça
4: Atribua a produto seu valor corrente mais j
5: Adicione 1 a contador
6: fim-enquanto
7: Retorne produto
24/02/2015Prof. Mestrando Hállysson Duarte17
 Consideremos agora a multiplicação de i = 3 por j = 20
Solicite: i = 3, j = 20
1: Atribua 0 a produto
2: Atribua 0 a contador
3: enquanto contador < i faça
4: Atribua a produto seu valor corrente mais j
5: Adicione 1 a contador
6: fim-enquanto
7: Retorne produto
Algoritmo2 Multiplicação de Números 
Não-Negativos
Resolução
24/02/2015Prof. Mestrando Hállysson Duarte18
0
Contador
0
Produto
3
i
20
j
Antes do loop
Contador
20
Produto
3
i
20
j
Após a primeira passagem 
pelo loop
Contador Produto i j
Após a segunda passagem 
pelo loop
Contador Produto i j
Após a terceira passagem 
pelo loop
Algoritmo3 Multiplicação de números 
inteiros
24/02/2015Prof. Mestrando Hállysson Duarte19
 Para multiplicar inteiros negativos, basta multiplicar inteiros
não-negativos e tratar dos inteiros negativos manipulando
adequadamente os sinais.
 Suponha então que o mecanismo de execução do nosso
algoritmo possua uma instrução para inverter o sinal de
inteiros i. Se i for -10, então ele se torna 10.
24/02/2015Prof. Mestrando Hállysson Duarte20
Toma inteiros i e j e retorna um inteiro igual a i x j
1: se i e j são ambos não-negativos então
2: use Multiplicação de números Inteiros não-negativos para calcular i x j e nomeie este resultado
produto
3: senão se i e j são ambos negativos então
4: inverta os sinais de i e j (assim eles se tornam positivos)
5: use Multiplicação de números Inteiros não-negativos para calcular i x j e nomeie este resultado
produto
6: senão
7: se i < 0 então
8: inverta o sinal de i (mude i para -i)
9: senão
10: inverta o sinal de j (mude i para -i)
11: fim se
12: use Multiplicação de números Inteiros não-negativos para calcular i x j e nomeie este resultado produto
13: inverta o sinal de produto
14: fim se
15: Retorne produto
Algoritmo3 Multiplicação de números 
inteiros
24/02/2015Prof. Mestrando Hállysson Duarte21
 Obs.: Ao organizar o algoritmo Multiplicação de números inteiros, precisamos
de um mecanismo para selecionar dinamicamente as etapas a serem executadas
com base nas condições que são verificadas no instante da execução
se condição 1 é verdadeira então.
execute tarefa A
senão se condição 2 é verdadeira então
execute tarefa B
senão
execute tarefa C
fim se
Isso trata-se de uma idéia dinâmica, descrevendo como as coisas devem acontecer
quando um algoritmo seja executado.Também é chamado de instrução de seleção.
Controle Dinâmico da Execução 
24/02/2015Prof. Mestrando Hállysson Duarte22
 Os três conceitos de estruturação de algoritmos, sequência,
iteração e seleção descrevem o controle do fluxo dinâmico do
algoritmo quando ele é executado, e todos os três devem ser
expressos de alguma maneira na descrição estática do
algoritmo. Eles são importantes o bastante para receberem
definições explícitas.
24/02/2015Prof. Mestrando Hállysson Duarte23
Sequência específica uma ordem linear de execução na qual uma tarefa particular é
explicitamente indica para suceder.
Receber o número 
de itens, N 
Atribui 0 a Massa 
Atribui 0 a Contador 
Etapa 2
Etapa 1
Etapa 3
24/02/2015Prof. Mestrando Hállysson Duarte24
Iteração é a execução repetida de um grupo de instruções até que alguma condição seja
satisfeita.
Seleção é a execução seletiva de um grupo de instruções baseada em alguma condição
Quantas iterações temos no Algoritmo2?
A execução seletiva, ou condicional de instruções num algoritmo nos dá 
meios de tratar de casos nos quais as etapas de transformações de dados 
desejadas diferem em função de dados a serem transformados.
Exemplos: Ano bissexto, então após o dia 28 de fevereiro é 29 
Obs.:
24/02/2015Prof. Mestrando Hállysson Duarte25
N < 0se então
Comunica erro
Aceita o frete
senão
Existem vários caminhos
potenciais numa estrutura de
seleção, mas apenas um é seguido
em qualquer execução particular
da estrutura. A linha tracejada
representa os caminhos potenciais
das etapas, e as setas contínuas, o
verdadeiro caminho para o caso de
N = 2.
Computadores e Linguagens de 
Programação
24/02/2015Prof. Mestrando Hállysson Duarte26
 Um computador é uma máquina de execução de um algoritmo
programável. Ele é de tal maneira engenhoso que podemos introduzir
ambos, um algoritmo e dados, nele, fazendo com que dados sejam
transformados pelas etapas executáveis do algoritmo.
24/02/2015Prof. Mestrando Hállysson Duarte27
 Uma linguagem de programação é uma linguagem bem definida,
cujos construtores possuem uma forma precisa e um
significado tais que eles podem ser traduzidos mecanicamente
em linguagem de máquina. Um algoritmo expresso numa
linguagem de programação ou numa linguagem de máquina é
chamado de programa.
Computadores e Linguagens de 
Programação
24/02/2015Prof. Mestrando Hállysson Duarte28
 Um compilador é um algoritmo para traduzir um texto em
linguagem de programação sintaticamente correto, bem
formado, na linguagem de máquina de um dado computador.
Computadores e Linguagens de 
Programação
24/02/2015Prof. Mestrando Hállysson Duarte29
Para a próxima aula
Fluxograma 
Pseudocódigo
24/02/2015Prof. Mestrando Hállysson Duarte30

Outros materiais