Buscar

PAPMEM_JAN_2020_Algoritmos

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

Continue navegando