Programação Imperativa
Aula prática 6
Sumário
-
Introdução à utilização de funções.
-
Exercícios com funções.
1. Função ímpar
Faz uma função que verifica se um número é
ímpar
2. - Função primo
Faz uma função que verifica se um número é
primo (é só alterar o programa feito numa das aulas anteriores).
3. - Testa as funções dos exercícios
1 e 2
Utilizando as funções criadas nos exercícios anteriores
faz um programa que vai pedindo números inteiros ao utilizador até
que este introduza um número negativo. Para cada valor introduzido,
o programa deve dizer se o número é par ou ímpar,
e se é primo ou não.
4. - Os primeiros 100 primos
Faz um programa para calcular os 100 primeiros números primos. Utiliza
a função criada no exercício 2.
5. - Desenha um quadrado
Faz um
programa para desenhar um quadrado no ecrã. Esse quadrado deverá
ser desenhado por uma função para a qual passas três
parâmetros: caracter a utilizar, número de linhas e número
de colunas.
Este exemplo
do programa a ser executado ilustra aquilo que se pretende:
Introduz um caracter: z
Introduz o número de linhas: 4
Introduz o número de colunas: 6
zzzzzz
z z
z z
zzzzzz
6. - Factorial
Copia a função factorial que foi dada na aula teórica.
Testa essa função fazendo um programa que calcule o factorial
de 5.
7. - Função aleatório
Faz uma função que devolva números aleatórios
inteiros. A função deverá receber um parâmetro
n
que indique a gama de valores pretendidos e, de cada vez que for chamada,
devolver um numero aleatório inteiro no intervalo [0 ... n-1].
Por exemplo, se a função for chamada com o parâmetro
6, deverá devolver um número aleatório compreendido
entre 0 e 5 (inclusive).
8. Moeda ao ar
Utiliza a função que acabaste de criar no exercício
anterior para fazer um programa que simule atirar uma moeda ao ar 1000
vezes. O programa deve contar quantas vezes sai "cara" e quantas vezes
sai "coroa".
9. Mais números aleatórios
Faz um programa que gera 1000 números reais aleatórios no
intervalo [0,1] O programa deve contar quantos números caem no intervalo
[0.0, 0.5[, quantos caem no intervalo [0.5, 0.8[, e quantos caem no intervalo
[0.8, 1.0]. (ver dicas no final da página).
Dicas para gerar números aleatórios:
A linguagem C tem as funções rand( ) e random(
) para gerar números inteiros pseudo-aleatórios. Estas funções
geram os ditos números a partir de algoritmos mais ou menos elaborados
e cuja implementação varia ligeiramente de compilador para
compilador. A funcão random( ), mais recente e também
considerada melhor que a rand( ), gera números aleatórios
do tipo long int pertencentes ao intervalo [0 ... RAND_MAX].
O valor de RAND_MAX também pode ser diferente consoante a implementação
(compilador/máquina). Aqui na sala de aulas práticas é
igual a 2147483647 mas, para quem usa o Turbo C da Borland em casa, é
igual a 32767.
Para gerar números aleatórios a pedido (por exemplo, apenas
dentro de um determinado intervalo, ou números reais em vez de inteiros)
temos que trabalhar com estes elementos realizando sobre eles algumas operações
aritméticas simples.
rand( ), random() e RAND_MAX estão definidos
em stdlib.h.