Exercícios com instruções de ciclo

Propaganda
Exercícios de instruções de ciclo na linguagem C
Com esta lista de exercícios o aluno pratica a escrita de programas que envolvem ciclos e a definição e invocação de
novas funções .
a) Elaborar um programa para mostrar uma tabela de senos, cosenos e tangentes para ângulos de 15 em 15
graus, entre 0 e 360 graus, como mostra a fig. seguinte.
x
0:
15:
30:
45:
60:
75:
90:
105:
120:
135:
150:
165:
180:
sin(x)
0.00000
0.25882
0.50000
0.70711
0.86603
0.96593
1.00000
0.96593
0.86603
0.70711
0.50000
0.25882
0.00000
cos(x)
1.00000
0.96593
0.86603
0.70711
0.50000
0.25882
0.00000
-0.25882
-0.50000
-0.70711
-0.86603
-0.96593
-1.00000
tg(x)
0.00000
0.26795
0.57735
1.00000
1.73205
3.73205
Infinite
-3.73205
-1.73205
-1.00000
-0.57735
-0.26795
-0.00000
.................................................
b) Elaborar um programa que leia um número inteiro positivo representando o número de bilhete de
identidade, e calcule o dígito de verificação (apresentado à frente do número no BI). O cáculo consiste em
calcular a soma pesada dos dígitos, em que o dígito de menor peso tem peso 2 , o seguinte peso 3 e asssim
sucessivamente. O dígito de verificação deve ser igual à diferença entre 11 e o resto da divisão por 11 da
soma obtida. E se o resultado dá 10 ou 11? Uma vez que há apenas um dígito de verificação procure
descobrir o que acontece nesse caso.
c) Elabore um programa que leia do teclado (standard input) dois valores inteiros positivos e calcule se esses
dois números lidos são ”amigos”. Diz-se que dois números são amigos se cada um deles é igual à soma dos
divisores próprios do outro. Divisores próprios de um número positivo n são todos os divisores inteiros
positivos excepto o próprio n. Um exemplo de números amigos são os números 284 e o 220, uma vez que a
soma dos divisores de 220 dá 284 e vice-versa, como é mostrado a seguir:
Divisores próprios de 220-> 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284
Divisores próprios de 284-> 1 + 2 + 4 + 71 + 142 = 220
d) Realizar e testar a função double calc_juros(int total_anos, double mi, double tax) que retorna o
montante total obtido em juros de um depósito a total_anos anos, com montante inicial mi à taxa de juro
anual tax.
e) Utilizando a biblioteca e tendo como única função auxiliar a função de desenho de uma recta (graph_line),
desenhe um qudrado a cheio, de côr vermelha, encostado ao canto superior esquerdo da janela gráfica e 200
píxeis de lado.
f)
Faça um program idêntico ao da alínea e), mas agora tendo como única função de suporte a função de desenho
de um píxel (graph_pixel).
g) Generalize o programa realizado na alínea anterior, de modo a que possa desenhar um número indeterminado
de rectângulos a cheio, lendo do standard input, para cada rectângulo, a posição do canto superior esquerdo, o
comprimento e a altura e a côr, como mostrado na fig. seguinte. No final de cada rectângulo, o programa
questiona o utilizador, como é mostrado, se pretende, ou não, desenhar mais rectângulos.
h) Realize um programa para apresentar, centrado na janela gráfica, um tabuleiro quadrado de dimensão e número
de quadrículas dado, como indica a fig. seguinte. Note que a dimensão do tabuleiro tem de ser múltipla do
número de quadrículas.
i)
Realize um programa para desenhar rectas na janela gráfica, dadas as coordenadas dos pontos inicial e final,
usando como única função gráfica de suporte a função graph_pixel.
Bom trabalho
Jorge Martins
Download