MC102
Algoritmos e Programação de Computadores
Lista VI - Exercícios para Fixação



Segundo Semestre de 2002
Norton Trevisan Roman




Exercício 1: Escreva um programa que leia uma string digitada pelo usuário e coloque todas as primeiras letras de cada palavra nesse string em maiúscula. Assim, se a entrada for "a casa azul" a saída será "A Casa Azul".



Exercício 2: Faça um procedimento que leia linhas de um arquivo texto, escrevendo na tela somente aquelas que começam com a palavra "dado". Note que após "dado" deve haver um espaço, ou seja, se a linha começar com "dado,", "dados" etc o programa não deve escrever essa linha.



Exercício 3: Faça um procedimento que receba uma string por referência como parâmetro e a inverta.



Exercício 4: Os números de Fibonacci são definidos da seguinte forma:

f1 = 1
f2 = 1
fn = fn-1 + fn-2
Faça uma função recursiva que calcule o kº número de Fibonacci.



Exercício 5: Escreva uma função recursiva que calcule n!.



Exercício 6: Dada a seguinte lista ligada L:

  TYPE p_no = ^no;
       no   = RECORD
                dado : Real;
		prox : p_no
              END;
  VAR L : p_no; {cabeça da lista}

escreva um procedimento recursivo que imprima na tela L na ordem inversa.



Exercício 7: Faça uma função recursiva Digito(N) que recebe um número inteiro N e calcula a soma dos dígitos de N. Ex: se N=132, Digito(N)=6.



Exercício 8: Escreva um procedimento recursivo ObtemDigitos(Num,n,Digitos) que recebe um número inteiro positivo Num e devolve n, o número de dígitos de num, e Digitos, um vetor de inteiros contendo os dígitos de num.
Exemplo: Se Num = 4782, após a execução de ObtemDigitos teremos n=4 e Digitos será:

4 7 5 2



Exercício 9: Faça um procedimento recursivo MaxMin que determine o elemento máximo e o elemento mínimo de um vetor com N números inteiros.





Página da disciplina