A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Introdução a Algoritmos Seqüenciais Programação para Engenharia I Aula 02 Profa. Ana Benso.

Apresentações semelhantes


Apresentação em tema: "1 Introdução a Algoritmos Seqüenciais Programação para Engenharia I Aula 02 Profa. Ana Benso."— Transcrição da apresentação:

1 1 Introdução a Algoritmos Seqüenciais Programação para Engenharia I Aula 02 Profa. Ana Benso

2 © Profa. Ana Benso Programação para Engenharia I2 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 © Profa. Ana Benso Programação para Engenharia I3 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 © Profa. Ana Benso Programação para Engenharia I4 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.

5 © Profa. Ana Benso Programação para Engenharia I5 Exercícios Quais os passos/regras necessárias para 1. Trocar um pneu de carro? 2. Fazer um bolo de chocolate?

6 © Profa. Ana Benso Programação para Engenharia I6 Entrada e Saída Entrada Saída Conjunto de Regras 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.

7 © Profa. Ana Benso Programação para Engenharia I7 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 © Profa. Ana Benso Programação para Engenharia I8 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????? 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 © Profa. Ana Benso Programação para Engenharia I9 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 © Profa. Ana Benso Programação para Engenharia I10 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 © Profa. Ana Benso Programação para Engenharia I11 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 © Profa. Ana Benso Programação para Engenharia I12 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 © Profa. Ana Benso Programação para Engenharia I13 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.


Carregar ppt "1 Introdução a Algoritmos Seqüenciais Programação para Engenharia I Aula 02 Profa. Ana Benso."

Apresentações semelhantes


Anúncios Google