Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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 Apenas R$ 32,90
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: 1265 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 ::: Dicas & Truques ::: Data e Hora

Como usar a classe GregorianCalendar do Java em suas aplicações

Quantidade de visualizações: 13684 vezes
[Baseado na documentação Java] - A classe GregorianCalendar (do pacote java.util) é uma classe concreta derivada de Calendar que fornece o sistema de calendário padrão usado em praticamente todos os países. Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.Calendar
    java.util.GregorianCalendar


As interfaces implementadas por esta classe são Serializable, Cloneable e Comparable<Calendar>.[br][br]

A classe GregorianCalendar é um calendário híbrido que suporta tanto o sistema de calendário juliano (Julian) quanto o gregoriano (Gregorian), com suporte para uma única descontinuidade, a qual corresponde por padrão à data gregoriana quando o calendário gregoriano foi instituido (15 de outubro de 1582 em alguns países, mais tarde em outros). Esta data pode ser alterada por meio de uma chamada ao método setGregorianChange().

Veja um trecho de código no qual criamos uma instância da classe GregorianCalendar usando a data e hora atual, o fuso horário (time zone) e localização (locale) padrão:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar agora = new GregorianCalendar();
    System.out.println(agora.toString());
  } 
}

Observe como instanciamos um objeto da classe GregorianCalendar e o tratamos como um objeto da classe Calendar. Esta forma de referenciar um objeto da classe derivada a partir de uma interface ou superclasse é muito comum em Java.


Python ::: Itertools ::: Iteradores de Combinação e Permutação

Como gerar permutações de uma string em Python usando o objeto permutations do módulo Itertools

Quantidade de visualizações: 940 vezes
Nesta dica mostrarei como podemos usar o objeto permutations do módulo Itertools para gerar as permutações simples de uma string.

Na permutação simples, quando os elementos não se repetem, a quantidade de conjuntos gerados a partir do conjunto analisado equivale a n!, onde n é a quantidade de elementos no conjunto a partir do qual a permutação ocorrerá.

Dessa forma, para a palavra LOTE, a quantidade de permutações possíveis (sem repetição) é 4! = 24.

Veja o código Python completo que gera as permutações simples para a palavra LOTE:

# vamos importar o objeto permutations do Itertools
from itertools import permutations

def main():
  # palavra contendo os caracteres que queremos
  # gerar a permutação. Veja que não vamos usar
  # caracteres repetidos
  palavra = "LOTE"

  # agora obtemos uma lista com as permutações possíveis
  permutacoes = [''.join(p) for p in permutations(palavra)]

  # e mostramos o resultado
  print("As permutações para a palavra {0} são:\n".format(palavra))
  print(permutacoes)

if __name__== "__main__":
  main()

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

As permutações para a palavra LOTE são:

['LOTE', 'LOET', 'LTOE', 'LTEO', 'LEOT', 'LETO', 'OLTE', 'OLET', 'OTLE', 'OTEL', 'OELT', 'OETL', 'TLOE', 'TLEO', 'TOLE', 'TOEL', 'TELO', 'TEOL', 'ELOT', 'ELTO', 'EOLT', 'EOTL', 'ETLO', 'ETOL']


C# ::: Windows Forms ::: TextBox

C# Windows Forms Avançado - Como rolar as linhas de um TextBox para o topo (parte superior) usando a API do Windows

Quantidade de visualizações: 7142 vezes
Em algumas situações gostaríamos de rolar para cima o conteúdo de um TextBox de múltiplas. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_TOP para seu parâmetro wParam. O valor do parâmetro lParam é zero.

Veja um trecho de código que rola para cima o conteúdo de um TextBox. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem.

Comece adicionando a linha:

using System.Runtime.InteropServices;

na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:

[DllImport("user32.dll", EntryPoint = "SendMessage", 
  CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, 
  IntPtr wParam, IntPtr lParam);

Finalmente coloque o código abaixo no evento Click de um botão:

private void button2_Click(object sender, EventArgs e){
  // antes de executar este exemplo certifique-se de que
  // a propriedade Multiline do TextBox esteja definida
  // como true e a propriedade ScrollBars contenha o valor
  // Vertical ou Both
  textBox1.Multiline = true;
  textBox1.ScrollBars = ScrollBars.Vertical;
    
  // constante para a mensagem WM_VSCROLL
  const uint WM_VSCROLL = 0x115;
  // constante para o parâmetro wParam
  const int SB_TOP = 6;
  
  // handle para a caixa de texto
  IntPtr handle = textBox1.Handle;
  IntPtr wParam = (IntPtr)SB_TOP;
  IntPtr lParam = IntPtr.Zero;
  
  // vamos fazer com que o TextBox role para o topo (parte superior)
  SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam);
}



C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

C++ para iniciantes - Como usar a instrução switch em C++

Quantidade de visualizações: 10600 vezes
A instrução switch é usada quando queremos testar várias possibilidades de fluxo de código mas não queremos usar vários else if. Desta forma, cada possibilidade é testada em um bloco case. Veja um exemplo:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  int valor = 4;

  switch(valor){
    case 0:
      cout << "Valor e igual a 0" << endl;
      break;
    case 1:
      cout << "Valor e igual a 1" << endl;
      break;
    case 2:
      cout << "Valor é igual a 2" << endl;
      break;
    default:
      cout << "Nenhuma das anteriores" << endl;
  }
    
  system("PAUSE");
  return EXIT_SUCCESS;
}

Veja que, se nenhuma das condições testadas em um bloco case for satisfatória, a parte default da instrução switch será executada.

A variável fornecida para uma instrução switch pode ser de qualquer tipo integral, ou de um tipo criado pelo usuário mas que pode ser convertido para um tipo integral (mesmo que seja uma conversão forçada - cast).


Java ::: Classes e Componentes ::: JTable

Apostila Java Swing - Como alterar o valor de uma célula da JTable em tempo de execução

Quantidade de visualizações: 462 vezes
Em algumas situações nós precisamos alterar ou definir o valor de uma determinada célula de uma tabela JTable em tempo de execução, ou seja, enquanto o programa Java Swing estiver sendo executado.

Para isso nós podemos usar o método setValueAt() da classe JTable. Tudo que precisamos fazer é fornecer o novo valor para a célula, assim como os índice da linha e da coluna na qual ela está localizada.

Veja o código Java completo:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    // colunas da tabela
    String[] colunas = {"Cidade", 
           "Estado", "Habitantes"};
         
    // conteúdo da tabela
         
    Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };
         
    // constrói a tabela
    final JTable tabela = new JTable(conteudo, colunas);
    tabela.setPreferredScrollableViewportSize(new 
        Dimension(350, 50));
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
         
    JButton btn = new JButton("Alterar valor 
            da 2ª célula - 1ª linha");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          tabela.setValueAt("Teste", 0, 1);
        }
      }
    );
         
    JScrollPane scrollPane = new JScrollPane(tabela);
        c.add(scrollPane);
    c.add(btn);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Java ::: Pacote java.awt.event ::: KeyEvent

Java Swing - Como obter o código da tecla pressionada usando o método getKeyCode() da classe KeyEvent do Java

Quantidade de visualizações: 4532 vezes
O método getKeyCode() da classe KeyEvent é usado quando queremos obter o código da tecla pressionada durante um evento KEY_PRESSED ou KEY_RELEASED. Para o evento KEY_TYPED, o keyCode é VK_UNDEFINED.

Veja um trecho de código no qual usamos o método getKeyCode() para obter e informar o código da tecla pressionada durante um evento keyPressed:

package estudos;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Janela extends JFrame implements KeyListener{
  public Janela(){
    super("Eventos do Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    
    // vamos adicionar o objeto listener 
    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  @Override
  public void keyPressed(KeyEvent e){
    // vamos obter o código da tecla pressionada
    int codigo = e.getKeyCode();
    JOptionPane.showMessageDialog(null, "O código da tecla pressionada é: " + codigo);  
  }
    
  @Override
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  @Override
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Janela j = new Janela();
    j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este código e pressionarmos uma tecla nós teremos o seguinte resultado:

O código da tecla pressionada é: 65

É importante observar que o código da tecla pode ser obtido somente nos eventos keyPressed e keyReleased. Para o evento keyTyped o retorno do método getKeyCode() é VK_UNDEFINED.


PHP ::: Dicas & Truques ::: Strings e Caracteres

Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma string

Quantidade de visualizações: 260 vezes
Os caracteres de uma string em PHP, ou seja, uma palavra, frase ou texto, podem ser acessados individualmente usando índices, igual fazemos com os vetores (o índice começando sempre em zero). Dessa forma, podemos tanto obter um determinado caractere quanto acessá-lo e modificá-lo.

Veja um código PHP completo demonstrando o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nome = "Carlos de Jesus";
  echo "Original: " . $nome . "<br>";
  echo "Vou alterar o 11º caractere.<br>";
  $nome[10] = "M";
  echo "Modificado: " . $nome;
?>

</body>
</html>

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

Original: Carlos de Jesus
Vou alterar o 11º caractere.
Modificado: Carlos de Mesus


JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String

Quantidade de visualizações: 314 vezes
Em várias situações nós precisamos obter a quantidade de caracteres, ou seja, o tamanho de uma palavra, frase ou texto em JavaScript. Para isso nós podemos usar a propriedade length do objeto String.

A propriedade length do objeto String da linguagem JavaScript nos retorna um valor inteiro representando a quantidade de caracteres na string, incluindo espaços em branco e pontuações.

Veja o código JavaScript completo para o exemplo:

<!doctype html>
<html>
<head>
  <title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos declarar uma nova string
  var frase = "JavaScript é bom demais";
  
  // agora vamos obter o tamanho da string
  var tam = frase.length;
  
  // e mostramos o resultado
  window.alert("Esta string possui " + tam 
    + " caracteres.");
</script>
  
</body>
</html>

Ao abrir esta página HTML no navegador nós teremos uma mensagem window.alert() com o seguinte conteúdo:

Esta string possui 23 caracteres.


VB.NET ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cosseno de um ângulo em VB.NET usando a função Cos() da classe Math - Calculadora de cosseno em VB.NET

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

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

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

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

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função Cos() da linguagem VB.NET. Esta função, que é um método da classe Math, recebe um valor numérico Double e retorna um valor Double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:

Imports System

Module Program
  Sub Main(args As String())
    ' vamos calcular o cosseno de três números
    Console.WriteLine("Cosseno de 0 = " & Math.Cos(0))
    Console.WriteLine("Cosseno de 1 = " & Math.Cos(1))
    Console.WriteLine("Cosseno de 2 = " & Math.Cos(2))

    Console.WriteLine("\nPressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

Cosseno de 0 = 1
Cosseno de 1 = 0,5403023058681397
Cosseno de 2 = -0,4161468365471424

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



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