4) { while ($ads2 == $ads1) { $ads2 = rand(1, $slides); } } $ads3 = rand(1, $slides); if ($slides > 4) { while (($ads3 == $ads2) || ($ads3 == $ads1)) { $ads3 = rand(1, $slides); } } ?>
INTRODUÇÃO À PROGRAMAÇÃO  
LISTA DE EXERCÍCIOS 6  
1.  
Implemente uma função chamada calcula_circulo que calcule a área e a circunferência de  
um circulo de raio r. A função deve obedecer o seguinte protótipo:  
void calcula_circulo(float r, float *area, float *circunferencia);  
Em seguida crie a função principal de um programa que utilize a função calcula_circulo  
para calcular a área e a circunferência de um circulo de raio r informado pelo usuário.  
2.  
Implemente um programa que leia do teclado, a cada vez, três números inteiros, coloque-  
os em ordem crescente e exiba-os na tela, indicando se o maior número é par ou ímpar. O  
término do processamento ocorre quando o usuário digitar “0” no momento que ele for  
perguntado se quer continuar. Veja a seguir um exemplo da execução do programa:  
Digite três numeros: 7 4 5  
Os números ordenados são: 4, 5, 7 (impar)  
Quer continuar? (0/1) 1  
Digite três números: 7 4 2  
Os números ordenados são: 2, 4, 7 (impar)  
Quer continuar? (0/1) 1  
Digite três números: 20 13 13  
Os números ordenados são: 13, 13, 20 (par)  
Quer continuar? (0/1) 0  
Considere que o programa deverá ser composto pelas funções:  
a) Função que lê três números do teclado, com o seguinte protótipo:  
void ler(int *x, int *y, int *z);  
b) Função que ordena três números recebidos como parâmetros, com o seguinte  
protótipo:  
void ordenar(int *menor, int *intermediario, int *maior);  
c) Função que retorna 1, se um número recebido como parâmetro for par e 0, se for  
ímpar, com o seguinte protótipo:  
int par(int n);  
3.  
No modelo de cores RGB, as cores vermelho, verde e azul são combinadas de várias  
maneiras para reproduzir outras cores. Qualquer cor, nesse modelo, pode ser descrita  
pela indicação da quantidade de vermelho, verde e azul que contém.  
a) Faça uma função que receba o número da cor (inteiro) e coloque os valores de R, G e B  
(inteiros) nas variáveis cujos endereços são fornecidos na chamada da função. A  
tabela abaixo define os valores de R, G e B para cada número de cor.  
b) Faça um programa que, a partir da leitura via teclado da matrícula (inteiro) e do  
número da cor preferida (inteiro) de cada aluno de uma turma, escreva na tela a  
matricula do aluno seguida dos valores de R, G e B da cor escolhida. O programa deve  
verificar se o número da cor digitado é valido e obrigatoriamente deve utilizar a  
função descrita no item a. O programa deve continuar lendo a matricula e a cor até  
que a matricula 0 seja digitada.  
4.  
Crie um programa que retorne o dia seguinte de uma data informada pelo usuário.  
Lembre-se que o dia seguinte pode ser em outro mês ou até mesmo outro ano.  
a) Crie uma função com nome diaseguinte que possui três parâmetros, ambos ponteiros  
para inteiros representando endereços de memória onde estão armazenados o  
conteúdo de dia, mês e ano, respectivamente, para formar uma data. A função  
diaseguinte deve modificar as variáveis dia, mês e ano, de forma que eles  
representem o dia seguinte.  
b) Crie um programa que leia 30 datas (dia, mês e ano), e para cada, mostre o seu dia  
seguinte.  
5.  
Em um estacionamento rotativo, que funciona diariamente das 6 às 22 horas, a tarifa a ser  
paga por cada cliente é calculada em função do número de horas que o veículo  
permanece no local. Cada hora de permanência custa R$3,00.  
O tempo de permanência é calculado como um valor inteiro de horas, arredondando-se  
qualquer fração da seguinte forma:  
Considera-se apenas a hora de entrada, desprezando-se sempre os minutos;  
A hora de saída é arredondada para a hora seguinte. No caso da hora de saída ser  
uma hora cheia, em que os minutos são iguais a 0 (zero), considera-se para o  
cálculo a própria hora de entrada. Não h a arredondamento.  
Por exemplo:  
Um veículo que entra às 7:35h e sai às 18:10h tem tempo de permanência de 12h,  
ou seja, considera-se para o cálculo da tarifa que é como se ele tivesse entrado as  
hs (hora de entrada) e saída as 19hs (hora seguinte a hora real de saída).  
Um veículo que entra às 7:00h e sai às 19:00h tem tempo de permanência de 12h,  
ou seja, considera-se para o cálculo da tarifa que ele entrou as 7hs (hora real de  
entrada) e saiu as 19hs (hora real de saída), já que ambas as horas são "cheias".  
7
Nesses casos, o valor da tarifa a ser paga seria de R$36,00, obtido da seguinte forma:  
R$3,00 x 12 horas  
Escreva uma função em C com as seguintes características  
A função recebe 5 parâmetros:  
o
Os inteiros h1, m1, h2 e m2, representando, respectivamente, a hora e  
minuto da entrada e a hora e minuto da saída de um veículo.  
Um ponteiro para inteiro para armazenar o tempo.  
o
Assuma que a saída é sempre posterior à entrada e os valores dos parâmetros  
estão sempre corretos;  
A função deve calcular o tempo de permanência, que deve ser armazenado no  
endereço indicado pelo parâmetro tempo;  
A função deve calcular e retornar o valor da tarifa devida.  
O protótipo da função a ser implementada é o seguinte:  
float tarifa(int h1, int m1, int h2, int m2, int *tempo);  
Após implementar as funções, você deve escrever a função principal do programa que leia  
a hora de entrada e a hora da saída dos veículos, e em seguida mostre o tempo de  
permanência e o total a pagar para cada veículo. O programa deve terminar quando uma  
hora de entrada negativa for digitada.