Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

PHP ::: Dicas & Truques ::: Matemática e Estatística

Como resolver uma equação do segundo grau em PHP - Como calcular Bhaskara em PHP

Quantidade de visualizações: 1386 vezes
Como resolver uma equação do 2º grau usando PHP

Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem PHP.

Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita.

Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0.

Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente.

Como resolver uma equação do 2º grau

Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns:

a) Fórmula de Bhaskara;
b) Soma e produto.

O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa.

Como resolver uma equação do 2º grau usando Bhaskara

Como nosso código PHP vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja:

\[\Delta =b^2-4ac\]

Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades:

a) Se determinante > 0, então a equação possui duas soluções reais.
b) Se determinante = 0, então a equação possui uma única solução real.
c) Se determinante < 0, então a equação não possui solução real.

Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara:

\[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\]

Vamos agora ao código PHP. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos pedir para o usuário informar os valores dos coeficientes
  echo "Valor do coeficiente a: ";
  $a = trim(fgets($entrada));
  echo "Valor do coeficiente b: ";
  $b = trim(fgets($entrada));
  echo "Valor do coeficiente c: ";
  $c = trim(fgets($entrada));
  
  // vamos calcular o discriminante
  $discriminante = ($b * $b) - (4 * $a * $c);
    
  // a equação possui duas soluções reais?
  if($discriminante > 0){
    $raiz1 = (-$b + sqrt($discriminante)) / (2 * $a);
    $raiz2 = (-$b - sqrt($discriminante)) / (2 * $a);
    echo "Existem duas raizes: x1 = " . $raiz1 . 
      " e x2 = " . $raiz2;
  }
  // a equação possui uma única solução real?
  else if($discriminante == 0){
    $raiz1 = $raiz2 = -$b / (2 * $a);
    echo "Existem duas raizes iguais: x1 = " . $raiz1 .
      " e x2 = " . $raiz2;
  }  	
  // a equação não possui solução real?
  else if($discriminante < 0){
    $raiz1 = $raiz2 = -$b / (2 * $a);
    $imaginaria = sqrt(-$discriminante) / (2 * $a);
    echo "Existem duas raízes complexas: x1 = " . $raiz1 .
      " + " . $imaginaria . " e x2 = " . $raiz2 . " - " . $imaginaria;
  }  
?> 

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

Valor do coeficiente a: 1
Valor do coeficiente b: 2
Valor do coeficiente c: -3
Existem duas raizes: x1 = 1 e x2 = -3


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

Java Collections - Como usar a classe HashMap da linguagem Java

Quantidade de visualizações: 37371 vezes
A classe HashMap, do pacote java.util, é uma das principais implementações da interface Map. Além de fornecer todas as operações opcionais de um map, esta classe permite a inserção de chaves e valores com o valor null. Em realidade, a classe HashMap é bem similar à classe Hashtable, com a diferença que HashMap não é sincronizada (tenha cuidado ao usuá-la em ambiente de múltiplas threads) e permite valores e chaves null.

Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.AbstractMap<K,V>
    java.util.HashMap<K,V>
Esta classe implementa ainda as interfaces Serializable, Cloneable e Map<K,V>. Algumas sub-classes conhecidas são LinkedHashMap e PrinterStateReasons.

O uso principal da classe HashMap é quando queremos associar chaves e valores e, posteriormente, recuperar valores baseados em suas chaves. Veja um exemplo no qual temos cidades e habitantes:

package arquivodecodigos;

import java.util.*;
 
public class Estudos{
  @SuppressWarnings("unchecked")
  public static void main(String[] args){
     
    // cria uma nova instância de HashMap
    HashMap cidadesHabitantes = new HashMap();
     
    // vamos adicionar algumas chaves e seus valores
    cidadesHabitantes.put("Goiânia", new Integer(4334598));
    cidadesHabitantes.put("São Paulo", new Integer(49282768));
    cidadesHabitantes.put("Brasília", new Integer(96736887));   
  
    // vamos obter uma view dos mapeamentos
    Set set = cidadesHabitantes.entrySet();
 
    // obtemos um iterador
    Iterator i = set.iterator();
 
    // e finalmente exibimos todas as chaves e seus valores
    while(i.hasNext()){
      Map.Entry entrada = (Map.Entry)i.next();
      System.out.println("Chave: " + entrada.getKey() + 
        " - Valor: " + entrada.getValue());
    }
 
    System.exit(0);
  }
}

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

Chave: Goiânia - Valor: 4334598
Chave: Brasília - Valor: 96736887
Chave: São Paulo - Valor: 49282768

Uma observação importante em relação à classe HashMap é que esta não honra nenhuma ordem específica de seus elementos, ou seja, a ordem dos pares chave-valor em uma operação de exibição pode ser bem diferente da ordem de inserção.


Python ::: wxPython ::: Controles Visuais Básicos do wxPython

Como exibir um botão em uma janela wx.Frame do wxPython, detectar um clique no botão e exibir uma caixa de mensagem wx.MessageDialog

Quantidade de visualizações: 7743 vezes
Nesta dica mostrarei como podemos usar a função Bind() do wxPython para indicar o código que será chamado ao clicar em um botão, ou seja, ao disparar um evento wx.EVT_BUTTON. Para isso criei uma função OnBtnClick() que é chamada e usa uma caixa de diálogo wx.MessageDialog para exibir uma mensagem indicando que o botão foi clicado.

Veja o código wxPython completo para o exemplo:

# vamos importar a biblioteca wxPython
import wx

class Janela(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, -1, 
      "Usando wx.Button", size=(350, 200))
    
    # Cria um painel
    panel = wx.Panel(self)

    # Cria um botão e o adiciona no painel
    btn = wx.Button(panel, label="Clique Aqui", 
      pos=(10, 10), size=(100, 25))

    # Anexa um evento ao botão
    self.Bind(wx.EVT_BUTTON, self.OnBtnClick, btn)

  # Método que será chamado ao clicar o botão
  def OnBtnClick(self, event):
    dlg = wx.MessageDialog(None, "Você clicou no botão!",
      "Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
    result = dlg.ShowModal()
    dlg.Destroy()

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



PHP ::: Fundamentos da Linguagem ::: Tipos de Dados

PHP para iniciantes - Como usar o tipo de dados float do PHP

Quantidade de visualizações: 13003 vezes
Números de ponto-flutuante, ou float (também conhecido com double ou real) representam números com casas decimais. Assim como o tipo integer, a faixa de limite deste tipo depende da arquitetura da máquina na qual o PHP está sendo executado. A faixa de números de ponto-flutuante em PHP equivale à faixa do tipo de dados double de seu compilador C. Geralmente esta faixa está entre 1.7E-308 e 1.7E+308 com 15 dígitos de precisão. Se precisarmos de uma precisão ainda maior, podemos usar as extensões BC e GMP.

O PHP reconhece números de ponto-flutuante escritos de duas formas diferentes. Eis a que usamos mais comumente:

3.14
0.017
-7.1

E a forma usando notação científica:

0.314E1   // 0.314*101, ou 3.14
17.0E-3   // 17.0*10-3, ou 0.017

Valores de ponto-flutuante são apenas representações aproximadas de números. Por exemplo, em muitos sistemas, 3,5 é na verdade representado como 3,4999999999. Isso quer dizer que devemos ter cuidado ao comparar valores de ponto-flutuante usando ==. O mais correto é comparar usando várias casas decimais:

if(int($a * 1000) == int($b * 1000)){
 // comparação baseada em três casas decimais
}

Se quisermos verificar se uma variável é do tipo float, podemos usar as funções is_float() ou is_real(). Veja:

<?
  $valor = 0.6;

  if(is_float($valor)){
    echo 'A variável $valor é do tipo float';
  }
?>



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

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