Escolar Documentos
Profissional Documentos
Cultura Documentos
INSTITUTO DE MATEMÁTICA
DEPARTAMENTO DE MATEMÁTICA PURA E APLICADA
MAT01092 – ALGORITMOS E PROGRAMAÇÃO I
PROF. RESPONSÁVEL: RUDNEI DIAS DA CUNHA
i j
3. Escreva um algoritmo para calcular a(s) solução(ões) de uma equação de 2º grau, escrita na
b c
forma x2 x 0 . Considere todas as situações possíveis.
a a
4. Sabendo que a área situada entre a curva de uma função f(x) e o eixo x pode ser aproximada num
intervalo [a, b] através de um trapézio, escreva um algoritmo que, tendo recebido como
argumentos a função e os extremos do intervalo, calcule tal área.
5. Escreva um algoritmo que permita gerar os pontos ao longo de uma circunferência de raio r,
( xi , yi ) r cos i , r sin i , i 1,2,, n . O ângulo i correspondente a cada ponto deve ser
calculado em função de um incremento angular, determinado em função da quantidade de pontos
que se deseja obter.
6. O algoritmo de pesquisa binária permite localizar rapidamente uma chave num arranjo. Escreva
um algoritmo que, dado um intervalo [a, b] e uma função f(x), determine o valor mínimo de f no
intervalo, usando a mesma ideia do algoritmo de pesquisa binária. O processo de busca do valor
mínimo deverá ser terminado quando |b-a|<tol, onde tol<<1. Determine, ainda, quantas iterações
deverão ser realizadas, no mínimo, para se localizar o valor mínimo da função, em termos do
intervalo inicial e da tolerância tol.
7. Escreva um algoritmo para calcular os primeiros 10 termos da sequência de Fibonacci, definida
por Fn=Fn-1+Fn-2, n=2, 3, ..., 10; F1 = 1, F0 = 0. Mostre, ao testar o algoritmo, que a razão Fn/Fn-1
tende a aproximar a razão áurea, φ=(1+√5)/2, à medida que n cresce.
8. Escreva um algoritmo que determine a frequência das letras num texto, construindo uma tabela
de frequências. Suponha que o texto encontra-se armazenado numa matriz, contendo n linhas e
80 colunas.
9. Sabendo que as letras e, a, r são as que em média mais aparecem num texto em língua inglesa,
nas proporções 50, 40, 30 (em relação à letra q, a menos frequente), escreva um algoritmo que
utilizando a tabela de frequência calculada no exercício anterior, verifique se as frequências das
referidas letras encontram-se aproximadamente na mesma proporção.
10. Hoje em dia, todas as comunicações importantes feitas entre órgãos de segurança, bancos e
grandes conglomerados econômicos são feitas utilizando-se mensagens cifradas. Um dos
processos de cifragem mais antigos de que se tem conhecimento é o chamado código de Júlio
César. Cada letra da mensagem a ser enviada é trocada por outra, a qual é especificada como,
por exemplo, A→D, B→E, C→F, D→G, ..., X→A, Y→B, Z→C; observe que a distância num
par de letras (original e cifrada) é sempre a mesma. Escreva um algoritmo que receba uma
mensagem (armazenada numa matriz com n linhas e 80 colunas) e uma distância entre um par de
letras (como especificado acima), e produza uma mensagem cifrada.
11. Escreva um algoritmo para localizar um string de caracteres dentro de outro, retornando a
posição no qual ele foi localizado. Por exemplo, se A=”CASA” e B=”A CASA É AMARELA”,
então a posição a ser retornada é 3; porém, se B=”A CASCATA É GRANDE”, então um valor
inválido deve ser devolvido (por exemplo, -1).
12. Escreva um algoritmo que, dado um string de caracteres, devolva outro string de caracteres,
contendo os caracteres do string de entrada em ordem inversa.
13. Simule a execução do algoritmo de ordenamento Mergesort sobre um arranjo contendo os
valores 1,7,4,6,2,8,3,5 (nessa ordem).
_____________________________________________________________________________________
Lista 1 - Algoritmos Página 1 09/06/2014
14. Moste o funcionamento do algoritmo de ordenamento Quicksort sobre um arranjo contendo os
valores 8,6,4,2,1,3,5,7 (nessa ordem); considere que o ordenamento direto será realizado quando
n=min_n=2.
_____________________________________________________________________________________
Lista 1 - Algoritmos Página 2 09/06/2014