Ir ao conteúdo
  • Cadastre-se

Gabriel de A.Campos

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

4
  1. @João Paulo Duarte cara.... totalmente sem palavras. Você simplesmente me explicou absolutamente TUDO que eu estava em dúvida, de maneira fantástica. Muito, muito obrigado mesmo, de verdade.
  2. @Alex Temnyk Fala irmão, beleza. Ele foi fornecido, é um exercício. A dúvida é sobre os métodos empregados. OBS: Eu não tenho o algoritmo em portugol no pc, mas se você(s) acharem melhor, posso tirar uma foto e anexar.
  3. Bom dia! Gostaria de ajuda para entender a logica desse programa, e entender também a função da variável '' j ''. Eu não entendi como o programa verifica se o numero digitado pelo usuário é repetido ou não, e como ele faz o controle disso com o '' while '', incrementando o '' j '' caso a condição seja verdadeira, e também com a condição " if (j >= cont_u) ". Basicamente, eu estou perdido com a lógica aplicada no programa e gostaria de uma explicação detalhada, já que não encontrei nenhum conteúdo que me ajudasse. Estarei anexando algumas imagens para ajudar vocês a entender do que se trata o código. Desde já, agradeço muito. Obrigado! import java.util.Scanner; public class Ex5 { public static void main(String args[]) { Scanner entrada = new Scanner(System.in); int X[] = new int[10]; int Y[] = new int[10]; int U[] = new int[20]; int D[] = new int[10]; int S[] = new int[10]; int P[] = new int[10]; int IT[] = new int[10]; int i, j, k, cont_u, cont_d, cont_i; for (i=0;i<10;i++) { System.out.print("Digite o " + (i+1) + "o elemento do vetor X: "); X[i] = entrada.nextInt(); System.out.print("Digite o " + (i+1) + "o elemento do vetor Y: "); Y[i] = entrada.nextInt(); } cont_u = 0; cont_d = 0; cont_i = 0; for (i=0;i<10;i++) { j = 0; while (j < cont_u && X[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = X[i]; cont_u++; } } for (i=0;i<10;i++) { j = 0; while (j < cont_u && Y[i] != U[j]) { j++; } if (j >= cont_u) { U[cont_u] = Y[i]; cont_u++; } } System.out.println("Vetor Uniao "); for (i=0;i<cont_u;i++) { System.out.println(U[i]); } for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j >= 10) { k = 0; while (k <= cont_d && X[i] != D[k]) { k++; } if (k >= cont_d) { D[cont_d] = X[i]; cont_d++; } } } System.out.println("Vetor Diferença "); for (i=0;i<cont_d;i++) { System.out.println(D[i]); } for (i=0;i<10;i++) { S[i] = X[i] + Y[i]; P[i] = X[i] * Y[i]; } System.out.println("Vetor Soma "); for (i=0;i<10;i++) { System.out.println(S[i]); } System.out.println("Vetor Produto "); for (i=0;i<10;i++) { System.out.println(P[i]); } for (i=0;i<10;i++) { j = 0; while (j < 10 && X[i] != Y[j]) { j++; } if (j < 10) { k = 0; while (k < cont_i && IT[k] != X[i]) { k++; } if (k >= cont_i) { IT[cont_i] = X[i]; cont_i++; } } } System.out.println("Vetor Interseção "); for (i=0;i<cont_i;i++) { System.out.println(IT[i]); } } }
  4. Cara, você tirou simplesmente TODAS as minhas dúvidas, consegui entender a estrutura e o código totalmente. MUITO obrigado mesmo! Sim, entendi perfeitamente. É muito bom saber que tem um lugar no qual eu possa realmente tirar minhas dúvidas sobre esse assunto. Novamente, obrigado!
  5. Cara, primeiramente eu queria agradecer, você me ajudou muito, tirou praticamente todas minhas dúvidas. Mas agoras surgiram novas, que não consegui entender muito bem ainda: Por que aqui eu não posso colocar o '' j '' indo até '' n '' ? seria por que o '' n '' já está sendo usado anteriormente? Agora, na estrutura REPITA Esse '' UNTIL j > i '' logo na primeira vez ira dar um valor verdadeiro ( 2 > 1) , já que o '' i '' foi declarado = 1 anteriormente, isso é feito para que ele não se repita novamente e acabe ocasionando em um resultado incorreto, não é? Agora, na estrutura toda: Por exemplo, quando a estrutura terminar a primeira repetição irá dar '' UNTIL 2 > 5'' , e com isso irá ser feito novamente. Nessa segunda vez o laço não voltaria até a parte: E com isso redefinindo os valores dessas variáveis? Coloquei '' j:=1 e fat:= 1'' fora do laço e o resultado continuou correto, porém quando eu coloco 1 dentro do laço e outro fora, o resultado fica incorreto. Gostaria também de saber o por que disso. Muito obrigado, e desculpa por tantas perguntas. Estou tendo dificuldado sobre Estrutura de repetição, e como estou estudando sozinho, não tem outra maneira de eu tirar minha dúvidas. OBS: Sobre o outro programa, usa fatorial sim, eu falei besteira Obrigado
  6. Bom dia! Esse é meu primeiro post aqui, por que tentei de todas as maneiras entender como um programa foi pensando e não consegui. Então pensei em vir até aqui para tirar essa dúvida de uma vez por todas. Vou mostrar pra vocês o algoritmo do programa que eu tenho que fazer, ele feito na estrutura de repetição PARA e na REPEAT Minhas dúvidas são: Nesse programa, qual é a função da variável '' j '' e da variável '' fat '' ? Achei que '' fat '' era fatorial, mas logo depois tem um programa que não pede nada de fatorial e ela é utilizada de novo. E eu não entendi como o programa foi feito com REPEAT , por alguns motivos: A váriavel '' j '' e '' fat '' , novamente. e por que há a repetição do termo REPEAT e UNTIL, seria como um begin e end? Muito obrigado, rapaziada ! Programa na Estrutura PARA (Pascal) : PROGRAM EX2; USES CRT; VAR n, i, j: INTEGER; e, fat: real; BEGIN CLRSCR; WRITELN('Digite o valor de N'); READLN(n); e := 1; FOR i := 1 TO n DO BEGIN fat := 1; FOR j := 1 TO i DO BEGIN fat := fat * j; END; e := e + 1/fat; END; WRITELN('Valor de E = ',e:5:2); READLN; END. Programa na Estrutura REPITA: PROGRAM EX2; USES CRT; VAR n, i, j: INTEGER; e, fat:REAL; BEGIN CLRSCR; WRITELN('Digite o valor de N'); READLN(n); e := 1; i := 1; REPEAT j := 1; fat := 1; REPEAT fat := fat * j; j := j + 1; UNTIL j > i; i := i + 1; e := e + 1/fat; UNTIL i > n; WRITELN('Valor de E = ',e:5:2); READLN; END.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...