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

Datas e horas em C# - Como obter a data atual no formato curto usando C#

Quantidade de visualizações: 14 vezes
Nesta dica mostrarei como obter a data atual usando a propriedade Now da classe DateTime e exibí-la no formato curto, ou seja, DD/MM/AAAA.

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

using System;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      // data atual no formato curto
      DateTime hoje = DateTime.Now;

      System.Console.WriteLine("A data hoje é: {0:d}", hoje);

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

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

A data hoje é: 23/03/2021


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

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C

Quantidade de visualizações: 3191 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem C:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[]){
  float c = 36.056; // medida da hipotenusa
  float b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da cateto oposto
  float a = sqrt(pow(c, 2) - pow(b, 2));
 
  // e mostramos o resultado
  printf("A medida do cateto oposto é: %f", a);
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

A medida do cateto oposto é: 20.000877

Como podemos ver, o resultado retornado com o código C confere com os valores da imagem apresentada.


PHP ::: Dicas & Truques ::: Gráficos e Cores

Computação gráfica em PHP - Como obter informações sobre a biblioteca GD instalada

Quantidade de visualizações: 8182 vezes
Nesta dica vou mostrar como é possível efetuar uma chamada ao método gd_info() da linguagem PHP para verificar quais recursos da biblioteca GD estão habilitados em nossa instalação do PHP.

Veja o código abaixo:

<?php
  // vamos efetuar uma chamada à função gd_info()
  $info = gd_info();
  // agora percorremos as entradas
  foreach($info as $chave => $valor){
    if($chave != "GD Version"){
      if($valor == true || $valor == false){
        if($valor == true){
          $valor = "Habilitado";
        }
        elseif($valor == false){
          $valor = "Desabilitado";
        }
      }
    }
     
    echo "$chave: $valor<br>";
  }
?>

Ao executarmos este código nós teremos um resultado parecido com:

GD Version: bundled (2.1.0 compatible)
FreeType Support: Habilitado
FreeType Linkage: Habilitado
GIF Read Support: Habilitado
GIF Create Support: Habilitado
JPEG Support: Habilitado
PNG Support: Habilitado
WBMP Support: Habilitado
XPM Support: Habilitado
XBM Support: Habilitado
WebP Support: Habilitado
BMP Support: Habilitado
TGA Read Support: Habilitado
JIS-mapped Japanese Font Support: Desabilitado

É sempre bom fazer este teste antes de usar as funções gráficas da GD no PHP.


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

Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com Java

Quantidade de visualizações: 944 vezes
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo.

Para melhor entendimento, veja a imagem a seguir:



Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500.

Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games.

Veja o código completo para o exemplo:

package estudos;

// vamos declarar a classe Circulo
class Circulo{
  double xc;
  double yc;
  double raio;
  
  public Circulo(double xc, double yc, double raio){
    this.xc = xc; // x do centro
    this.yc = yc; // y do centro
    this.raio = raio; // raio do círculo
  }
}
  
// agora vamos declarar a classe Ponto
class Ponto{
  double x;
  double y;
  
  public Ponto(double x, double y){
    this.x = x; // coordenada x
    this.y = y; // coordenada y	
  }
}

// classe principal da aplicação
public class Estudos{
  public static void main(String[] args){
    // vamos criar um objeto Circulo
    Circulo c = new Circulo(205, 166, 115);
    // vamos criar um objeto Ponto
    Ponto p = new Ponto(140, 90);
  
    // vamos verificar se o ponto está dentro do
    // círculo
    double dx = p.x - c.xc;
    double dy = p.y - c.yc;
    if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
      System.out.println("O ponto está dentro do círculo");  
    }
    else{
      System.out.println("O ponto NÃO está dentro do círculo");  
    }
  }
}

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

O ponto está dentro do círculo.

Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes.


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

Exercícios Resolvidos de Python - Como retornar o primeiro elemento de um vetor em Python

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

Escreva um programa Python que mostra como acessar e retornar o primeiro elemento de um vetor (array) em Python.

Sua saída deverá ser parecida com:

Os elementos do vetor são: [9, 5, 3, 2, 4, 8]
O primeiro elemento do array é: 9 
Resposta/Solução:

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

# função principal do programa
def main():
  # vamos criar um array de inteiros
  valores = [9, 5, 3, 2, 4, 8]
  print("Os elementos do vetor são: {0}".format(valores))
    
  # agora vamos retornar o primeiro elemento do vetor
  primeiro = valores[0]
    
  # e mostramos o resultado
  print("O primeiro elemento do array é: {0}".format(primeiro))
  
if __name__== "__main__":
  main()



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

Exercícios Resolvidos de Python - Escreva um programa Python para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array

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

Dado o seguinte vetor de inteiros:

# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
Escreva um programa Python para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
Resposta/Solução:

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

# método principal
def main():
  # vamos declarar e construir um vetor de 8 inteiros
  valores = [0, 3, 0, 5, 7, 4, 0, 9]
    
  # vamos mostrar o vetor na ordem original
  print("Vetor na ordem original:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
  # vamos inicializar j como 0 para que ele aponte para
  # o primeiro elemento do vetor
  j = 0
    
  # agora o laço for percorre todos os elementos do vetor,
  # incrementanto a variável i e deixando o j em 0
  for i in range(len(valores)):
    # encontramos um valor que não é 0
    if(valores[i] != 0):
      # fazemos a troca entre os elementos nos índices
      # i e j
      temp = valores[i]
      valores[i] = valores[j]
      valores[j] = temp
      # e avançamos o j para o elemento seguinte
      j = j + 1
    
  # agora mostramos o resultado
  print("\n\nVetor com os zeros deslocados para o final:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
if __name__== "__main__":
  main()

Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e Matrizes em PHP - Como sortear um ou mais elementos de um vetor em PHP

Quantidade de visualizações: 14807 vezes
Nesta dica mostrarei como usar a função array_rand() da linguagem PHP para sortear elementos de um vetor (array). Coloque o código abaixo na sua página e atualize-a várias vezes para ver o resultado:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $pessoas = array();  
  $pessoas[0] = "Carlos";
  $pessoas[1] = "Juliana";
  $pessoas[2] = "Igor";
  $pessoas[3] = "Marcelo";
 
  // sorteia um elemento
  $sorteado = array_rand($pessoas, 1);
  echo "O sorteado foi: " . $pessoas[$sorteado] . 
    "<br><br>";
 
  // sorteia dois elementos
  $sorteados = array_rand($pessoas, 2);
  echo "Os sorteados foram: <br>";
  for($i = 0; $i < count($sorteados); $i++){
    echo $pessoas[$sorteados[$i]] . "<br>";
  }
?>

</body>
</html>

Ao executar este código nós teremos um resultado parecido com:

O sorteado foi: Carlos

Os sorteados foram:
Carlos
Igor


Java ::: Coleções (Collections) ::: Set (Conjunto)

Java Collections - Como usar a interface Set em seus códigos Java

Quantidade de visualizações: 5163 vezes
A interface Set estende a interface Collection mas não adiciona novos métodos ou constantes. Em vez disso, esta interface define que uma instância de Set não contenha elementos duplicados. Esta responsabilidade é transferida para as classes que implementam a interface.

A classe abstrata AbstractSet é uma classe de conveniência que herda da classe também abstrata AbstractCollection e implementa a interface Set. A classe AbstractSet fornece implementações concretas para os métodos equals() e hashCode(). Estes métodos permitem a funcionalidade da não permissão de elementos duplicados nos conjuntos.

As classes concretas mais conhecidas da interface Set são:

HashSet - Esta classe é implementada em cima de uma tabela hash, ou seja, um array (matriz) na qual os elementos são armazenados em posições calculadas de acordo com o seu conteúdo. Uma característica interessante de HashSet é que os elementos raramente são retornados na mesma ordem na qual foram inseridos.

LinkedHashSet - Esta classe estende a classe HashSet com uma implementação de lista ligada (linked list) que permite a ordenação dos elementos no conjunto.

TreeSet - Esta classe é uma classe concreta que implementa a interface SortedSet. A interface SortedSet é uma sub-interface de Set que garante que os elementos no conjunto estejam ordenados. Além disso, esta interface fornece os métodos first() e last() para acessar o primeiro e o último elemento do conjunto. Há ainda os métodos headSet(toElement) e tailSet(fromElement) para retornar uma faixa do conjunto cujos elementos sejam "menores" que toElement e "maiores" que fromElement.

Seja qual for a implementação de Set que você queira usar, é sempre uma boa idéia codificar em cima da interface. Isso facilita a troca de HashSet por TreeSet ou vice-versa sem grandes modificações no seu código.

Veja um exemplo no qual usamos a classe concreta HashSet para representar um conjunto de cinco strings únicas:

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<String> conjunto = new HashSet<>();
    
    // vamos inserir cinco elementos no Set
    conjunto.add("Açucar");
    conjunto.add("Macarrão");
    conjunto.add("Feijão");
    conjunto.add("Carne");
    conjunto.add("Maionese");
    
    // vamos exibir os elementos inseridos
    Iterator iterator = conjunto.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}


Ao executar este trecho de código teremos um resultado parecido com:

Macarrão
Feijão
Carne
Açucar
Maionese

Note que raramente os elementos serão exibidos na ordem na qual eles foram inseridos. Experimente agora trocar a linha:

Set<String> conjunto = new HashSet<>();

por

Set<String> conjunto = new LinkedHashSet<>();

Execute o código novamente e verá que agora os elementos são exibidos na mesma ordem que foram inseridos.


Python ::: Dicas & Truques ::: Data e Hora

Como obter um datetime da data e hora atual usando o método today() da classe datetime da linguagem Python

Quantidade de visualizações: 10619 vezes
Neste exemplo mostrarei como podemos usar o método today() da classe datetime do Python para retornar a data e hora local.

Veja o código completo:

from datetime import datetime

def main():
  # Obtém um datetime da data e hora atual
  hoje = datetime.today()
 
  # Exibe o conteúdo do datetime
  print("Hoje é: " + str(hoje))
 
if __name__== "__main__":
  main()

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

Hoje é: 2018-03-03 15:54:01.477809


Java ::: Coleções (Collections) ::: ArrayList

Como escrever um método que retorna um objeto da classe ArrayList do Java

Quantidade de visualizações: 16430 vezes
Em algumas situações precisamos escrever um método Java que retorna um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito:

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos obter o ArrayList do método abaixo    
    ArrayList<String> lista = obterLista();

    // vamos exibir os valores dos elementos
    for(int i = 0; i < lista.size(); i++){
      System.out.println(lista.get(i));
    }
    
    System.exit(0);
  }

  // um método que retorna um ArrayList
  public static ArrayList<String> obterLista(){
    // vamos criar um ArrayList, adicionar alguns elementos
    // e devolvê-la ao chamador do método
    ArrayList<String> nomes = new ArrayList<String>();
    nomes.add("Osmar J. Silva");    
    nomes.add("Fernanda de Castro");
    nomes.add("Marcos de Oliveira");

    return nomes;
  }
}


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