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
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e matrizes em C# - Como ordenar um vetor de inteiros usando o método Sort() da classe Array do C#

Quantidade de visualizações: 16736 vezes
Nesta dica mostrarei como podemos usar o método Sort() da classe Array da linguagem C# para classificar um vetor de inteiros em ordem crescente. Note que o método Sort() é estático e modifica o conteúdo do array original.

Veja o código completo para o exemplo:

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      // cria e inicializa um array de inteiros
      int[] valores = { 4, 69, 1, 0, 17, 23, 14 };

      Console.WriteLine("Ordem original:");
      for (int i = 0; i < valores.Length; i++)
        Console.WriteLine(valores[i]);

      // ordena o array
      Array.Sort(valores);

      // exibe os elementos na ordem crescente
      Console.WriteLine();
      Console.WriteLine("Ordem crescente:");
      for (int i = 0; i < valores.Length; i++)
        Console.WriteLine(valores[i]);

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Ordem original:
4
69
1
0
17
23
14

Ordem crescente:
0
1
4
14
17
23
69


Java ::: Pacote java.io ::: Console

Java para iniciantes - Como usar a classe Console da linguagem Java

Quantidade de visualizações: 10018 vezes
A classe Console, que é definida no pacote java.io como public e final, fornece métodos para acessar o dispositivo de console baseado em caracteres associado com a máquina virtual Java (JVM) sendo executada no momento. Um objeto desta classe é obtido por meio de uma chamada ao método console() da classe System. Veja:

import java.io.Console;

public class Estudos {
  public static void main(String[] args) {
    // vamos obter o console para a JVM atual
    Console console = System.console();
    
    // vamos testar se o console foi obtido com sucesso
    if(console != null){
      System.out.println("Console obtido com sucesso");
    }
    else{
      System.out.println("Não foi possível obter o console");
    }
  }
}


É importante observar que, durante a autoria desta dica (Maio/2012), não é possível obter um objeto da classe Console executando a aplicação dentro do Netbeans e/ou Eclipse, somente executando a aplicação a partir da linha de comando ou outros editores, tais como o JCreator. A razão disso é que, tanto o Netbeans quanto o Eclipse executam a janela de console como um processo de fundo, afim de obter sua saída e exibir em suas próprias janelas.

Veja a posição desta classe na hierarquia de classes da plataforma Java:

java.lang.Object
  java.io.Console
A classe Console implementa a interface Flushable.

O fato de a máquina virtual ter um console ou não depende da plataforma na qual ela está sendo executada, e também na forma que a JVM foi invocada. Se a máquina virtual é iniciada a partir de uma janela de linha de comando interativa sem redirecionar os fluxos de entrada e saída padrão, então o console existirá e estará conectado ao teclado e tela a partir da qual a JVM foi lançada. Se a máquina virtual é iniciada automaticamente, por exemplo, como um gerenciador de agendamento de tarefas em segundo plano, então ela, em geral, não terá um console.

Se a JVM atual tiver um console, então este é representado por uma instância única da classe Console, que pode ser obtida por meio de uma chamada ao método console() da classe System. Se nenhum dispositivo de console estiver disponível, uma chamada a este método retornará o valor null.

Operações de leitura e escrita são sincronizadas para garantir a atomicidade das operações críticas. Assim, as chamadas aos métodos readLine(), readPassword(), format() e printf(), assim como operações de leitura, formatação e escrita nos objetos retornados pelos métodos reader() e writer() poderão causar bloqueios em cenários de múltiplas threads.

Chamar close() nos objetos retornados pelos métodos reader() e writer() não fechará os fluxos destes objetos.

Os métodos de leitura da classe Console retornam null quando o fim do fluxo de entrada de console é alcançado, por exemplo, ao digitar control-D no Linux/Unix ou control-Z no Windows. Operações de leitura subsequentes terão sucesso se caracteres adicionais forem inseridos mais tarde no dispositivo de entrada do console.


Python ::: Dicas & Truques ::: Aplicativos e Outros

Como calcular a distância entre dois pontos na terra em Python

Quantidade de visualizações: 1388 vezes
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado.

O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes.

Veja o código Python completo:

# vamos importar o módulo Math
import math

# função que recebe dois pontos na terra e retorna a distância
# entre eles em quilômetros
def calcularDistancia(lat1, lat2, lon1, lon2):
  raio_terra = 6378.137 # raio da terra em quilômetros
    
  # o primeiro passo é converter as latitudes e longitudes
  # para radianos
  lon1 = math.radians(lon1)
  lon2 = math.radians(lon2)
  lat1 = math.radians(lat1)
  lat2 = math.radians(lat2)
 
  # agora aplicamos a Fórmula de Haversine
  dlon = lon2 - lon1
  dlat = lat2 - lat1
  a = math.pow(math.sin(dlat / 2), 2) + math.cos(lat1) * math.cos(lat2) \
    * math.pow(math.sin(dlon / 2),2)
             
  c = 2 * math.asin(math.sqrt(a))
 
  # e retornamos a distância    
  return(c * raio_terra)

# método principal
def main():
  # vamos solicitar a latitude e longitude das duas localizações
  lat1 = float(input("Informe a primeira latitude: "))
  lon1 = float(input("Informe a primeira longitude: "))
  lat2 = float(input("Informe a segunda latitude: "))
  lon2 = float(input("Informe a segunda longitude: "))

  # vamos calcular a distância entre os dois pontos em Kms
  distancia = calcularDistancia(lat1, lat2, lon1, lon2)
    
  # mostramos o resultado
  print("A distância entre os dois pontos é: {0} kms".format(distancia))

if __name__== "__main__":
  main()

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

Informe a primeira latitude: -16.674551
Informe a primeira longitude: -49.303598
Informe a segunda latitude: -15.579321
Informe a segunda longitude: -56.10009
A distância entre os dois pontos é: 736.9183827638687kms

Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT.

A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador.


C++ ::: Win32 API (Windows API) ::: Edit Control

Como definir a cor de fundo para um Edit Control em tempo de execução usando C++ e a API do Windows

Quantidade de visualizações: 10286 vezes
O processo de definir a cor de fundo para um Edit Control em tempo de execução usando apenas C++ e a API do Windows é um pouco complicado. A técnica apresentada aqui pode não ser a mais eficiente, mas funciona mesmo (testado como VC++ 2005 e Windows XP). Note que estarei usando as funções CreateSolidBrush(), GetDlgCtrlID(), SetBkMode() e SetBkColor() da WinAPI.

1 - Comece adicionando as linhas na parte de variáveis globais de sua aplicação:

HBRUSH hbrushEditBox = CreateSolidBrush(RGB(255, 255, 255));
HDC hdcEdit;
int id_edit_control;
HWND edit_window;


2 - Modifique ou adicione um case para a mensagem WM_CTLCOLOREDIT da seguinte forma:

case WM_CTLCOLOREDIT:
  hdcEdit = (HDC)wParam;
  edit_window = HWND(lParam);   
  id_edit_control = GetDlgCtrlID(edit_window);
		
  if(id_edit_control == IDC_EDIT1){
    SetBkMode(hdcEdit, TRANSPARENT);
    SetBkColor(hdcEdit,(LONG)hbrushEditBox);
    return (LONG)hbrushEditBox;
  }
	  
  return (LRESULT)CreateSolidBrush(RGB(255, 255, 255));

3 - A cor de fundo do Edit Control com ID IDC_EDIT1 será modificada para vermelho quando clicarmos no botão com o ID IDC_BUTTON1. Veja o case para este botão (dentro do case WM_COMMAND):

case IDC_BUTTON1: // ID do botão
 
  // Define uma nova cor de fundo para o Edit Control
  // com o ID IDC_EDIT1
  
  // Vermelho como cor de fundo
  hbrushEditBox = CreateSolidBrush(RGB(255, 0, 0));

  // Atualiza o Edit Control
  InvalidateRect(GetDlgItem(hwnd, IDC_EDIT1), 0, TRUE);
  
  break;



Java ::: Dicas & Truques ::: Strings e Caracteres

Como comparar strings em Java usando o método equals() da classe String

Quantidade de visualizações: 320 vezes
Em várias ocasiões nós precisamos efetuar a comparação de textos, frases ou palavras em Java. Para isso nós podemos usar o método equals() da classe String. Esta função recebe as duas strings a serem testadas e retorna true se as duas strings forem iguais e false em caso contrário.

Veja um exemplo de seu uso:

// Este exemplo mostra como comparar duas strings
// em Java usando o método equals()

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args) {
    // vamos declarar duas strings
    String s1 = "Gosto de Java";
    String s2 = "Gosto de java";
    
    // e agora vamos verificar se as duas são iguais
    if(s1.equals(s2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");
    }
      
    System.exit(0);
  }
}

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

As duas strings são diferentes.

É importante ter em mente que o método equals() diferencia maiúsculas de minúsculas.


PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104

Boleto Bancário PHP - Como calcular o dígito verificador da conta corrente - Módulo 11 - Boleto Caixa Econômica CNAB240

Quantidade de visualizações: 1915 vezes
Nesta dica mostrarei, passo-a-passo, como calcular o dígito verificador da conta corrente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104) de acordo com o Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro. Tenha certeza de verificar sua versão do manual antes de usar o código abaixo.

O Dígito Verificador da Conta é um código adotado pelo banco, em nosso caso a Caixa Econômica, para verificação da autenticidade do número da conta corrente, e tal número deverá ser calculado através do módulo 11.

Mostro abaixo o código completo para o cálculo do dígito verificador. Note que só precisamos informar o número da conta (sem o dígito) e o código se encarrega de calcular o dígito. Aqui eu informei o número da conta em uma variável, mas você pode modificar o código para que o valor venha de um formulário ou do banco de dados.

Eis o código PHP:

<?php
// função que recebe o número da conta e devolve
// o dígito verificador
function digitoVerificadorConta($conta){
  // primeiro vamos remover os espaços do número da conta
  $conta = trim($conta);
  // agora precisamos adicionar os zeros necessários
  // para completar 12 posições
  $conta = sprintf("%012d", $conta);
  // agora vamos definir os índices de múltiplicação
  $indices = "543298765432";
  // e aqui a soma da multiplicação coluna por coluna
  $soma = 0;
	
  // fazemos a multiplicação coluna por coluna agora
  for($i = 0; $i < strlen($conta); $i++){
   $soma = $soma + ((int)($conta[$i])) * 
     ((int)($indices[$i]));	
  }
	
  // obtemos o resto da divisão da soma por onze
  $resto = $soma % 11;
	
  // subtraímos onze pelo resto da divisão
  $digito = 11 - $resto;
	
  // atenção: Se o resultado da subtração for
  // maior que 9 (nove), o dígito será 0 (zero)
  if($digito > 9){
    $digito = 0;	
  }
	
  return $digito;  
}
  
// vamos obter o dígito verificador para a conta a seguir
$conta = "109990";
$digito = digitoVerificadorConta($conta);
echo "O dígito verificador para a conta " . $conta .
  " é: " . $digito;
?>

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

O dígito verificador para a conta 109990 é: 6

É importante observar que o dígito verificador da agência e também do par agência/conta são sempre informados pela Caixa, geralmente pela agência na qual nossos clientes possuem conta.


GNU Octave ::: GNU Octave para Engenharia ::: Cálculo Diferencial e Integral

Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência)

Quantidade de visualizações: 3718 vezes
No cálculo, a derivada em um ponto de uma função y = f(x) representa a taxa de variação instantânea de y em relação a x neste ponto.

Um exemplo típico é a função velocidade que representa a taxa de variação (derivada) da função espaço. Do mesmo modo, a função aceleração é a derivada da função velocidade.

Geometricamente, a derivada no ponto x = a de y = f(x) representa a inclinação da reta tangente ao gráfico desta função no ponto (a,~f(a)). A função que a cada ponto x associa a derivada neste ponto de f(x) é chamada de função derivada de f(x). [Citação da Wikipédia]

Nesta dica mostrarei como podemos usar a função diff() do GNU Octave para calcular a derivada de uma função usando a Regra do Tombo ou, mais formalmente, a Regra da Potência.

Dada uma função:



A Regra do Tombo pede que o n desça e multiplique o x, que agora estará elevado a n - 1. Vamos ver um exemplo então? Observe como a derivada de f(x) = x5 é calculada na imagem a seguir:



Veja agora como podemos fazer este cálculo em GNU Octave. Para isso, abra a janela de comandos e dispare as linhas a seguir:

>> pkg load symbolic [ENTER]
>> syms x [ENTER]
>> f = x ** 5 [ENTER]
f = (sym)

   5
  x

>> diff(f, x) [ENTER]
ans = (sym)

     4
  5*x

>>

É possível que, após o comando "syms x" você veja algumas mensagens de aviso relacionadas à sua versão instalada do Python. Não se preocupe, pois esses avisos não interferem na funcionalidade da função diff().


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como usar a função ReverseString() do Delphi para inverter o texto de uma palavra ou frase em Delphi - Invertendo o conteúdo de uma string usando Delphi

Quantidade de visualizações: 26042 vezes
Em algumas situações precisamos inverter o conteúdo de uma string, ou seja, alterar a ordem de seus caracteres de forma que a string fique de trás para frente.

Em Delphi isso pode ser feito com o auxílio da função ReverseString(). Esta função recebe uma string e devolve outra string invertida. Veja um exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string; // declara uma variável do tipo string
begin
  nome := 'Osmar J. Silva';

  // vamos inverter o conteúdo da string
  nome := ReverseString(nome);

  // vamos exibir o resultado
  ShowMessage(nome);
end;

Não se esqueça de adicionar a unit StrUtils na cláusula uses de seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


C# ::: Dicas & Truques ::: Sistema

Como retornar a capacidade do HD em MB ou GB em C# usando um objeto ManagementObject

Quantidade de visualizações: 8991 vezes
Nesta dica mostrarei como podemos usar um objeto ManagementObject para retornar o tamanho de um HD em MB ou GB usando a linguagem C#. No exemplo eu acessei o drive C, mas você pode usar qualquer um que esteja disponível na sua máquina.

Veja o código C# completo para o exemplo:

private void button2_Click(object sender, EventArgs e) {
  // não esqueça de importar
  // using System.Management;

  // vamos criar um novo objeto ManagementObject
  ManagementObject dispositivo =
    new ManagementObject("win32_logicaldisk.deviceid=\"C:\"");
  // vamos retornar o dispositivo
  dispositivo.Get();

  // agora vamos retornar o tamanho do HD
  double tam = Convert.ToDouble(dispositivo["Size"]);
      
  // convertemos para GB
  tam = tam / 1024 / 1024 / 1024;
  // e mostramos o resultado
  textBox1.Text = "O HD tem capacidade de " + tam + " GB";
}

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

O HD tem capacidade de 251,767574310303 GB

Se você quiser o tamanho do HD em MB, basta usar:

tam = tam / 1024 / 1024;

Nos testes que fiz no Visual Studio 2019, não foi possível acessar o HD a partir de uma aplicação C# console, somente por meio de uma aplicação Windows Desktop. Veja a mensagem retornada:

System.PlatformNotSupportedException: 'System.Management currently is only supported for Windows desktop applications.'


JavaScript ::: Dicas & Truques ::: Algorítmos Úteis

Como testar se uma palavra (ou frase) é palíndroma em JavaScript

Quantidade de visualizações: 11826 vezes
Palíndromo é uma palavra, frase ou número que permanece igual quando lida de trás para diante. Por extensão, palíndromo é qualquer série de elementos com simetria linear, ou seja, que apresenta a mesma sequência de unidades nos dois sentidos.

Uma palavra palíndroma é aquela cuja sequência de letras é simétrica, permitindo uma leitura idêntica da esquerda para a direita ou da direita para a esquerda: ovo, osso, reler, anilina.

Veja um código JavaScript que pede para o usuário informar um palavra e, em seguida, informa se a palavra é palíndroma ou não:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; 
  charset=iso-8859-1" />
<title>Estudos JavaScript</title>
</head>
<body>
  
<script type="text/javascript">
  function palin(pal){
    var palindroma = true;
    pal = pal.toUpperCase();
  
    for(var i = 0; i < (pal.length / 2); i++){
      if(pal.charAt(i) != pal.charAt(pal.length - i - 1)){
        palindroma = false;
      }
    }
	
    return palindroma;
  }
  
  // testa se uma palavra é palindroma
  var palavra = window.prompt("Informe a palavra", 
    "palavra");
  if(palin(palavra)){
    alert("Esta palavra é palindroma");
  }
  else{
    alert("Esta palavra NÃO é palindroma"); 
  }
</script>
   
</body>
</html>


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



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