Você está na página 1de 2

2 de fevereiro de 2014

Algoritmos 2
Semestre: 2013  2
Professor: MSc. Jos de Paula Neves Neto

Cuiab,

Universidade Federal de Mato Grosso

Disciplina:

Instituto de Computao
Bacharelado em Sistemas de Informao
Bacharelado em Cincia da Computao

Lista de Exerccios 3
Sobre a lista:

As questes devem ser respondidas em folhas de papel almao na

Cuiab, 2 de fevereiro de 2014


UFMT  IC
Bacharelado em Cincia da Computao
Algoritmos 2
Prof. MSc. Jos de Paula Neves Neto
Aluno: . . .

mesma ordem em que aparecem nesta folha, devem comear cada


uma em uma pgina separada e identicada como
no qual

o nmero da questo.

X a QUESTO:,

O cabealho da lista deve

ser exatamente como aparece no exemplo direita. As folhas de


papel almao devem ser numeradas no canto superior externo da
folha. Apenas as construes algortmicas j vistas em sala de aula
so vlidas. Em todas as questes, caso seja aplicvel, voc deve

Lista de Exerccios 3

testar se os valores fornecidos por ele atendem s exigncias do


problema. Repare na palavra retorne quando ela estiver escrita

1a QUESTO:

em itlico nos exerccios.

1. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia de inteiros
e devolva, em uma varivel real passada como parmetro por referncia, a mdia dos
valores nela contidos. A funo deve retornar

VERDADEIRO

se, e apenas se, a sequncia

exista e haja valor a ser devolvido.


2. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia de reais
e devolva, em uma varivel real passada como parmetro por refernia, o maior valor
nela contido. A funo deve retornar

VERDADEIRO

se, e apenas se, a sequncia exista e

haja valor a ser devolvido.


3. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia de reais e

n, de tamanho mximo 70, e devolva, em uma varivel real passada como pan-simo maior valor real nela contido. A funo deve retornar
VERDADEIRO se a sequncia existe e exista tambm um n-simo valor a ser devolvido.
um inteiro

rmetro por referncia, o

4. Faa o algoritmo de um procedimento que receba o nome de uma sequncia de reais e


escreva na sada padro apenas aqueles elementos que encontram-se a partir da metade
da sequncia.
5. Faa o algoritmo de uma funo inteira que receba o nome de uma sequncia de
alm de dois valores de

strings , a

b,

e substitua cada valor de

quantidade de substituies feitas. Em caso de erro, retorne o

por

ag 1.

b,

strings ,

retornando a

6. Faa um algoritmo de uma funo inteira que receba o nome de uma sequncia de
inteiros e um valor inteiro e retorne quantos nmeros so maiores que o valor recebido
por parmetro. Em caso de erro, retorne o

ag 1.

7. Faa o algoritmo de uma funo lgica que receba os nomes de duas sequncias de

strings

e verique se elas so iguais, ou seja, se possuem os mesmos elementos nas

mesmas posies, retornando

VERDADEIRO

neste caso e

FALSO

em caso contrrio.

8. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia de inteiros e um valor inteiro, que deve ser eliminado da sequncia.

A funo deve retornar

VERDADEIRO se, e apenas se, a sequncia pode ser aberta, mesmo que o valor inteiro no
ocorra na sequncia.
1

9. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia de inteiros
(que j est ordenada) e um valor inteiro, que deve ser includo na posio correta da
sequncia ordenada. possvel a insero de valores duplicados. A funo deve retornar

VERDADEIRO

se, e apenas se, a operao for bem sucedida.

10. Faa o algoritmo de uma funo inteira que receba o nome de uma sequncia de inteiros,
sabendo que os valores nela contidos variam entre 0 e 3000, e retorne a
sequncia. Se a sequncia for

moda

desta

multimodal, retornar o maior valor dentre os que esto na

moda. Em caso de erro, retorne o valor

1.

11. Faa o algoritmo de uma funo inteira que receba o nome de uma sequncia de inteiros,
sabendo que os valores nela contidos variam entre 0 e 3000, e retorne a
sequncia. Obs.: Se o tamanho
equivalente ao quociente de

por

mediana desta

da sequncia for par, retorne o elemento da posio

2.

Em caso de erro, retorne o valor

1.

12. Faa o algoritmo de uma funo lgica que receba o nome de uma sequncia e divida esta
sequncia em outras duas, cada uma tendo metade dos elementos (quaisquer) da original. Se o comprimento da sequncia for um

n par,

cada parte deve ter

se for mpar, a primeira e a segunda metades devem ter

n/2 elementos,

n/2 + 1 e n/2 elementos, respec-

tivamente. Os nomes das sequncias geradas devem ser iguais ao da sequncia original
acrescidos das terminaes  1 e  2, respectivamente. A funo retorna
em caso de sucesso e

VERDADEIRO

FALSO em caso contrrio, alm de desfazer o que eventualmente j

tiver sido feito.

n sequncias de strings . Tanto n, que pode ser no mximo 100,


n sequncias de entrada e o nome da sequncia de sada devem ser

13. Suponha a existncia de


quanto os nomes das
lidas do usurio.

Faa um algoritmo que gere uma sequncia que seja a intercalao (

merge) das sequn-

cias de entrada, de forma que ela mantenha os elementos ordenados. Note que no deve
ser aplicado qualquer algoritmo de ordenao, pois, a sequncia j deve ser construda
de forma ordenada.
O fato de algumas das sequncias no abrir um erro e toda e qualquer escrita j
realizada deve ser desfeita.
14. Suponha a existncia de um vetor de

(constante) nomes de sequncias de

strings ,

onde cada uma das sequncias est devidamente ordenada internamente do menor para
o maior elemento.
Faa o algoritmo de uma funo lgica que receba o vetor e uma
sequncia, cujo nome a

string ,

e gere uma

string passada como parmetro, que seja a intercalao (merge)

das sequncias de entrada, de forma que ela mantenha a caracterstica de ter os seus
elementos ordenados.
Faa as devidas e convenientes denies de tipos antes da declarao da funo.
A funo deve retornar

VERDADEIRO

se, e apenas se, todas as sequncias de entrada

existem, a sequncia de sada pode ser criada e a operao seja bem sucedida.
15. Faa o algoritmo de uma funo lgica que receba 3 argumentos: o primeiro o nome de
uma sequncia de

strings; o segundo e terceiro parmetros so duas strings cujas posies

devem ser trocadas entre si dentro da sequncia. Ela deve retornar


apenas se, a troca for realizada. Havendo repeties das

strings

primeira ocorrncia de cada uma delas deve ser considerada.

VERDADEIRO

se, e

na sequncia, apenas a