Boa Noite, gostaria de pedir ajuda para passar esse código em portugol para java
varc:inteironome:vetor[1..2]decaractereh:vetor[1..2]derealp:vetor[1..2]derealmh:realmp:realaux,aux2:inteiroinicioenquanto(c<2)facac<-c+1escreva("NOME: ")leia(nome[c])escreva("PESO: ")leia(p[c])escreva("ALTURA: ")leia(h[c])limpatelaSe(h[c]>mh)entaomh<-h[c]aux<-cSe(p[c]>mp)entaomp<-p[c]aux2<-cfimsefimsefimenquantoescreval("O maior peso é de ",nome[aux2]," pesando: ",mp,"Kg")escreval("A maior altura é de ",nome[aux],"medindo: ",mh,"m")fimalgoritmo
E qual a sua dificuldade em específico? Já tentou? Se sim, mostre seu código, e onde teve dificuldade.
Só postar o que quer que seja feito dá a impressão que você quer quer a gente faça pra você, o que não é legal.
Abraço.
Nycolas_T
Você esta 100% correto desculpe por ser tão rude.
publicstaticvoidmain(String[]args){// 1 posiçãointc;String[]nome=newString[1];Double[]h=newDouble[2];Double[]p=newDouble[2];floatmh;floatmp;intaux,aux2;Scannerconsole=newScanner(System.in);c=Integer.parseInt(console.nextLine());;while(c<2){System.out.println)(c<-c+1);}System.out.print("NOME: ");nome[c]=Integer.parseInt(console.nextLine());System.out.print("PESO: ");p[c]=Double.parseDouble(console.nextLine());System.out.print("ALTURA: ");h[c]=Double.parseDouble(console.nextLine());mh=Float.parseFloat(console.nextLine());mp=Float.parseFloat(console.nextLine());aux=Integer.parseInt(console.nextLine());aux2=Integer.parseInt(console.nextLine());if(h[c]>mh){if(mh<-h[c])if(aux<-c)if(p[c]>mp){if(mp<-p[c])if(aux2<-c))}}System.out.println("O maior peso é de "+nome[aux2]+" pesando: "+mp+"Kg");System.out.println("A maior altura é de "+nome[aux]+"medindo: "+mh+"m");}}
esse e meu código (código que estou tentando fazer), bem esta dando erro em System.out.println)(c <- c + 1);também emnome[c] = Integer.parseInt(console.nextLine());é também if (aux2 <- c))
Por favor peço a ajuda de vocês desde já, muito obrigado.
I
iansantos
Se você souber, grave as informações em um arquivo (documento) ou em um banco de dados.
Em SQL vc pode usar Max (Count)
Dê uma pesquisada sobre
depois é só retornar o valor
vlew
Nycolas_T
como assim poderia me explicar melhor ? pf
TerraSkilll
Ao invés de tentar converter o código linha por linha de forma idêntica, você precisa entender a lógica do algoritmo e recriá-la em Java, fazendo adaptações.
Pelo que entendi, esse algoritmo compara o peso e altura de 2 pessoas, determinando qual pesa mais e qual é mais alta, certo?
Essa parte abaixo não está clara. O que esse código faria?
while(c<2){System.out.println)(c<-c+1);}
O java não tem um operador <-, então você precisa usar um operador equivalente ( que seria o igual = ).
Abraço.
Nycolas_T
hum… certo fiz a modificação e fico assim
publicstaticvoidmain(String[]args){// 1 posiçãointc;String[]nome=newString[1];Double[]h=newDouble[2];Double[]p=newDouble[2];doublemh;doublemp;intaux,aux2;Scannerconsole=newScanner(System.in);c=Integer.parseInt(console.nextLine());while(c<2){System.out.println(c=c+1);}System.out.print("NOME: ");nome[c]=console.nextLine();// StringSystem.out.print("PESO: ");p[c]=Double.parseDouble(console.nextLine());System.out.print("ALTURA: ");h[c]=Double.parseDouble(console.nextLine());mh=Double.parseDouble(console.nextLine());// doublemp=Double.parseDouble(console.nextLine());// doubleaux=Integer.parseInt(console.nextLine());aux2=Integer.parseInt(console.nextLine());if(h[c]>mh){if(mh=h[c])if(aux=c)if(p[c]>mp){if(mp=p[c])if(aux2=c))}}System.out.println("O maior peso é de "+nome[aux2]+" pesando: "+mp+"Kg");System.out.println("A maior altura é de "+nome[aux]+"medindo: "+mh+"m");}}
mais agora as unicas linhas que estão dando erro são
if(mh=h[c])if(aux=c)
E
if(mp=p[c])if(aux2=c))
fala que eu estou tentando converter double cannot be converted to boolean e int cannot be converted to boolean o que devo fzer por quer já troquei varias vezes e ainda nada ??
TerraSkilll
Comparações em Java são feitas com ==, não com =, que é atribuição. Troque
if(mh=h[c])
por
if(mh==h[c])
E assim por diante, em toda as comparações.
Abraço.
Nycolas_T
certo, muito obrigado por essa ajuda com o “==”
publicstaticvoidmain(String[]args){// 1 posiçãointc;String[]nome=newString[1];Double[]h=newDouble[2];Double[]p=newDouble[2];doublemh;doublemp;intaux,aux2;Scannerconsole=newScanner(System.in);c=Integer.parseInt(console.nextLine());while(c<2){System.out.println(c=c+1);}System.out.print("NOME: ");nome[c]=console.nextLine();// StringSystem.out.print("PESO: ");p[c]=Double.parseDouble(console.nextLine());System.out.print("ALTURA: ");h[c]=Double.parseDouble(console.nextLine());mh=Double.parseDouble(console.nextLine());// doublemp=Double.parseDouble(console.nextLine());// doubleaux=Integer.parseInt(console.nextLine());aux2=Integer.parseInt(console.nextLine());if(h[c]>mh){if(mh==h[c])if(aux==c)if(p[c]>mp){if(mp==p[c])if(aux2==c))}}System.out.println("O maior peso é de "+nome[aux2]+" pesando: "+mp+"Kg");System.out.println("A maior altura é de "+nome[aux]+"medindo: "+mh+"m");}}
ele fico assim agora o unico erro que tem agora e “}” , que e
if(aux2==c))}_---------ESSAS2BARRAS}
agora só isso da erro e eu ja tirei coloquei mais continua com erro poderia me ajudar
?
Nycolas_T1 like
alguém poderia me ajudar, ainda não consegui resolver isso, por favor me ajudem.
vou ficar muito grato mesmo, já sou grato pela ajuda de antes, mas sou iniciante e não tenho professor para me ajudar, estou tentando aprender, mas ainda acho muito difícil, sei que pra vocês deve ser um erro besta mas, por favor me ajuda
TerraSkilll
Você está fechando blocos com }, mas aparentemente não os abriu anteriormente. E não tem nenhum comando antes desses } Para que esses ifs encadeados que não fazem nada?
Você está tentando programar por tentativa e erro, quando deveria entender o que o código faz e adaptá-lo para Java, não simplesmente traduzir linha por linha. Foi isso que te disse anteriormente.
Abraço.
staroski
Primeiro vamos indentar o algoritmo em portugol pra ficar mais claro de entender o que ele faz:
varc:inteironome:vetor[1..2]decaractereh:vetor[1..2]derealp:vetor[1..2]derealmh:realmp:realaux,aux2:inteiroinicioenquanto(c<2)facac<-c+1escreva("NOME: ")leia(nome[c])escreva("PESO: ")leia(p[c])escreva("ALTURA: ")leia(h[c])limpatelaSe(h[c]>mh)entaomh<-h[c]aux<-cSe(p[c]>mp)entaomp<-p[c]aux2<-cfimsefimsefimenquantoescreval("O maior peso é de ",nome[aux2]," pesando: ",mp,"Kg")escreval("A maior altura é de ",nome[aux],"medindo: ",mh,"m")fimalgoritmo
Agora fica bem mais fácil de entender e reescrever um código em outra linguagem.
Abaixo um exemplo em Java:
importjava.io.PrintStream;importjava.util.Scanner;publicclassPrograma{/** * Ponto de entrada do programa */publicstaticvoidmain(String[]args){try{Programaalgoritmo=newPrograma();algoritmo.inicio();}catch(Throwablet){t.printStackTrace();}}/** * Aqui é o início da execução do algoritmo */publicvoidinicio(){intc=-1;String[]nome=newString[2];double[]h=newdouble[2];double[]p=newdouble[2];doublemh=0;doublemp=0;intaux=0;intaux2=0;// c é usado pra acessar as posições dos vetores// em Java a primeira posição do vetor é 0, a segunda é 1 e assim por diantewhile(c<1){c=c+1;escreva("NOME: ");nome[c]=leiaString();escreva("PESO: ");p[c]=leiaDouble();escreva("ALTURA: ");h[c]=leiaDouble();limpatela();if(h[c]>mh){mh=h[c];aux=c;if(p[c]>mp){mp=p[c];aux2=c;}}}escreval("O maior peso é de "+nome[aux2]+" pesando: "+mp+" Kg");escreval("A maior altura é de "+nome[aux]+" medindo: "+mh+" m");}/* * Abaixo estão alguns métodos para deixar o código mais legível */privatefinalScannerentrada=newScanner(System.in);privatefinalPrintStreamsaida=System.out;privatevoidescreva(Stringmensagem){saida.print(mensagem);}privatevoidescreval(Stringmensagem){saida.println(mensagem);}privatedoubleleiaDouble(){returnDouble.parseDouble(entrada.nextLine());}privateStringleiaString(){returnentrada.nextLine();}privatevoidlimpatela(){// Java não possui uma forma nativa de limpar a tela// no Windows dá pra fazer a gambiarra abaixo// isso não funciona dentro de IDEs, só rodando no prompt de comandoStringnomeSistema=System.getProperty("os.name").toLowerCase();if(nomeSistema.contains("windows")){try{ProcessBuilderprocessBuilder=newProcessBuilder("cmd","/c","cls");processBuilder.inheritIO();Processprocess=processBuilder.start();process.waitFor();}catch(Exceptione){e.printStackTrace();}}}}