![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Pacote java.util ::: Iterator |
Como usar objetos da interface Iterator do Java em suas aplicaçõesQuantidade de visualizações: 2982 vezes |
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois: a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento. b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration. As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner. Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList: package estudos; import java.util.ArrayList; import java.util.Iterator; public class Estudos{ public static void main(String[] args){ // vamos criar uma ArrayList ArrayList<String> pessoas = new ArrayList(); pessoas.add("Osmar"); pessoas.add("Carlos"); pessoas.add("Fernanda"); // vamos obter um Iterator para a lista e percorrer todos os elementos for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){ System.out.println(pessoa.next()); } } } Ao executar este exemplo nós teremos o seguinte resultado: Osmar Carlos Fernanda |
JavaScript ::: Dicas & Truques ::: Set (Conjunto) |
Como remover elementos duplicados de um array em JavaScript usando um Set e o método Array.from()Quantidade de visualizações: 1373 vezes |
Sabemos de outras dica de JavaScript que o objeto Set nos permite criar conjuntos únicos, ou seja, sem repetições. Sabemos também que a função Array.from() possibilita a conversão de um Set em um Array JavaScript. Dessa forma, é possível usar essa combinação para escrever uma função personalizada que recebe um vetor (array) e retorna um outro vetor, sem elementos repetidos. Veja o código JavaScript completo para o exemplo: <!doctype html> <html> <head> <title>O objeto Set do JavaScript</title> </head> <body> <script type="text/javascript"> // função que permite remover os elementos // duplicados de um array function semRepeticoes(vetor){ // primeiro criamos um novo Set a partir do // vetor fornecido // Em seguida usamos o método Array.from() para // converter o Set em um Array return Array.from(new Set(vetor)); } // aqui declaramos um array de String // com nomes repetidos var nomes = ["Osmar", "Maria", "Carlos", "Maria", "Fernanda", "Fernanda", "Osmar"]; // e aqui estão os resultados document.writeln("Com repetição: " + nomes); document.writeln("<br>Sem repetições: " + semRepeticoes(nomes)); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Com repetição: Osmar, Maria, Carlos, Maria, Fernanda, Fernanda, Osmar Sem repetições: Osmar, Maria, Carlos, Fernanda |
VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe ArrayQuantidade de visualizações: 7433 vezes |
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array. Veja o código completo para o exemplo: Imports System Module Program Sub Main(args As String()) ' cria um array de inteiros Dim valores() As Integer = {1, 2, 3, 4, 5} ' exibe os valores do primeiro array For Each valor As Integer In valores Console.WriteLine(valor) Next ' cria um segundo array e copia os elementos ' do primeiro para o segundo Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20} valores.CopyTo(valores2, 0) Console.WriteLine() ' exibe os valores do segundo array For Each valor As Integer In valores2 Console.WriteLine(valor) Next Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: 1 2 3 4 5 1 2 3 4 5 15 20 |
Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter o índice inicial e final de um vetor usando as funções Low() e High() da unit System do DelphiQuantidade de visualizações: 12011 vezes |
Como os índices dos vetores em Delphi, diferente de outras linguagens, nem sempre começam em 0, não podemos deduzir que Length() - 1 retornará o índice final do vetor. Desta forma, podemos usar as funções Low() e High(), ambas presentes na unit System. A função Low() retorna o índice inicial do vetor, enquanto High() retorna o índice final. Veja: procedure TForm3.Button1Click(Sender: TObject); var valores: array[11..20] of Integer; inicio, fim: Integer; begin // vamos obter o índice inicial do vetor inicio := Low(valores); // vamos obter o índice final da vetor fim := High(valores); // vamos exibir o resultado ShowMessage('O índice inicial do vetor é: ' + IntToStr(inicio)); ShowMessage('O índice final do vetor é: ' + IntToStr(fim)); ShowMessage('O tamanho do vetor é: ' + IntToStr((fim - inicio) + 1)); end; Lembre-se desta dica quando precisar percorrer os elementos de um vetor ou uma matriz usando o laço For da linguagem Delphi. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como contar a quantidade de palavras em uma string usando as funções explode() e count() do PHPQuantidade de visualizações: 145 vezes |
Em algumas situações nós precisamos obter a quantidade de palavras em uma frase ou texto. Para isso nós podemos combinar as funções explode() e count() da linguagem PHP. É importante, antes de efetuarmos esta tarefa, nos certificarmos de que a string sendo analisada não possui espaços em excesso. Se esse for o caso, veja nossas dicas e truques a respeito da remoção de espaços em excesso de uma frase ou texto. Veja o código completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $frase = "Gosto de programar em PHP"; $palavras = explode(" ", $frase); echo "A frase \"" . $frase . "\" contém " . count($palavras) . " palavras"; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: A frase "Gosto de programar em PHP" contém 5 palavras |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como verificar se uma chave já existe no registro do Windows usando a função KeyExists() da classe TRegistry do DelphiQuantidade de visualizações: 17207 vezes |
Em algumas situações nós gostaríamos de verificar se uma determinada chave já existe no registro do Windows, talvez antes de criá-la, excluí-la ou tentar ler algum de seus valores. O método KeyExists() da classe TRegistry pode ser usado para esta finalidade. Este método recebe uma string representando a chave a ser pesquisada e retorna um valor Boolean indicando a existência da chave. Veja o trecho de código abaixo: procedure TForm3.Button5Click(Sender: TObject); var reg: TRegistry; begin // uses Registry // vamos criar uma instância da classe TRegistry reg := TRegistry.Create; // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas // vamos reafirmar isso reg.RootKey := HKEY_CURRENT_USER; // vamos verificar a existência de uma chave a partir da chave raiz if reg.KeyExists('Arquivo de Códigos') then begin ShowMessage('A chave pesquisada existe.'); end else begin ShowMessage('A chave pesquisada não existe.'); end; // vamos liberar o registro reg.Free; end; Aqui nós estamos verificando a existência da chave "Arquivo de Códigos" a partir da chave raiz HKEY_CURRENT_USER. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Windows Forms ::: Formulários e Janelas |
Como definir a cor de fundo de um formulário C# Windows Forms usando a propriedade BackColorQuantidade de visualizações: 9413 vezes |
A cor de fundo de um formulário Windows Forms pode ser definida em tempo de design ou execução usando-se a propriedade BackColor. Em tempo de design só precisamos clicar no formulário, acionar a janela de propriedades e escolher a cor de fundo desejada. Em tempo de execução, a cor de fundo pode ser definida com um código parecido com: private void button1_Click(object sender, EventArgs e){ // vamos definir a cor de fundo para o formulário this.BackColor = Color.LightSalmon; } É possível obter o valor da propriedade BackColor do formulário da seguinte forma: private void button1_Click(object sender, EventArgs e){ // vamos obter o valor da propriedade BackColor Color corFundo = this.BackColor; // vamos mostrar o resultado MessageBox.Show("A cor de fundo é: " + corFundo.Name); } |
Java ::: Tratamento de Erros ::: Passos Iniciais |
Como usar try catch em Java - Aprenda a tratar erros em Java usando o bloco try...catchQuantidade de visualizações: 40054 vezes |
A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:try{ // código que pode provocar erros } catch(Tipo_Exceção nome){ // tratamento do erro } A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch. Vamos ver um exemplo do uso de try...catch: import java.io.*; public class Estudos{ public static void main(String[] args){ try{ DataInputStream in = new DataInputStream( new BufferedInputStream( new FileInputStream("conteudo.txt"))); while(in.available() != 0) System.out.print((char) in.readByte()); } catch(IOException e){ System.out.print(e.getMessage()); } System.exit(0); } } Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações. Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro. Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException: import java.util.*; public class Estudos{ public static void main(String[] args){ String palavra = "Java"; Scanner in = new Scanner(System.in); System.out.print("Informe um inteiro: "); int indice = in.nextInt(); try{ System.out.println("O caractere no índice " + "informado é " + palavra.charAt(indice)); } catch(StringIndexOutOfBoundsException e){ System.out.println("Erro:" + e.getMessage()); } } } Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado. |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o produto escalar entre dois vetores usando Java - Geometria Analítica e Álgebra Linear usando JavaQuantidade de visualizações: 3591 vezes |
O produto escalar (em inglês: dot product) entre dois vetores é um número real que relaciona o comprimento desses dois vetores e o ângulo formado por eles. É importante notar que alguns autores se referem ao produto escalar como produto interno. Obtém-se o produto escalar entre dois vetores, no R2, ou três vetores, no R3, por meio da fórmula a seguir (assumindo dois vetores __$\vec{u} = (a, b)__$ e __$\vec{v} = (c, d)__$ no R2). \[\vec{u} \cdot \vec{v} = a \cdot c + b \cdot d \] Vamos agora a um exemplo prático. Veja a imagem abaixo, na qual temos dois vetores, com suas coordenadas e magnitudes (módulo, comprimento ou norma): ![]() Note que ambos os vetores possuem como origem as coordenadas (0, 0). O primeiro vetor possui as coordenadas finais (4, 10) e magnitude 11, e o segundo vetor possui as coordenadas finais (11, 6) e magnitude 13. Magnitude é o tamanho do vetor, ou seja, seu comprimento, seu módulo ou norma. Veja agora o código Java completo que lê as coordenadas dos dois vetores e calcula e mostra o produto escalar entre eles: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // x e y do primeiro vetor System.out.print("Coordenada x do primeiro vetor: "); float x1 = Float.parseFloat(entrada.nextLine()); System.out.print("Coordenada y do primeiro vetor: "); float y1 = Float.parseFloat(entrada.nextLine()); // x e y do segundo ponto System.out.print("Coordenada x do segundo vetor: "); float x2 = Float.parseFloat(entrada.nextLine()); System.out.print("Coordenada y do segundo vetor: "); float y2 = Float.parseFloat(entrada.nextLine()); // vamos calcular o produto escalar float pEscalar = (x1 * x2) + (y1 * y2); // mostramos o resultado System.out.println("O produto escalar é: " + pEscalar); } } Ao executar este código Java nós teremos o seguinte resultado: Coordenada x do primeiro vetor: 4 Coordenada y do primeiro vetor: 10 Coordenada x do segundo vetor: 11 Coordenada y do segundo vetor: 6 O produto escalar é: 104.0 |
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 RQuantidade de visualizações: 2300 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. |
Nossas 20 dicas & truques de programação mais populares |
jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery C++ - Como definir a cor de fundo para um Edit Control em tempo de execução usando C++ e a API do Windows Python - Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com Python |
Você também poderá gostar das dicas e truques de programação abaixo |
React.js - Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-app |
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 |