Buscar

Aula1 Algoritmos 2015 2

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 27 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 27 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 27 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

1
ALGORITMOS
30h
EMENTA
• Estudo, desenvolvimento e implementação de algoritmos 
estruturados aplicados. Tipos de dados, variáveis e comandos.
OBJETIVOS
• Fornecer noções de informática, desenvolvimento de algoritmos 
estruturados e suas implementações em linguagem de 
programação estruturada.
HABILIDADES
• Raciocínio lógico, resolução de problemas e capacidade de 
abstração da solução em uma representação formal e/ou em 
uma linguagem computacional.
AVALIAÇÃO
• Frequência >= 75%
• Média = (N1+N2)/2
2
Referências Bibliográficas
• TOSCANI, Laira Vieira; VELOSO, Paulo A. S. INSTITUTO DE 
INFORMÁTICA DA UFRGS. Complexidade de algoritmos : Laira 
Vieira Toscani, Paulo A. S. Veloso. Porto Alegre: Bookman, 
2008. 261 p. (Livros didáticos ; n. 13) ISBN 9788577803507.
• LOUDON, Kyle. Dominando algoritmos com C.  Rio de Janeiro: 
Ciência Moderna, 2000. xvi, 580 p. + 1 CD-ROM ISBN 
8573930764.
• DEITEL. Programação C.
• Auraújo, Rogério. LÓGICA DE PROGRAMAÇÃO.
3
PRIMEIRO COMPUTADOR - ENIAC
4
Em 1943 durante a II guerra mundial foi desenvolvido o ENIAC,que pesava 
30 toneladas e tinha 5,5 metros de altura, 25 metros de comprimento , 70 mil 
resistores e 17.468 válvulas.
ARQUITETURA SIMPLIFICADA
5
ARQUITETURA DE UM 
COMPUTADOR
6
ARQUITETURA VON NEUMANN x 
HARVARD
7
Von Neumann
•Arquitetura mais simples
•Mais lento pois não permite acesso simultâneo às memórias
•Geralmente CISC
•Exemplos: 4004(46 instruções), 8080(78 instruções), 8051(111 
•Instruções), 8085(150 instruções), Z80(Mais de 500 instruções)
Harvard
•Arquitetura mais complexa
•Mais rápido, pois permite acesso simultâneo às memórias
•Geralmente RISC
•Permpite Pepelining
•Exemplos: Intel 8086, 8088, Microchip PIC(35 instruções)
ELABORAÇÃO DE UM PROGRAMA
8
Problem
a
Análise
AlgoritmoPrograma
PROCESSO DE GERAÇÃO DE UM 
PROGRAMA
• Análise do problema:
– Ler atentamente o enunciado do problema até 
entendê-lo bem
– Identificar os dados de entrada
– Identificar as saídas (resultados esperados)
– O que o programa deve fazer (seu objetivo), isto 
é, como transformar as entradas em saídas
– Identificar se existem valores ou dados 
intermediários, necessários para transformar 
entradas em saídas
9
10
• LÓGICA DE PROGRAMAÇÃO:
– Técnica de encadear pensamentos para atingir 
determinado objetivo
– Necessária para desenvolver programas e sistemas, pois 
permite definir a seqüência lógica para a solução de um 
problema
• SEQÜÊNCIA LÓGICA: 1.  2.  3. 
– Passos executados até se atingir o objetivo ou solução 
de um problema
– Podem ser descritos como uma seqüência de instruções, 
que devem ser seguidas para se cumprir uma 
determinada tarefa
11
• INSTRUÇÃO:
– Cada um dos passos, cada uma das ações a tomar 
(obedecendo a seqüência lógica) para ir resolvendo o 
problema, ou para ir executando a tarefa
– Em informática, é a informação que indica a um 
computador uma operação elementar a executar
• Ex.: “somar”, “subtrair”, “comparar se é maior”, etc
– Uma só instrução não resolve problemas reais
– Executar um conjunto de instruções
– Executar em uma seqüência lógica
12
• EXEMPLO: para “fazer omelete”
– Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, 
“ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no 
fogo”, “fritar ovos batidos”, etc...
• Quanto às instruções isoladas:
– Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é 
suficiente para cumprir a tarefa “fazer omelete”
• Quanto à seqüência lógica:
– Se executarmos “fritar ovos batidos” antes de “bater 
ovos”, ou pior, antes de “quebrar ovos”, não iremos 
cumprir a tarefa “fazer omelete”
13
• ALGORITMO:
– Seqüência finita de passos que levam à execução de 
uma tarefa
– Claro e preciso. Ex. “somar dois números”:
• Escrever primeiro número no retângulo A
• Escrever segundo número no retângulo B
• Somar o número do retângulo A com o número do retângulo B e 
escrever o resultado no retângulo C
A B C
+ =
14
Exemplo de algoritmo
(Descrição Narrativa)
 Quando uma dona de casa prepara um bolo, segue 
uma receita, que nada mais é do que um algoritmo 
em que cada instrução é um passo a ser seguido 
para que o prato fique pronto com sucesso:
1. Bata 4 claras em neve
2. Adicione 2 xícaras de açúcar
3. Adicione 2 colheres de farinha de trigo, 4 gemas, 
uma colher de fermento e duas colheres de 
chocolate
4. Bata por 3 minutos
5. Unte uma assadeira com margarina 
6. Coloque o bolo para assar por 20minutos a 200 
graus C
15
Exemplo de algoritmo
 Um motorista que necessita efetuar a troca de um 
pneu furado segue uma rotina para realizar essa 
tarefa:
1. Verifica qual pneu está furado
2. Posiciona o macaco e levanta o carro
3. Solta os parafusos
4. Pega o estepe
5. Substitui o pneu furado
6. Recoloca os parafusos
7. Desce o carro
8. Guarda o macaco e o pneu furado
16
• PROGRAMA:
– Algoritmo escrito em uma linguagem de computador 
(linguagem de programação - C, Pascal, COBOL, 
Fortran, Basic, Java, etc.)
– Interpretado e executado por um computador
– Interpretação rigorosa, exata, do computador 
  escrita do algoritmo na linguagem de prog. tem 
que seguir regras mais rigorosas
17
• PSEUDOCÓDIGO: 
– Facilita descrever o algoritmo antes de passá-lo para 
uma linguagem de programação
– Intermediária: linguagem natural – linguagem de 
programação
• FLUXOGRAMA: 
– É uma forma universal de representação, que se utiliza 
de figuras geométricas para ilustrar passos a serem 
seguidos para a resolução de problemas
Tipos de algoritmos
18
– Descrição do algoritmo, menos rigorosa que na 
linguagem de programação (código fonte)
– Fácil de entender e fácil de codificar depois
– Independente da linguagem de programação
– Simples e objetivo
PSEUDOCÓDIGO
19
 Observação: Vamos utilizar, em nossos exemplos, a notação utilizada na ferramenta VisuAlg.
algoritmo "Média" //aqui, definimos o nome do algoritmo.
var//início das declarações das variáveis.
nota1 : real//aqui, é definida a entrada da primeira nota do aluno.
nota2 : real// aqui, é definida a entrada da segunda nota do aluno.
media : real//declaração da variável em que será armazenado o resultado do cálculo da média.
Inicio //início do bloco de execução (local onde instruímos o computador a executar os 
comandos).
escreva ("Digite o valor da primeira nota: ") //o programa exibe na tela o texto entre aspas.
leia (nota1) // o programa lê o que o usuário escreveu: a primeira nota
escreva ("Digite o valor da segunda nota: ") //o programa exibe na tela o texto entre aspas.
leia (nota2) // o programa lê o que o usuário escreveu: a segunda nota
media <- (nota1 + nota2)/2 //é realizado o cálculo da média.
escreva ("A média do aluno é: ", media) //o valor encontrado é exibido na tel.
fimalgoritmo //fim do algoritmo.
PSEUDOCÓDIGO - EXEMPLO
FLUXOGRAMA
20
ALGORITMO PARA CALCULAR A 
MÉDIA ARITMÉTICA DE UM ALUNO
21
• FASES para desenvolver o algoritmo:
– Determinar o problema, definí-lo (entendê-lo) bem
– Dividir a solução nas três fases:
• Exemplo:
– Problema: calcular a média de quatro números
– Dados de entrada: os números N1, N2, N3 e N4
– Processamento: somar os quatro números e dividir a 
soma por 4
– Dado de saída: a média final
ENTRADA PROCESSAMENTO SAÍDA
N1 + N2 + N3 + N4
4
22
• Algoritmo:
– Início
– Ler o primeiro número
– Ler o segundo número
– Ler o terceiro número
– Ler o quarto número
– Somar todos os números 
– Dividir a soma por 4
– Mostrar o resultado da divisão
– Fim
23
Variável
– Representa uma posição na memória, onde pode 
ser armazenado um dado
– Possui um nome e um valor
– Durante a execução do algoritmo, pode ter seu 
valoralterado (seu valor pode variar)
– Mudanças no valor das variáveis:
• Por entrada de dados (“Ler N1”)
• Por atribuição (“N2  14”)
24
• Exemplo SEQÜENCIAL:
“Calcular a média de quatro números”
– PSEUDOCÓDIGO:
Ler N1
Ler N2
Ler N3
Ler N4
MEDIA  (N1+N2+N3+N4) / 4
Mostrar MEDIA
VARIÁVEL
VARIÁVEIS:
 mais clareza no pseudocódigo
Expressão usando 
as variáveis
25
Atribuição
• Atribui o valor da direita à variável da esquerda
• O valor pode ser uma constante, uma variável ou 
uma expressão
– MEDIA  (N1+N2+N3+N4) / 4
– (Lê-se media recebe N1+...)
• Neste caso, estamos atribuindo o resultado da fórmula à 
variável MEDIA, ou seja, a variável MEDIA está 
recebendo como valor o resultado da fórmula
• Outros Exemplos:
– a  3;
– a  x;
26
Operadores Aritméticos
Exemplos:
MEDIA = (N1+N2+N3+N4) / 4
X  1 + 7 * 2 ** 2 - 1
Total  preço * quantidade
Y  3*(1-2)+4*2
27
TESTE DE MESA
• Todo algoritmo deve ser testado
• Usar dados e resultados previamente 
calculados, seguir precisamente as instruções 
do algoritmo e verificar se o procedimento 
está correto ou não
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27

Outros materiais