Aula Prática 4

Prazo de entrega: 1 semana (conferir no Moodle)

Exercício 1: Volume de um cilindro

Faça uma função para calcular o volume de um cilindro, seguindo a formula: \(V = \pi \times \mathrm{raio}^2 \times \mathrm{altura}\).

Teste: Um cilindro de raio 5 e altura 12 tem aproximadamente 942.477 de volume.

Exercício 2: Número de Euler

O valor de e (número de Euler) pode ser aproximado pelo somatório \(e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + 1/5! + \cdots\).

Implemente um programa para aproximar o valor de \(e\). Seu programa deve aumentar a precisão da aproximação calculando iterativamente (isto é, num laço) os termos do somatório acima. Seu programa deve parar a aproximação quando o i-ésimo termo \(1/i!\) for menor do que \(10^{-6}\).

Implemente esse programa fazendo uma função separada para calcular o fatorial de i.

Gabarito: Constante de Euler e

Exercício 3: Rolador de dados

Para gerar um número aleatório em C entre 0 e RAND_MAX use a função rand() definida dentro de stdlib.h:

/* no começo do arquivo: */
#include <stdlib.h>
/* em qualquer ponto no programa: */
int aleatorio = rand();

Faça um programa para rolar dados. Isto é, seu programa deve gerar um número aleatório em 1 e 6 e falar qual é o resultado. Para testar seu programa, role 100 mil dados e depois imprima quantas vezes cada número (face) do dado foi rolada. Seu dado está tendencioso?

Teste: Para 100 mil dados a diferença deve ser insignificante.

Exercício 4: Calculador de conceito

O conceito de um aluno é calculado a partir de sua nota, seguindo a tabela abaixo. Faça um programa que lê a nota de um aluno do teclado e imprime seu conceito. Assuma que alunos só podem receber notas inteiras (isto é, sem decimais).

Nota Conceito
0 a 4 F
5 E
6 D
7 C
8 B
9+ A

Exercício 5: Equação de segundo grau

Faça um programa para imprimir as raízes de uma equação do segundo grau na forma \(ax^2 + bx + c\). Caso a seja zero, imprima a mensagem "Equação não é de segundo grau". Se \(\delta = b^2 - 4ac\) for menor que zero, imprima a mensagem "Não existe raiz". Se delta for zero imprima a raíz e a mensagem "Raíz única".

Exercício 6: Triângulo de Floyd

Faça um programa que lê um número inteiro N e imprime as N primeiras linhas do triangulo de Floyd:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
... 

Desafio: Faça um programa para imprimir a N-ésima linha (sem calcular as anteriores).

Exercício 7: Divisores

Faça um programa que lê um número inteiro e imprime todos os seus divisores.

Desafio: Estenda seu programa para calcular todos os números primos menores que N.


Profs. Pedro O. S. Vaz de Melo e Ítalo F. S. Cunha

vim: tw=68