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

Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript

Quantidade de visualizações: 2540 vezes
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor.

Para melhor entendimento, comece analisando o trecho de código abaixo:

<script type="text/javascript">
  function maiorQue10(valor){
    return valor > 10;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10
  var maiores10 = valores.filter(maiorQue10);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento.

Uma função passada para o método filter() pode conter os seguintes argumentos (nessa mesma ordem):

a) O valor do item;
b) O índice do item (opcional);
c) O vetor a partir do qual o método filter() está sendo chamado (opcional).

Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par:

<script type="text/javascript">
  function maiorQue10PrecPar(valor, indice, vetor){
    // o primeiro elemento não é precedido por
    // outro. Vamos descartá-lo
    if(indice == 0){
      return false;
    }    

    // é precedido por um número par?
    if(vetor[indice - 1] % 2 == 0){
      // é maior que 10?      
      return valor > 10;
    }

    // nenhuma das condições acima?
    return false;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10 e precedidos por um
  // número par
  var maiores10 = valores.filter(maiorQue10PrecPar);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par.


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

Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em Java

Quantidade de visualizações: 1431 vezes
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Java, muito fácil.

Comece observando 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. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

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 que fazer é mudar a fórmula para:

\[b^2 = c^2 - a^2\]

Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double c = 36.056; // medida da hipotenusa
    double a = 20; // medida do cateto oposto
  
    // agora vamos calcular a medida da cateto adjascente
    double b = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2));
 
    // e mostramos o resultado
    System.out.println("A medida do cateto adjascente é: " +
      b);
  }
}

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

A medida do cateto adjascente é: 30.00058559428465

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


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

Como transformar em letras maiúsculas as iniciais de cada palavra em uma string Java

Quantidade de visualizações: 193 vezes
Nesta dica mostrarei como podemos combinar os métodos da classe String e da classe StringBuffer para converter em letras maiúsculas as iniciais de cada palavra de uma frase ou texto. Para isso nós vamos usar os métodos charAt(), length(), toUpperCase() e setCharAt().

Veja o código completo para o exemplo:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string contendo a nossa frase
    String frase = "Programar em java é bom demais";
    System.out.println("A frase original é: " + frase);
    
    // vamos converter a frase em letras minúsculas
    frase = frase.toLowerCase();
    
    // agora criamos um StringBuffer contendo a frase anterior 
    StringBuffer frase2 = new StringBuffer(frase);
    
    // um laço que percorra todos os caracteres da frase
    for(int i = 0; i < frase2.length(); i++){
      Character letra = frase2.charAt(i);
      if(i == 0){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
      else if((i > 0) && (frase2.charAt(i - 1) == ' ')){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
    }
    
    // retornamos para a string    
    frase = frase2.toString(); 
    // e exibimos o resultado
    System.out.println("Resultado: " + frase);
    
    System.exit(0);
  }
} 

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

A frase original é: Programar em java é bom demais
Resultado: Programar Em Java É Bom Demais


Python ::: Dicas & Truques ::: Sistema

Como obter o diretório do seu programa Python usando sys.path[0]

Quantidade de visualizações: 9865 vezes
Nesta dica eu mostrarei como é possível usar a primeira posição da lista de strings contida na propriedade path do módulo sys da linguagem Python. Lembre-se de que sys.path contém uma lista de strings especificando os caminhos de busca para os módulos Python.

Veja o código completo para o exemplo:

import sys

# função principal do programa
def main():
  print("O diretório do programa é: ", sys.path[0])
 
if __name__== "__main__":
  main()

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

O diretório do programa é: c:\estudos_python


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

Java Vetores e Matrizes - Como inicializar os elementos de um vetor usando o laço for da linguagem Java

Quantidade de visualizações: 9949 vezes
Neste exemplo veremos como inicializar um vetor (array) de ints usando o laço for. Note que os elementos do array serão inicializados com os valores de 1 a 10.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 10 elementos
    int[] a = new int[10];
 
    // inicializa os elementos do vetor
    for(int i = 0; i < a.length; i++){
      a[i] = (i + 1);
    }
     
    // exibe os valores dos elementos do vetor
    for(int i = 0; i < a.length; i++){
      System.out.print(a[i] + ", ");
    }
 
    System.exit(0);
  }
}

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

1, 2, 3, 4, 5, 6, 7, 8, 9, 10,


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

Exercícios Resolvidos de C - Declare uma matriz de 10 inteiros e use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10

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

Escreva um programa C que declara uma matriz de 10 inteiros. Use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10 (incluindo os valores 0 e 10). Para finalizar, percorra os elementos da matriz e exiba seus valores. A saída do programa deverá ser parecida com:

3 5 5 1 3 8 10 0 9 7

Resposta/Solução:

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

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

int main(int argc, char *argv[])
{
  // vamos inicializar o gerador de números aleatórios
  srand(time(NULL));
  
  // vamos declarar e construir uma matriz de 10 inteiros
  int valores[10];

  // vamos preencher a matriz com valores aleatórios de 0 até 10 (incluindo)
  int i;
  for(i = 0; i < 10; i++){
    valores[i] = rand() % 11;
  }

  // vamos exibir os valores dos elementos da matriz
  for(i = 0; i < 10; i++){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

Espero que você tenha gostado e continue a acessar a nossa Lista de Exercícios de C.


Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout

Como posicionar os componentes nas linhas e colunas de um GridBagLayout do Java Swing usando as propriedades gridx e gridy

Quantidade de visualizações: 12320 vezes
A classe GridBagConstraints, usada para definir como os componentes serão distribuidos em um GridBagLayout, possui duas variáveis que permitem definir a linha e coluna nas quais o componente será colocado. Veja-as abaixo:

gridx - Especifica a coluna na qual o componente será colocado. A primeira coluna possui o valor 0. Esta variável pode receber também o valor RELATIVE (valor padrão). Neste caso, o componente será colocado imediatamente após o último componente inserido (na horizontal).

gridy - Especifica a linha na qual o componente será colocado. A primeira linha possui o valor 0. Esta variável pode receber também o valor RELATIVE (valor padrão). Neste caso, o componente será colocado imediatamente abaixo do último componente inserido (na vertical).

Veja um trecho de código que mostra como posicionar seis botões nas linhas e colunas de um GridBagLayout:

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

public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe GridBagLayout");

    // define o layout
    setLayout(new GridBagLayout());

    // cria o GridBagConstraints
    GridBagConstraints gbc = new GridBagConstraints();

    // adiciona componentes à janela
    gbc.gridy = 0; // linha
    gbc.gridx = 0; // coluna
    add(new JButton("Botão 1"), gbc);

    gbc.gridy = 0; // linha
    gbc.gridx = 1; // coluna
    add(new JButton("Botão 2"), gbc);

    gbc.gridy = 0; // linha
    gbc.gridx = 2; // coluna
    add(new JButton("Botão 3"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 0; // coluna
    add(new JButton("Botão 4"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 1; // coluna
    add(new JButton("Botão 5"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 2; // coluna
    add(new JButton("Botão 6"), gbc);
    
    setSize(350, 150);
    setVisible(true);    
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Delphi ::: VCL - Visual Component Library ::: TListBox

Como retornar a quantidade de itens em uma TListBox do Delphi usando a propriedade Items.Count

Quantidade de visualizações: 13140 vezes
Em algumas situações nós precisamos obter a quantidade de itens em uma TListBox. Isso pode ser feito por meio da propriedade Count do objeto Items, uma instância da classe TStrings. Esta propriedade contém um valor inteiro que representa a quantidade de elementos na ListBox. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  quant: Integer;
begin
  // vamos adicionar dois itens na TListBox
  ListBox1.Items.Add('Item 1');
  ListBox1.Items.Add('Item 2');

  // vamos obter a quantidade de itens
  quant := ListBox1.Items.Count;

  // exibe o resultado
  ShowMessage('Quantidade de elementos: ' + IntToStr(quant));
end;

É possível também obter a quantidade de itens em uma TListBox acessando a propriedade Count da classe TCustomListBox. Esta propriedade é herdada pela classe TListBox. Veja:

quant := ListBox1.Count;


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


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

Exercício Resolvido de Java - Um método recursivo que calcula o número de Fibonacci para um dado índice

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

Observe a série de números Fibonacci abaixo:

Série:  0  1  1  2  3  5  8  13  21  34  55  89 
Índice: 0  1  2  3  4  5  6   7   8   9  10  11 
Cada número da série é a soma dos dois números anteriores. A linha de baixo reflete o índice do número. Assim, quando falamos "O quinto número de Fibonacci", nós estamos nos referindo ao índice 4, ou seja, o valor 3.

Este algorítmos consiste em, dado um determinado índice, retornar o número de Fibonacci correspondente. Recursivamente, o cálculo pode ser feito da seguinte forma:

fib(0) = 0;
fib(1) = 1;
fib(indice) = fib(indice - 2) + fib(indice - 1); sendo o indice >= 2

Os casos nos quais os índices são 0 ou 1 são os casos bases (aqueles que indicam que a recursividade deve parar). Seu método deverá possuir a seguinte assinatura:

public static int fibonacci(int indice){
  // sua implementação aqui
}
Sua saída deverá ser parecida com:

Informe o índice: 6
O número de Fibonacci no índice informado é: 8
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // cria um novo objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos solicitar o índice do número de Fibonacci
    System.out.print("Informe o índice: ");
    // lê o índice
    int indice = Integer.parseInt(entrada.nextLine());
    
    // calcula o número de Fibonacci no índice informado
    System.out.print("O número de Fibonacci no índice informado é: " +
      fibonacci(indice));
    System.out.println("\n");
  }
  
  // método recursivo que o número de Fibonacci em um determinado índice
  public static int fibonacci(int indice){
    if(indice == 0){ // caso base; interrompe a recursividade
      return 0;
    }
    else if(indice == 1){ // caso base; interrompe a recursividade
      return 1;
    }
    else{ // efetua uma nova chamada recursiva
      return fibonacci(indice - 1) + fibonacci(indice - 2);
    }
  }
}



Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar diretórios em Java usando o método mkdir() da classe File

Quantidade de visualizações: 109 vezes
Em algumas ocasiões nossos programas precisam criar diretórios. Na linguagem Java isso pode ser feito com o auxílio do método mkdir() da classe File, do pacote java.io.

Este método não recebe nenhum parâmetro e atua em cima de uma instância da classe File. Além disso, ele retorna um boolean indicando o sucesso ou não da operação.

Veja o código completo para um exemplo:

package arquivodecodigos;

// precisamos importar o pacote java.io
import java.io.*;
 
public class Estudos{
  public static void main(String[] args){
    // nome e caminho do diretório que será criado
    File diretorio = new File("c:\\estudos_java\\imagens");
         
    // o diretório foi criado com sucesso?
    if(diretorio.mkdir()){
      System.out.println("Diretório criado com sucesso");
    }
    else{
      System.out.println("Nao foi possível criar o diretório");
    }
  }
}

Se o diretório puder ser criado, você verá uma mensagem:

Diretório criado com sucesso

Observe que este método pode disparar uma exceção do tipo SecurityException se você não tiver permissão para criar diretórios nos locais especificados.

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