Help em programa

7 respostas
layor

Bem galera so preciso de um help tenho q entrega este trabalho acho que esta tudo correto porfavor se alguem puder da uma olhada e ve se esta tudo correto agradeço.

TRABALHO 4 ? MÉTODOS
Faça um programa EM Java que leia 2 notas (de 0 a 10) e depois mostre:

  • A média aritmética simples;
  • A média ponderada entre os dois valores (nota 1 com peso 1 e nota 2 com peso 2);
  • O valor necessário para recuperar a pior nota e passar com média igual ou superior a 5.5, considerando o uso da média aritmética simples (notas com pesos iguais);
  • O valor necessário para recuperar a pior nota e passar com média igual ou superior a 5.5, considerando o uso da média ponderada (nota 1 => peso 1, nota 2 => peso 2).
    Faça este programa de forma modular, ou seja, usando um método para cada tarefa descrita acima. O Programa principal deve apenas chamar os métodos criados.
import java.util.Scanner;

import java.text.DecimalFormat;

public class trabalho41 {
public trabalho41() {
	// TODO Auto-generated constructor stub
}

/**
 * @param args
 */
public static void main(String[] args) 
{
	String name;
	double notaa,nota1,nota2,notaarit,notapon,notarec1,menor,notarec2;
	Scanner x =new Scanner(System.in);
	DecimalFormat nota=new DecimalFormat("0.0");
	System.out.println("escreva o nome do aluno");
	name = x.next();
nota1 = notaa (name);

nota2 = nota2 (nota1);

notaarit= notaarit(nota2,nota1);

notapon=notapon (nota2,nota1);

notarec1=notarec1 (nota2,nota1);

notarec2= notarec2 (nota1,nota2,notapon);

System.out.println("a nota aritmetica é : " + nota.format(notaarit));

System.out.println("a nota ponderada é : " + nota.format(notapon));

if(notarec1<=0){

System.out.println(Em nota aritmetica não precisa de nota);

}

else{

if(nota1<nota2){

System.out.println(a nota necessaria para passar na nota aritmetica da nota 1  :”  + nota.format(notarec1));

}else{

if(nota2<nota1){

System.out.println("a nota necessaria para passar na nota aritmetica deve ser na nota 2 : "+nota.format(notarec1));	

}else{

if(nota2==nota1)
System.out.println("A nota necessaria para passar na nota aritmetica deve ser na nota:"+nota.format(notarec1));
}//aritmetica
}

}

if(notarec2<=0){

System.out.println(Em nota ponderada não precisa de nota);

}

else{

if(nota1<nota2){

System.out.println(a nota necessaria para passar na nota ponderada da nota 1  :”  + nota.format(notarec2));

}else{

if(nota2<nota1){

System.out.println("a nota necessaria para passar na nota ponderada deve ser na nota 2 : "+nota.format(notarec2));	

}else{

if(nota2==nota1)
System.out.println("A nota necessaria para passar na nota ponderada deve ser na nota:"+nota.format(notarec2));
}
}	

}

}//1ºpublic string

public static double notaa(String name){ //calcula a nota 1

double contnota,nota1;

Scanner x=new Scanner(System.in);

do{

System.out.println(Escreva a 1ºnota);

nota1= x .nextDouble();

}while(nota1 < 0 || nota1 >10);

return nota1;

}//termina a nota1

public static double nota2(double nota1){ //calcula a nota 2

double contnota,nota2;

Scanner x=new Scanner(System.in);

do{

System.out.println(Escreva a 2ºnota);

nota2= x .nextDouble();

}while(nota2 < 0 || nota2 >10);

return nota2;

}	//termina a nota 2

public static double notaarit(double nota2 ,double nota1){

double notaarit1;

notaarit1=(nota1+nota2)/2;

return notaarit1;

}

public static double notapon(double nota2 ,double nota1){

double notapon;

notapon=(nota1+nota2*2)/3;

return notapon;

}

public static double notarec1(double nota2 ,double nota1){

double notarec1,menor=0,nota;

nota = 11- (nota1+nota2);

if(nota1<nota2){

menor=nota1;

}else{if(nota2<nota1)

{

menor=nota2;

}

}
notarec1 = menor+nota;
		return notarec1;
	}
	public static double notarec2(double nota2 ,double nota1,double notapon){
		double notarec2,menor = 0,nota,notaa=0; 
	nota = 5.5-notapon;
	if(nota1<nota2){
		menor=nota1;
		notaa =(nota*3)/2+menor ;
	}
	else
	{
		if(nota2<nota1){
	menor=nota2;
	notaa = (nota*3)+ menor;
	}
	}
	menor = 0;
	notarec2=notaa;
		return notarec2;
	}

}

Obrigado

7 Respostas

Diabo_Loiro

cara posta usando as tags code e especifica sua duvida, ninguém pode te ajudar se voce não tem duvida.

L
import java.util.Scanner; 
import java.text.DecimalFormat; 
public class trabalho41 { 

public trabalho41() { 
// TODO Auto-generated constructor stub 
} 

/** 
* @param args 
*/ 
public static void main(String[] args) 
{ 
String name; 
double notaa,nota1,nota2,notaarit,notapon,notarec1,menor,notarec2; 
Scanner x =new Scanner(System.in); 
DecimalFormat nota=new DecimalFormat("0.0"); 
System.out.println("escreva o nome do aluno"); 
name = x.next(); 
nota1 = notaa (name); 
nota2 = nota2 (nota1); 
notaarit= notaarit(nota2,nota1); 
notapon=notapon (nota2,nota1); 
notarec1=notarec1 (nota2,nota1); 
notarec2= notarec2 (nota1,nota2,notapon); 
System.out.println("a nota aritmetica é : " + nota.format(notaarit)); 
System.out.println("a nota ponderada é : " + nota.format(notapon)); 
if(notarec1<=0){ 
System.out.println("Em nota aritmetica não precisa de nota"); 
} 
else{ 
if(nota1<nota2){ 
System.out.println("a nota necessaria para passar na nota aritmetica da nota 1 :" + nota.format(notarec1)); 
}else{ 
if(nota2<nota1){ 
System.out.println("a nota necessaria para passar na nota aritmetica deve ser na nota 2 : "+nota.format(notarec1)); 
}else{ 
if(nota2==nota1) 

System.out.println("A nota necessaria para passar na nota aritmetica deve ser na nota:"+nota.format(notarec1)); 
}//aritmetica 
} 
} 
if(notarec2<=0){ 
System.out.println("Em nota ponderada não precisa de nota"); 
} 
else{ 
if(nota1<nota2){ 
System.out.println("a nota necessaria para passar na nota ponderada da nota 1 :" + nota.format(notarec2)); 
}else{ 
if(nota2<nota1){ 
System.out.println("a nota necessaria para passar na nota ponderada deve ser na nota 2 : "+nota.format(notarec2)); 
}else{ 
if(nota2==nota1) 

System.out.println("A nota necessaria para passar na nota ponderada deve ser na nota:"+nota.format(notarec2)); 
} 
} 
} 
}//1ºpublic string 
public static double notaa(String name){ //calcula a nota 1 
double contnota,nota1; 
Scanner x=new Scanner(System.in); 
do{ 
System.out.println("Escreva a 1ºnota"); 
nota1= x .nextDouble(); 
}while(nota1 < 0 || nota1 >10); 
return nota1; 
}//termina a nota1 
public static double nota2(double nota1){ //calcula a nota 2 
double contnota,nota2; 
Scanner x=new Scanner(System.in); 
do{ 
System.out.println("Escreva a 2ºnota"); 
nota2= x .nextDouble(); 
}while(nota2 < 0 || nota2 >10); 
return nota2; 
} //termina a nota 2 
public static double notaarit(double nota2 ,double nota1){ 
double notaarit1; 
notaarit1=(nota1+nota2)/2; 
return notaarit1; 
} 
public static double notapon(double nota2 ,double nota1){ 
double notapon; 
notapon=(nota1+nota2*2)/3; 
return notapon; 
} 
public static double notarec1(double nota2 ,double nota1){ 
double notarec1,menor=0,nota; 
nota = 11- (nota1+nota2); 
if(nota1<nota2){ 
menor=nota1; 
}else{if(nota2<nota1) 
{ 
menor=nota2; 
} 
} 


notarec1 = menor+nota; 
return notarec1; 
} 
public static double notarec2(double nota2 ,double nota1,double notapon){ 
double notarec2,menor = 0,nota,notaa=0; 
nota = 5.5-notapon; 
if(nota1<nota2){ 
menor=nota1; 
notaa =(nota*3)/2+menor ; 
} 
else 
{ 
if(nota2<nota1){ 
menor=nota2; 
notaa = (nota*3)+ menor; 
} 
} 
menor = 0; 
notarec2=notaa; 
return notarec2; 
} 
}

e agora qual é a duvida,pq não vi nenhuma, apenas vc mostrou o que esta querendo fazer !!! :shock:

pczardini

Bom dia.

Estava lendo seu código, revise o método “notapon”, creio eu que têm de ser dividido por 2 ao invés de 3, afinal são somente 2 notas…

Outra coisa, sendo modular, seu programa não deveria ter métodos para realizar leitura, e no main apenas chamá-los?

Quanto às notas para recuperação, não intendi direito seu código, nem a questão em si :?

[]'s

L

wellington.nogueira:
Lokit, a dúvida é se ele fez um código que funciona…

pczardini, como é nota ponderada e existem pesos, (uma das notas tem peso 2) a divisão é por 3 mesmo…

layor, vou ser sincero, não olhei teu código.
Entretanto, se ele gera os resultados adequados e a forma de adquirir os dados para gerar os resultados está de acordo com a espectativa, então está “certo”…

Se está em dúvida quanto ao funcionamento, tente passar dados inválidos (texto, números negativos, zero, e veja se o programa não gera erros).

opa…passei discretamente !! mil desculpas !!

tava vendo que se for menor que 7 ela da o resultado de qnt precisa. e mostra qual nota que vai precisar ser acrescentado o valor a ser somado.

sem ERROS (achu)

pczardini

Lendo com mais atenção, percebi o erro que cometi…

Exemplo de média aritmética ponderada:

A média aritmética ponderada desses n números é a soma dos produtos de cada um por seu peso, dividida por n, isto é:
Exemplo
Matematica - 8 Peso 2
Português - 5 Peso 4
Historia - 10 Peso 3
{ ( 8x2) + ( 5x4) + ( 10x3)} / ( 2 + 4 + 3 )
( 16 + 20 + 30) / 9
66/9 = 7, 3…( media ponderada )

Fonte:http://br.answers.yahoo.com/question/index?qid=20070722144943AABDxYs

então, acho que somente cabe separar o método de impressão e leitura fora do Main…

no mais acho que está correto! e desculpe pelo engano :roll:

layor

Vlw galera ^^
Ultimamente esse forum tem me salvado muito xD

WellingtonRamos

Lokit, a dúvida é se ele fez um código que funciona…

pczardini, como é nota ponderada e existem pesos, (uma das notas tem peso 2) a divisão é por 3 mesmo…

layor, vou ser sincero, não olhei teu código.
Entretanto, se ele gera os resultados adequados e a forma de adquirir os dados para gerar os resultados está de acordo com a espectativa, então está “certo”…

Se está em dúvida quanto ao funcionamento, tente passar dados inválidos (texto, números negativos, zero, e veja se o programa não gera erros).

EDIT: Executei teu código e identifiquei alguns erros passando valores inválidos. (alterne zero nas notas e em ambas e confirme o resultado).

Criado 10 de novembro de 2010
Ultima resposta 10 de nov. de 2010
Respostas 7
Participantes 5