Buscar

PROJETO DE METODOS II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Questão 1
import java.util.Random; // importa a classe Random
public class Valores { // inicio da classe Valores	
 
 public static void main (String[] args) { // inicio do metodo main 			
 
 Random randomNumbers = new Random(); // declara e inicializa o objeto randomNumbers como do tipo Random
 
 int number = 0; // declara number inteiro
 int maior = 10; //declara maior inteiro e o inicializa igual a 11
 int menor = 100; // declara menor inteiro e o inicializa igual a 99
 int soma = 0; // declara soma inteiro e o inicializa igual a 0
 double media; // declara media como um numero real
 int frequency[] = new int[99]; // declara o vetor inteiro e cria 99 espaços 
for (int counter = 1; counter <=500; counter++) // Faz 500 loops.	
{ // inicio do for
number = 11 + randomNumbers.nextInt (89); //relaciona inteiros entre 11 e 99
						 
 	if(number > maior) // se a variável number for maior que a variável maior, então atribui-se number a maior
				maior = number;
 	if(number < menor) // se a variável number for menor que a variável menor, então atribui-se number a menor 
				menor = number; 
 
 	soma = soma + number; // acumulador para o somatório dos números lidos
 
 ++frequency[number-1]; // contador de frequência: contabiliza a quantidade de vezes que cada valor foi gerado
 } // fim do for
 System.out.println ("O maior valor encontrado foi: " + maior); //imprime o maior valor gerado 
 
 System.out.println ("O menor valor encontrado foi: " + menor); //imprime o menor valor gerado
 media = soma/500; //calcula a media dos valores gerados
 
 System.out.printf("A media dos valores encontrados e igual a : %f\n\n",media); // imprime a media dos valores gerados
 
 
 for (int j = 10; j < 99; j++) // laço que faz 88 loops 
 	System.out.printf("A frequencia de %d eh: %d\n",(j+1),frequency[j]); // imprime a frequencia de cada valor gerado 
 
 } // fim do metodo main
} // fim da classe valores
Questão 2
//Matriz
import java.util.Scanner; // importa a classe scanner
public class Matriz { //inicio da classe Matriz
	
	public static void definirMatriz(double matriz[][] ){ // inicio do método definir Matriz 
		
		int m=0; //declara m inteiro e igual 0
		int n=0; //declara n inteiro e igual 0
		Scanner x = new Scanner(System.in); // declara a variavel x como scanner
		
		for (m=0; m<3 ;m++) //laço com 3 loops
			for (n=0; n<3 ;n++) // laço com 3 loops
				
		 	{ // inicio do for
				System.out.printf("Digite o elemento " + (m+1) + " " + (n+1) + " : "); // imprime o texto na tela
			matriz[m][n] = x.nextDouble(); // entra com os valores via teclado, respectivamente 
		 	} // fim do for
		 
} //fim do método definir matriz 
 
	public static void obterMatriz (double matriz[][] )
	{ //inicio do metodo obter Matriz
		
		int m=0; //declara m como inteiro e igual a 0
		int n=0; //declara n como inteiro e igual a 0
		
		for (m=0; m<3 ;m++){ // laço com 3 loops
		 for (n=0; n<3 ;n++) // laço com 3 loops 
		 { // inicio do for
			System.out.printf(matriz[m][n] + "\t"); // imprime a matriz
		 } // fim do for
		 System.out.printf("\n"); // pula uma linha
	} // fim do for
 } //fim do metodo obterMatriz 
	
	public static void somarMatriz(double matrizA[][] ,double matrizB[][], double matrizC[][] )
 
{ //inicio do método somarMatriz 
		
		int m=0; //declara m como inteiro e igual a 0
		int n=0; //declara n como inteiro e igual a 0
		
		for (m=0; m<3 ;m++){ // laço com 3 loops
			for (n=0; n<3 ;n++) // laço com 3 loops
				
			{ // inicio do for
			 matrizC[m][n] = matrizA[m][n] + matrizB[m][n]; //soma os termos das matrizes e atribui a matrizC 
		 } // fim do for
		 
	} // fim do for
 } //fim da classe
 
	public static void subtrairMatriz(double matrizA[][] ,double matrizB[][], double matrizC[][] )
	{ //inicio do metodo subtrairMatriz
		
		int m=0; //declara m como inteiro e igual a 0
		int n=0; //declara n como inteiro e igual a 0
		
		for (m=0; m<3 ;m++){ // laço com 3 loops
			for (n=0; n<3; n++) // laço com 3 loops 
				
			{ // inicio do for
		 matrizC[m][n] = matrizA[m][n] - matrizB[m][n]; // subtrai as matrizes e atrubuios resultados a matrizC
		 } // fim do for
		 
	} // fim do for
 } //fim do metodo subtrairMatriz
	
	public static void multiplicarCteMatriz(double matrizA[][] , double matrizC[][] )
 { //inicio do metodo multiplicarCteMatriz 
		int m=0; //declara m como inteiro e igual a 0
		int n=0; //declara n como inteiro e igual a 0
		double k=0; // declara k como real e igual a 0
		Scanner constante = new Scanner(System.in); // cria objeto do tipo Scanner 
		
		System.out.println("Digite o valor da constante: "); // imprime a mensagem
		
		k = constante.nextDouble(); // atribui a k o valor de entrada via teclado
		
		for (m=0; m<3 ;m++){ // laço com 3 loops
			for (n=0; n<3 ;n++) // laço com 3 loops 
				
			{ // inicio do for
			matrizC[m][n] = matrizA[m][n] * k ; // faz a multiplicação da matriz pelo escalar e atribui a matriz C 
		 } // fim do for
		 
	} // fim do for
 } //fim da classe
	public static void compararMatriz(double matrizA[][], double matrizB[][] )
{ //inicio do metodo compararMatriz 
int m=0; //declara m como inteiro e igual a 0
int n=0; //declara n como inteiro e igual a 0
int w=0; //declara w como inteiro e igual a 0
 
	 for(m=0; m<3 ;m++){ // laço com 3 loops
		for (n=0; n<3; n++) // laço com 3 loops 
		 { // inicio do for
			if (matrizA[m][n] == matrizB[m][n]) // compara a matrizA e matrizB
				++w; // incrementa +1								
		 } // fim do for
		
	} // fim do for
	if(w==9 ) // se w igual a 9 
		System.out.println("as matrizes sao iguais"); // imprime a mensagem na tela
	else // senão
		System.out.println("as matrizes nao sao iguais"); // imprime a mensagem na tela
		
 } //fim do método comparar Matriz
 
 
	public static void multiplicarMatriz(double matrizA[][], double matrizB[][], double matrizC[][])
 
	{ //inicio do metodo multiplicarMatriz 
 
		int m=0; //declara m como inteiro e igual a 0
		int n=0; //declara n como inteiro e igual a 0
		int k=0; //declara k como inteiro e igual a 0
	
		
		for(m=0; m<3 ;m++) // laço com 3 loops
			for (n=0; n<3 ;n++) // laço com 3 loops 
				
				matrizC[m][n] = 0;// deixa a matrizC zerada caso ela tenha outro valor
		for(m=0; m<3 ;m++) // laço com 3 loops
			for (n=0; n<3 ;n++) // laço com 3 loops
				for(k=0; k<3; k++) // laço com 3 loops
					
					matrizC[m][n]+=matrizA[m][k] * matrizB[k][n]; // define a matrizC como a multiplicação da matrizA com matrizB	 
	
	
	}//fim do método multiplicar Matriz
 
 publicstatic void main (String args [])
 { //inicio do metodo main 
double matriz1[][] = new double[3][3]; //declara a matriz1 como real e cria seu espaço
double matriz2[][] = new double[3][3]; //declara a matriz2 como real e cria seu espaço
double matriz3[][] = new double[3][3]; //declara a matriz3 como real e cria seu espaço
	
	definirMatriz( matriz1); // define a matriz1
	System.out.println("A matriz1 e:"); // imprime a mensagem na tela
	obterMatriz( matriz1); // imprime a matriz1 na tela
	System.out.println("------------------------"); // imprime a mensagem na tela 
	definirMatriz( matriz2); //cria a matriz2
	System.out.println(" a matriz2 e:"); // imprime a mensagem na tela
	obterMatriz( matriz2); // imprime a matriz2 na tela
	System.out.println("------------------------"); // imprime a mensagem na tela 
	System.out.println("\n\nMultiplicacao de Matrizes:\n"); // imprime a mensagem na tela
	multiplicarMatriz( matriz1, matriz2, matriz3); //faz a multiplicaçao das matriz 1 e 2 
	obterMatriz(matriz3); // imprime a matriz3 na tela 
 
	System.out.println("------------------------"); // imprime a mensagem na tela
	System.out.println("\n\nSubtração de Matrizes:\n"); // imprime a mensagem na tela
	subtrairMatriz( matriz1, matriz2, matriz3); // faz a subtraçao das matrizes 1 e 2 
 
	obterMatriz(matriz3); // imprime a matriz3 na tela
	System.out.println("------------------------"); // imprime a mensagem na tela
	System.out.println("\n\nSoma de Matrizes:\n");
	somarMatriz(matriz1, matriz2, matriz3); // faz a soma das matrizes 1 e 2 
	obterMatriz(matriz3); // imprime a matriz3 na tela
	System.out.println("------------------------"); // imprime a mensagem na tela
	System.out.println("\n\nMultiplicação da matriz1 por um escalar:\n"); // imprime a mensagem na tela
	multiplicarCteMatriz(matriz1, matriz3); // faz a multiplicação da matriz1 por um escalar 
	System.out.println("------------------------"); // imprime a mensagem na tela
	obterMatriz(matriz3); // imprime a matriz3 na tela
	System.out.println("Comparando as matrizes..."); // imprime a mensagem na tela
	System.out.println(); // imprime a mensagem na tela
	compararMatriz(matriz1, matriz2); // compara a matriz1 com a matriz2
	System.out.println( " Fim do programa ! "); // imprime a mensagem 
 }
}
Questão 3
import java.util.Scanner; // importa a classe scanner 
public class Notas 
{ // inicio da classe notas
	
	public static void main ( String args [] )
	{ // inicio do método main
		
		double nota1 = 0; //declara nota1 como do tipo real e inicializa igual a 0 
		double nota2 = 0; //declara nota1 como do tipo real e inicializa igual a 0
		double media[] = new double [1000]; // declara o vetor media como do tipo real e cria 1000 espaços.
		double maiorMedia = 0; // declara maiorMedia como o tipo real e inicializa ela com 0
		double menorMedia = 11; // declara menorMedia como o tipo real e inicializa ela com 11
		int notasTurma[] = new int [10]; //declara o vetor notasTurma como inteiro e cria 10 espaços
		int i=0, j=0; // declara i e j como do tipo inteiro e inicializa ela com 0
		Scanner input = new Scanner(System.in); // cria Scanner para obter entrada a partir da janela de comando
		boolean v = true; // cria uma variável tipo boolean 
		boolean sair = false; // cria uma variável tipo boolean 
		
		for(j=0; j<1000;j++) // laço que faz 1000 loops
		{ // inicio do for
			media[j] = -1; // cria o parâmetro de saida
		} // fim do for
		for(j=0; j<10;j++) //laço que faz 10 loops 
		{ // inicio do for
			notasTurma[j] = 0; // atribui o valor 0 ao vetor notasTurma
		} // fim do for
		
		while(true) // laço de infinitos loops
	
		{ //inicio do while
			System.out.println ("Digite a nota 1 do aluno "+(i+1)+": "); //imprimi na tela Digite a nota 1 do aluno1:
			v= true; // atribui a v, condiçao de verdadeiro
			 while(v) 
			 { // inicio do while 
			nota1 = input.nextDouble(); //entrar via teclado com a nota
			
		 if (nota1<0 || nota1>10) // se nota1 menor que 0 ou maior que 10
			if(nota1==-1) // se nota igual a -1
				{ // inicio do if
				sair= true; //comando que interrompe o loop do while(finaliza a entrada das notas)
				break; // quebra o a condiçao 
				} // fim do if
			else // senao
			 System.out.println("nota errada, digite novamente a nota:"); // imprime na tela a mensagem
		 else // senao 
			v=!v; // inverte a condiçao de v 
			 } //fim do while
			if (sair==true) // se sair igual a verdadeiro 
			{ // inicio do if
			break; // quebra do if
	
			} // fim do if
			System.out.println ("Digite a nota 2 do aluno "+(i+1)+": "); //imprime na tela Digite a nota 2 do aluno1
			
 v= true; // atribui a v "true"
			while(v) // laço enquanto verdadeiro
			 { // inicio do while 
			nota2 = input.nextDouble(); //entrar via teclado com a nota
			
		 if (nota2<0 || nota2>10) // se nota2 menor que 0 ou maior que 10
			if(nota2==-1) // se nota igual a -1
				{ // inicio do if
				sair= true; //comando que interrompe o loop do while(finaliza a entrada das notas)
 break; // quebra do if
				} // fim do if
			else // senao
			 System.out.println("nota errada, digite novamente a nota:"); // imprime na tela a mensagem
		 else // se nao...
			v=!v; // // inverte a condição de v 
			} // fim while
			if (sair==true) // se sair igual a verdadeiro
			break; // quebra do if 
			
			media[i] = (nota1+nota2)/ 2; // media que vai ser calculada e atribuída a um espaço do vetor
			
			if(media[i]>maiorMedia) // se a media[i] for maior que maiorMedia
				maiorMedia = media[i]; // atribui media[i] a maiorMedia
			if(media[i]< menorMedia) // se a media[i] for menor que menorMedia
				menorMedia = media[i]; // atribui media[i] a menorMedia
			
			if((media[i] >= 0.0) && (media[i]<=1.0)) //se media[i]>= a 0.0 e media[i]<=1.0
				notasTurma[0]++; // contador de frequencia
			if((media[i] > 1.1) && (media[i]<=2.0)) //se media[i]>= a 1.1 e media[i]<=2.0
				notasTurma[1]++; // contador de frequencia
			if((media[i] > 2.1) && (media[i]<=3.0)) //se media[i]>= a 2.1 e media[i]<=3.0
				notasTurma[2]++; // contador de frequencia
			if((media[i] > 3.1) && (media[i]<=4.0)) //se media[i]>= a 3.1 e media[i]<=4.0
				notasTurma[3]++; // contador de frequencia
			if((media[i] > 4.1) && (media[i]<=5.0)) //se media[i]>= a 4.1 e media[i]<=5.0
				notasTurma[4]++; // contador de frequencia
			if((media[i] > 5.1) && (media[i]<=6.0)) //se media[i]>= a 5.1 e media[i]<=6.0
				notasTurma[5]++; // contador de frequencia
			if((media[i] > 6.1) && (media[i]<=7.0)) //se media[i]>= a 6.1 e media[i]<=7.0
				notasTurma[6]++; //contador de frequencia
			if((media[i] > 7.1) && (media[i]<=8.0)) //se media[i]>= a 7.1 e media[i]<=8.0
				notasTurma[7]++; // contador de frequencia
			if((media[i] > 8.1) && (media[i]<=9.0)) //se media[i]>= a 8.1 e media[i]<=9.0
				notasTurma[8]++; // contador de frequencia
			if((media[i] > 9.1) && (media[i]<=10.0)) //se media[i]>= a 9.1 e media[i]<=10.0
				notasTurma[9]++; // contador de frequencia 
			
			System.out.println("----------------------------------------"); // imprime na tela o tracejado
			i++; // incrementador
	
		} // fim do while
		
		for(i=0;i<1000;i++) // laço de 1000 loops
			{ // inicio do for
			if(media[i]==-1) // se media[i] igual a -1
				break; // quebra
			
			System.out.println("A media do aluno "+(i+1)+" e "+media[i]); // imprime na tela a media de determinado aluno 
			} // fim do for
		
		System.out.println("A maior media foi: "+maiorMedia); // imprime na tela a maior media
		System.out.println("A menor media foi: "+menorMedia); // imprime na tela a menor media 
		
System.out.println("\n"); // pula uma linha
		System.out.println("Distribuicao de notas da turma:\n"); // imprime na tela a menssagem
		for(i=0; i < 10;i++) //laço de 10 loops
		{ //inicio do for
			System.out.println("Medias de "+(i+0.1)+" ate "+(i+1)+" foram: "+notasTurma[i]); 
//imprime na tela os intervalos das media e suas respectivas frequencias
 
		} // fim do for
		
	} // fim meto main
		
} // fim da classe notas
		
		
APRESENTAÇÃO
Com a popularização de computadores de baixo custo e de alta capacidade de processamento, praticamente todas as atividades de Engenharia têm feito uso cada vez mais intensivo dos métodos e técnicas computacionais na resolução de problemas reais com máxima confiabilidade em termos dos fatores envolvidos, para os quais as soluções manuais são impraticáveis e/ou imprecisas.
Desta forma, o uso do computador como ferramenta de trabalho para programação requer o entendimento dos seus princípios de operação, linguagem e de como eles interferem nos resultados obtidos. Geralmente, é aceito como verdade que computadores não erram e que são os usuários que cometem enganos que levam ao mau funcionamento do computador. Na realidade, o computador, como dispositivo de programação, “comete” erros devido às suas características intrínsecas e o papel do programador é quantificar esses erros e encontrar formas de, se não eliminá-los, pelo menos minimizá-los.
BIBLIOGRAFIA
Deitei, H. M.
Java, como programar / H. M. Deitei e P. J. Deitei; trad. Carlos Arthur
Lang Lisboa. - 4,ed. - Porto Alegre: Bookman, 2003.
Aulas ministradas e material de apoio exibido pelo Professor/Doutor Antônio Mendes da Silva Filho.
UNIVERSIDADE DE PERNAMBUCO
ESCOLA POLITÉCNICA DE PERNAMBUCO
Métodos Computacionais II
Professor: Antônio Mendes
Turma: AB
André Soares
Huga Pereira
Nadja Lima
Renato Ataide
Recife, 2009
UNIVERSIDADE DE PERNAMBUCO
ESCOLA POLITÉCNICA DE PERNAMBUCO
Métodos Computacionais II
Recife, 2009

Outros materiais