Programação Segundo trabalho prático Semestre de Verão de 2011/2012 Neste trabalho, os alunos adquirem prática de utilização de ciclos repetitivos e arrays. Cada grupo terá que entregar até 2 de Maio no respetivo site da turma o relatório que descreva as opções tomadas em cada exercício e o código em Java com a solução de cada exercício. Em todos os exercícios não é permitida a utilização de métodos da classe Arrays do package java.util. C:\ISEL\PG>java Grelha Linhas ? 1 Linhas ? 2 Colunas ? 3 Altura das linhas ? 2 Largura das colunas ? 10 Largura das colunas ? 5 1. Faça um programa para escrever uma grelha com o aspeto apresentado. O programa deve ler o número de linhas (NL) da grelha, o número de colunas (NC), a altura de cada linha (AL) e a largura de cada coluna (LC). Os limites mínimos e máximos de cada um dos valores são: NL=(2-5), NC=(2-8), AL=(1-3), LC=(1-5). O programa deve continuar a ler cada um dos valores até ser introduzido um valor dentro dos limites. O-----O-----O-----O | | | | | | | | O-----+-----+-----O | | | | | | | | O-----O-----O-----O 2. C:\ISEL\PG> java Binario Faça um programa, sem usar métodos da classe Integer, Valor binário ? 1011111100 que lê um valor em binário e o escreve em hexadecimal. Hex = 2FC O valor deve ser decomposto em grupos de 4 bits, da direita para a esquerda, para determinar cada dígito em hexadecimal. Considere que o valor lido tem menos de 32 bits. O programa deve escrever “Valor errado” se não forem introduzidos dígitos em binário. C:\ISEL\PG>java Iguais 3. 3 6 23 4 6 9 6 8 Faça um programa que lê uma sequência de valores inteiros e apresenta quantos são iguais. 8 5 10 4 a A sequência é lida até ser introduzido um qualquer elemento que não seja um valor inteiro. Iguais: 7 Não existe um número máximo de valores a ler. No exemplo, são 7 iguais porque existem 3 ocorrências de 6, 2 ocorrências de 4 e 2 ocorrências de 8 (3+2+2=7). 4. Faça um programa para simular uma máquina de venda com moedeiro para troco com número de moedas limitado. Na linha de comando é indicado o número de moedas iniciais para cada tipo de moeda. Depois de ler o preço e a quantia recebida em euros, é indicada a demasia com as moedas de cada tipo dispensadas do moedeiro. O programa só termina quando for indicado um preço a zero. Caso não existam moedas suficientes para o troco a venda é interrompida sem retirar qualquer moeda do moedeiro. Devem ser indicados os casos em que a quantia é igual ao preço (“Quantia certa”) e é menor que o preço (“Quantia insuficiente”). 5. Faça um programa que apresenta a tabuada (de multiplicar) dos valores indicados na linha de comando. O programa deve apresentar até o máximo de 5 tabuadas. C:\ISEL\PG>java Demasia 2 Máquina carregada com 2 moedas de cada tipo. Preço (em euros) ? 0,45 Quantia recebida (em euros) ? 5 Demasia: (4.55) = 2 x 2€ + 1 x 50c + 1 x 5c. Preço (em euros) ? 2 Quantia recebida (em euros) ? 5 Demasia: (3.0) = 2 x 1€ + 1 x 50c + 2 x 20c + 1 x 10c. Preço (em euros) ? 3,90 Quantia recebida (em euros) ? 5 Demasia: (1.1) = Não há troco. Venda interrompida. Preço (em euros) ? 4,90 Quantia recebida (em euros) ? 5 Demasia: (0.1) = 1 x 10c. Preço (em euros) ? 0 C:\ISEL\PG>java Tabuada 3 5 9 | | | | | | | | | | 3 3 3 3 3 3 3 3 3 3 x x x x x x x x x x 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10= 3 6 9 12 15 18 21 24 27 30 | | | | | | | | | | 5 5 5 5 5 5 5 5 5 5 x x x x x x x x x x 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10= 5 10 15 20 25 30 35 40 45 50 | | | | | | | | | | 9 9 9 9 9 9 9 9 9 9 x x x x x x x x x x 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = 10= ISEL, 17 de Abril de 2012 9 18 27 36 45 54 63 72 81 90 | | | | | | | | | |