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 ::: Strings e Caracteres

Como obter parte de uma string usando a função substr() da linguagem PHP

Quantidade de visualizações: 184 vezes
Nesta dica eu mostrarei como podemos usar a função substr() do PHP para obter uma substring a partir de uma string, ou seja, parte de uma palavra, frase ou texto. Esta técnica é muito útil em aplicações PHP que efetuam manipulação de texto.

A função substr() possui três parâmetros:

substr(string, início, comprimento)
Veja que precisamos fornecer a string a partir da qual nós queremos obter uma parte, o índice inicial e o comprimento da parte a ser obtida.

Veja um código completo demonstrando seu uso:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  $frase = "Gosto muito de programar em PHP.";
  // vamos obter uma parte dessa frase.  
  $parte = substr($frase, 6, 5); 
  // mostra o resultado
  echo $frase . "<br>";
  echo "Parte obtida: " . $parte;
?>  

</body>
</html>

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

Gosto muito de programar em PHP.
Parte obtida: muito


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

Adicionando três elementos ao final de um vetor em JavaScript usando o método push() do objeto Array - Como adicionar elementos ao final de um vetor usando JavaScript - Revisado

Quantidade de visualizações: 7312 vezes
Neste dica mostrarei como usar o método push() do objeto Array da linguagem JavaScript para adicionar três elementos ao final de um vetor. Veja o código completo, incluindo a página HTML que permite executar o exemplo:

<html>
<head>
  <meta charset="utf-8">
  <title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos declarar e instanciar um vetor com 5 elementos
  var valores = new Array(1, 2, 3, 4, 5);
  document.write("Valores no vetor: " + valores + "<br>");
  
  // agora vamos adicionar mais três elementos
  valores.push(6, 7, 8);
  document.write("Valores no vetor: " + valores);
</script>

</body>
</html>

Ao abrir esta página HTML nós teremos o seguinte resultado:

Valores no vetor: 1,2,3,4,5
Valores no vetor: 1,2,3,4,5,6,7,8


Python ::: Dicas & Truques ::: Lista (List)

Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada uma

Quantidade de visualizações: 8270 vezes
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List.

Veja o código completo para a dica:

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda']
 
  # exibe a lista na ordem original
  print(nomes)
  
  # ordena a lista
  nomes.sort(key = len)
 
  # exibe a lista ordenada
  print(nomes)

if __name__== "__main__":
  main()

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

['Carlos', 'Igor', 'Osmar', 'Fernanda']
['Igor', 'Osmar', 'Carlos', 'Fernanda']


Python ::: Dicas & Truques ::: Lista (List)

Como contar quantas vezes um elemento aparece em uma lista do Python usando a função count()

Quantidade de visualizações: 8367 vezes
Em várias situações nós precisamos contar as ocorrências de um item em uma List do Python, ou seja, queremos saber quantas vezes um determinado elemento aparece na lista. Para isso nós podemos usar a função count() do objeto List.

Veja um código Python completo demonstrando seu uso:

# função principal do programa
def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 2, 17]

  # vamos mostrar o conteúdo dessa lista
  print("Conteúdo da lista: {0}".format(valores))

  # verifica a quantidade de vezes que o
  # valor 2 aparece
  print("O valor 2 aparece", valores.count(2), "vezes")  
  
if __name__== "__main__":
  main()

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

Conteúdo da lista: [2, 5, 12, 2, 3, 2, 17]
O valor 2 aparece 3 vezes


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

Como calcular o cosseno de um ângulo em C usando a função cos() do header math.h - Calculadora de cosseno em C

Quantidade de visualizações: 11237 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 C. Esta função, que faz parte do header math.h, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main(int argc, char *argv[]){
  // vamos calcular o cosseno de três números
  printf("Cosseno de 0 = %f\n", cos(0));
  printf("Cosseno de 1 = %f\n", cos(1));
  printf("Cosseno de 2 = %f\n", cos(2));
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C 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 ::: Imagens e Processamento de Imagens

Manipulação de imagens em Java - Como carregar imagens JPG (JPEG), GIF ou PNG usando o método getImage() da classe Toolkit

Quantidade de visualizações: 23930 vezes
O método getImage() da classe Toolkit retorna um objeto da classe Image que obtém informações de imagem (pixels) a partir do caminho informado. Veja que este método não verifica se a imagem informada para o método existe ou se foi carregada com sucesso. Veja mais dicas nesta seção para aprender a realizar tais tarefas.

O código abaixo mostra como chamar o método getImage() para carregar uma imagem ao clicar em um botão:

package arquivodecodigos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  private Image imagem = null;  
 
  public Estudos() {
    super("Estudos Java");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
     
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          // imagem a ser carregada
          String minhaImagem = "C:\\estudos_java\\lago.jpg";          
 
          // Obtém o Toolkit padrão
          Toolkit toolkit = 
            Toolkit.getDefaultToolkit();
          imagem = toolkit.getImage(minhaImagem);
 
          JOptionPane.showMessageDialog(null, 
            "A imagem  foi carregada. Agora é só manipulá-la.");
        }
      }
    );
 
    c.add(btn);
         
    setSize(400, 300);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

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

A imagem foi carregada. Agora é só manipulá-la.


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

Java Collections - Como adicionar novos elementos a uma Stack Java

Quantidade de visualizações: 9351 vezes
Elementos são adicionados a uma pilha (um objeto da classe Stack) por meio do método push(). Veja sua assinatura:

public E push(E item)
Veja que este método nos permite adicionar o elemento E no topo da pilha e ao mesmo tempo obter uma referência ao elemento adicionado. É claro que raramente esta referência é útil, mas é bom saber exatamente a operação fornecida pelo método.

Veja um trecho de código no qual adicionamos três elementos à pilha:

package arquivodecodigos;

import java.util.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    // Cria uma Stack de String
    Stack<String> pilha = new Stack<>();
    System.out.println("Tamanho da pilha antes: " +
      pilha.size());
    
    // adiciona três elementos na pilha
    pilha.push("Cuiabá");
    pilha.push("Goiânia");
    pilha.push("Belo Horizonte");
    
    System.out.println("Tamanho da pilha agora: " +
      pilha.size());
  } 
}

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

Tamanho da pilha antes: 0
Tamanho da pilha agora: 3


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


LISP ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Como declarar variáveis globais em Lisp usando as funções defvar e defparameter

Quantidade de visualizações: 1133 vezes
Em algumas situações nós precisamos declarar variáveis globais em Lisp, ou melhor, em Common Lisp, que é a padronização da Lisp que adotamos para estas dicas.

Variáveis globais em Common Lisp se comportam de forma idêntica àquelas de outras linguagens de programação, ou seja, possuem valores permanentes por todo o sistema Lisp e mantém seus valores até que novos valores são especificados.

Se quisermos, por exemplo, a partir do corpo de uma função acessar uma variável fora dela, então esta variável deverá ser declarada globalmente.

Em Common List nós podemos declarar variáveis globais usando as funções defvar e defparameter. Vamos ver exemplos envolvendo as duas e no final desta dica eu mostro a diferença.

Veja um trecho de código Common Lisp na qual declaramos uma variável global chamada valor e a acessamos de dentro de uma função:

; vamos declarar uma variável global
(defvar valor 10)

; vamos mostrar o valor atual da variável global
(format t "O valor da variável global é ~D" valor)

; agora vamos acessar a variável global
; de dentro de uma função
(defun ModificaValor()
  ; vamos alterar o valor da variável global
  (setq valor 50)
)

; chamamos a função ModificaValor
(ModificaValor)

; e checamos se o valor da variável global foi
; mesmo alterado
(terpri)
(format t "O valor da variável global é ~D" valor)

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

O valor da variável global é 10
O valor da variável global é 50

Veja agora um trecho de código Common Lisp no qual usamos a função defparameter para declarar e inicializar as variáveis globais:

; vamos declarar três variáveis globais
(defparameter *a* 5)
(defparameter *b* 3)
(defparameter *soma* 0)

; agora vamos acessar as variáveis globais
; de dentro de uma função
(defun Somar()
  ; vamos somar as duas variáveis globais
  ; e guardar o resultado em uma terceira
  ; variáveis global
  (setq *soma* (+ *a* *b*))
)

; chamamos a função Somar
(Somar)

; e mostramos o resultado da soma
(format t "A soma das variáveis globais é ~D" *soma*)

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

A soma das variáveis globais é 8

Note que coloquei asteríscos (*) ao redor dos nomes das variáveis globais. Esta é uma prática comum entre programadores Lisp e altamente recomendado pelo comunidade, pois facilita a distinção entre variáveis globais e locais.

Então, qual é a diferença entre defvar e defparameter?

A primeira delas é que a função defparameter nos obriga a informar o valor inicial para a variável global, enquanto a função defvar não o faz.

A segunda diferença é que, ao redefinirmos o valor de uma variável global usando defparameter, o valor armazenado anteriormente será sobreposto, enquanto a função defvar não altera o valor anterior.


Java ::: Dicas & Truques ::: Gráficos

Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenho

Quantidade de visualizações: 14092 vezes
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade.

Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException.

O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem:

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 uma linha");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          
          // Desenha uma linha no JLabel
          Graphics graphics = label.getGraphics();
          graphics.drawLine(0, 0, 150, 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.

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