JavaScript ::: Dicas & Truques ::: Mouse e Teclado

Como obter o código da tecla pressionada em um elemento HTML usando o evento onkeypress do JavaScript

Quantidade de visualizações: 272 vezes
Nesta dica eu mostrarei como é possível usar o evento onkeypress do HTML + JavaScript para obter o código da tecla pressionada pelo usuário. Note que usei a propriedade keyCode do objeto event para capturar o código da tecla.

Veja o código JavaScript completo, incluindo a página HTML:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>
 
<p>Experimente pressionar qualquer tecla e uma 
mensagem mostrará o código da tecla pressionada.</p>
 
<script type="text/javascript">
  function tecla(){
    window.alert("O código da tecla pressionada foi: "
      + event.keyCode);
  }
   
  document.body.onkeypress = tecla;
</script>
 
</body>
</html>

Abra esta página no seu navegador e experimente pressionar uma tecla. Se você presssionar, por exemplo, a tecla "a", teremos a seguinte mensagem:

O código da tecla pressionada foi: 97


PHP ::: Dicas & Truques ::: Data e Hora

Como retornar o dia da semana para uma determinada data em PHP usando as funções mktime(), date() e o sinalizador "l"

Quantidade de visualizações: 183 vezes
Nesta dica mostrarei como podemos combinar as funções mktime(), date() e o sinalizador "l" para obtermos o nome do dia da semana para uma determinada data. Note o uso da função mktime() para construir a data 20/06/1980.

Veja o código completo para o exemplo:

<?php
  // vamos obter o dia da semana para uma 
  // determinada data - mês/dia/ano
  $timestamp = mktime(0, 0, 0, 6, 20, 1980);
  echo "O dia da semana é: " . date('l', $timestamp);
?>

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

O dia da semana é: Saturday


C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Arquivos e diretórios em C++ - Como excluir um arquivo usando a função remove() do C++

Quantidade de visualizações: 10454 vezes
Em algumas situações nossos códigos C++ precisam excluir arquivos. Isso pode ser feito com o auxílio da função remove() ou _remove(), disponível no header io.h or stdio.h (trazido da linguagem C). Veja a assinatura desta função:

int remove(const char *filename);


Se o arquivo for excluído com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como um dos seguintes valores:

a) ENOENT - No such file or directory - O caminho do arquivo é inválido;

b) EACCESS - Acesso negado - Algum outro programa está usando este arquivo e mantém controle sobre o mesmo.

Veja um trecho de código no qual excluimos um arquivo:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este arquivo
  char arquivo[] = "C:\\Dev-Cpp\\arquivo.txt";

  // vamos testar se o arquivo foi excluído com sucesso
  if(remove(arquivo) != 0){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Arquivo excluído com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

É possível usar a versão Unicode de remove(). O método _wremove(), também presente em io.h or stdio.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // vamos excluir este arquivo
  wchar_t arquivo[] = L"C:\\Dev-Cpp\\arquivo.txt";

  // vamos testar se o arquivo foi excluído com sucesso
  if(_wremove(arquivo) != 0){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Arquivo excluído com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Arquivo excluído com sucesso.


C# ::: Dicas & Truques ::: Data e Hora

Como calcular a diferença de anos, meses ou dias entre duas datas em C# usando a função Subtract() da classe DateTime

Quantidade de visualizações: 21449 vezes
Esta dica mostra como obter a diferença de anos, meses ou dias entre duas datas. O truque aqui é usar o método Subtract() da estrutura DateTime. Este método recebe um objeto DateTime, subtrai seus valores do DateTime atual e retorna um objeto TimeSpan, usada para representar um intervalo de tempo. Veja o código completo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos obter a diferença em anos, meses ou dias entre
      // duas datas
      DateTime data_inicial = new DateTime(2008, 4, 10);  // 10/04/2008
      DateTime data_final = new DateTime(2008, 5, 15);  // 15/05/2008

      // obtém a diferença
      TimeSpan dif = data_final.Subtract(data_inicial);

      // exibe o resultado
      System.Console.WriteLine("Diferença em:\nAnos: " +
        (dif.Days / 365) + "\nMeses: " + (dif.Days / 30) +
        "\nDias: " + dif.Days);

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

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

Diferença em:
Anos: 0
Meses: 1
Dias: 35

Tome cuidado. Este método pode lançar uma exceção do tipo ArgumentOutOfRangeException se os valores fornecidos estiverem fora das faixas permitidas.


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

Como converter radianos em graus na linguagem Python

Quantidade de visualizações: 5427 vezes
Todos os métodos e funções trigonométricas em Python recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() do objeto math, no módulo math. Esta função recebe o ângulo em radianos e retorna o seu seno.

No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo:

\[Graus = Radianos \times \frac{180}{\pi}\]

Agora veja como esta fórmula pode ser escrita em código Python:

import math

# função principal do programa
def main():
  # valor em radianos
  radianos = 1.5
  # obtém o valor em graus
  graus = radianos * (180 / math.pi)
  # mostra o resultado
  print(radianos, "radianos convertidos para",
    "graus é", graus)
 
if __name__== "__main__":
  main()

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

1.5 radianos convertidos para graus é 85.94366926962348

Para fins de memorização, 1 radiano equivale a 57,2957795 graus.

Por fim, saiba que a linguagem Python nos oferece o método math.degrees() que nos permite converter ângulos radianos em graus. Meu propósito nesta dica foi mostrar a você como o cálculo de conversão pode ser escrito em Python. Em outras dicas dessa seção abordaremos o método math.degrees().


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como trabalhar com strings em Ruby

Quantidade de visualizações: 8335 vezes
Strings em Ruby são usadas para representar palavras, frases e textos e são bem parecidas com strings em outras linguagens dinâmicas, tais como Perl, Python e PHP. Além disso, strings em Ruby são dinâmicas, mutáveis e flexíveis.

Podemos declarar e definir uma variável do tipo string em Ruby da seguinte forma:

nome = "Osmar J. Silva"
puts nome

Em ruby, strings são objetos da classe String. Isso quer dizer que podemos efetuar chamadas à uma grande variedade de métodos desta classe a partir de qualquer variável do tipo string. Veja um exemplo:

nome = "Osmar"
puts nome.length


Este exemplo exibirá a quantidade de caracteres contidos na string nome.

Strings em Ruby podem estar contidas em aspas duplas ou aspas simples:

nome = "Osmar J Silva"
puts(nome)

nome = 'Osmar J Silva'
puts(nome)

A diferença é que, quando usamos aspas duplas, podemos codificar dados binários dentro da string, assim como usar "\n" para provocar quebras de linha. Quando usamos aspas simples, podemos usar apenas "\'" para exibir uma aspa simples e "\\" para exibir uma barra invertida.


VB.NET ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros simples e montante em VB.NET

Quantidade de visualizações: 8658 vezes
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos:

J = P . i . n

Onde:

J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos

Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em VB.NET pode ser feito assim:

Module Module1
  Sub Main()
    Dim principal As Double = 2000.0
    Dim taxa As Double = 0.08 '8%
    Dim meses As Integer = 2

    Dim juros As Double = principal * taxa * meses

    Console.WriteLine("O total de juros a ser pago é: " _
       & juros)

    Console.WriteLine()
    Console.WriteLine("Pressione uma tecla para sair...")
    Console.ReadKey()
  End Sub
End Module

O montante da dívida pode ser obtido das seguintes formas:

a) Montante = Principal + Juros
b) Montante = Principal + (Principal x Taxa de juros x Número de períodos)

M = P . (1 + (i . n))

Veja o código:

Module Module1
  Sub Main()
    Dim principal As Double = 2000.0
    Dim taxa As Double = 0.08 '8%
    Dim meses As Integer = 2

    Dim juros As Double = principal * taxa * meses
    Dim montante As Double = principal * (1 + (taxa * meses))

    Console.WriteLine("O total de juros a ser pago é: " _
       & juros)
    Console.WriteLine("O montante a ser pago é: " & montante)

    Console.WriteLine()
    Console.WriteLine("Pressione uma tecla para sair...")
    Console.ReadKey()
  End Sub
End Module



C++ ::: Win32 API (Windows API) ::: Strings e Caracteres

Como converter caracteres individuais para letras maiúsculas usando a função CharUpper() da API do Windows a partir de seus códigos C++

Quantidade de visualizações: 9651 vezes
Pode usar a função CharUpper() da API do Windows para converter um caractere para seu correspondente em letra maiúscula. Veja o protótipo da função:

LPTSTR CharUpper(
  LPTSTR lpsz
);


Veja um exemplo no qual usamos esta função para converter uma letra minúscula em maiúscula:

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  CHAR letra = 'a';
  
  // vamos converter para letra maiúscula
  CharUpper(&letra);
  
  // vamos exibir o resultado
  cout << letra << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}

Note que aqui nós fornecemos um ponteiro para o caractere que queremos transformar. Isso resulta em uma conversão sendo efetuada diretamente no caractere para o qual o ponteiro está apontando no momento. Podemos também obter o resultado da conversão em um outro ponteiro e usá-lo posteriormente. Veja:

#include <cstdlib>
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){
  CHAR letra = 'a';
  
  // vamos converter para letra maiúscula
  CHAR *resultado = CharUpper(&letra);
  
  // vamos exibir o resultado
  cout << *resultado << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



C# ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string é null ou vazia em C# usando a função IsNullOrEmpty() da classe String

Quantidade de visualizações: 23558 vezes
Em algumas situações nós queremos verificar se uma variável do tipo string está null ou vazia (não contém nem mesmo o caractere de espaço ou quebra de linha). Para isso nós podemos usar o método IsNullOrEmpty() da classe String da linguagem C#.

Veja um trecho de código no qual temos uma string nula e uma string vazia. Observe os resultados retornados pela função:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string palavra1 = null;
      string palavra2 = "";

      if (String.IsNullOrEmpty(palavra1)) {
        Console.WriteLine("palavra1 é null ou vazia");
      }

      if (String.IsNullOrEmpty(palavra2)) {
        Console.WriteLine("palavra2 é null ou vazia");
      }
      
      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

palavra1 é null ou vazia
palavra2 é null ou vazia


Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesiano

Quantidade de visualizações: 3188 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem Python que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

# vamos importar o módulo Math
import math as math

def main():
  # x e y do primeiro ponto
  x1 = float(input("Coordenada x do primeiro ponto: "))
  y1 = float(input("Coordenada y do primeiro ponto: "))

  # x e y do segundo ponto
  x2 = float(input("Coordenada x do segundo ponto: "))
  y2 = float(input("Coordenada y do segundo ponto: "))

  # agora vamos calcular o coeficiente angular
  m = (y2 - y1) / (x2 - x1)

  # e mostramos o resultado
  print("O coeficiente angular é: %f\n\n" % m)
  
if __name__== "__main__":
  main()

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

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.666667

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

# vamos importar o módulo Math
import math as math

def main():
  # x e y do primeiro ponto
  x1 = float(input("Coordenada x do primeiro ponto: "))
  y1 = float(input("Coordenada y do primeiro ponto: "))

  # x e y do segundo ponto
  x2 = float(input("Coordenada x do segundo ponto: "))
  y2 = float(input("Coordenada y do segundo ponto: "))

  # vamos obter o comprimento do cateto oposto
  cateto_oposto = y2 - y1
  # e agora o cateto adjascente
  cateto_adjascente = x2 - x1
  # vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
  # (em radianos, não se esqueça)
  tetha = math.atan2(cateto_oposto, cateto_adjascente)
  # e finalmente usamos a tangente desse ângulo para calcular
  # o coeficiente angular
  tangente = math.tan(tetha)

  # e mostramos o resultado
  print("O coeficiente angular é: %f\n\n" % tangente)
  
if __name__== "__main__":
  main()

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.

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