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.

HTML5 ::: HTML5 + JavaScript ::: Geolocation API

Como retornar a localização do usuário usando o método getCurrentPosition() da API Geolocation do HTML5

Quantidade de visualizações: 2712 vezes
O método getCurrentPosition() da API Geolocation do HTML5 nos permite obter tanto a latitude quanto a longitude do usuário que está acessando nossas páginas web. A forma mais simples deste método requer apenas uma função JavaScript que receberá o objeto de coordenadas. Veja o trecho de código a seguir:

<html>
<head>
   <title>Obtendo a latitude e longitude usando a API
     Geolocation</title>
</head>
<body>

<script type="text/javascript">
  function mostrarPosicao(posicao) {
    document.writeln("<h1>Latitude: " + posicao.coords.latitude + 
      "; Longitude: " + posicao.coords.longitude + "</h1>");
  }
  
  // não se esqueça de testar se o navegador web suporta a API
  // Geolocation do HTML5 
  if(window.navigator.geolocation) {
    // chamamos o método getCurrentPosition() fornecendo a função
    // JavaScript que receberá o objeto de coordenadas   
    navigator.geolocation.getCurrentPosition(mostrarPosicao);
  }
  else{
    document.writeln("A API Geolocation foi encontrada.");  
  }
</script>

</body>
</html>

Ao executar este trecho de código, a primeira coisa que você verá é uma mensagem do navegador avisando que o site a partir do qual o código está sendo executado quer saber sua localização. A mensagem exibirá os botões Permitir ou Bloquear. Se você clicar no botão Permitir, a latitude e longitude serão escritas no navegador:

Latitude: -16.7143838; Longitude: -49.2327622

É claro que, se você estiver executando o código em um laptop ou desktop, o resultado será muito diferente daquele mostrado no seu celular. O motivo é que, em geral, um GPS não está disponível nos laptops e desktops. Por essa razão, o navegador vai obter sua localização usando posicionamento de WI-FI e também por meio do seu endereço IP (Internet Protocol).


Java ::: Dicas & Truques ::: Timers

Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabel

Quantidade de visualizações: 17309 vezes
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
 
public class Estudos extends JFrame{
  JLabel hora;  
  Timer timer; 
  DecimalFormat formato;
 
  public Estudos() {
    super("Usando timers em Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    formato = new DecimalFormat("00"); 
 
    // Cria o timer
    timer = new Timer(1000, new ActionListener(){
      @Override
      public void actionPerformed(ActionEvent e){
        atualizarHoras();
      }
    });
 
    // Cria um botão com o texto "Iniciar"
    JButton iniciar = new JButton("Iniciar");
    iniciar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.start(); // inicia o timer
        }
      }
    );    
 
    // Cria um botão com o texto "Parar"
    JButton parar = new JButton("Parar");
    parar.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          timer.stop(); // pára o timer
        }
      }
    );
     
    // JLabel que exibirá a hora atual
    hora = new JLabel("00:00:00");
 
    // Adiciona os botões à janela
    c.add(iniciar);
    c.add(parar);
 
    // adiciona o label à janela
    c.add(hora);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  private void atualizarHoras(){
    // Cria uma instância de Calendar
    Calendar agora = Calendar.getInstance();    
 
    // horas, minutos e segundos
    int horas = agora.get(Calendar.HOUR);  
    int minutos = agora.get(Calendar.MINUTE);
    int segundos = agora.get(Calendar.SECOND);
    hora.setText(formato.format(horas) + ":" + 
      formato.format(minutos) + ":" + 
      formato.format(segundos));
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle

JavaScript para iniciantes - Como testar condições em JavaScript usando if e if..else

Quantidade de visualizações: 10412 vezes
As estruturas if (se) e if..else (se..senão) da linguagem JavaScript são muito usadas quando queremos testar condições em nossos códigos e, dependendo do resultado do teste, efetuar desvios na execução das instruções. Veja a sintáxe do if:

if(condição){
  // instrução ou conjunto de instruções
}

A condição é qualquer teste que resulte em um valor boolean (true ou false). Veja, por exemplo, como podemos verificar se um valor é maior que 10:

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

<script type="text/javascript">
  var valor = 15;

  // vamos testar se o valor é maior que 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }  
</script>

</body>
</html>

Ao executarmos este código, o texto "O valor é maior que 10." será exibido na tela. Porém, também gostaríamos de exibir uma mensagem caso o valor não for maior que 10. Para isso podemos usar a cláusula else. Veja:

<script type="text/javascript">
  var valor = 5;

  // vamos testar se o valor é maior que 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }
  else{
    document.write("O valor NÃO é maior que 10.");
  }  
</script>

Ao executarmos o exemplo novamente, o texto "O valor NÃO é maior que 10." será exibido. Isso aconteceu porque, ao não satisfazer a condição do if, o fluxo de código caiu na cláusula else.

Há algumas situações nas quais precisamos testar muitas condições ao mesmo tempo. Assim, além do if e else podemos empregar também a cláusula else if (senão se). Veja um exemplo no qual expandimos o exemplo anterior para testar se o valor é maior, menor ou igual a 10:

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

<script type="text/javascript">
  var valor = 5;

  // vamos testar se o valor é maior, menor ou igual a 10
  if(valor > 10){
    document.write("O valor é maior que 10.");
  }
  else if(valor < 10){
    document.write("O valor é menor que 10.");
  }
  else{
    document.write("O valor é igual a 10.");
  }  
</script>

</body>
</html>

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como criar uma base de dados no PostgreSQL usando o comando DDL CREATE DATABASE

Quantidade de visualizações: 4886 vezes
Quando queremos criar uma nova base de dados no PostgreSQL, é comum usarmos o pgAdmin ou a ferramenta de linha de comando createdb. No entanto, há situações nas quais precisamos criar uma nova base de dados usando instruções SQL. Para isso podemos usar o comando DDL CREATE DATABASE. Veja sua sintáxe para o PostgreSQL:

CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace_name ]
           [ CONNECTION LIMIT [=] connlimit ] ]
Note que o único parâmetro exigido é o nome da base de dados. Todos os demais parâmetros são opcionais. Assim, se quisermos criar uma base de dados chamada "estudos", só precisamos disparar o seguinte comando:

CREATE DATABASE estudos;

Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. Se uma mensagem parecida com:

Query returned successfully with no result in 7674 ms.

for exibida, é sinal de que a base de dados foi criada com sucesso.

Quando tentamos criar uma base de dados com um nome já existente, o PostgreSQL abortará a operação e exibirá a seguinte mensagem de erro:

ERRO:  banco de dados "estudos" já existe

********** Error **********

ERRO: banco de dados "estudos" já existe
SQL state: 42P04
É importante observar que, quando informamos apenas o nome da base de dados para o comando CREATE DATABASE, as demais opções serão herdadas a partir do template padrão (template1) e das configurações padrões do servidor para a máquina na qual foi instalado. Assim, se verificarmos, no pgAdmin, a base de dados que criamos, encontraremos as seguintes configurações:

OWNER = postgres

ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Portuguese_Brazil.1252'
LC_CTYPE = 'Portuguese_Brazil.1252'
CONNECTION LIMIT = -1;

Em outras dicas desta seção você verá como personalizar cada um destes parâmetros no comando CREATE DATABASE.


Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais

Java Reflection - Como exibir os nomes de todas as superclasses de uma determinada classe usando introspecção em Java

Quantidade de visualizações: 8073 vezes
Nesta dica veremos como tirar proveito dos métodos getClass(), getName() e getSuperclass() da classe Class da linguagem Java para exibirmos todas as super classes de um determinada classe, até chegarmos à super classe mais alta na hierarquia, ou seja, a classe Object.

Note como usamos um objeto da classe Stack para criarmos uma estrutura de dados do tipo pilha que nos permite obter os nomes das super classes e depois exibir os mesmos na ordem inversa.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.Stack;
import javax.swing.*;
 
public class Estudos{
  // vamos precisar de uma pilha aqui
  static Stack<String> pilha = new Stack();
    
  public static void main(String args[]){
    // Exibe todas as superclasses de JPanel
    JPanel panel = new JPanel();
    obterSuperclasses(panel);
 
    // agora vamos exibir os resultados na ordem
    // contrária que eles foram obtidos
    int cont = 0;
    while(pilha.size() > 0){
      // insere espaços antes
      String ident = "";
      for(int i = 0; i < cont; i++){
        ident = ident + "   ";   
      }
        
      System.out.println(ident + pilha.pop());
      cont++;
    }
    
    System.exit(0);
  }
 
  static void obterSuperclasses(Object obj){
    // vamos adicionar este valor na pilha
    pilha.push(obj.getClass().getName());
      
    Class cls = obj.getClass();
    Class superclass = cls.getSuperclass();
    while(superclass != null){
      String className = superclass.getName();
      
      // vamos adicionar este valor na pilha
      pilha.push(className);
      
      cls = superclass;
      superclass = cls.getSuperclass();
    }
  }
} 

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

java.lang.Object
   java.awt.Component
      java.awt.Container
         javax.swing.JComponent
            javax.swing.JPanel



Java ::: Classes e Componentes ::: JComponent

Java Swing - Como usar a classe JComponent em suas aplicações Java Swing

Quantidade de visualizações: 12345 vezes
A classe JComponent serve como classe base abstrata a partir da qual todos os componentes Swing herdam suas funcionalidades. Esta classe herda da Classe Container, que por sua vez herda de Component, que herda de Object.

Várias classes do Java Swing herdam de JComponent, direta ou indiretamente. Por exemplo, a classe JButton herda de javax.swing.AbstractButton, que, por sua vez, herda de javax.swing.JComponent.

Entender o papel da classe JComponent é muito importante, pois nos permite o uso de polimorfismo e também de vários design patterns. Sendo assim, analise o seguinte código Java Swing:

package arquivodecodigos;

import java.awt.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    super("Minha primeira aplicação GUI");
     
    // vamos declarar um objeto da classe JComponent
    // e atribuir a ele um JButton
    JComponent btn = new JButton("Clique Aqui");
    getContentPane().add(btn, BorderLayout.SOUTH);
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Veja que declaramos uma variável do tipo JComponent e atribuímos a ela um objeto da classe JButton. Isso é perfeitamente possível, já que JButton herda de JComponent, ainda que indiretamente.

Entre as classes que herdam de JComponent estão: AbstractButton, BasicInternalFrameTitlePane, Box, Box.Filler, JColorChooser, JComboBox, JFileChooser, JInternalFrame, JInternalFrame.JDesktopIcon, JLabel, JLayeredPane, JList, JMenuBar, JOptionPane, JPanel, JPopupMenu, JProgressBar, JRootPane, JScrollBar, JScrollPane, JSeparator, JSlider, JSpinner, JSplitPane, JTabbedPane, JTable, JTableHeader, JTextComponent, JToolBar, JToolTip, JTree, JViewport.


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

Exercícios Resolvidos de Java - Como calcular a tabuada de multiplicação para os números de 1 a 9 em Java

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

Escreva um programa Java que usa o laço for para calcular e exibir a tabuada de multiplicação dos números 1 a 9.

Sua saída deve ser parecida com:

        Tabuada de Multiplicação
----------------------------------------------
       1   2   3   4   5   6   7   8   9
----------------------------------------------
1  |   1   2   3   4   5   6   7   8   9
2  |   2   4   6   8  10  12  14  16  18
3  |   3   6   9  12  15  18  21  24  27
4  |   4   8  12  16  20  24  28  32  36
5  |   5  10  15  20  25  30  35  40  45
6  |   6  12  18  24  30  36  42  48  54
7  |   7  14  21  28  35  42  49  56  63
8  |   8  16  24  32  40  48  56  64  72
9  |   9  18  27  36  45  54  63  72  81
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // mostra o título da tabela
    System.out.print("        Tabuada de Multiplicação");
    System.out.println("\n----------------------------------------------");
     
    // exibe os números na parte superior
    System.out.print("    ");
    for(int i = 1; i <= 9; i++){
      System.out.print("   " + i);  
    }
     
    System.out.println("\n----------------------------------------------");
     
    // mostra o corpo da tabuada
    for(int i = 1; i <= 9; i++){
      System.out.print(i + "  |");
      for(int j = 1; j <= 9; j++){
        System.out.printf("%4d", i * j);  
      }
      System.out.println();
    }
     
    System.out.println("\n");
  }
}



Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java

Quantidade de visualizações: 1788 vezes
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java

Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula:

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Java. Esta método, que faz parte da classe Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    System.out.println("Cosseno de 0 = " + Math.cos(0));
    System.out.println("Cosseno de 1 = " + Math.cos(1));
    System.out.println("Cosseno de 2 = " + Math.cos(2));
  }
} 

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

Cosseno de 0 = 1.0
Cosseno de 1 = 0.5403023058681398
Cosseno de 2 = -0.4161468365471424

Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo:




VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: VB.NET Básico

Exercício Resolvido de VB.NET - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em VB.NET

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

Escreva um programa VB.NET para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  Sub Main(args As String())
    ' vamos pedir ao usuário que informe um número inteiro
    Console.Write("Informe um número inteiro: ")
    Dim numero As Integer = Integer.Parse(Console.ReadLine())

    ' vamos calcular o sucessor do número informado
    Dim sucessor As Integer = numero + 1

    ' vamos calcular o antecessor do número informado
    Dim antecessor As Integer = numero - 1

    ' e agora mostramos os resultados
    Console.WriteLine("O número informado foi: {0}", numero)
    Console.WriteLine("O antecessor é {0}", antecessor)
    Console.WriteLine("O sucessor é: {0}", sucessor)

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporária

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

Considere o seguinte trecho de código:

// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa Java GUI ou console que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhum método disponível em classes Java. Sua saída deverá ser algo como:

Ordem inicial:

6   3   90   1   54   7   12   32   9   4   

Ordem invertida:

4   9   32   12   7   54   1   90   3   6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um array de 10 inteiros
    int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
    int temp;
    
    // vamos mostar a ordem inicial dos elementos no vetor
    System.out.print("Ordem inicial: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    // vamos inverter a ordem dos elementos no array
    int inicio = 0, fim = valores.length - 1;  
    while(inicio < fim){
      temp = valores[inicio];
      valores[inicio] = valores[fim];
      valores[fim] = temp;
      // incrementa e decrementa as variáveis de controle
      inicio++; 
      fim--;
    }
    
    // vamos mostar a ordem invertida dos elementos do vetor
    System.out.print("\nOrdem invertida: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    System.out.println();
  }
}


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 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 Apenas R$ 32,90


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