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 ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em Java usando o método sin() da classe Math

Quantidade de visualizações: 3252 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno 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 seno. 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 seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

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

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

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() 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("Seno de 0 = " + Math.sin(0));
    System.out.println("Seno de 1 = " + Math.sin(1));
    System.out.println("Seno de 2 = " + Math.sin(2));
  }
} 

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

Seno de 0 = 0.0
Seno de 1 = 0.8414709848078965
Seno de 2 = 0.9092974268256817

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




Java ::: Dicas & Truques ::: Expressões Regulares

Java Expressões Regulares - Como substituir todas as ocorrências de uma substring em uma string usando expressões regulares

Quantidade de visualizações: 9358 vezes
Este exemplo mostra como substituir todas as ocorrências de uma substring em uma string usando expressões regulares na linguagem Java.

Nesta dica nós substituimos todas as ocorrências de "Java" por "C++".

Veja o código completo:

package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "Java";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "Java? Gosto muito de Java.";
    System.out.println("Frase original: " + frase);
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll("C++");
    System.out.println("Depois da substituição: " + res);
  } 
} 

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

Frase original: Java? Gosto muito de Java.
Depois da substituição: C++? Gosto muito de C++.


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

Exercícios Resolvidos de Java - Usando laços for aninhados para desenhar uma pirâmide de números em Java (com o usuário informando a quantidade de linhas)

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

Escreva um programa Java que solicita ao usuário um número inteiro. Este número inteiro deverá estar entre 1 e 12 e será usado como a quantidade de linhas em uma pirâmide de números. Você deverá usar laços for aninhados para controlar as linhas e montar a estrutura desejada.

Sua saída deverá ser parecida com:

Informe a quantidade de linhas: 5

              1
           2  1  2
        3  2  1  2  3
     4  3  2  1  2  3  4
  5  4  3  2  1  2  3  4  5
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos solicitar a quantidade de linhas
    System.out.print("Informe a quantidade de linhas: ");
    int numLinhas = Integer.parseInt(entrada.nextLine());
    
    // não queremos aceitar quantidades de linhas menores que 1 
    // ou maiores que 12
    if((numLinhas < 1) || (numLinhas > 12)){
      System.out.println("O número de linhas deve estar entre 1 e 12");
      System.exit(0);
    }
    
    // este laço externo controla as linhas
    System.out.println();
    for(int linha = 1; linha <= numLinhas; linha++){
      // este laço gera os espaços antes de cada número nas 
      // linhas da pirâmide
      for (int coluna = 1; coluna <= (numLinhas - linha); coluna++){
        System.out.print("   "); // três espaços aqui
      }
      
      // aqui nós exibimos os números de cada linha do lado
      // esquerdo da pirâmide, até o centro
      for(int i = linha; i >= 1; i--){
        // o número da linha é maior ou igual a 10? se for 
        // colocamos um espaço antes do número
        if(i >= 10){
          System.out.print(" " + i);  
        }
        else{ // o número da linha é menor que 10? vamos 
          //colocar dois espaços antes do número
          System.out.print("  " + i);  
        }
      }
      
      // e finalmente exibimos os números de cada linha no 
      // lado direito da pirâmide
      for (int i = 2; i <= linha; i++){
        // o número da linha é maior ou igual a 10? se for 
        // colocamos um espaço antes do número
        if(i >= 10){
          System.out.print(" " + i);  
        }
        else{ // o número da linha é menor que 10? vamos 
          // colocar dois espaços antes do número
          System.out.print("  " + i);  
        }
      }
      
      // gera uma nova linha
      System.out.println();
    }
    
    System.out.println();
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm

Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 A

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

Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp).

Sua saída deverá ser parecida com:

Informe a corrente: 10
Informe a tensão: 200
A resistência elétrica é: 20.0
Resposta/Solução:

Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão:

\[R = \frac{U}{I} \]

Onde:

R = Resistência elétrica (medida em ohms (&#937;)).
U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb).
I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo).

Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor:

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 os dados
    System.out.print("Informe a corrente: ");
    double corrente = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a tensão: ");
    double tensao = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular a resistência
    double resistencia = tensao / corrente;
    
    // e mostramos o resultado
    System.out.println("A resistência elétrica é: " + resistencia);
  }
}



Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython

Python wxPython - Como criar janelas GUI em Python usando a classe wx.Frame do wxPython

Quantidade de visualizações: 11926 vezes
Em wxPython, um frame é o nome dado ao que o usuário do programa geralmente chama de "janela". Um frame é um contâiner que o usuário pode mover livremente na tela, e que geralmente inclui artifícios tais como uma barra de títulos, uma barra de menus, e sinalizadores de redimensionamento nas bordas e cantos. A classe wx.Frame é a classe pai de todos os frames em wxPython.Há também algumas subclasses especializadas de wx.Frame que podemos usar em nossos programas.

Quando fazemos subclasse de wx.Frame, o método __init__() de nossa classe deverá chamar o construtor da classe pai wx.Frame.__init__(). A assinatura deste construtor é assim:

wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,
  size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
  name="frame")
Este construtor aceita vários parâmetros. Em uso normal, contudo, alguns dos valores padrões são perfeitamente aceitáveis.

Veja a seguir alguns parâmetros importantes do construtor __init__() da classe wx.Frame:


  • parent - A janela pai do frame que está sendo criado. Para janelas top-level, o valor é None. Se outra janela é usada para o parâmetro parente, então o novo frame pertencerá a esta janela e será destruído juntamente com seu pai. Dependendo da plataforma, o novo frame poderá ter restrições no sentido de somente aparecer no topo da janela pai. No caso de uma janela filha MDI, a nova janela terá restrições e somente poderá ser movida e redimensionada dentro da janela pai.

  • id - O número ID wxPython para a nova janela. Podemos fornecer um explicitamente ou fornecer -1, o que fará com que o wxPython gere um novo ID automaticamente.

  • title - O título da janela. Geralmente o título é exibido na barra de títulos da janela.

  • pos - Um objeto wx.Point especificando o local na tela no qual o canto superior esquerdo da janela deverá estar. Como é de praxe em aplicações gráficas, o ponto (0, 0) está no canto superior esquerdo do monitor. O valor padrão é (-1, -1), que faz com o sistema operacional decida a melhor posição para a janela.

  • size - Um objeto wx.Size definindo o tamanho inicial da janela. O padrão é (-1, -1), que faz com que o sistema operacional decida o melhor tamanho para a janela.

  • style - Uma máscara de bits (bitmask) de constantes determinando o estilo da janela. Podemos usar o operador bitware or (|) para combinar os estilos fornecidos.

  • name - Um nome interno dado ao frame e usado no Motif para definir valores de recursos. Pode também ser usado para encontrar a janela por nome mais tarde.


Veja a seguir um modo muito comum de se chamar o construtor __init__() da classe wx.Frame:

import wx

class MinhaJanela(wx.Frame):    
  def __init__(self):
    super().__init__(parent=None, title="Minha Janela",
      size=(350, 250))
    self.Show()

if __name__ == '__main__':
  app = wx.App()
  minhaJanela = MinhaJanela()
  app.MainLoop()

Este código vai gerar a janela mostrada na figura abaixo:




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

Como obter a localização padrão da JVM usando o método getDefault() da classe Locale da linguagem Java

Quantidade de visualizações: 9098 vezes
Em algumas situações precisamos fazer a internacionalização de nossas aplicações. Isso implica em usar um objeto da classe Locale para aplicar a formatação de datas, horas e valores de acordo com as configurações regionais do usuário. Porém, antes de alterar o Locale padrão da JVM, é importante sabermos mais sobre ele. Para isso temos o método estático getDefault() da classe Locale:

public static Locale getDefault()


Este método retorna um objeto da classe Locale que nos permitirá obter informações sobre a língua, o país e demais configurações do ambiente. Veja um trecho de código demonstrando seu uso:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // obtém o Locale padrão da JVM
    Locale locale = Locale.getDefault();
    
    // vamos exibir o código da linguagem e nome do
    // país para o Locale obtido
    System.out.println(locale.getLanguage() + " - "
      + locale.getDisplayCountry()); 
  } 
}

O resultado da execução deste código será algo como:

pt - Brasil



Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem Python

Quantidade de visualizações: 13357 vezes
Em geral, todos os exemplos que vemos de laço for (laço ou loop PARA) mostram a variável de controle sendo incrementada, raras vezes decrementada. Nesta dica mostrarei como isso pode ser feito, ou seja, vamos contar de 0 a 10 em ordem decrescente.

Veja o código completo:

# função principal do programa
def main():
  for i in range(10, -1, -1):
    print(i)
  
if __name__== "__main__":
  main()

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

10
9
8
7
6
5
4
3
2
1
0


Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython

Como definir o ícone para uma janela wx.Frame do wxPython

Quantidade de visualizações: 7377 vezes
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida.

Veja o código completo para o exemplo:

# vamos importar a biblioteca Wx
import wx

# vamos criar uma classe que herda de wxFrame
class MinhaJanela(wx.Frame):
  def __init__(self):
    # chamamos o construtor da super classe
    wx.Frame.__init__(self, None, -1, 
      "Cadastro de Clientes", size=(350, 200))
    
    # Define o ícone para a janela
    self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO))

if __name__ == "__main__":
  app = wx.App()
  janela = MinhaJanela()
  janela.Show(True)
  app.MainLoop()



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

Como retornar a representação numérica de um caractere em Java fazendo um cast de char para int

Quantidade de visualizações: 253 vezes
Um cast forçado de char para int é uma das formas mais práticas para se obter a representação numérica de um caractere em Java. Tudo que precisamos fazer é usar o método charAt() da classe String para obtermos o caractere na posição desejada de um texto, frase ou palavra e, em seguida, convertê-lo (cast) para um int.

Veja o código completo para o exemplo:

package arquivodecodigos;

// Este exemplo mostra como obter a representação
// númerica de um caractere

public class Estudos{
  public static void main(String[] args){
    String frase = "Programando em Java";
    
    for(int i = 0; i < frase.length(); i++){
      int valor = (int)frase.charAt(i);
      System.out.println(frase.charAt(i) + " = " 
        + valor);
    }    
        
    System.exit(0);
  }
}

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

P = 80
r = 114
o = 111
g = 103
r = 114
a = 97
m = 109
a = 97
n = 110
d = 100
o = 111
  = 32
e = 101
m = 109
  = 32
J = 74
a = 97
v = 118
a = 97



LISP ::: Dicas & Truques ::: Passos Iniciais

O que é Lisp e como escrever seu primeiro programa nessa linguagem de programação

Quantidade de visualizações: 1529 vezes
O que é Common Lisp?

A linguagem de programação ANSI Common Lisp, ou simplesmente Common Lisp, é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural.

Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialeto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp".

Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999). É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialetos Lisp dos quais derivou.

Como baixar, instalar e testar a Common Lisp no Windows?

Embora exista uma quantidade enorme de compiladores Lisp disponíveis atualmente, minha pesquisa recaiu sobre o Steel Bank Common Lisp (SBCL), que pode ser baixado no endereço http://www.sbcl.org. No meu Windows 10 eu baixei o instalador sbcl-2.2.3-x86-64-windows-binary.msi, com o tamanho de 11.7Mb.

Finalizada a instalação, vamos testar nossa distribuição do Bank Common Lisp (SBCL). Para isso, abra um janela de terminal e navegue até o diretório de instalação do SBCL:

C:\Users\Osmar>cd C:\Program Files\Steel Bank Common Lisp

Se você vir um arquivo sbcl.exe dentro deste diretório nós já temos a indicação de que tudo correu bem. Tudo que temos a fazer é chamar este arquivo na linha de comando:

C:\Program Files\Steel Bank Common Lisp>sbcL

Você verá as seguintes informações na sua tela:

This is SBCL 2.2.3, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
*

Note que o cursor já está esperando comandos, uma vez que estamos no modo interativo. Assim, digite o seguinte comando:

* (+ 5 (* 2 4))

Pressione Enter. Se você vir o valor 13, então é sinal de que o SBCL está funcionando 100% e já podemos prosseguir.

Para sair do modo interativo do SBCL, digite:

* (quit)

Como escrever um programa em Common List e carregá-lo no SBCL

Agora vamos ver como podemos escrever um programa Common Lisp, salvá-lo em arquivo e carregá-lo a partir do compilador Steel Bank Common Lisp (SBCL). Para isso, abra o seu editor de códigos favorito e digite a seguinte listagem:

; Este programa talvez seja um dos mais básicos
; que podem ser escritos em Common Lisp
(defun Primeiro()
  ; Vamos mostrar uma mensagem de boas-vindas
  (write-line "Bem-vindo(a) à Common Lisp")
)

; Efetua uma chamada automática ao programa
(Primeiro)

Para executar este programa, basta chamar o SBCL pela linha de comando, da seguinte forma:

C:\Program Files\Steel Bank Common Lisp>sbcl --script C:\estudos_common_lisp\Primeiro.lsp

Se o seu código estiver correto, sem nenhum erro de sintáxe, você verá o seguinte texto:

Bem-vindo(a) à Common Lisp

Pronto! Agora é só aproveitar as nossas dicas, truques e exercícios resolvidos de Common Lisp para aprender ainda mais. Bons estudos.

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á 211 usuários muito felizes estudando em nosso site.