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

Como converter radianos em graus em PHP usando a função rad2deg()

Quantidade de visualizações: 9819 vezes
As unidades graus e radianos são muito usadas em cálculos de trigonometria, especialmente em aplicações que lidam com geometria, topografia e engenharia.

O grau é de uso mais no cotidiano, pela sua praticidade, pois envolve na maioria dos casos números inteiros. O radiano, por sua vez, é de uso em cálculos envolvendo geralmente números racionais.

Este trecho de código PHP mostra como converter radianos em graus usando a função rad2deg().

<?php
  // vamos definir um valor em radianos 
  $radianos = 1.45;
  
  // agora vamos converter para graus
  $graus = rad2deg($radianos);
  echo $radianos . " radianos convertido para graus é " .
    $graus . "<br>";
	 
  // outra forma:
  echo $radianos . " radianos convertido para graus é " .
    ($radianos * 180) / pi();
?>

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

1.45 radianos convertido para graus é 83.078880293969


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: 16658 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 ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de Kadane

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

O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original.

O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício.

Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima.

Sua saída deverá ser parecida com:

A soma maxima é: 6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um array com 9 elementos
    int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
    
    // agora usamos o algoritmo de Kadane para encontrar
    // a maior soma consecutiva
    int soma_maxima = kadane(valores);
    System.out.println("A soma maxima é: " + soma_maxima);
  }
  
  // método que recebe um array e usa o algoritmo de Kadane
  // para retornar a maior soma consecutiva
  public static int kadane(int vetor[]){
    // ajustamos max_atual para 0 e max_total para -1 
    int max_atual = 0, max_total = -1;
    
    // um laço for que percorre todos os elementos do
    // vetor, do primeiro até o último
    for(int i = 0; i < vetor.length; i++){
      // max_atual recebe ele mesmo mais o valor
      // do elemento no índice i
      max_atual = max_atual + vetor[i];
      
      // se max_atual for negativo nós o ajustamos
      // para zero novamente
      if(max_atual < 0){
        max_atual = 0;
      }
      
      // se max_atual for maior que max_total então
      // max_total recebe o valor de max_atual
      if(max_atual > max_total){
        max_total = max_atual;
      }
    }
    
    // e retornamos a soma máxima
    return max_total;
  }
}



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

Exercício Resolvido de Ruby - Como percorrer os elementos de um array em Ruby usando a função each

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

Dado o seguinte array de int:

# vamos criar um array com 5 elementos
valores = [8, 3, 10, 4, 7]
Escreva um programa Ruby que usa a função each para percorrer os elementos deste array e exibir seus valores, todos na mesma linha e separados por espaço.

Sua saída deverá ser parecida com:

8 3 10 4 7
Resposta/Solução:

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

# vamos criar um array com 5 elementos
valores = [8, 3, 10, 4, 7]

# vamos usar a função each para percorrer
# os itens do array e exibir seus valores
valores.each { | valor | print valor.to_s + " " }

Veja agora essa mesma resolução usando uma pequena variação, dessa vez usando each...do:

# vamos criar um array com 5 elementos
valores = [8, 3, 10, 4, 7]

# vamos usar a função each para percorrer
# os itens do array e exibir seus valores
valores.each do | valor |
  print valor.to_s + " "
end



Java ::: Dicas & Truques ::: Data e Hora

Como validar uma data em Java usando a classe GregorianCalendar

Quantidade de visualizações: 13178 vezes
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    try{
      GregorianCalendar data = new GregorianCalendar();
      data.setLenient(false);
      data.set(GregorianCalendar.YEAR, 2008); // ano
      data.set(GregorianCalendar.MONTH, 11); // mês
      // dia inválido
      data.set(GregorianCalendar.DATE, 32);
      
      // a validação da data ocorre aqui
      Date temp = data.getTime();
    }
    catch(Exception e){
      System.out.println("Data inválida.");
      e.printStackTrace();
    }
  } 
}

Ao executarmos este código teremos o seguinte resultado:

Data inválida.
java.lang.IllegalArgumentException: DAY_OF_MONTH
at java.util.GregorianCalendar.computeTime(Unknown 
Source)
at java.util.Calendar.updateTime(Unknown Source)
at java.util.Calendar.getTimeInMillis(Unknown Source)
at java.util.Calendar.getTime(Unknown Source)
at Estudos.main(Estudos.java:14)



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

Como declarar e inicializar um array unidimensional em C usando a notação {}

Quantidade de visualizações: 14531 vezes
A notação {} é muito conveniente quando precisamos declarar e inicializar um vetor ou uma matriz em apenas uma linha. Veja o trecho de código abaixo:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // declara e inicializa um array de 5 inteiros
  int valores[5] = {43, 12, 8, 4, 102};
  int i;

  // exibe os valores do array
  for(i = 0; i < 5; i++){
    printf("%d\n", valores[i]);
  }

  system("PAUSE");
  return 0;
}

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

43
12
8
4
102


Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 6267 vezes
Como calcular a Distância Euclidiana entre dois pontos usando Java.

Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço).

Comece analisando a imagem abaixo:



Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y).

Veja a fórmula:

\[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\]

Agora, jogando os valores dos dois pontos da fórmula nós teremos:

\[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\]

Que resulta em 6,32 (aproximadamente).

E agora veja o código Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler os dados do primeiro ponto
    System.out.print("Informe o x do primeiro ponto: ");
    double x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o y do primeiro ponto: ");
    double y1 = Double.parseDouble(entrada.nextLine());
    
    // vamos ler os dados do segundo ponto
    System.out.print("Informe o x do segundo ponto: ");
    double x2 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o y do segundo ponto: ");
    double y2 = Double.parseDouble(entrada.nextLine());
    
    // vamos obter a distância entre eles
    double distancia = distancia2d(x1, y1, x2, y2);
    System.out.println("Distância entre os dois pontos: " +
      distancia);
  }
  
  // função que permite calcular a distância
  // entre dois pontos no plano (R2)
  public static double distancia2d(double x1, double y1,
                                  double x2, double y2){
    double a = x2 - x1;
    double b = y2 - y1;
    double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
    return c;
  }
}

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

Informe o x do primeiro ponto: 3
Informe o y do primeiro ponto: 6
Informe o x do segundo ponto: 9
Informe o y do segundo ponto: 4
Distância entre os dois pontos: 6.324555320336759


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

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

Quantidade de visualizações: 2101 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 Java.

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 Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double c = 36.056; // medida da hipotenusa
    double b = 30; // medida do cateto adjascente
  
    // agora vamos calcular a medida da cateto oposto
    double a = Math.sqrt(Math.pow(c, 2) - Math.pow(b, 2));
 
    // e mostramos o resultado
    System.out.println("A medida do cateto oposto é: " +
      a);
  }
}

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

A medida do cateto oposto é: 20.00087838071118

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


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Exercícios Resolvidos de Java - Como retornar o código ASCII associado a um caractere em Java - Ler um caractere e retornar o código ASCII correspondente

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

Escreva um programa Java que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente.

Sua saída deverá ser parecida com:

Informe um caractere: A
Você informou o caractere: A
O código ASCII correspondente é: 65
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar uma letra, símbolo ou pontuação
    System.out.print("Informe um caractere: ");
    
    // vamos ler o caractere informado
    char caractere = entrada.nextLine().charAt(0);
    
    // agora vamos obter o código ASCII correspondente
    int codigo = (int)caractere;
    
    // e mostramos o resultado
    System.out.println("Você informou o caractere: " + caractere);
    System.out.println("O código ASCII correspondente é: " + codigo);
  }
}

O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos.


PHP ::: Dicas & Truques ::: Variáveis e Constantes

Como verificar se uma variável contém um valor numérico válido - Usando a função is_numeric() do PHP - Revisado

Quantidade de visualizações: 22467 vezes
Em várias situações nós precisamos verificar se uma variável ou constante possui um valor numérico válido. Para isso podemos usar a função is_numeric() da linguagem PHP. Esta função retorna um valor true se o argumento for um valor númerico válido e false em caso contrário.

Veja um exemplo completo de seu uso:

<?
  /*
  Este trecho de código mostra como usar a função
  is_numeric para verificar se o valor de uma variável
  é um valor numérico válido
  */
   
  $valor = 34; // válido
  // $valor = "45,3"; // inválido
  // $valor = "45.4"; // válido
  // $valor = ".5"; // válido
  if(is_numeric($valor))
    echo "$valor é um valor numérico válido";
  else
    echo "$valor NÃO é um valor numérico válido";
?>

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

34 é um valor numérico válido

Esta dica foi revisada e testada no PHP 8.

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