Baixe o app para aproveitar ainda mais
Prévia do material em texto
PAPMEM – janeiro de 2020 Prof: Paulo Cezar Pinto Carvalho Algoritmos Um algoritmo é uma sequência finita e bem definida de passos que, quando executados, realizam uma tarefa específica ou resolvem um problema. Nosso interesse principal é o de algoritmos para resolver problemas matemáticos, mas algoritmos se aplicam a todos os ramos de atividade. Fluxogramas Um fluxograma é um diagrama que representa, de forma esquemática, um algoritmo. Por exemplo, o fluxograma abaixo descreve o processo de decidir se um aluno deve ser ou não aprovado em uma dada escola. Os principais símbolos que aparecem em um fluxograma são: Retângulos, que indicam passos de processamento Losangos, que indicam pontos em que há tomadas de decisão Retângulos arredondados, que indicam início ou final do procedimento. Pseudo-códigos Embora fluxogramas sejam úteis para representar algoritmos simples, para procedimentos mais complexos é mais conveniente utilizar a descrição por pseudo-código, que é mais compacta e mais próxima à implementação em uma linguagem de computador. O procedimento acima poderia ser descrito do seguinte modo em pseudo-código. Obtenha a nota final F do aluno Se F ≥ 6: O aluno é aprovado Senão: Obtenha a nota de recuperação R do aluno Se 2R + F ≥ 18: O aluno é aprovado Senão: O aluno é reprovado. O pseudo-código pode ser implementado em Python (uma das linguagens mais utilizadas na atualidade) do seguinte modo: F = float(input("Nota final do aluno:")) if F >= 6: print("Aluno aprovado") else: R = float(input("Nota de recuperacao do aluno:")) if 2*R + F >= 18: print("Aluno aprovado") else: print("Aluno reprovado") Exemplos 1. Diga qual é o resultado que será impresso no término da execução do fluxograma abaixo: 2. Adapte o fluxograma anterior de modo que seja impresso o valor de 20!. 3. Considere o pseudo-código abaixo Dados um número N e uma lista de números (a1, a2, ..., aN) Para i variando de 1 a N, faça: Para j variando de i + 1 a N, faça: Se ai > aj: Troque ai com aj Imprima a1, a2, …, aN a) Diga qual será o resultado impresso quando N = 5 e a lista é (3, 7, 5, 2, 1). b) De modo geral, o que faz o algoritmo acima? c) Para uma lista de tamanho n, quantas vezes é executado o trecho em negrito no algoritmo? 4. Diga o que faz o seguinte pseudo-código: n =2 a = 1, b = 1 Imprima esses dois valores Enquanto n < 50: c = a+ b a = b b = c imprima c n = n + 1
Compartilhar