1
Introdução a Algoritmos
Seqüenciais
Programação para Engenharia I
Aula 02
Profa. Ana Benso
© Profa. Ana
Benso
Programação para
Engenharia I 2
Algoritmos Seqüenciais
 O que é um algoritmo?
 Algoritmo Seqüencial
...
© Profa. Ana
Benso
Programação para
Engenharia I 3
Exemplo #1
 Dados três valores positivos, a, b e c,
determine a sua mé...
© Profa. Ana
Benso
Programação para
Engenharia I 4
Solução – Exemplo #1
1. Obter os valores para a, b e c.
2. Calcular a m...
© Profa. Ana
Benso
Programação para
Engenharia I 5
Exercícios
 Quais os passos/regras necessárias para
1. Trocar um pneu ...
© Profa. Ana
Benso
Programação para
Engenharia I 6
Entrada e Saída
EntradaEntrada
SaídaSaída
Conjunto de
Regras
Conjunto d...
© Profa. Ana
Benso
Programação para
Engenharia I 7
Efetividade e Tempo
 Todo o algoritmo possui pelo menos um
resultado.
...
© Profa. Ana
Benso
Programação para
Engenharia I 8
Exemplo – Algoritmo de tempo
Infinito
1. Fazer n igual a zero e i igual...
© Profa. Ana
Benso
Programação para
Engenharia I 9
Critérios para Avaliação do
Algoritmo
 Pode existir mais de uma soluçã...
© Profa. Ana
Benso
Programação para
Engenharia I 10
Soluções
1. Seja “r” o resto da divisão de “m” por ‘n” e 0 ≤ r < n
2. ...
© Profa. Ana
Benso
Programação para
Engenharia I 11
Soluções...
Solução 3
1. Dividir “m” por “n” e fazer “r” ser o resto.
...
© Profa. Ana
Benso
Programação para
Engenharia I 12
Critérios para um algoritmo
 Ter um número finito de passos
 Ter pas...
© Profa. Ana
Benso
Programação para
Engenharia I 13
Exercícios
 Reescreva o exemplo do cálculo das médias
apresentado, em...
Próximos SlideShares
Carregando em…5
×

Introdução - Algoritmos

176 visualizações

Publicada em

Introdução a programação - Algoritmos

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

Nenhuma nota no slide

Introdução - Algoritmos

  1. 1. 1 Introdução a Algoritmos Seqüenciais Programação para Engenharia I Aula 02 Profa. Ana Benso
  2. 2. © Profa. Ana Benso Programação para Engenharia I 2 Algoritmos Seqüenciais  O que é um algoritmo?  Algoritmo Seqüencial  A execução das tarefas é corretamente cumprida, se executarmos todos os passos (instruções) na seqüência em que elas aparecem, da primeira até a última, sem omissões e sem repetições. “Um conjunto finito de regras, bem definidas, Para a solução de um problema em um tempo finito.” “Um conjunto finito de regras, bem definidas, Para a solução de um problema em um tempo finito.”
  3. 3. © Profa. Ana Benso Programação para Engenharia I 3 Exemplo #1  Dados três valores positivos, a, b e c, determine a sua média aritmética, harmônica, geométrica e ponderada com pesos de 1, 2 e 3 respectivamente.  Quais as tarefas a serem executadas para a solução deste problema?
  4. 4. © Profa. Ana Benso Programação para Engenharia I 4 Solução – Exemplo #1 1. Obter os valores para a, b e c. 2. Calcular a média aritmética. 3. Calcular a média harmônica. 4. Calcular a média geométrica. 5. Calcular a média ponderada. 6. Comunicar os resultados. 7. Terminar. 3 cba ma ++ = cba mh /1/1/1 3 ++ = 3 .. cbamg = 321 321 ++ ++ = cba mp
  5. 5. © Profa. Ana Benso Programação para Engenharia I 5 Exercícios  Quais os passos/regras necessárias para 1. Trocar um pneu de carro? 2. Fazer um bolo de chocolate?
  6. 6. © Profa. Ana Benso Programação para Engenharia I 6 Entrada e Saída EntradaEntrada SaídaSaída Conjunto de Regras Conjunto de Regras Obter os valores para a, b e c.Obter os valores para a, b e c. Calcular a média aritmética. Calcular a média harmônica. Calcular a média geométrica. Calcular a média ponderada. Calcular a média aritmética. Calcular a média harmônica. Calcular a média geométrica. Calcular a média ponderada. Comunicar os resultados.Comunicar os resultados.
  7. 7. © Profa. Ana Benso Programação para Engenharia I 7 Efetividade e Tempo  Todo o algoritmo possui pelo menos um resultado.  Princípio da Efetividade  Execução exata e em tempo finito.  Os passos devem ser precisos, não dando margem a ambigüidades.  Um algoritmo útil deve terminar em um tempo “muito finito”.
  8. 8. © Profa. Ana Benso Programação para Engenharia I 8 Exemplo – Algoritmo de tempo Infinito 1. Fazer n igual a zero e i igual a 1 2. Enquanto n for menor do que 5 a) Escrever i b) Somar 2 ao i 3. Terminar 1. Fazer n igual a zero e i igual a 1 2. Enquanto n for menor do que 5 a) Escrever i b) Somar 2 ao i 3. Terminar  Problema????? Problema????? A variável n é iniciada em zero E não é não é alterada por nenhuma instrução!!!!! A variável n é iniciada em zero E não é não é alterada por nenhuma instrução!!!!!
  9. 9. © Profa. Ana Benso Programação para Engenharia I 9 Critérios para Avaliação do Algoritmo  Pode existir mais de uma solução para o mesmo problema  Exemplo  Encontrar o máximo divisor comum de dois números “m” e “n” inteiros e positivos  Seja “r” o resto da divisão de “m” por ‘n” e 0 ≤ r < n
  10. 10. © Profa. Ana Benso Programação para Engenharia I 10 Soluções 1. Seja “r” o resto da divisão de “m” por ‘n” e 0 ≤ r < n 2. Se r = 0 então escrever “n” como resposta e terminar. 3. m = n 4. n = r 5. Voltar ao passo 1. 1. Seja “r” o resto da divisão de “m” por ‘n” e 0 ≤ r < n 2. Se r = 0 então escrever “n” como resposta e terminar. 3. m = n 4. n = r 5. Voltar ao passo 1. Solução 1 Solução 2 1. Se “m” ≥ “n” então fazer “m” igual ao resto de “m” dividido por “n” e repetir este mesmo passo 2. Trocar os valores de “m” e “n” entre si. 3. Se “n” = 0 então escrever “m” como resposta e terminar. 4. Voltar ao passo inicial. 1. Se “m” ≥ “n” então fazer “m” igual ao resto de “m” dividido por “n” e repetir este mesmo passo 2. Trocar os valores de “m” e “n” entre si. 3. Se “n” = 0 então escrever “m” como resposta e terminar. 4. Voltar ao passo inicial.
  11. 11. © Profa. Ana Benso Programação para Engenharia I 11 Soluções... Solução 3 1. Dividir “m” por “n” e fazer “r” ser o resto. 2. Se r = 0 então escrever “n” como resposta e terminar. 3. Dividir “n” por “r” e fazer “m” ser o resto. 4. Dividir “r” por “m” e fazer “n” ser o resto. 5. Se m = 0 escrever “m” como resposta e terminar. 6. Se n = 0 escrever “n” como resposta e terminar. 7. Voltar ao passo inicial. 1. Dividir “m” por “n” e fazer “r” ser o resto. 2. Se r = 0 então escrever “n” como resposta e terminar. 3. Dividir “n” por “r” e fazer “m” ser o resto. 4. Dividir “r” por “m” e fazer “n” ser o resto. 5. Se m = 0 escrever “m” como resposta e terminar. 6. Se n = 0 escrever “n” como resposta e terminar. 7. Voltar ao passo inicial.
  12. 12. © Profa. Ana Benso Programação para Engenharia I 12 Critérios para um algoritmo  Ter um número finito de passos  Ter passo devem estar precisamente definido.  Existir um conjunto de zero ou mais entradas, bem definidas.  Existir uma ou mais saídas.  Ter um conjunto de passos que leve a execução de uma tarefa útil.  Ter uma condição de fim sempre atingida para quaisquer entradas e num tempo finito.
  13. 13. © Profa. Ana Benso Programação para Engenharia I 13 Exercícios  Reescreva o exemplo do cálculo das médias apresentado, em uma linguagem como a dos exemplos anteriores.  Escrever um algoritmo que escreve os números ímpares entre 10 e 20.  Escrever um algoritmo que calcula e escreve o fatorial de 5.

×