Professional Documents
Culture Documents
Arrays
Solução alternativa
Dias_mes2.java
class Dias_mes_2 {
public static void main(String args[]) {
int mes;
int dias_mes[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
System.out.print("Introduza o mês (1-12): ");
mes = Keyboard.readInt();
System.out.println("Esse mês tem " + dias_mes[mes - 1] + " dias.");
}
}
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
Pág. 2 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
Iguais.java
class Iguais {
public static void main(String Args[]) {
int vec1[]={0,1,2,3,4};
int vec2[]={0,2,2,3,4};
boolean diferentes=false;
if (vec1[i]!=vec2[i])
diferentes = true;
if (diferentes)
System.out.println("Os arrays apresentados são diferentes");
else
System.out.println("Os arrays apresentados são iguais");
}
}
Pág. 3 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
InverteNumeros.java
class InvertNumeros{
public static void main (String[] args){
double[] numeros = new double[10];
System.out.println ();
}
}
Pág. 4 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
ProdutoVec.java
class ProdutoVec {
public static void main(String Args[]) {
System.out.print("Introduza a dimensão dos vectores de elementos: ");
int dim = Keyboard.readInt();
Pág. 5 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
LancaDado.java
class LancaDado {
public static void main(String Args[]) {
int face;
int frequencia[] = new int[6];
for (int rola = 1; rola <=6000; rola ++){
face = 1+(int)(Math.random()*6);
++frequencia[face-1];
}
System.out.println("Face Frequência");
System.out.println("--------------------");
for (int i = 0; i <6; i ++)
System.out.println(" " + (i+1) + " " + frequencia[i]);
System.out.println("--------------------");
}
}
Pág. 6 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
Lucros.java
class Lucros {
public static void main(String Args[]) {
double[][] lucro = new double[5][12];
double maxlucro;
int melhorLoja, loja, mes;
double total = 0.0;
//Lê os valores para o array
for (loja = 0; loja < 5; loja++)
for (mes = 0; mes < 12; mes++) {
System.out.print("Introduza o valor do lucro em 2001 na loja " + (loja+1)
+ " no mes " + (mes+1) + ": ");
lucro[loja][mes] = Keyboard.readDouble();
}
maxlucro = 0;
melhorLoja = 0;
Pág. 7 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
0 1 2 3 4 5
0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1
5 1 5 10 10 5 1
TPascal.java
class TPascal {
public static void main(String Args[]) {
System.out.print("Introduza a dimensão do Triângulo: " );
int dimensao = Keyboard.readInt();
int [][] matriz = new int [dimensao][dimensao];
for (int i = 0;i < dimensao; i++)
for (int j = 0; j <= i;j++)
if ((j==0) || (j == i))
matriz[i][j] = 1;
else
matriz[i][j] = matriz[i-1][j-1] + matriz[i-1][j];
for (int i = 0;i < dimensao; i++) {
for (int j = 0; j <= i;j++)
System.out.print(matriz[i][j] + " " );
System.out.println();
}
}
}
Pág. 8 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
9. Uma forma simples e eficiente de calcular todos os números primos até um certo
valor n é o método da Peneira de Eratosthenes. O processo é simples:
escrevem-se todos os valores entre 2 e n (limite máximo). Em seguida, faz-se
um círculo em volta do 2, marcando como primo e riscam-se todos os seus
múltiplos. Continua-se a fazer círculos em volta do menor inteiro que se
encontra, eliminando todos os seus múltiplos. Quando não restarem números
sem terem círculos à volta ou traços por cima, os números com círculos à volta
representam todos os primos até n. A figura seguinte apresenta o método para
n=40.
Pág. 9 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
Nprimos.java
class Nprimos {
Pág. 10 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
10. Escreva um programa que gere um array de n.ºs inteiros (entre 0 e 100) e
ordene este array por ordem crescente.
OrdenaArray.java
class OrdenaArray {
public static void main(String Args[]) {
Pág. 11 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
n n −1
10. Crie um programa que calcule o produto interno dos arrays unidimensionais v1 e
v2. Recorda-se que o produto interno de dois vectores é o somatório: v1[0] ×
v2[0] + v1[1] × v2[1] + ... + v1[n - 1] × v2[n - 1], em que n é a dimensão dos
Pág. 12 de 13
Informática – Eng.ª Civil - Package #2 de Exercícios em Java
arrays. De notar que a operação produto interno só faz sentido para arrays do
mesmo tamanho.
11. Uma tabela pode servir para representar conjuntos de números inteiros,
Considerando que o domínio é [0,9], uma tabela de 10 elementos binários (zeros
e uns) pode indicar quando é que cada uma dos números pertence ou não a um
dado conjunto. Para isso, basta colocar o valor de tabela[i] a 0 se o n.º não
pertencer ao conjunto ou a 1 caso pertença. Por exemplo, a tabela
{1,0,1,1,0,1,1,1,0,0} indica que os números que fazem parte do conjunto são:
0,2,3,5,6,7. Desenvolva um programa que peça ao utilizador 2 conjuntos A e B
de n.ºs de 1 dígito e calcule A∪B e A∩B;
12. Faça um programa que leia os resultados de cada um dos 13 jogos que servem
de base ao Totobola. Em função do resultado introduzido, deve ser apresentado
1, X ou 2, conforme se venceu a equipa da casa, empataram ou venceram os
visitantes. O output esperado, após introdução dos resultados dos desafios é:
Jogo 1: X
Jogo 2: 1
Jogo 3: 1
...
Jogo 13: 2
Pág. 13 de 13