Você está na página 1de 4

Programação Orientada a Objetos para Jogos Digitais

Nome: Gustavo Gonçalves Scavazza

RA 1680962013016

Objetivo:

Exercitar e fixar os conceitos das estruturas de repetição / laços abordados na documentação da Aula 4.

Código (Parte1):
import java.util.Scanner;

public class atividade4 {

// Uso do Laço while com critério de parada na entrada = 0

static Scanner entradaUsuario = new Scanner(System.in);


static double ContaPos, ContaNeg, SomaVal, ContaVal, InpValor;
static String strValor, strErrm;

public static void main(String[] args) {


SomaVal=0.0;
ContaVal=0.0;
ContaPos=0.0;
ContaNeg=0.0;

boolean LoopCheck = true;

System.out.println( "*Calcula Somatória, Qtd Vl Positivos, " +


"Qtd Vl Negativos, Média e Qtd de números informados*" );

while (LoopCheck == true) {


System.out.println( "\n*Informe um valor (zero finaliza):" );
strValor = entradaUsuario.next();
try {
InpValor = Double.parseDouble(strValor);
} catch (NumberFormatException e) {
strErrm = "Valor Inválido. Fim parte 1.";
LoopCheck = false;
}
if (InpValor != 0) {
ContaVal++;
SomaVal = calcSoma(SomaVal,InpValor);
ContaPos = calcPos(ContaPos,InpValor);
ContaNeg = calcNeg(ContaNeg,InpValor);
} else {
strErrm = "Fim parte 1.";
LoopCheck = false;
}
}
if (ContaVal > 0) {
System.out.println( "Total de Números Informados: " +
String.format("%.0f", ContaVal) );
System.out.println( "Qtd. Números Positivos: " +
String.format("%.0f", ContaPos) );
System.out.println( "Qtd. Números Negativos: " +
String.format("%.0f", ContaNeg) );
System.out.println( "Somatória: " + SomaVal );
System.out.println( "Média: " + String.valueOf(SomaVal/ContaVal) );
}
System.out.println( "\n\n*" + strErrm +"*" );
}

public static double calcSoma (double Soma, double Valor) {


return(Soma + Valor);
}

public static double calcPos (double ContaPos, double Valor) {


if (Valor > 0) {
ContaPos++;
}
return(ContaPos);
}

public static double calcNeg (double ContaNeg, double Valor) {


if (Valor < 0) {
ContaNeg++;
}
return(ContaNeg);
}
}

Código (Parte2):
import java.util.Scanner;

public class atividade4b {

// Uso do Laço while com critério de parada para 10 elementos


// Se o valor informado for inválido, o program encerra sem efetuar os cálculos

static Scanner entradaUsuario = new Scanner(System.in);


static double MinVal, MaxVal, SomaVal, ContaVal, InpValor;
static String strValor, strErrm;

public static void main( String[] args) {


MinVal=0.0;
MaxVal=0.0;
SomaVal=0.0;

int i;

System.out.println( "*Calcula Somatória, Maior Valor, Menor Valor, " +


"Média e Qtd de números informados*" );
for (i = 1; i <= 10; i++) {
System.out.println( "\n*Informe o " + i + "o. valor:" );
strValor = entradaUsuario.next();
try {
InpValor = Double.parseDouble(strValor);
} catch (NumberFormatException e) {
strErrm = "Valor Inválido!";
break;
}
if(i==1) {
MinVal = InpValor;
MaxVal = InpValor;
}
ContaVal++;
SomaVal = calcSoma(SomaVal,InpValor);
MinVal = calcMin(MinVal,InpValor);
MaxVal = calcMax(MaxVal,InpValor);
}
if (ContaVal == (i-1)) {
System.out.println( "Total de Números Informados: " +
String.format("%.0f", ContaVal) );
System.out.println( "Maior Valor Informado: " +
String.format("%.0f", MaxVal) );
System.out.println( "Menor Valor Informado: " +
String.format("%.0f", MinVal) );
System.out.println( "Somatória: " + String.valueOf( SomaVal) );
System.out.println( "Média: " + String.valueOf(SomaVal/ContaVal) );
} else {
System.out.println( "\n\n*" + strErrm +"*" );
}
}

public static double calcSoma (double Soma, double Valor) {


return(Soma + Valor);
}

public static double calcMin (double Minimo, double Valor) {


if (Valor < Minimo) {
Minimo = Valor;
}
return(Minimo);
}

public static double calcMax (double Maximo, double Valor) {


if (Valor > Maximo) {
Maximo = Valor;
}
return(Maximo);
}

Conclusão:

Ainda que haja semelhança entre as propostas dos exercícios já que ambos tratam do uso dos laços de repetição,
foi possível verificar qual a opção de objeto de controle seria a mais indicada a cada exercício e para tanto, foi
necessário percorrer e entender as alternativas existentes e apresentadas na documentação.
Evidência (Parte 1):
*Calcula Somatória, Qtd Vl Positivos, Qtd Vl Negativos, Média e Qtd de números informados*

*Informe um valor (zero finaliza):


23
*Informe um valor (zero finaliza):
14
*Informe um valor (zero finaliza):
-5
*Informe um valor (zero finaliza):
-12
*Informe um valor (zero finaliza):
77
*Informe um valor (zero finaliza):
0
Total de Números Informados: 5
Qtd. Números Positivos: 3
Qtd. Números Negativos: 2
Somatória: 97.0
Média: 19.4

*Fim parte 1.*

Evidência (Parte 2):


*Calcula Somatória, Maior Valor, Menor Valor, Média e Qtd de números informados*

*Informe o 1 valor:
2
*Informe o 2 valor:
5
*Informe o 3 valor:
7
*Informe o 4 valor:
9
*Informe o 5 valor:
13
Total de Números Informados: 5
Maior Valor Informado: 13
Menor Valor Informado: 2
Somatória: 36.0
Média: 7.2

Obs: Com 5 elementos

Você também pode gostar