Prof. Marcelo Walter
Programação PASCAL - UFPE
LISTA 7 - EXERCÍCIOS
Exercícios com procedimentos e funções
1. Re-escreva o programa que calcula o fatorial de um número utilizando uma função que recebe como parâmetro de entrada o número a ser calculado o fatorial, do tipo inteiro, e retorna o fatorial deste número, também do tipo inteiro. Escreva um programa para utilizar esta função.
2. Escreva uma função que lê um caracter do usuário e retorna este caracter somente se ele for igual a 'S' ou 'N'. Se o caracter não for nem 'S' nem 'N', a função imprime a mensagem 'Caracter inválido. Digite novamente'. Use esta função em um programa que fica lendo do usuário um número qualquer e imprime este número ao cubo na tela. O programa deve ficar lendo os números até o usuário responder 'N' à pergunta se ele deseja continuar ou não.
3. Escreva uma função que recebe 2 números inteiros n1 e n2 como entrada e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use esta função num programa que lê n1 e n2 do usuário e imprime a soma.
4. Faça um programa calculadora simples com as seguintes operações possíveis: adição, subtração, multiplicação e divisão. O programa inicia apresentando ao usuário um menu de opções como mostrado
abaixo:
**********************************************************************
* Calculadora Simples. Opcoes possiveis:
* 1. Adicao
* 2. Subtracao
* 3. Multiplicacao
* 4. Divisao
* 5. Sair do programa
*********************************************************************
Entre com sua opcao:
Crie um função que apresenta o menu inicial acima e retorna a opção do usuário para o programa principal. Esta opção é então analisada e o programa principal chama as funções de adição, subtração, multiplicação e divisão conforme a opção do usuário. Se a opção for inválida, informe ao usuário e peça a ele para entrar com uma opção válida. Após a execução da operação o programa volta a apresentar o menu inicial até que o usuário encerre o programa com a opção 5.
5. Escreva um programa que lê um valor inteiro (maior do que 1 e menor ou igual a 10) e exibe a tabuada (até 10) de multiplicação do número lido. Você deverá escrever as seguintes funções e procedimentos:
Function LeNumero(n1,n2:integer):integer;
Lê um número inteiro no intervalo especificado (n1,n2) e o retorna. Cada vez que for digitado um número inválido (fora do intervalo especificado) a função deve exibir a mensagem "Número inválido. Digite novamente!"
Procedure Tabuada( n:integer );
Recebe como parâmetro um número inteiro e exibe na tela a tabuada de multiplicação até 10 do número lido.
Exemplo: número lido 5
5 x 1 = 5
5 x 2 = 10
....
5 x 10 = 50
6. Escreva um programa composto de uma função Max e o programa principal como segue:
a) A função Max recebe como parâmetros de entrada dois números inteiros e retorna o maior. Se forem iguais retorna qualquer um deles;
b) O programa principal lê 4 séries de 4 números a,b,c e d. Para cada série lida imprime o maior dos quatro números usando a função Max.
7. Escreva um programa que leia uma cadeia de caracteres qualquer do usuário (tamanho máximo 60 caracteres) e imprima esta cadeia de caracteres centralizada no meio da tela (em modo texto a tela tem 80 colunas). Para a impressão da mensagem centralizada, escreva um procedimento que recebe como parâmetro a cadeia de caracteres e imprime esta cadeia de caracteres centralizada na tela.