Ir ao conteúdo
  • Cadastre-se

dereguejhoson

Membro Pleno
  • Posts

    20
  • Cadastrado em

  • Última visita

posts postados por dereguejhoson

  1. Eu estou tentando desenvolver um cronometro , mas não consigo programar o botão de parar, alguém me ajude ? 

     

    image.png.5b24182c7d3b51cb69218ab72f4fbf0a.png

     

    package teste;
    
    import java.awt.*;
    import java.awt.event.*;
    
    public class Cronometro extends WindowAdapter implements ActionListener{
          public Frame janela;
          public Panel painelBotoes;
          public TextField t_horas,t_minutos,t_segundos;
          public Button b_iniciar,b_parar;
          
          public Cronometro(){
              janela = new Frame();
              janela.setTitle("Cronometro");
              janela.setSize(350,500);
              janela.setBackground(new Color(160,160,160));
              janela.setLayout(null);
              janela.addWindowListener(this);
              
              painelBotoes = new Panel();
              painelBotoes.setBackground(new Color(64,128,128));
              painelBotoes.setSize(350,34);
              painelBotoes.setLocation(10,244);
              painelBotoes.setLayout(new FlowLayout(1));
              
              t_minutos = new TextField("00");
              t_minutos.setBounds(160,100,50,19);
              
              t_segundos = new TextField("00");
              t_segundos.setBounds(230,100,50,19);
              
              b_iniciar = new Button("Iniciar");
              b_iniciar.addActionListener(this);
              
              b_parar = new Button("Parar");
              b_parar.addActionListener(this);
                    
              painelBotoes.add(b_iniciar);
              painelBotoes.add(b_parar);
              
              janela.add(t_minutos);
              janela.add(t_segundos);
      
              janela.add(painelBotoes);
          }
          public void contarMinutos_Segundos(){
              int minutos = Integer.parseInt(t_minutos.getText());
              int segundos = Integer.parseInt(t_segundos.getText());
              boolean parar = false;
              while(true){
                if(segundos == 60){
                    segundos = 00;
                    if(minutos < 10){
                        minutos++;
                        t_minutos.setText("0"+minutos);
                    }else{
                        minutos++;
                        t_minutos.setText(minutos+"");
                    }
                }
                if(segundos < 10){
                    t_segundos.setText("0"+segundos);
                    segundos++;   
                }else{
                    t_segundos.setText(segundos+"");
                    segundos++; 
                }
                try{
                    Thread.sleep(1000);  // vai parar a cada 1000 milessegundo - [1 segundo == 1000 milessegundos] 
                }catch(Exception e){
                    System.out.println("Erro no Cronometro");
                }
                
              }
          }
          
           public void actionPerformed(ActionEvent e){
            if(e.getSource().equals(b_iniciar)){
                this.contarMinutos_Segundos();
            if(e.getSource().equals(b_parar)){
                 // botão parar 
            }
            }
           }
            public void windowClosing(WindowEvent e){
                System.exit(0); // Sai do sistema
            }
          public void mostrarPainel(){
             janela.setVisible(true);
             janela.show();
            }
          public static void main(String[] args) {
              Cronometro cronometro = new Cronometro();
              cronometro.mostrarPainel();
        }
    }

     

     

  2. @Simon Viegas Quando eu digitar 2 numeros par ele vai somar , e quando eu digitar 2 numeros impares ele vai multiplicar , e quando ele aparecer um numero par e um numero impar , ele só deveria aparecer a mensagem : esse é um número par e um numero par, e o loop vai continuar até eu digitar 0.

     

    Agora mostra o erro que não acha o "FIMSE".

     

    algoritmo "semnome"
    var
        numero,numero2:inteiro
        somaPar,armazenaPar:inteiro
        produtoImpar:inteiro
    inicio
            enquanto verdadeiro faca
                 escreva("Digite um número:")
                 leia(numero)
    
                 SE numero = 0 ENTAO
                    escreva("Até a próxima!!")
                    interrompa
                 FIMSE
    
                 escreva("Digite outro número:")
                 leia(numero2)
                 SE (numero mod 2 = 0) e (numero2 mod 2 <> 0) ENTAO
                       escreval("Você digitou um número par e um número ímpar")
                 SENAO (numero mod 2 <> 0) e (numero2 mod 2 = 0) ENTAO
                       escreval("Você digitou um número ímpar um número par")
                 FIMSE
                 SE (numero mod 2 = 0) e (numero2 mod 2 = 0) ENTAO
                      escreval("Soma de Pares:")
                      somaPar <- numero + numero2
                      escreval(numero,"+",numero2,"=",somaPar)
                 SE (numero mod 2 <> 0) e (numero2 mod 2 <> 0) ENTAO
                      escreval("Multiplicação de números ímpares")
                      produtoImpar <- numero * numero2
                      escreval(numero,"X",numero2," =",produtoImpar)
                 FIMSE
            fimenquanto
    fimalgoritmo

     

  3. 1 - Faça um algoritmo que o usuário entre com vários números inteiros e positivos e imprima o produto dos números ímpares e a soma dos números pares.

     

    o primeiro SE e o SENAO  estão dando errado.!!

    algoritmo "semnome"
    
    var
        numero,numero2:inteiro
        somaPar,armazenaPar:inteiro
        produtoImpar:inteiro
    inicio
            enquanto verdadeiro faca
                 escreva("Digite um número:")
                 leia(numero)
                 
                 SE numero = 0 ENTAO
                    escreva("Até a próxima!!")
                    interrompa
                 FIMSE
                 
                 escreva("Digite outro número:")
                 leia(numero2)
                 SE (numero mod 2 = 0) e (numero2 mod 2 != 0) ENTAO
                       escreval("Você digitou um número par e um número ímpar")
                 SENAO (numero mod 2 != 0) e (numero2 mod 2 = 0) ENTAO
                       escreval("Você digitou um número ímpar um número par")
                 fimse
                 SE (numero mod 2 = 0) e (numero2 mod 2 = 0) ENTAO
                      escreval("Soma de Pares:")
                      somaPar <- numero + numero2
                      escreval(numero,"+",numero2,"=",somaPar)
                 SENAO
                      escreval("Multiplicação de números ímpares")
                      produtoImpar <- numero * numero2
                      escreval(numero,"X",numero2," =",produtoImpar)
                 FIMSE
            fimenquanto
    fimalgoritmo

     

  4.  

    Por enquanto está assim:

     

    estou tentando fazer aparecer o maior valor de venda com o nome e do lado com o valor , mas tá dando uns bug no nome.

    algoritmo "semnome"
    
    var
         nomeProduto:vetor[1..3] de caracter
         valorCompra:vetor[1..3] de real
         valorVenda:vetor[1..3] de real
         qtdDeEstoque:vetor[1..3] de inteiro
         indice,indice2:inteiro
         trocaNumero:real
         trocaNome:vetor[1..3] de caracter
    inicio
           para indice de 1 ate 3 faca
                  escreva("Digite um nome:")
                  leia(nomeProduto[indice])
                  escreva("Digite o valor de compra:")
                  leia(valorCompra[indice])
                  escreva("Digite o valor de venda:")
                  leia(valorVenda[indice])
                  escreva("Digite a quantidade de estoque:")
                  leia(qtdDeEstoque[indice])
           fimpara
           //Maior valor de venda
           para indice de 1 ate 3 faca
                para indice2 de indice+1 ate 3 faca
                  se valorVenda[indice] <  valorVenda[indice2] entao
                         trocaNome[indice] <-  nomeProduto[indice]
                         trocaNumero <- valorVenda[indice]
                         valorVenda[indice] <- valorVenda[indice2]
                         trocaNome[indice2] <- nomeProduto[indice2]
    
                         valorVenda[indice2] <- trocaNumero
                  fimse
                fimpara
           fimpara
           para indice de 1 ate 3 faca
                  escreval(trocaNome[indice]," - R$",valorVenda[indice])
           fimpara
    fimalgoritmo

     

    • Curtir 1
  5. 1)   Guarde o nome, valor de compra, valor de venda e quantidade no estoque de 14 produtos. Informe a tela os 5 produtos que tem os maiores valores de venda; Informe os 3 produtos que possuem os menores valores de compra; informe também quais produtos estão com menos de 4 unidades no estoque.

  6. Faça um algoritmo que leia dois números inteiros e mostre o resultado da diferença do maior valor pelo menor. Exemplo: se eu entrar com 3 e depois 9 , o resultado será 9-3= 6; se eu entrar com 9 e depois 3, o resultado também será 9-3 = 6

     

    Obs: Se tiver uma forma mais simples de resolver esse exercício , pode mandar ae 

     

    Código com erro no "senão" 

    algoritmo "semnome"
    
    var
        numero:vetor[1..2] de inteiro
        indice,subtrair:inteiro
    inicio
            para indice de 1 ate 2 faca
                escreva("Digite um número:")
                leia(numero[indice])
            fimpara
            indice <- 1
            subtrair <- numero[2] - numero[1]
            se numero[indice] < numero[indice+1] entao
                 escreva(numero[2]," -",numero[1]," = ",subtrair)
            senao
                 escreva(numero[1]," -",numero[2]," = "subtrair)
    
            fimse
    
    fimalgoritmo
    • Obrigado 1
  7. Consegui trocando as variáveis para Real , mas para que trocar para Real ? Já que meu resultado vai ser um número inteiro.

     

    Código funcionando :

    algoritmo "Hipotenusa"
    
    var
         catetoB:inteiro
         catetoC:inteiro
         hipotenusa:real
    inicio
           funcao calculaHipotenusa(catetoB,catetoC:real):real
                  var hipotenusa:real
                  inicio
                  hipotenusa <- (catetoB^2) + (catetoC^2)
                  retorne hipotenusa
           fimfuncao
          escreval("Informe o valor do cateto B:")
          leia(catetoB)
          escreval("Informe o valor do cateto C:")
          leia(catetoC)
    
          hipotenusa <- calculaHipotenusa(catetoB,catetoC)
          escreva("Hipotenusa:",hipotenusa)
    
    fimalgoritmo

     

     

  8. image.png.8126ae1d3fb7566dc370d8fd06ee32d7.png

     

     

    O Código :

     

    algoritmo "Hipotenusa"
    
    var
         catetoB:inteiro
         catetoC:inteiro
         hipotenusa:inteiro
    inicio
           funcao calculaHipotenusa(catetoB,catetoC:inteiro):inteiro
                  var hipotenusa:inteiro
                  inicio
                  hipotenusa <- catetoB^2 + catetoC^2
                  retorne hipotenusa
           fimfuncao
          escreval("Informe o valor do cateto B:")
          leia(catetoB)
          escreval("Informe o valor do cateto C:")
          leia(catetoC)
    
          hipotenusa <- calculaHipotenusa(catetoB,catetoC)
          escreva("Hipotenusa:",hipotenusa)
          
    fimalgoritmo

     

     

  9. @Alice Braga Muito Obrigado Alice , eu mudei seu código e agora faz a Ordem Crescente e a Decrescente:

     

    var
       numero:vetor[1..8] de inteiro
       ordemDecrescente:vetor[1..8] de inteiro
       indice,indice2,temp:inteiro
    inicio
        //colocando os numeros nos vetores
       // colocando os numeros no vetor
       para indice de 1 ate 8 faca
          escreva("Digite um numero para a posicao", indice, ":")
          leia(numero[indice])
       fimpara
    
       //organizando em ordem crescente
       para indice de 1 ate 8-1 faca
          para indice2 de indice+1 ate 8 faca
             se numero[indice] > numero[indice2] entao
                temp<- numero[indice]
                numero[indice]<- numero[indice2]
                numero[indice2]<- temp
             fimse
          fimpara
       fimpara
    
       //organizando em ordem decresecente
       para indice2 de 8 ate 1-8 faca
          para indice de indice2-1 ate 8 faca
             se numero[indice] < numero[indice2] entao
                temp<- numero[indice]
                numero[indice]<- numero[indice2]
                numero[indice2]<- temp
             fimse
          fimpara
       fimpara
    
    
       escreval("=====ORDEM CRESCENTE=======")
       para indice de 1 ate 8 faca
          escreval(numero[indice])
          ordemDecrescente[indice] <- numero[indice]
       fimpara
       escreval("-----Ordem Decrescente------")
           para indice de 8 ate 1 passo -1 faca
                  escreval(ordemDecrescente[indice])
           fimpara
    
    fimalgoritmo

     

    • Curtir 1
    • Obrigado 1
  10. 1)   Guarde os seguintes valores em um vetor, na ordem em que estão: 5, 4, 7, 3, 2, 6, 1, 8. Ordene crescente e decrescente estes valores.(USANDO VETORES)

     

    Código por enquanto ta assim :

    algoritmo "Ordem Crescente e Decrescente"
           numero:vetor[1..8] de inteiro
           indice:inteiro
    var
           para indice de 1 ate 8 faca
                  escreva("Digite um número:")
                  leia(numero[indice])
           fimpara
    
    fimalgoritmo

     

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!