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.