Você está na página 1de 2

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE MATEMÁTICA
DEPARTAMENTO DE MATEMÁTICA PURA E APLICADA
MAT01092 – ALGORITMOS E PROGRAMAÇÃO I
PROF. RESPONSÁVEL: RUDNEI DIAS DA CUNHA

LISTA DE EXERCÍCIOS Nº 1 – ALGORITMOS

1. Escreva um algoritmo que avalie um polinômio, pn(x)=anxn+an-1xn-1+ ... +a1x+a0, usando o


método da multiplicação aninhada (fórmula de Horner), pn(x)= a0+x(a1+x(a2+x(...))).
2. Escreva um algoritmo para calcular os polinômios lj(x), os quais formam a base de Lagrange,
usados no problema de interpolação polinomial de pontos (x0,y0), (x1,y1), ...,(xn,yn):
x  xi
l j ( x)  x
0  i  n j  xi
.

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

Você também pode gostar