Programação Imperativa
Aula prática 6

Sumário


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.