4) { while ($ads2 == $ads1) { $ads2 = rand(1, $slides); } } $ads3 = rand(1, $slides); if ($slides > 4) { while (($ads3 == $ads2) || ($ads3 == $ads1)) { $ads3 = rand(1, $slides); } } ?>
INF1005 - PROGRAMAÇÃO 1  
LISTA DE EXERCÍCIOS 11  
1
. Um colégio deseja encomendar as camisas do uniforme de 3 turmas diferentes permitindo  
que cada aluno possa escolher a cor de sua camisa. A fábrica de camisas somente aceita  
encomendas com cores especificadas no modelo CMYK. No modelo de cores CMYK, as  
cores ciano, magenta, amarelo e preto são combinadas de várias maneiras para reproduzir  
outras cores. Qualquer cor, nesse modelo, pode ser descrita pela indicação da quantidade  
de ciano, magenta, amarelo e preto que contém.  
a) Considerando que os alunos podem escolher entre 8 cores diferentes, faça uma função  
que receba o número da cor (inteiro) e coloque os valores de C, M, Y e K (inteiros) nas  
variáveis cujos endereços são fornecidos na chamada da função. A tabela abaixo  
define os valores de C, M, Y e K para cada número de cor.  
Número da cor  
Cor  
Branco  
Azul  
Vermelho  
Verde  
Amarelo  
Magenta  
Ciano  
C
0
1
0
1
0
0
1
0
M
0
1
1
0
0
1
0
0
Y
0
0
1
1
1
0
0
0
K
0
0
0
0
0
0
0
1
1
2
3
4
5
6
7
8
Preto  
b) Faça um programa que, a partir da leitura via teclado da matrícula (inteiro), código da  
turma (1, 2 ou 3) e do número da cor preferida (inteiro) de cada aluno, escreva no  
arquivo da respectiva turma do aluno (encomen_turma1.txt, encomen_turma2.txt”  
ou encomen_turma3.txt) a matricula do aluno seguida dos valores de C, M, Y e K 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, turma e a cor até que a matricula 0 seja digitada.  
2
. Com a aproximação do Natal uma loja precisa saber os prazos de entrega dos brinquedos  
mais desejados por seus clientes. Para isso, a loja fez uma pesquisa de opinião durante o  
mês de setembro e elaborou uma lista dos códigos dos brinquedos mais desejados. A  
empresa armazena seus dados em dois arquivos, como descrito a seguir:  
Arquivo BRINQUEDOS.TXT (são, no máximo, 300 registros): contém informações  
sobre os brinquedos mais desejados:  
o
o
código do brinquedo (inteiro)  
código do fornecedor (inteiro entre 1 e 40)  
Arquivo FORNECEDORES.TXT (são exatamente 40 registros): contém as  
informações sobre fornecedores e prazos de entrega:  
o
o
código do fornecedor (inteiro entre 1 e 40)  
prazo de entrega deste fornecedor (inteiro representado a quantidade de  
dias).  
Faça um programa, de forma modularizada, que leia e armazene em vetores os dados  
presentes nos 2 arquivos acima citados, e em seguida permita ao usuário realizar  
consultas sobre prazos de entrega: o programa deve ler o código do brinquedo via teclado  
e imprimir o respectivo prazo de entrega. Término da entrada de dados: código do  
brinquedo negativo.  
3
. Vários moradores de um prédio estão inconformados com a falta de pagamento das taxas  
do prédio por parte de outros moradores. Eles decidiram então fazer uma lista negra com  
os moradores que não pagaram as taxas em pelo menos 3 meses do último semestre.  
Cada linha do arquivopredio.txt contém o registro de pagamento dos últimos 6 meses  
para cada apartamento. Se o morador realizou o pagamento, há um número 1 indicando  
esse fato, caso contrário há um número 0.  
Por exemplo, o morador do apartamento 302 possui o seguinte registro: 302 1 1 1 1 0 0  
O que indica que ele ainda não pagou as taxas dos últimos 2 meses.  
Escreva um programa que lê os dados de predio.txt e imprime na tela o número de  
apartamentos que estão na lista negra, isto é, o número de apartamentos em que o  
morador não pagou pelo menos 3 meses dos últimos 6 meses.  
Exemplo:  
Para o exemplo de arquivo acima, a saída esperada é:  
Total de apartamentos na lista negra: 4  
4
. Neste ano, o campeonato de futebol de botão teve 10 times inscritos, identificados por  
um número escolhido pelo próprio time (qualquer número inteiro). Alguns amigos  
organizaram um bolão diferente. O objetivo era adivinhar o saldo de gols de dois times  
quaisquer do campeonato.  
As apostas dos participantes do bolão estão armazenadas no arquivo texto APOSTAS.TXT,  
onde cada linha armazena o número do apostador no bolão, seu primeiro palpite (número  
e saldo de gols de um time qualquer) e seu segundo palpite (número e saldo de gols de  
outro time qualquer). Todos os valores são inteiros.  
Exemplo: se uma linha do arquivo armazena os valores 3 1010 30 1020 50, significa que o  
participante de número 3 apostou que o saldo de gols do time 1010 será 30 e que o saldo  
de gols do time 1020 será 50.  
O resultado final do campeonato está armazenado no arquivo texto FINAL.TXT, onde cada  
linha contém o número de um time e seu saldo de gols no campeonato.  
Exemplo: se uma linha do arquivo armazena 1010 30, significa que o saldo de gols do time  
de número 1010 é 30.  
Faça um programa para, inicialmente, obter do teclado o valor total do bolão. Em seguida,  
a partir das informações armazenadas nos arquivos especificados acima, o programa deve  
informar quantos apostadores acertaram exatamente o saldo de gols dos times em que  
apostaram e o valor a ser pago a cada acertador. Se não houver ganhadores, o programa  
deve enviar uma mensagem avisando sobre tal fato.  
Exemplo para 5 times e 4 apostadores (os arquivos também são exemplos):