Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
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
Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como gerar um número aleatório de 0 a 10 em Delphi usando a função Random()

Quantidade de visualizações: 29292 vezes
Em algumas situações precisamos gerar números randômicos. Em Delphi isso pode ser feito com o auxílio da função Random(). Esta função aceita um valor inteiro e retorna um número aleatório maior ou igual a 0 e menor que o valor fornecido. Assim, se quisermos obter um número randômico na faixa de 0 a 10, só precisamos fornecer o valor 11 para a função Random(). Note ainda a chamada à função Randomize(), usada para iniciar o gerador de números randômicos.

Veja um exemplo no qual geramos um número aleatório na faixa de 0 a 10:

procedure TForm1.Button1Click(Sender: TObject);
var
  numero: integer;
begin
  // vamos iniciar o gerador de números randômicos
  Randomize;

  // vamos gerar um número aleatório entre 0 e 10
  numero := Random(11);

  // exibe o resultado
  ShowMessage('Número gerado: ' + IntToStr(numero));
end;

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


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: 14074 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.


JavaScript ::: URLs e Parâmetros de URLs ::: URLSearchParams

Como obter a quantidade de parâmetros em um objeto URLSearchParams do JavaScript

Quantidade de visualizações: 1060 vezes
Em algumas situações nós precisamos saber quantos parâmetros de URL foram informados em um objeto URLSearchParams. Para isso nós só precisamos converter o Map representado por URLSearchParams em um array bidimensional usando Array.from(). A partir daí é só chamar a propriedade length do array.

Veja o código completo para o exemplo:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  
<title>Acessando parâmetros de URL</title>
   
</head>
<body>
  
<script type="text/javascript">
  // vamos obter a URL atual e seus parâmetros GET
  var parametros = new URLSearchParams(window.location.search);
  window.alert("Quantidade de parâmetros: " + Array.from(parametros).length);
</script>
   
</body>
</html>

Ao executar este exemplo JavaScript com a URL:

http://localhost/estudos/index.php?nome=Osmar&idade=39

nós teremos uma mensagem window.alert() com o seguinte texto:

Quantidade de parâmetros: 2


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como usar a função ReverseString() do Delphi para inverter o texto de uma palavra ou frase em Delphi - Invertendo o conteúdo de uma string usando Delphi

Quantidade de visualizações: 26051 vezes
Em algumas situações precisamos inverter o conteúdo de uma string, ou seja, alterar a ordem de seus caracteres de forma que a string fique de trás para frente.

Em Delphi isso pode ser feito com o auxílio da função ReverseString(). Esta função recebe uma string e devolve outra string invertida. Veja um exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  nome: string; // declara uma variável do tipo string
begin
  nome := 'Osmar J. Silva';

  // vamos inverter o conteúdo da string
  nome := ReverseString(nome);

  // vamos exibir o resultado
  ShowMessage(nome);
end;

Não se esqueça de adicionar a unit StrUtils na cláusula uses de seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o condicional If...Then e If...Then...Else em VB.NET

Quantidade de visualizações: 18187 vezes
Uma das estruturas condicionais mais usadas em VB.NET é o If...Then. Esta estrutura avalia uma condição e executa um bloco de códigos baseado no resultado. Veja um exemplo:

Dim valor As Integer = 10

If valor > 9 Then
  Console.WriteLine("Valor é maior que 10")
End If

Há casos em que queremos que um bloco de códigos seja também executado caso a condição avaliada retorne um valor falso. Para isso podemos usar a estrutura If...Then...Else. Veja:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
Else
  Console.WriteLine("Valor é menor ou igual a 10")
End If

Veja agora como é possível testarmos três condições:

Dim valor As Integer = 10

If valor > 10 Then
  Console.WriteLine("Valor é maior que 10")
ElseIf valor < 10 Then
  Console.WriteLine("Valor é menor que 10")
Else
  Console.WriteLine("Valor é igual a 10")
End If

Todos os testes efetuados em uma estrutura If precisam retornar um valor True ou False. Veja como isso é verdade no trecho de código a seguir:

Dim valor As Integer = 15

If (valor > 10) = True Then
  Console.WriteLine("Valor é maior que 10")
End If

Veja que usamos parênteses ao redor da condição para deixar claro a quem ler nosso código, que a condição é testada e só então seu resultado é comparado com a palavra-chave True. Podemos usar mais parênteses. Veja:

Dim valor As Integer = 15

If ((valor > 10) = True) Then
  Console.WriteLine("Valor é maior que 10")
End If

O compilador nunca reclama dos parênteses. Podemos usá-los à vontade para tornar o código mais légivel.


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

Exercícios Resolvidos de Python - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em Python

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

Escreva um programa Python que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10().

Sua saída deverá ser parecida com:

Informe um número inteiro: 48763
A soma do primeiro e do último dígito é: 7
Resposta/Solução:

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

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos pedir para o usuário informar um número inteiro
  numero = int(input("Informe um número inteiro: "))
    
  # vamos obter a quantidade (-1) de dígitos no número informado
  quant = int(math.log10(numero))
  primeiro_digito = (int)(numero / pow(10, quant))
  ultimo_digito = numero % 10
  	
  # soma o primeiro e o último dígito
  soma = primeiro_digito + ultimo_digito
	
  # mostra o resultado
  print("A soma do primeiro e do último dígito é: {0}".format(soma))
  
if __name__== "__main__":
  main()



Delphi ::: VCL - Visual Component Library ::: TComboBox

Como detectar o evento OnSelect da classe TComboBox do Delphi

Quantidade de visualizações: 13603 vezes
O evento OnSelect da classe TComboBox é disparado quando o usuário seleciona um item (uma string) na lista drop-down do componente. Este evento possui a seguinte assinatura:

property OnSelect: TNotifyEvent;

Um evento do tipo TNotifyEvent não possui parâmetros específicos ao evento ocorrido. Assim, no evento OnSelect temos acesso somente ao parâmetro Sender, do tipo TObject, que nos informa em qual componente o evento ocorreu.

Vamos ver um exemplo? Veja o código para o tratamento do evento OnSelect de um ComboBox. Aqui, todas as vezes que o evento disparar, nós vamos exibir o valor do novo item:

procedure TForm3.ComboBox1Select(Sender: TObject);
begin
  // vamos mostrar o novo item selecionado
  ShowMessage('O novo item selecionado é: ' +
    ComboBox1.Items[ComboBox1.ItemIndex]);
end;

Note que o evento OnSelect é disparado somente após a mudança de seleção e, consequentemente, a atualização da propriedade Text, que deverá refletir o novo item.


LISP ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o laço loop para contar de 1 até 10 em Lisp

Quantidade de visualizações: 740 vezes
A estrutura de repetição loop da linguagem Common Lisp é o laço mais simples fornecido pela linguagem. Este laço nos permite repetir uma ou mais instruções de código repetidamente, até que o comando return seja encontrado, o que faz com que o laço seja interrompido.

Veja no trecho de código abaixo como podemos usar o laço loop da Common Lisp para contar e exibir os valores de 1 até 10:

(
  ; vamos declarar a variável que vamos usar
  let (numero)	
  ; vamos inicializar a variável com o valor 1
  (setq numero 1)
  ; agora iniciamos o laço
  (loop 
    ; escrevemos o valor da variável
    (write numero)
    ; aumentamos o valor da variável em 1
    (setq numero (+ numero 1))
    ; provocamos uma quebra de linha 
    (terpri)
    ; e fazemos o teste da continuidade
    (when (> numero 10) (return))
  )
)

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

1
2
3
4
5
6
7
8
9
10

Veja que usamos a macro when para testar o ponto de parada do laço. Note ainda o uso da função terpri da Common Lisp para provocar uma quebra de linha na saída do programa.


Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython

Como definir o ícone para uma janela wx.Frame do wxPython

Quantidade de visualizações: 7368 vezes
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida.

Veja o código completo para o exemplo:

# vamos importar a biblioteca Wx
import wx

# vamos criar uma classe que herda de wxFrame
class MinhaJanela(wx.Frame):
  def __init__(self):
    # chamamos o construtor da super classe
    wx.Frame.__init__(self, None, -1, 
      "Cadastro de Clientes", size=(350, 200))
    
    # Define o ícone para a janela
    self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO))

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



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

Como copiar todos os elementos de um Vector Java para um array

Quantidade de visualizações: 8099 vezes
Muitas vezes precisamos obter um array a partir de um Vector. Isso pode ser feito usando-se o método copyInto(). Veja sua assinatura:

public void copyInto(Object[] anArray)

Veja que os elementos do Vector são copiados para as mesmas posições no array. Assim, precisamos ficar atentos. Aqui podemos ter três exceções: NullPointerException (se o array fornecido como argumento for null), IndexOutOfBoundsException (se o array fornecido não for grande o suficiente para acomodar todos os elementos do array) e ArrayStoreException (se o tipo dos elementos do Vector não for de um tipo que pode ser armazenado no array fornecido como argumento).

O trecho de código abaixo mostra como copiar todos os elementos de um Vector de String para um array de String:

package estudos;

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // Cria o Vector
    Vector<String> nomes = new Vector<String>();

    // adiciona itens ao Vector
    nomes.addElement("Osmar");
    nomes.addElement("Marcos");
    nomes.addElement("Ingrid");

    // Cria o array
    String[] arrayNomes = new String[3];

    // copia os elementos do Vector para o array
    nomes.copyInto(arrayNomes);

    // Exibe o conteúdo do array
    for(int i = 0; i < arrayNomes.length; i++){
      System.out.println(arrayNomes[i]); 
    }     
  } 
}

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

Osmar
Marcos
Ingrid

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