Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercício Resolvido de Java - Usando o laço do...while para pedir ao usuário para informar números inteiros e calcular a quantidade de números positivos, negativos, a soma e a média

Quantidade de visualizações: 9709 vezes
Pergunta/Tarefa:

Escreva um programa Java que usa o laço do...while para ler números inteiros até que o valor lido seja igual a 0. Em seguida mostre a quantidade de valores positivos e negativos, a soma dos valores e a média aritmética (sem incluir o valor 0 na contagem e no cálculo da média). A média deverá ser exibida como um valor de ponto flutuante.

Sua saída deverá ser parecida com a mostrada abaixo:

Informe um número inteiro (0 para sair): 5
Informe um número inteiro (0 para sair): -4
Informe um número inteiro (0 para sair): 3
Informe um número inteiro (0 para sair): 8
Informe um número inteiro (0 para sair): -2
Informe um número inteiro (0 para sair): 0
Quantidade de números positivos: 3
Quantidade de números negativos: 2
A soma dos números lidos é: 10
A média aritmética é: 2.0
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package exercicios;

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // declaração das variáveis
    int numero, quantLidos = 0, soma = 0;
    int quantPositivos = 0, quantNegativos = 0;
      
    // laço do...while que repetirá até que o usuário informe o valor 0
    do {
      // lê o primeiro ou próximo número
      System.out.print("Informe um número inteiro (0 para sair): ");
      numero = Integer.parseInt(entrada.nextLine());

      if(numero > 0){ // o número é positivo?
        quantPositivos++;
      }
      else if(numero < 0){ // o número é negativo?
        quantNegativos++;
      }

      // soma este número à soma já existente
      soma += numero;
      // aumenta a contagem dos números lidos
      if(numero != 0){ // não incluir o 0 para sair do programa na contagem
        quantLidos++;
      }
    }
    while(numero != 0); // condição de parada do laço

    if(quantLidos == 0){
      System.out.println("Você não informou nenhum número.");
    }
    else{
      System.out.println("Quantidade de números positivos: " + quantPositivos);
      System.out.println("Quantidade de números negativos: " + quantNegativos);
      System.out.println("A soma dos números lidos é: " + soma);
      System.out.println("A média aritmética é: " + ((soma * 1.0) / quantLidos));
      
      // note a multiplicação de soma por 1.0 para gerar um valor de ponto flutuante
      // antes da divisão
    }    
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Como testar se um número é positivo ou negativo em Java

Quantidade de visualizações: 13470 vezes
Pergunta/Tarefa:

Escreva um programa Java que pede para o usuário informar um número inteiro. Em seguida seu código deverá informar se o número informado é positivo, negativo ou neutro. O zero não é um número positivo nem negativo, já que não é maior nem menor que si mesmo. Por essa razão dizemos que ele é um número neutro.

Sua saída deve ser parecida com:

Informe um número inteiro: 3
O número 3 é positivo.
Informe um número inteiro: -5
O número -5 é negativo.
Informe um número inteiro: 0
O número 0 é neutro.
Resposta/Solução:

Veja a solução comentada deste exercício usando a linguagem Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o número
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o número é positivo?
    if(numero > 0){
      System.out.println("O número " + numero + " é positivo.");
    }
    // o número é negativo?
    else if(numero < 0){
      System.out.println("O número " + numero + " é negativo.");
    }
    else{ // o número é neutro
      System.out.println("O número " + numero + " é neutro.");
    }
  }
}



Java ::: Dicas & Truques ::: Internacionalização e Localização (Internationalization, i18n, Localization, l10n)

Como usar os construtores da classe Locale em seus programas Java

Quantidade de visualizações: 9752 vezes
A classe Locale, na versão 1.6 do Java, apresenta 3 construtores. Aprender a usá-los corretamente trará muito mais flexibilidade aos seus códigos.

Veja o primeiro construtor:

Locale(String language)


Este construtor requer como argumento um código de língua válido, ou seja, um dos códigos de duas letras minúsculas definidos pelo ISO-639. Assim, "pt" é para o português, "en" para o inglês, e assim por diante. Veja:

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // criamos um locale para o Brasil
    Locale localeBR = new Locale("pt");
    
    // vamos obter a data e hora atual
    Calendar agora = Calendar.getInstance();

    // vamos formatar de acordo com o formato de
    // data longa no português brasileiro
    DateFormat df = DateFormat.getDateInstance(
      DateFormat.FULL, localeBR);

    // vamos exibir o resultado
    System.out.println(df.format(agora.getTime())); 
  } 
}

Veja o segundo construtor:

Locale(String language, String country)


Este construtor requer a língua (language) e o país (country). O argumento country deve ser um código de país válido, ou seja, um dos códigos de duas letras maiúsculas definidos pelo ISO-3166. Assim, "BR" é para o Brasil, "PT" para Portugal, "US" para United States, e assim por diante. Este construtor que aceita o código da língua e o código do país é o mais frequentemente usado, uma vez que Brasil e Portugal possuem o mesmo código de língua, mas códigos de paises diferentes. Além disso, há países cujas regiões falam línguas diferentes, por exemplo, o Canadá. Veja um exemplo:

import java.util.*;
import java.text.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // criamos um locale para o Brasil
    Locale localeBR = new Locale("pt", "BR");
    
    // vamos obter a data e hora atual
    Calendar agora = Calendar.getInstance();

    // vamos formatar de acordo com o formato de
    // data longa no português brasileiro
    DateFormat df = DateFormat.getDateInstance(
      DateFormat.FULL, localeBR);

    // vamos exibir o resultado
    System.out.println(df.format(agora.getTime())); 
  } 
}

Vejamos agora o terceiro construtor:

Locale(String language, String country, String variant)


Este construtor requer a língua, o país e a variante de localização. O argumento variante é um código específico relacionado ao fornecedor do sistema ou browser. Por exemplo: WIN para Windows, MAC para Macintosh, etc. Este último construtor não é usado comumente, razão pela qual o exemplo de seu uso fica pendente até a próxima revisão desta dica.


JavaScript ::: Dicas & Truques ::: Cookies

Como verificar se cookies estão habilitados no navegador do usuário usando JavaScript

Quantidade de visualizações: 158 vezes
Em algumas situações nós gostaríamos de checar se os cookies estão habilitados no browser do usuário antes de gravarmos alguma informação. Nesta dica eu mostro como isso pode ser feito.

Note que tudo que precisamos fazer é criar um cookie temporário e tentar acessá-lo em seguida. Veja o código completo para o exemplo (incluindo a página HTML):

<!doctype html>
<html>
<head>
 <title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um cookie temporário
  var cookieTemp = (new Date()).getTime() + '';
   
  // colocamos o cookie como parte do documento
  document.cookie = "cookieTemp=" + cookieTemp + "; path=/";
   
  // o cookie existe?
  if (document.cookie.indexOf(cookieTemp, 0) < 0){
    window.alert("Os cookies não estão habilitados no seu navegador");  
  }
  else{
    window.alert("Os cookies estão habilitados no seu navegador");
  } 
</script>

</body>
</html>

Ao executar este código teremos o seguinte resultado:

Os cookies estão habilitados no seu navegador.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de Java - Um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida

Quantidade de visualizações: 860 vezes
Pergunta/Tarefa:

Escreva um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida o método deverá dividir o resultado, ou seja, o produto, por 2, e, finalmente, retornar o resto de uma divisão inteira desse resultado pelo número 7.

Sua saída deverá ser parecida com:

Informe o primeiro valor inteiro: 18
Informe o segundo valor inteiro: 19
O resultado é: 3
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    // vamos usar a classe Scanner para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar dois números inteiros
    System.out.print("Informe o primeiro valor inteiro: ");
    int a = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo valor inteiro: ");
    int b = Integer.parseInt(entrada.nextLine());
    
    // vamos obter o resultado de uma chamada à função calcular()
    int resultado = calcular(a, b);
    System.out.println("O resultado é: " + resultado);
  }
  
  public static int calcular(int a, int b){
    // primeiro multiplicamos as duas variáveis
    int produto = a * b;
    // agora dividimos o produto por 2
    int temp = produto / 2;
    // agora obtemos o módulo do resultado por 7
    int resultado = temp % 7;
    // e retornamos o valor calculado
    return resultado;
  }
}



Delphi ::: VCL - Visual Component Library ::: TEdit

Como habilitar ou desabilitar um TEdit do Delphi usando a função EnableWindow() da API do Windows

Quantidade de visualizações: 11803 vezes
Embora o Delphi já nos forneça as ferramentas necessárias para habilitar ou desabilitar um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função EnableWindow() com os valores true ou false.

A função EnableWindow() possui a seguinte assinatura em C/C++:

BOOL EnableWindow(          
  HWND hWnd,
  BOOL bEnable
);

No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:

// Protótipo
{$EXTERNALSYM EnableWindow}
function EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL; stdcall;

// Implementação
function EnableWindow; external user32 name 'EnableWindow';

Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e um valor BOOL. Se fornecermos false, a caixa de texto será desabilitada. Veja:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos desabilitar o TEdit usando a função EnableWindow()
  // com o valor false
  if EnableWindow(Edit1.Handle, False) = True then
    begin
      ShowMessage('A caixa de texto foi desabilitada com sucesso.');
    end;
end;

Para habilitar a caixa de texto novamente, só precisamos fornecer o valor true para o parâmetro bEnable:

procedure TForm1.Button1Click(Sender: TObject);
begin
  // vamos habilitar o TEdit usando a função EnableWindow()
  // com o valor true
  if EnableWindow(Edit1.Handle, True) = True then
    begin 
      ShowMessage('A caixa de texto foi habilitada com sucesso.');
    end;
end;

É importante observar que o retorno da função EnableWindow será False se tentarmos habilitar uma caixa de texto que já está habilitada ou tentarmos desabilitar uma caixa de texto que já está desabilitada.


Python ::: Dicas & Truques ::: Lista (List)

Como pesquisar um item em uma lista Python e retornar seu índice usando a função index()

Quantidade de visualizações: 11157 vezes
Em algumas situações nós precisamos pesquisar um item em uma List do Python e retornar o índice de sua primeira ocorrência. Para isso nós podemos usar o método index(), que aceita uma string, um number, um object, etc, e retorna o índice da primeira posição do item dentro da lista.

Veja um exemplo de seu uso:

"""
  Este exemplo mostra como pesquisar um item em
  uma lista. Se o item for encontrado, seu índice é
  retornado. Do contrário uma exceção do tipo ValueError
  é levantada.
"""

def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 32, 18]

  try:
    indice = valores.index(13)
  except ValueError:
    print("O valor pesquisado nao foi encontrado")
  else:
    print("O valor foi encontrado no índice", indice)
    
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O valor pesquisado não foi encontrado.

Note que no exemplo nós usamos um bloco try..except para tratar a exceção ValueError, disparada quando o item pesquisado por meio da função index() não for encontrado na List. Veja:

Exception has occurred: ValueError
13 is not in list



Java ::: Dicas & Truques ::: Matemática e Estatística

Como converter de octal para decimal usando o método parseInt() da classe Integer da linguagem Java

Quantidade de visualizações: 10235 vezes
Nesta dica eu mostrarei como podemos tirar proveito do método parseInt() da classe Integer do Java para converter um valor octal para decimal. Para isso nós só precisamos fornecer o valor 8 como segundo argumento para esta função.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    String octal = "10";
     
    // efetua a conversão de octal para
    // decimal
    int decimal = Integer.parseInt(octal, 8);
 
    // exibe o resultado
    System.out.println("O octal " + octal + " em decimal é " +
      decimal);
 
    System.exit(0);
  }
}

Ao executarmos este código nós teremos o seguinte resultado:

O octal 10 em decimal é 8


Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como criar e usar métodos estáticos em suas classes Java - Programação Orientada a Objetos em Java - Java OOP

Quantidade de visualizações: 13636 vezes
Como já vimos em outras dicas desta seção, uma classe Java possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:

package estudos;

// declaração da classe Produto
public class Produto {
  private String nome;
  private double preco;

  public String getNome() {
    return nome;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public double getPreco() {
    return preco;
  }

  public void setPreco(double preco) {
    this.preco = preco;
  }
}

Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância.

Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. O método main() presente em todas as aplicações Java é um bom exemplo deste tipo de método.

Métodos estáticos em Java podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:

Código para Pessoa.java:

package estudos;

// classe Pessoa com duas variáveis privadas e
// um método estático
public class Pessoa {
  private String nome;
  private int idade;

  // um método estático que permite verificar a validade
  // de um número de CPF
  public static boolean isCPFValido(String cpf){
    // alguns cálculos aqui
    return true;
  }
}

Veja agora como podemos chamar o método isCPFValido() sem a necessidade da criação de uma nova instância da classe Pessoa:

Código para Main.java:

package estudos;

public class Main {
  public static void main(String[] args) {
    // vamos efetuar uma chamada ao método isCPFValido() sem
    // criar uma instância da classe Pessoa
    if(Pessoa.isCPFValido("12345")){
      System.out.println("CPF Válido");
    }
    else{
      System.out.println("CPF Inválido");
    }
  }
}

Note que o método estático isCPFValido() da classe Pessoa foi declarado assim:

public static boolean isCPFValido(String cpf);

Desta forma, podemos chamá-lo a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja:

if(Pessoa.isCPFValido("12345")){}

É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:

// um método estático que permite verificar a validade
// de um número de CPF
public static boolean isCPFValido(String cpf){
  // alguns cálculos aqui

  // vamos acessar a variável não estática nome
  nome = "Osmar J. Silva";
    
  return true;
}

vai gerar o seguinte erro de compilação:

Uncompilable source code - non-static variable nome cannot be referenced from a static context.

Se usarmos this.nome a mensagem de erro de compilação será:

Uncompilable source code - non-static variable this cannot be referenced from a static context.

Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias.


Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular o determinante de uma matriz 3x3 usando a Método de Sarrus em Python - Python para Álgebra Linear

Quantidade de visualizações: 5684 vezes
Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes.

Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas.

Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando o Método de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos.

Então, vamos supor a seguinte matriz 3x3:



O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim:



Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes:



Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja:

(1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0

Como podemos ver, o determinante dessa matriz é 0.

E agora veja o código Python no qual declaramos e instanciamos uma matriz 3x3, em seguida, calculamos o seu determinante:

# importamos a bibliteca NumPy
import numpy as np

# função principal do programa
def main():
  # vamos criar uma matriz 3x3
  m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
  
  # calcula o determinante usando a Regra de Sarrus
  det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1]  
    * m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1])) - ((m[2][0] 
    * m[1][1] * m[0][2]) + (m[2][1]  * m[1][2] * m[0][0]) + (m[2][2] 
    * m[1][0] * m[0][1]))
    
  # mostramos o resultado
  print("O determinante da matriz é: %f" % det)
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O determinante da matriz é: 2.0

É possível também obter o determinante de uma matriz (não restrita à dimensão 3x3) usando o método linalg.det() da biblioteca NumPy do Python. Veja o código a seguir:

# importamos a bibliteca NumPy
import numpy as np

# função principal do programa
def main():
  # vamos criar uma matriz 3x3
  m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
  
  # calcula o determinante usando apenas NumPy
  det = np.linalg.det(m)
    
  # mostramos o resultado
  print("O determinante da matriz é: %f" % det)
  
if __name__== "__main__":
  main()

Veja que usei a mesma matriz e, usando apenas o método linalg.det() nós obtemos o mesmo resultado.

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.