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.

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

Como retornar a quantidade de colunas do TDBGrid do Delphi em tempo de execução

Quantidade de visualizações: 9510 vezes
Em algumas situações precisamos obter a quantidade de colunas em um controle TDBGrid em tempo de execução. Isso pode ser feito por meio da propriedade Count da classe TDBGridColumns. Um controle TDBGrid possui uma referência a um objeto desta classe por meio de sua propriedade Columns.

Veja um trecho de código no qual clicamos em um botão e exibimos a quantidade de colunas em um DBGrid chamado "DBGrid1":

procedure TForm3.Button3Click(Sender: TObject);
var
  colunas: Integer;
begin
  // vamos obter a quantidade de colunas no DBGrid
  colunas := DBGrid1.Columns.Count;
  ShowMessage('O DBGrid possui ' + IntToStr(colunas) + ' colunas');
end;

Ao executar o código e clicar no botão você verá uma mensagem parecida com:

"O DBGrid possui 10 colunas".

Esta dica foi escrita e testada no Delphi 2009.


C# ::: Namespace System.Drawing ::: Graphics

Desenhando retângulos usando o método DrawRectangle() da classe Graphics do C#

Quantidade de visualizações: 7338 vezes
Retângulos podem ser desenhados em C# e Windows Forms usando o método DrawRectangle() da classe Graphics. Este método pede a caneta de desenho (um objeto da classe Pen), as coordenadas do canto superior esquerdo e a largura e altura do retângulo. Veja a assinatura do método DrawRectangle() mais comumente usada:

Graphics.DrawRectangle(Pen, Single, Single, Single, Single)


Veja um trecho de código no qual desenhamos um retângulo com 250 pixels de largura por 150 pixels de altura:

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 50, 50, 250, 150);

  // vamos liberar o objeto Graphics
  g.Dispose();
}

As coordenadas do canto superior esquerdo e a largura e altura do retângulo podem ser especificadas como um objeto da estrutura Rectangle. Veja:

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar um retângulo de 250 pixels de largura por 150
  // pixels de altura
  g.DrawRectangle(new Pen(Color.Red, 1), 
    new Rectangle(100, 100, 250, 150));

  // vamos liberar o objeto Graphics
  g.Dispose();
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Java - Como contar de 10 até 0 usando recursividade em Java - Funções recursivas em Java

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

Escreva um método recursivo em Java que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura:

public static void contarRecursivamente(int n){
  // sua implementação aqui
}
Veja que o método deverá receber o valor 10 e efetuar novas chamadas a si mesmo até que os valores de 10 até 0 sejam exibidos. O ponto de parada da recursividade é a exibição do valor 0.

Sua saída deverá ser parecida com:

10 9 8 7 6 5 4 3 2 1 0
Resposta/Solução:

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

package exercicio;

public class Exercicio {
  public static void main(String[] args) {
    // efetua uma chamada ao método recursivo
    // fornecendo o primeiro valor
    contarRecursivamente(10);
  }
  
  // método recursivo que conta de 10 até 0;
  public static void contarRecursivamente(int n){
    // vamos exibir o número atual
    System.out.print(n + "  ");
    
    // devemos prosseguir com a recursividade?
    if(n > 0){
      // decrementa o valor de n
      n--;  
      // e faz uma nova chamada recursiva
      contarRecursivamente(n);
    }
  }
}



PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas

Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHP

Quantidade de visualizações: 13901 vezes
Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHP

Em algumas situações nós precisamos obter o caminho do diretório raiz no qual o nosso documento ou código PHP está sendo executado. Para isso nós podemos usar a variável pré-definida $_SERVER['DOCUMENT_ROOT']. Esta variável costuma ser disponibilizada pela maioria dos servidores web.

Veja um exemplo de seu uso:

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

<?php
  echo "A raiz do site é: " . $_SERVER['DOCUMENT_ROOT'];
?>
 
</body>
</html>

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

A raiz do site é: C:/xampp/htdocs


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

R para Matemática e Estatística - Como calcular desvio padrão usando a função sd() da linguagem R

Quantidade de visualizações: 2302 vezes
Em Matemática e Estatística, o Desvio Padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média.

Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística:

\[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\]

Onde:

a) __$\sigma__$ é o desvio;
b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i;
c) __$\mu__$ é a média aritmética dos valores do conjunto de dados;
d) N é a quantidade de valores no conjunto.

O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto.

Porém, se usarmos a linguagem R, todos estes cálculos se tornam desnecessários, pois temos a função sd(), que recebe uma lista de valores numéricos e retorna o desvio padrão correspondente. Veja:

> valores <- c(10, 30, 90, 30) [ENTER]
> desvio_padrao <- sd(valores) [ENTER]
> paste("O desvio padrão é:", desvio_padrao) [ENTER]
[1] "O desvio padrão é: 34.6410161513775"
>

Ao executar estes comandos R nós teremos o seguinte resultado:

O desvio padrão é: 34.6410161513775

Note que a função sd() da linguagem R retorna o Desvio Padrão Populacional, e não o Desvio Padrão Amostral.


C# ::: Datas e Horas ::: DateTime

Como construir uma data em C# usando o objeto DateTime e fornecendo o dia, mês e ano da data desejada

Quantidade de visualizações: 7229 vezes
Aplicações que lidam com datas e horas geralmente precisam ser capazes de criar suas próprias datas. Isso pode ser feito com o auxílio de um dos vários construtores da estrutura DateTime. Para esta dica eu mostrarei como criar uma data no formato 23/05/2008. O construtor a ser usado é:

DateTime(Int32, Int32, Int32)

Este construtor pede valores inteiros representando o ano, mês e dia da data que queremos construir e retorna um objeto DateTime representando a data recém-construida. Veja um exemplo:

static void Main(string[] args){
  // cria um objeto DateTime para a data 10/04/2008
  DateTime data = new DateTime(2008, 4, 10);

  // exibe o resultado
  System.Console.WriteLine(data.ToString("dd/MM/yyyy"));

  // pausa o programa
  Console.ReadKey();
}

Note que, quando usamos este construtor, a parte do DateTime relativa às horas é inicializada como meia-noite.

Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos para o ano, mês e dia estiverem fora das faixas permitidas.


Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Apostila Java - Como usar o tipo de dados double da linguagem Java

Quantidade de visualizações: 22161 vezes
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:

public class Estudos{
  public static void main(String args[]){
    double valor = 54.5;
    
    System.out.println("O valor da variável é: " +
      valor);
    
    System.exit(0);
  }
}

É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem.

Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja:

double valor = 54.5;
int valor2 = (int)(valor);

É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast.

Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal.


Python ::: Fundamentos da Linguagem ::: Passos Iniciais

Como obter a entrada do usuário usando o método raw_input() - Atualizado para Python 3.0

Quantidade de visualizações: 8632 vezes
Até pouco tempo era possível usar o método raw_input(), nativo do Python, para ler a entrada do usuário. O código abaixo, por exemplo, funcionava corretamente no Python 2.5:

# obtém o nome do usuário
nome = raw_input("Por favor, informe seu nome: ")
 
print "Ola, " + nome + "! Voce tambem gosta de Python?"

No Python 3.0 em diante, a execução deste código exibe o seguinte erro de tempo de execução:

Exception has occurred: NameError
name 'raw_input' is not defined
  File "C:\estudos_python\estudos.py", line 4, in main
    nome = raw_input("Por favor, informe seu nome: ")
  File "C:\estudos_python\estudos.py", line 7, in <module>
    main()

A correção para esta exceção, é usar somente a função input(). Veja:

def main():
  nome = input("Por favor, informe seu nome: ")
  print("Olá, " + nome + "! Voce tambem gosta de Python?")

if __name__== "__main__":
  main()

A saída deste código será parecida com:

Por favor, informe seu nome: Osmar
Olá, Osmar! Voce tambem gosta de Python?



C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de uma matriz e exibí-los na ordem original e invertida

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

Considere a seguinte matriz de inteiros:

// uma matriz de inteiros contendo sete elementos
int valores[] = {6, 9, 12, 34, 83, 20, 17};
Escreva um programa C que usa um laço for para percorrer todos os elementos desta matriz duas vezes e exibí-los na ordem original e invertidos (somente na exibição, ou seja, não é necessário alterar a ordem dos elementos na matriz).

Seu programa deverá exibir a seguinte saída:

Ordem original:

6 9 12 34 83 20 17 

Ordem inversa:

17 20 83 34 12 9 6
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // uma matriz de inteiros contendo sete elementos
  int valores[] = {6, 9, 12, 34, 83, 20, 17};
  int tam_matriz = 7;
  int i;
    
  // primeiro vamos exibir os valores da matriz na ordem original
  printf("Ordem original:\n");

  for(i = 0; i < tam_matriz; i++){
    printf("%d  ", valores[i]);
  }

  // agora vamos exibir na ordem inversa
  printf("\n\nOrdem inversa:\n");

  for(i = tam_matriz - 1; i >= 0; i--){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



Java ::: Pacote java.lang ::: String

Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()

Quantidade de visualizações: 11826 vezes
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:

public boolean contains(CharSequence s)

Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário.

Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase:

public class Main {
  public static void main(String[] args) {
    // vamos declarar uma string
    String frase = "Gosto muito de Java e PHP";
    
    // vamos verificar se a string contém a palavra "Java"
    if(frase.contains("Java")){
      System.out.println("A frase contém a substring informada");
    }
    else{
      System.out.println("A frase não contém a substring informada");	
    }
  }
}

Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null.

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