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.

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

Como testar se um objeto é um array em JavaScript usando a função Array.isArray()

Quantidade de visualizações: 2982 vezes
Em algumas situações nós precisamos verificar se um determinado objeto é um array (vetor ou matriz). Para isso podemos usar o método Array.isArray(), adicionado ao
ECMAScript 2009 (JavaScript 5).

Este método recebe o objeto como argumento e retorna true se o objeto for um array e false em caso contrário. Veja o exemplo a seguir:

<script type="text/javascript">
  // vamos criar um vetor de inteiros
  var valores = [34, 6, 32, 10];
  
  // vamos testar se o objeto valores é mesmo um array
  if(Array.isArray(valores)){
    window.alert("O objeto é um array");  
  }
  else{
    window.alert("O objeto não é um array");  
  }
</script>

Ao executar este código você verá a mensagem "O objeto é um array". Isso está correto, pois o objeto valores realmente é um vetor. No entanto, há casos em que não sabemos, principalmente ao usarmos códigos de terceiros, se um determinado retorno será do tipo array. Veja mais um exemplo:

<script type="text/javascript">
  // vamos criar um objeto String
  var frase = "Gosto muito de JavaScript";
  // vamos quebrar esta frase. O retorno deverá ser uma array
  var pedacos = frase.split(" "); 
  
  // vamos testar se o objeto valores é mesmo um array
  if(Array.isArray(pedacos)){
    window.alert("O objeto é um array");  
  }
  else{
    window.alert("O objeto não é um array");  
  }
</script>

Novamente o retorno será verdadeiro, pois o método split() do objeto String quebra o seu conteúdo de acordo com o delimitador informado e retorna seus pedaços como um array (vetor).


Java ::: Dicas & Truques ::: Strings e Caracteres

Como testar a existência de um caractere em uma string e retornar sua posição em Java usando o método indexOf() da classe String

Quantidade de visualizações: 171 vezes
Nesta dica eu mostro como podemos usar o método indexOf() da classe String para pesquisar um caractere em uma palavra, frase ou texto e retornar a sua posição, ou seja, o seu índice dentro da string.

Se o caractere for encontrado, sua posição é retornada. Caso contrário o valor -1 é retornado.

Veja o código completo para o exemplo:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string
    String frase = "Gosto de programar em Java";
    
    // vamos testas se a string contém a letra "k"
    int pos = frase.indexOf('k');
    
    if(pos < 0){
      System.out.println("A string não contém a letra k");
    }
    else{
      System.out.println("A letra k foi encontrada na posicao: " + pos);
    }
     
    // fecha o programa
    System.exit(0);
  }
} 

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

A string não contém a letra k


C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada coluna do DataGridView do C# Windows Forms

Quantidade de visualizações: 14070 vezes
Em algumas situações precisamos ocultar ou exibir determinadas colunas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewColumn. Veja um trecho de código no qual ocultamos a segunda coluna do DataGridView:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns[1].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewColumnCollection e usamos um índice para retornar o DataGridViewColumn desejado. É possível também acessar um determinado DataGridViewColumn na coleção de colunas usando o valor definido para sua propriedade name. Veja:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns["populacao"].Visible = false;
}



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

Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano

Quantidade de visualizações: 1592 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem GNU Octave (script GNU Octave) que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")

# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")

# agora vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1)

# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", m)

Ao executar este código em linguagem GNU Octave nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 3
x1 = 3
Coordenada y do primeiro ponto: 6
y1 = 6
Coordenada x do segundo ponto: 9
x2 = 9
Coordenada y do segundo ponto: 10
y2 = 10
m = 0.6667
O coeficiente angular é: 0.666667

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")

# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")

# vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1
# e agora o cateto adjascente
cateto_adjascente = x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha = atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente = tan(tetha)

# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", tangente)

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Delphi ::: Dicas & Truques ::: Data e Hora

Como adicionar ou subtrair meses de uma data em Delphi usando a função IncMonth()

Quantidade de visualizações: 21769 vezes
Em algumas situações precisamos adicionar ou subtrair meses de uma determinada data. Em Delphi isso pode ser feito com o auxílio da função IncMonth() da unit DateUtils. Este função aceita um TDateTime e a quantidade de meses que queremos acrescentar ao TDateTime fornecido como argumento. O retorno será um novo TDateTime com a quantidade de meses acrescida.

Veja um trecho de código no qual adicionamos 2 meses à data atual:

procedure TForm1.Button1Click(Sender: TObject);
var
  hoje: TDateTime;
begin
  // não esqueça de adicionar DateUtils ao seus uses

  // vamos obter a data de hoje
  hoje := Now;

  // vamos exibir a data de hoje
  ShowMessage('Hoje é: ' + DateToStr(hoje));

  // vamos adicionar 2 meses à data de hoje
  hoje := IncMonth(hoje, 2);

  // vamos exibir o resultado
  ShowMessage('Daqui a 2 meses será: ' + DateToStr(hoje));
end;

É possível também usar a função IncMonth() para substrair meses de uma data. Para isso só precisamos fornecer uma quantidade negativa de meses. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  hoje: TDateTime;
begin
  // não esqueça de adicionar DateUtils ao seus uses

  // vamos obter a data de hoje
  hoje := Now;

  // vamos exibir a data de hoje
  ShowMessage('Hoje é: ' + DateToStr(hoje));

  // vamos subtrair 3 meses da data de hoje
  hoje := IncMonth(hoje, -3);

  // vamos exibir o resultado
  ShowMessage('Há 3 meses era: ' + DateToStr(hoje));
end;

O valor padrão para o segundo argumento de IncMonth() é 1.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como somar os elementos de um vetor de inteiros em C++

Quantidade de visualizações: 17217 vezes
Esta dica mostra a você como usar um laço for do C++ para somar todos os valores dos elementos de um vetor de inteiros. Observe que aqui nós declaramos e inicializamos o vetor (array) em apenas uma instrução:

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // declara e inicializa um array de
  // 5 inteiros
  int valores[] = {2, 7, 1, 5, 6};
  int soma = 0;

  // soma os valores dos elementos
  for(int i = 0; i < 5; i++){
    soma += valores[i];
    // o mesmo que
    // soma = soma + valores[i];
  }

  // exibe o resultado
  cout << "Soma: " << soma << endl;

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

Soma: 21


C# ::: Dicas & Truques ::: Sistema

Como verificar o formato de um drive (NTFS, FAT32, etc) usando a propriedade DriveFormat da classe DriveInfo da linguagem C#

Quantidade de visualizações: 7279 vezes
A propriedade DriveFormat da classe DriveInfo pode ser usada para obter o formato de um drive, ou seja, ela nos permite saber se o formato de um drive é NTFS ou FAT32, por exemplo.

Veja um trecho de código exemplificando seu uso:

using System;
using System.IO;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      DriveInfo di = new DriveInfo("C");

      // vamos obter o formato deste drive
      string formato = di.DriveFormat;

      // vamos exibir o resultado
      Console.WriteLine("O formato deste drive é: " + formato);
    }
  }
}

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

O formato deste drive é: NTFS


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

Java Collections - Como adicionar elementos no final de uma LinkedList usando os métodos add() e addLast()

Quantidade de visualizações: 9342 vezes
O trecho de código a seguir mostra como adicionar elementos no final de um lista ligada (objeto da classe LinkedList). Para isso podemos usar os métodos add() e addLast(). Ambos possuem a mesma funcionalidade. É claro que addLast() representa melhor a idéia de adicionar elementos no final da lista ligada. Veja ainda como usar um ListIterator para percorrer a lista e exibir os elementos. Outra técnica que você perceberá é o uso de unboxing dentro do laço while:

import java.util.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    // Cria uma LinkedList de inteiros
    LinkedList<Integer> valores = new 
      LinkedList<Integer>();
     
    // adiciona valores no final da lista ligada 
    // usando os métodos add() e addLast(). Lembre-se 
    // de que ambos fornecem a mesma funcionalidade
    valores.add(56);
    valores.addLast(3);
    valores.add(28);
 
    // obtém um ListIterator para percorrer toda a
    // lista ligada, começando no primeiro elemento
    ListIterator<Integer> iterador = 
      valores.listIterator(0);
    while(iterador.hasNext()){  
      // note o unboxing aqui
      int valor = iterador.next(); 
      System.out.println(valor); 
    }
  } 
}

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

56
3
28


LISP ::: Dicas & Truques ::: Passos Iniciais

O que é Lisp e como escrever seu primeiro programa nessa linguagem de programação

Quantidade de visualizações: 1541 vezes
O que é Common Lisp?

A linguagem de programação ANSI Common Lisp, ou simplesmente Common Lisp, é uma implementação específica da linguagem de programação Lisp multi-paradigma que suporta programação funcional e procedural.

Sua especificação foi criada por Guy L. Steele nos anos 1980 a partir da linguagem Lisp com o intuito de combinar aspectos de diversos dialetos Lisp anteriores, incluindo Scheme. Foi proposto inicialmente o nome de "Standard Lisp" para a linguagem, mas em virtude de um dialeto Lisp já existir com este nome, se buscou um nome similar, resultando no nome "Common Lisp".

Em 1994 foi publicada no padrão ANSI Information Technology - Programming Language - Common Lisp, registro X3.226-1994 (R1999). É bem maior e semanticamente mais complexa que Scheme uma vez que foi projetada para ser uma linguagem comercial e ser compatível com os diversos dialetos Lisp dos quais derivou.

Como baixar, instalar e testar a Common Lisp no Windows?

Embora exista uma quantidade enorme de compiladores Lisp disponíveis atualmente, minha pesquisa recaiu sobre o Steel Bank Common Lisp (SBCL), que pode ser baixado no endereço http://www.sbcl.org. No meu Windows 10 eu baixei o instalador sbcl-2.2.3-x86-64-windows-binary.msi, com o tamanho de 11.7Mb.

Finalizada a instalação, vamos testar nossa distribuição do Bank Common Lisp (SBCL). Para isso, abra um janela de terminal e navegue até o diretório de instalação do SBCL:

C:\Users\Osmar>cd C:\Program Files\Steel Bank Common Lisp

Se você vir um arquivo sbcl.exe dentro deste diretório nós já temos a indicação de que tudo correu bem. Tudo que temos a fazer é chamar este arquivo na linha de comando:

C:\Program Files\Steel Bank Common Lisp>sbcL

Você verá as seguintes informações na sua tela:

This is SBCL 2.2.3, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information.
*

Note que o cursor já está esperando comandos, uma vez que estamos no modo interativo. Assim, digite o seguinte comando:

* (+ 5 (* 2 4))

Pressione Enter. Se você vir o valor 13, então é sinal de que o SBCL está funcionando 100% e já podemos prosseguir.

Para sair do modo interativo do SBCL, digite:

* (quit)

Como escrever um programa em Common List e carregá-lo no SBCL

Agora vamos ver como podemos escrever um programa Common Lisp, salvá-lo em arquivo e carregá-lo a partir do compilador Steel Bank Common Lisp (SBCL). Para isso, abra o seu editor de códigos favorito e digite a seguinte listagem:

; Este programa talvez seja um dos mais básicos
; que podem ser escritos em Common Lisp
(defun Primeiro()
  ; Vamos mostrar uma mensagem de boas-vindas
  (write-line "Bem-vindo(a) à Common Lisp")
)

; Efetua uma chamada automática ao programa
(Primeiro)

Para executar este programa, basta chamar o SBCL pela linha de comando, da seguinte forma:

C:\Program Files\Steel Bank Common Lisp>sbcl --script C:\estudos_common_lisp\Primeiro.lsp

Se o seu código estiver correto, sem nenhum erro de sintáxe, você verá o seguinte texto:

Bem-vindo(a) à Common Lisp

Pronto! Agora é só aproveitar as nossas dicas, truques e exercícios resolvidos de Common Lisp para aprender ainda mais. Bons estudos.


JavaScript ::: Dicas & Truques ::: Tratamento de Erros

Como retornar o nome ou tipo de exceção de um erro em JavaScript usando a propriedade name do objeto Error

Quantidade de visualizações: 7196 vezes
Em várias situações nós precisamos saber o nome do tipo de erro de tempo de execução em JavaScript. Para isso nós podemos usar a propriedade name do objeto Error.

Veja um código JavaScript completo demonstrando o seu uso:

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

<script language="javascript">
  // o trecho de código a seguir vai provocar
  // um erro de tempo de execução em JavaScript
  try{
    // y não foi definido
    var x = y;
  }
  catch(e){
    document.write("Tipo do erro: " + e.name);
  }
</script>
  
</body>
</html>

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

Tipo do erro: ReferenceError

A propriedade name do objeto Error pode retornar os seguintes valores:

EvalError - Um erro provocado pela função eval.
RangeError - Um erro provocado por um número fora da faixa permitida.
ReferenceError - Uma referência ilegal provocou o erro.
SyntaxError - Um erro de sintáxe.
TypeError - Um erro provocado por uma conversão de tipos.
URIError - Provocado por um erro na função encodeURI().

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