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 JavaScriptQuantidade 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 JavaQuantidade 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 JavaQuantidade 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 JavaQuantidade 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é 10Quantidade 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 gridyQuantidade 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.CountQuantidade 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 índiceQuantidade 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 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 } Informe o índice: 6 O número de Fibonacci no índice informado é: 8 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 FileQuantidade 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. |
Nossas 20 dicas & truques de programação mais populares |
Python - Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português Java - Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString() |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |