Universidade da Beira Interior
Departamento de Informática
(6619, 11543, 11552) Programação I
Ficha prática 5
Ano letivo 2014-15
Exercícios
1. Escreva um programa que peça ao utilizador um número inteiro n entre 1 e
100 inclusive. O programa deve mostrar no ecrã o resultado de:
n
X
(2i + i2 )
i=1
Este valor deve ser calculado usando uma função com o seguinte protótipo:
int somatorio(int n);
que devolve o resultado pretendido.
2. Escreva um programa que peça ao utilizador um número inteiro n entre 1
e 100 inclusive. A leitura dos dados e respetiva validação devem ser feitas
numa função com o seguinte protótipo:
int leDados();
que devolve o inteiro lido. O programa deve mostrar no ecrã os múltiplos de
3 desde n até 121, usando para isso uma função com o seguinte protótipo:
void multiplos3ate121(int n);
Ambas as funções referidas deverão ser chamadas a partir da função main().
3. Escreva um programa que peça ao utilizador um caráter n que poderá corresponder somente a uma letra (maiúscula ou minúscula). A leitura dos dados e
respetiva validação devem ser feitas numa função com o seguinte protótipo:
char leDados();
que devolve o caráter lido. Se a letra introduzida é minúscula, o programa
deve mostrar no ecrã a correspondente letra maiúscula e vice-versa, usando
para isso uma função com o seguinte protótipo:
1
char mudaCapitalizacao(char n);
que devolve o caráter alterado. Ambas as funções referidas deverão ser
chamadas a partir da função main() que deverá mostrar o resultado pretendido.
4. Modifique o programa anterior de forma a que sejam mostradas no ecrã todas
as letras desde A até à letra introduzida, inclusive, usando para isso uma
função com o seguinte protótipo:
void mostra_de_A_ate_n(char n);
As letras mostradas devem ser todas maiúsculas independentemente da letra
introduzida ser ou não maiúscula.
5. Escreva um programa que peça ao utilizador dois números reais m e n entre
-100 e 100, inclusive. Faça a leitura e validação de cada número à vez,
usando uma função com o protótipo
float leNum();
que deve pedir para o utilizador introduzir um número no intervalo pretendido e devolver o número lido, após a validação do intervalo. Depois,
através duma função com o seguinte protótipo:
int menu();
deve mostrar o seguinte menu e devolver a opção (validada) escolhida pelo
utilizador:
1-Mostra o maior dos números lidos.
2-Mostra o menor dos números lidos.
3-Mostra a média dos números lidos.
0-Terminar
Finalmente, as opções listadas no menu devem ser implementadas sob a
forma de funções que são chamadas de acordo com a escolha do utilizador
(use um switch para invocar a função desejada). O programa deve ficar
em ciclo até a opção 0 ser escolhida.
6. Escreva as seguintes funções para acrescentar funcionalidade ao programa
anterior. Por cada função escrita, deve acrescentar a opção respetiva ao menu
e correr o programa para verificar a sua correta implementação.
• uma função que indique no ecrã se os números lidos têm sinal igual ou
diferente;
• uma função que mostre a soma dos módulos dos dois números;
2
• uma função que mostre a hipotenusa dum triângulo se os valores lidos
representarem os lados dos catetos (esta função só pode correr se os
valores forem positivos; se não forem deve avisar e o programa deve
voltar ao menu).
7. Acrescente um menu ao programa do exercício 3, de forma a ficarem disponíveis as operações programadas nos exercícios 2 e 3 e ainda as seguintes que
deverá implementar sob a forma de funções com os seguintes protótipos, a
serem chamadas do main() e mostrando em cada caso um aviso adequado:
(a) uma função que devolva 1 se o caráter lido for um número e 0 nos
restantes casos:
int isNumber(char x);
(b) uma função que devolva 1 se o caráter lido for uma letra e 0 nos
restantes casos:
int isAlpha(char x);
(c) uma função que devolva 1 se o caráter lido for um número ou uma
letra e 0 nos restantes casos (deve chamar as duas funções anteriores
na implementação desta!):
int isNumberOrAlpha(char x);
O menu deve ter uma opção para terminar o programa. O programa deve
ficar em ciclo, mostrando o menu e executando as operações escolhidas, até
o utilizador escolher terminar o programa.
3
Download

Ficha prática 5 - Departamento de Informática da Universidade da