1) O documento apresenta uma lista de 15 exercícios sobre subalgoritmos, funções e procedimentos em pseudocódigo. 2) Os exercícios abordam tópicos como determinar o tamanho de uma palavra, exibir uma palavra em caixa alta ou baixa, obter a abreviação de uma palavra, exibir letras em posições ímpares, usar procedimentos para repetir exibições e encontrar números em intervalos. 3) Alguns exercícios pedem para escrever funções para realizar operações matemáticas e comparar números.
1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ
CURSO: Técnico em Informática
DISCIPLINA: Lógica de Programação / Algoritmos e Linguag. de Programação
PROFESSOR: Regis Pires Magalhães
LISTA DE EXERCÍCIOS 05
SUBALGORITMOS: FUNÇÕES E PROCEDIMENTOS
1. Escreva um algoritmo para obter uma palavra e:
a) Determinar o seu tamanho.
b) Exibi-la completamente em caixa alta (letras maiúsculas).
c) Exibi-la ao contrário e totalmente em letras minúsculas.
2. Dada uma palavra, exibir sua abreviação, usando suas 3 primeiras letras em caracteres maiúsculos. Exibir um traço
(-) antes e depois da abreviação. Exemplos: Para a palavra Domingo, mostrar -DOM-. Para a palavra Agosto, mostrar -
AGO-.
3. Escreva um programa para receber uma palavra e exibir as letras que estejam em posições ímpares. Exemplo:
para a palavra Borboleta, exibir: Broea.
Palavra.........: B o r b o l e t a
^ ^ ^ ^ ^
Posição da letra: 1 2 3 4 5 6 7 8 9
4. Escreva um procedimento chamado repete para receber como parâmetros uma cadeia de caracteres e um número
n. Ao recebê-los, o procedimento deve exibir essa mesma cadeia de caracteres n vezes. Escreva um algoritmo em
pseudocódigo para receber uma palavra e, usando o procedimento repete, exibir essa palavra 10 vezes.
5. Escreva um procedimento chamado intervalo que recebe dois parâmetros inteiros e exibe todos os números inteiros
entre eles. O procedimento deve fazer parte de um algoritmo em pseudocódigo que lê dois números e que chama o
procedimento intervalo passando como parâmetros os dois números recebidos. Exemplo: usando os números 2 e 7
como entrada, exibir o seguinte resultado: 2 3 4 5 6 7.
6. Escreva um procedimento de nome tipo_triangulo que receba 3 parâmetros representando os lados de um triângulo
e imprima o tipo dele (eqüilátero, isósceles ou escaleno). Escreva um algoritmo em pseudocódigo para receber o
tamanho dos 3 lados de um triângulo e usar o procedimento tipo_triangulo para exibir o tipo dele.
7. Escreva um procedimento de nome troca para receber como parâmetros 2 números inteiros e trocar o conteúdo
entre eles. Escreva um algoritmo em pseudocódigo para receber 2 números e usar o procedimento troca para permutar
o conteúdo entre eles.
8. Escreva uma função chamada triplo que recebe um parâmetro inteiro e retorna o triplo do número passado como
parâmetro. Escreva um algoritmo em pseudocódigo para receber 100 elementos e, usando a função triplo, exiba o
triplo de todos os seus elementos.
9. Escreva uma função de nome numero_extenso que recebe como parâmetro um número inteiro no intervalo de 1
a 3 e retorna uma cadeia de caracteres contendo o extenso do número recebido como parâmetro. A função deve fazer
parte de um algoritmo em pseudocódigo que lê um número e usa a função numero_extenso para exibir o extenso do
número digitado.
10. Escreva uma função de nome maior que recebe dois números e retorna o maior entre eles. Escreva um algoritmo
em pseudocódigo para receber dois números e, usando a função maior, exiba o maior dos dois números dados.
11. Escreva um algoritmo para receber 10 números reais e armazená-los em um vetor. Depois disso, mostre o
somatório dos números, através do uso da função somatorio, que não recebe parâmetro nenhum, acessa o vetor
definido globalmente e retorna o somatório dos elementos do vetor.
2. 12. Escreva um algoritmo para receber 2 números e uma operação (multiplicação ou divisão) como entrada. Depois
disso, exibir o resultado da operação sobre os 2 números dados. O programa deverá usar as funções multiplicacao e
divisao que recebem 2 números reais como parâmetros e retornam o resultado da operação. Exemplo: Para os
números 3 e 4, e operação multiplicacao, mostrar o resultado 12.
13. Escreva um algoritmo para receber uma data no formato dd/mm/aaaa (dd-dia, mm-mês e aaaa-ano) e depois exibi-
la por extenso. O programa deverá fazer uso de um vetor contendo os meses do ano. Também deverá ter uma função
de nome data_extenso para receber como parâmetro uma cadeia de caracteres no formato dd/mm/aaaa e retornar a
data por extenso. Exemplo: Para a data 31/01/2007, mostrar: 31 de janeiro de 2007.
14. Escreva um programa para receber vários números. Ele deve ficar em loop (repetição) e somente parar quando um
número negativo for digitado como entrada. Depois disso, exibir todos os números pares que foram digitados. O
programa deve ainda usar uma função de nome par que recebe como parâmetro um número inteiro e retorna o valor
lógico verdadeiro se o número for par e falso se o número for ímpar.
15. Escreva um algoritmo que apresente um menu com três opções:
1 – Inserir
2 – Exibir
3 – Sair
a) Quando for escolhida a opção número 1, um procedimento chamado insere deve inserir um elemento (nome) em um
vetor. O procedimento deve receber como parâmetro o nome a ser inserido.
b) Quando for escolhida a opção número 3, um procedimento chamado lista deve escrever na tela todos os elementos
do vetor.
16. Escreva uma função que receba como parâmetro um texto e retorne o número de palavras desse texto. As palavras
do texto são separadas por espaços em branco, podendo haver um ou mais espaços entre as palavras.
RECURSIVIDADE
17. Escreva um algoritmo, utilizando uma função recursiva chamada fatorial, para calcular o fatorial de um número n,
sendo n um valor fornecido pelo usuário no algoritmo principal.
18. Escreva um algoritmo, utilizando uma função recursiva chamada soma_inteiros, para calcular a soma dos n
primeiros inteiros positivos, sendo n um valor fornecido pelo usuário no algoritmo principal.
19. Escreva um algoritmo, utilizando uma função recursiva, que eleve um número inteiro qualquer a uma potência.
Devem ser fornecidos o número e a potência no algoritmo principal.
20. Escreva um algoritmo, utilizando uma função recursiva, para calcular o n-ésimo termo da série de Fibonacci. A série
de Fibonacci é uma seqüência definida pela fórmula abaixo:
F(n) = 0, se n = 0
F(n) = 1, se n = 1
F(n) = F(n-1) + F(n-2), para os demais valores de n
Exemplo: para n = 10, exibir: 55
F(0) F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(8) F(9) F(10)
0 1 1 2 3 5 8 13 21 34 55
21. Escreva um algoritmo para obter 10 palavras e armazená-las em um vetor de caracteres. Depois disso, o algoritmo
deve obter uma palavra adicional e exibir se ela está ou não contida no vetor. Caso esteja no vetor, o algoritmo deve
informar o índice do vetor que contém a palavra. A busca da palavra deve ser realizada através do uso de uma função
recursiva de nome busca que recebe como parâmetro uma palavra qualquer e realiza uma pesquisa no vetor definido
globalmente, retornando o índice do elemento encontrado ou 0 caso a palavra não esteja no vetor.