Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

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

Datas e horas em PHP - Como obter o dia da data atual com dois dígitos

Quantidade de visualizações: 129 vezes
Em algumas situações nós precisamos obter o dia da data atual (ou qualquer outra data) como um número inteiro de dois dígitos. Para isso nós podemos usar a função date() com o argumento "d".

Veja o código PHP completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $dia = date("d");
  echo "O dia da data atual é: " . $dia;
?>
  
</body>
</html>

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

O dia da data atual é: 22


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

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

Quantidade de visualizações: 2305 vezes
Nesta dica mostrarei como é possível usar a linguagem C++ para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando 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.

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 a fazer a converter esta fórmula para código C++. Veja:

#include <iostream>
#include <math.h>
#include <cstdlib>
 
using namespace std;
 
int main(int argc, char *argv[]){
  float a = 20; // medida do cateto oposto
  float b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da hipotenusa
  float c = sqrt(pow(a, 2) + pow(b, 2));
 
  // e mostramos o resultado
  cout << "O comprimento da hipotenusa é: " << c << "\n\n";
	 
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

O comprimento da hipotenusa é: 36.0555

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


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como obter a quantidade de linhas em um controle TDBGrid do Delphi (duas formas)

Quantidade de visualizações: 10756 vezes
A quantidade de linhas em um controle TDBGrid pode ser obtida de duas formas diferentes. A primeira consiste em fazer uma conversão de TDBGrid para TStringGrid e usar a propriedade RowCount. Veja:

procedure TForm3.Button3Click(Sender: TObject);
var
  quantLinhas: Integer;
begin
  // vamos obter a quantidade de linhas no DBGrid
  quantLinhas := TStringGrid(DBGrid1).RowCount;

  // vamos mostrar o resultado
  ShowMessage('O DBGrid possui ' + IntToStr(quantLinhas) + ' linhas.');
end;

Ao executar este código você verá um mensagem parecida com:

"O DBGrid possui 5 linhas."

Note que a propriedade RowCount inclui a linha reservada aos títulos das colunas do DBGrid, ou seja, uma linha a mais que a quantidade de registros no controle.

A segunda forma de se obter a quantidade de linhas no DBGrid consiste em obter a quantidade de registros no TDataSet no qual o DBGrid está conectado por meio de sua propriedade DataSource. Veja como isso pode ser feito:

procedure TForm3.Button3Click(Sender: TObject);
var
  quantLinhas: Integer;
begin
  // vamos obter a quantidade de linhas no DBGrid
  quantLinhas := DBGrid1.DataSource.DataSet.RecordCount;

  // vamos mostrar o resultado
  ShowMessage('O DBGrid possui ' + IntToStr(quantLinhas) + ' linhas.');
end;

Veja que aqui nós usamos a propriedade RecordCount para obter a quantidade de registros no DataSet. Note que agora a contagem de linhas não inclui a linha reservada para os títulos das colunas.

Esta dica foi escrita e testada no Delphi 2009.


Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Portugol Básico

Exercícios Resolvidos de Portugol - Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessárias

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

Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado.

Sua saída deverá ser parecida com:

Informe a potência da lâmpada (em watts): 100
Informe a largura do cômodo (em metros): 6
Informe o comprimento do cômodo (em metros): 4
Serão necessárias 4 lâmpadas.
Resposta/Solução:

Veja a resolução completa para o exercício em Portugol, comentada linha a linha (na resolução eu usei o Portugol Webstudio):

programa {
  // vamos incluir a biblioteca Tipos
  inclua biblioteca Tipos --> tp
  
  funcao inicio() {
    // variáveis usadas na resolução do problema
    real potencia_lampada, largura_comodo, comprimento_comodo
    real area_comodo, potencia_total
    inteiro quant_lampadas
 
    // vamos ler a potência da lâmpada   
    escreva("Informe a potência da lâmpada (em watts): ")
    leia(potencia_lampada)
    
    // vamos ler a largura do cômodo
    escreva("Informe a largura do cômodo (em metros): ")
    leia(largura_comodo)
 
    // agora vamos ler o comprimento do cômodo
    escreva("Informe o comprimento do cômodo (em metros): ")
    leia(comprimento_comodo)

    // agora vamos calcular a área do cômodo
    area_comodo = largura_comodo * comprimento_comodo

    // calculamos a potência total necessária para iluminar
    // todo o cômodo
    potencia_total = area_comodo * 18

    // e finalmente calculamos a quantidade de lâmpadas necessárias
    quant_lampadas = tp.real_para_inteiro(potencia_total / potencia_lampada)

    // será necessário no mínimo uma lâmpada
    se (quant_lampadas == 0) {
      quant_lampadas = quant_lampadas + 1
    }

    // e mostramos o resultado
    escreva("Serão necessárias ", quant_lampadas, " lâmpadas.")
  }
}



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

Como calcular o ponto de interseção de duas retas em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 1375 vezes
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes.

Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Java. Mas, antes de vermos o código, dê uma olhada na seguinte imagem:



Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta.

Veja o código Java completo que nos auxilia na resolução deste problema:

package estudos;

// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
  double x, y;
  
  // construtor da classe
  public Ponto(double x, double y){
    this.x = x;
    this.y = y;
  }
}

public class Estudos {
  public static void main(String[] args) {
    // vamos construir os quatro pontos
    Ponto A = new Ponto(5, 7);
    Ponto B = new Ponto(9, -4);
    Ponto C = new Ponto(-8, 2);
    Ponto D = new Ponto(11, 6);
    
    // vamos obter a representação do segmento AB    
    double a1 = B.y - A.y;
    double b1 = A.x - B.x;
    double c1 = (a1 * A.x) + (b1 * A.y);
       
    // vamos obter a representação do segmento CD
    double a2 = D.y - C.y;
    double b2 = C.x - D.x;
    double c2 = (a2 * C.x) + (b2 * C.y);
    
    // obtém o determinante
    double determinante = (a1 * b2) - (a2 * b1);
    
    // as duas retas são paralelas?
    if(determinante == 0){
      System.out.println("\nAs duas retas são paralelas.\n");
    }
    else{
      // e construímos o ponto de intersecção
      double x = ((b2 * c1) - (b1 * c2)) / determinante;
      double y = ((a1 * c2) - (a2 * c1)) / determinante;
      Ponto inters = new Ponto(x, y);
    
      System.out.printf("O ponto de interseção é: x = %.2f; y = %.2f",
        inters.x, inters.y);
    }
    
    System.out.println();
  }
} 

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

O ponto de interseção é: x = 5,76; y = 4,90

De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas.


Java ::: Pacote java.awt ::: Graphics

Como desenhar linhas no Java Swing usando o método drawLine() da classe Graphics

Quantidade de visualizações: 15431 vezes
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:

public abstract void drawLine(int x1,
  int y1, int x2, int y2)


Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JLabel label;  

  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());

    // Cria um JLabel
    label = new JLabel();
    c.add(label, BorderLayout.CENTER);

    // Cria um botão
    JButton btn = new 
      JButton("Desenhar Linhas");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          
          Graphics graphics = label.getGraphics();
          
          // desenha linhas no JLabel
          graphics.drawLine(10, 15, 100, 10);
          graphics.drawLine(20, 30, 80, 150);
          graphics.drawLine(50, 50, 120, 30);
          graphics.drawLine(100, 100, 310, 100);    

        }
      }
    );
    
    // Adiciona o botão à janela
    c.add(btn, BorderLayout.SOUTH);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso.


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

Como calcular o cosseno de um ângulo em Python usando a função cos() do módulo Math - Calculadora de cosseno em Python

Quantidade de visualizações: 2640 vezes
Como calcular o cosseno de um ângulo em Python usando a função cos() do módulo Math - Calculadora de cosseno em Python

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 Python. Esta função, que faz parte do módulo Math, recebe um valor numérico float e retorna um valor float, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:

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

def main():
  # vamos calcular o cosseno de três números
  print("Cosseno de 0 = %f" % math.cos(0))
  print("Cosseno de 1 = %f" % math.cos(1))
  print("Cosseno de 2 = %f" % math.cos(2))
  
if __name__== "__main__":
  main()

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

Cosseno de 0 = 1.000000
Cosseno de 1 = 0.540302
Cosseno de 2 = -0.416147

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:




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

Como adicionar ou subtrair horas à data atual usando o método add() e a constante Calendar.HOUR da classe Calendar do Java

Quantidade de visualizações: 586 vezes
Nesta dica mostrarei como podemos usar a função add() e a constante Calendar.HOUR da classe Calendar do Java para adicionar ou subtrair horas de uma data. Veja o exemplo a seguir:

package estudos;

import java.util.Calendar;

public class Estudos {
  public static void main(String[] args) {
    // vamos construir uma instância da classe Calendar
    Calendar agora = Calendar.getInstance();
	   
    // vamos exibir a data e hora atuais
    System.out.println("Data e hora atual: " + 
      agora.getTime().toString());
    
    // adiciona 15 hora à hora atual
    agora.add(Calendar.HOUR, 13);
	   
    // mostra a data e hora com as 15 horas adicionadas
    System.out.println("Daqui a 15 horas: " + 
      agora.getTime().toString());
  }
}

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

Data e hora atual: Mon Jan 16 12:33:26 BRST 2023
Daqui a 15 horas: Tue Jan 17 01:33:26 BRST 2023

Se quisermos subtrair as horas ao invés de adicionar, basta fornecermos um valor negativo para o método add().


Python ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de uma substring em uma string Python usando a função count()

Quantidade de visualizações: 10227 vezes
Em várias ocasiões nós precisamos obter a quantidade de vezes que parte de uma palavra é encontrada em outra palavra, frase ou texto, ou seja, uma substring dentro de uma string. Para isso nós podemos usar o método count() da linguagem Python. Veja sua assinatura:

count(substring[, início[, fim]])
Se o início for definindo, a busca inicia a partir do índice informado (começando em 0). Se o argumento fim for informado, então a busca começa em ínicio e termina no índice fim.

Veja um código Python completo para este exemplo:

# função principal do programa
def main():
  frase = "Gosto de Python porque Python é muito bom"
 
  # conta as ocorrências de "Python"
  print("\"Python\" ocorreu", frase.count("Python"), "vezes.")
  
if __name__== "__main__":
  main()

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

"Python" ocorreu 2 vezes.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators)

Exercícios Resolvidos de Java - Como converter de decimal para binário usando os operadores de bits em Java

Quantidade de visualizações: 1034 vezes
Este exercício faz parte da nossa lista de desafios de programação em Java.

Pergunta/Tarefa:

Escreva um programa Java para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits.

Sua saída deverá ser parecida com:

Informe um número decimal: 9
O número binário é: 00000000000000000000000000001001
Resposta/Solução:

Veja a resolução completa para o exercício em Java, comentada linha a linha:

package estudos;

import java.util.Scanner;

public class Estudos {
  // vamos definir o tamanho do vetor para guardar
  // os dígitos do número binário
  final static int TAM_INT = Integer.BYTES * 8;
  
  public static void main(String[] args){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // variáveis para ajudar a resolver o problema
    int decimal, indice, i;
  
    // vetor para guardar o número binário
    int binario[] = new int[TAM_INT];

    // vamos pedir para o usuário informar um decimal inteiro
    System.out.print("Informe um número decimal: ");
    decimal = Integer.parseInt(entrada.nextLine());

    // ajustamos índice para o último elemento do vetor
    indice = TAM_INT - 1;

    // enquanto índice for maior ou igual a 0
    while(indice >= 0){
      // vamos guardar o bit menos significativo LSB
      binario[indice] = decimal & 1;
    
      // diminuímos o índice  100010
      indice--;

      // desloca bits para a direita uma posição
      decimal = decimal >> 1;
    }

    // agora vamos exibir o número binário
    System.out.print("O número binário é: ");
    for(i = 0; i < TAM_INT; i++){
      System.out.print(binario[i]);
    }
    
    System.out.println("\n\n");
  }
}


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


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


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 47 usuários muito felizes estudando em nosso site.