O objetivo desta aula prática é exercitar comandos de repetição

Propaganda
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz
Quarta Aula Prática - 11 de dezembro de 2015
O objetivo desta aula prática é exercitar comandos de repetição, testes e vetores.
Exercício 1: Neste exercício é obrigatório o uso do comando switch. Neste exercício
vamos criar um dado eletrônico. Será que o dado é honesto ou tem alguma tendência? Escreva um
programa que gere 6.000.000 números aleatórios entre 1 e 6 e calcule a frequência (em percentagem)
com que cada um destes números foi gerado. Observe que o gerador de números randômicos gera
números entre 0 e um número escolhido e isto pode ser um problema. Como fazer que ele gere
números entre 1 e 6? O que você pode dizer sobre o dado?
Exercício 2: Escreva um programa para solucionar o problema do exercício anterior sem usar
nenhum comando de teste.
Exercício 3: Escreva um programa que leia uma frase de até 80 caracteres e imprima quantas
vogais existem nesta frase. Para testar seu programa escreva as frases usando letras maiúsculas e
minúsculas misturadas.
Exercício 4: Vamos usar o gerador de números aleatórios para calcular π. Para isto comece
considerando a Figura 1. Escreva um programa que gere N pontos cujas coordenadas devem estar
entre (0 ≤ x, y ≤ 1.0). Conte o número de pontos (dentro) que estão dentro do quarto de círculo
(Figura 1) de raio 1.0 e centro na origem.
(a) Imprima o resultado da seguinte conta:
X=
4 × dentro
N
.
(b) Repita o experimento usando valores para N grandes e verifique a precisão de sua
resposta. Compare com o valor fornecido por 4 * atan(1.0).
y
1.0
1.0
x
Figura 1: Figura do problema 4.
1
Exercício 5: Escreva um programa que gere um vetor de 13571113 elementos inteiros (use a
função srand() os ordene em ordem crescente usando o algoritmo da bolha.
Exercício 6:
Aeroportos
A crescente utilização do transporte aéreo preocupa os especialistas de Pindorama, que prevêem
que o congestionamento em aeroportos poderá se tornar um grande problema no futuro. A empresa
estatal InfraPindo tem anunciado planos que irão resolver todos os problemas existentes e os
que ainda virão. Há um pequeno problema porém, todas as obras estão atrasadas ou paradas
porque descobriram desvios de verba. Os números atuais já são alarmantes: relatorios oficiais
demonstram que neste país, em junho de 2013, houve uma média de 7.000 atrasos de vôos por dia.
Preocupada com a previsão dos seus especialistas em tráfego aéreo, a Associação de Transporte
Aéreo Pindoramiano (ATAPI) está começando um estudo para descobrir quais são os aeroportos
onde o tráfego aéreo pode vir a ser mais problemático no futuro.
Tarefa
Como programador recém contratado pela ATAPI você foi encarregado de escrever um programa para determinar, a partir de uma listagem de aeroportos e vôos, qual aeroporto possui
maior probabilidade de congestionamento no futuro.
Como medida da probabilidade de congestionamento será utilizado neste estudo o
número total de vôos que chegam ou que partem de cada aeroporto.
Entrada
A entrada é composta de vários conjuntos de teste. A primeira linha de um conjunto de teste
contém dois números inteiros A e V , que indicam respectivamente o número de aeroportos e o
número de vôos. Os aeroportos são identificados por inteiros de 1 a A. As V linhas seguintes
contêm cada uma a informação de um vôo, representada por um par de números inteiros positivos
X e Y , indicando que há um vôo do aeroporto X para o aeroporto Y . O final da entrada é indicado
quando A = V = 0.
Saída
Para cada conjunto de teste da entrada seu programa deve produzir três linhas. A primeira
linha identifica o conjunto de teste, no formato “Teste n”, onde n é numerado a partir de 1. A
segunda linha deve conter o identificador do aeroporto que possui maior tráfego aéreo. Caso mais
de um aeroporto possua este valor máximo, você deve listar todos estes aeroportos, em ordem
crescente de identificação, e separados por pelo menos um espaço em branco. A terceira linha
deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida
rigorosamente.
Restrições
0 ≤ A ≤ 100 (A = 0 apenas para indicar o fim da entrada)
0 ≤ V ≤ 10000 (V = 0 apenas para indicar o fim da entrada)
1≤X ≤A
1≤Y ≤A
X 6= Y
Exemplo de entrada e saída
2
Entrada:
5 7
1 3
2 1
3 2
3 4
4 5
3 5
2 5
3 5
1 3
1 2
3 2
1 2
2 1
0 0
Saída para o Exemplo da Entrada
Teste 1
3
Teste 2
1 2
3
Download