Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como converter um vetor (array) em uma List usando o método asList() da classe Arrays da linguagem JavaQuantidade de visualizações: 15446 vezes |
|
Em algumas situações nós gostaríamos de obter uma List, ou melhor, um objeto da interface List, a partir de um vetor (um array). Nesta dica mostrarei como isso é possível. Nós vamos criar um vetor de cinco objetos da classe Integer, vamos instanciar estes objetos com valores inteiros e, em seguida, vamos obter um objeto List contendo os mesmos. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.*;
public class Estudos{
public static void main(String[] args){
Integer[] valores = new Integer[5];
// inicializa os elementos do array
valores[0] = 1;
valores[1] = 2;
valores[2] = 3;
valores[3] = 4;
valores[4] = 5;
List lista = Arrays.asList(valores);
// percorre a lista
for(int i = 0; i < lista.size(); i++){
Integer valor = (Integer)(lista.get(i));
System.out.println(valor.toString());
}
System.exit(0);
}
}
Ao executar este código nós teremos o seguinte resultado: 1 2 3 4 5 |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando JavaQuantidade de visualizações: 3280 vezes |
Em exemplos dessa seção nós vimos como criar árvores binárias e árvores binárias de busca em Java e como pesquisar ou fazer a sua travessia, visitando cada um dos nós. Nesta dica mostrarei como contar os nós da árvore usando um método recursivo. Veja:
// método que permite obter a quantidade de nós na árvore
int quantNosArvore(){
// chama a versão recursiva
return quantNosArvore(raiz);
}
int quantNosArvore(No no){
if(no == null){ // condição de parada
return 0;
}
else{
return (quantNosArvore(no.getEsquerdo()) +
quantNosArvore(no.getDireito()) + 1);
}
}
Este método faz parte da classe ArvoreBinariaBusca.java. Veja agora como chamá-lo a partir da classe principal, ou seja, a classe de teste:
package arvore_binaria;
import java.util.Scanner;
public class ArvoreBinariaTeste {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos criar um novo objeto da classe ArvoreBinariaBusca
ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
// vamos inserir 5 valores na árvore
for(int i = 0; i < 5; i++){
System.out.print("Informe um valor inteiro: ");
int valor = Integer.parseInt(entrada.nextLine());
// vamos inserir o nó e verificar o sucesso da operação
if(!arvore.inserir(valor)){
System.out.println("Não foi possível inserir." +
" Um elemento já contém este valor.");
}
}
// vamos exibir a quantidade de nós na árvore
System.out.println("\nA árvore possui: " +
arvore.quantNosArvore() + " nós.\n");
System.out.println("\n");
}
}
Ao executar este código teremos o seguinte resultado: Informe um valor inteiro: 5 Informe um valor inteiro: 2 Informe um valor inteiro: 8 Informe um valor inteiro: 7 Informe um valor inteiro: 31 A árvore possui: 5 nós. |
JavaScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesianoQuantidade de visualizações: 2081 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 JavaScript 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:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// x e y do primeiro ponto
var x1 = 3;
var y1 = 6;
// x e y do segundo ponto
var x2 = 9;
var y2 = 10;
var m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
document.writeln("O coeficiente angular é: " + m);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: O coeficiente angular é: 0.6666666666666666 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__$):
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// x e y do primeiro ponto
var x1 = 3;
var y1 = 6;
// x e y do segundo ponto
var x2 = 9;
var y2 = 10;
// vamos obter o comprimento do cateto oposto
var cateto_oposto = y2 - y1;
// e agora o cateto adjascente
var cateto_adjascente = x2 - x1;
// vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
// (em radianos, não se esqueça)
var tetha = Math.atan2(cateto_oposto, cateto_adjascente);
// e finalmente usamos a tangente desse ângulo para calcular
// o coeficiente angular
var tangente = Math.tan(tetha);
// mostramos o resultado
document.writeln("O coeficiente angular é: " + tangente);
</script>
</body>
</html>
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. |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Portugol Básico |
Exercícios Resolvidos de Portugol - Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessáriasQuantidade de visualizações: 818 vezes |
|
Pergunta/Tarefa: Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado. Sua saída deverá ser parecida com: Informe a potência da lâmpada (em watts): 100 Informe a largura do cômodo (em metros): 6 Informe o comprimento do cômodo (em metros): 4 Serão necessárias 4 lâmpadas. Veja a resolução completa para o exercício em Portugol, comentada linha a linha (na resolução eu usei o Portugol Webstudio):
programa {
// vamos incluir a biblioteca Tipos
inclua biblioteca Tipos --> tp
funcao inicio() {
// variáveis usadas na resolução do problema
real potencia_lampada, largura_comodo, comprimento_comodo
real area_comodo, potencia_total
inteiro quant_lampadas
// vamos ler a potência da lâmpada
escreva("Informe a potência da lâmpada (em watts): ")
leia(potencia_lampada)
// vamos ler a largura do cômodo
escreva("Informe a largura do cômodo (em metros): ")
leia(largura_comodo)
// agora vamos ler o comprimento do cômodo
escreva("Informe o comprimento do cômodo (em metros): ")
leia(comprimento_comodo)
// agora vamos calcular a área do cômodo
area_comodo = largura_comodo * comprimento_comodo
// calculamos a potência total necessária para iluminar
// todo o cômodo
potencia_total = area_comodo * 18
// e finalmente calculamos a quantidade de lâmpadas necessárias
quant_lampadas = tp.real_para_inteiro(potencia_total / potencia_lampada)
// será necessário no mínimo uma lâmpada
se (quant_lampadas == 0) {
quant_lampadas = quant_lampadas + 1
}
// e mostramos o resultado
escreva("Serão necessárias ", quant_lampadas, " lâmpadas.")
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do Java PHP - Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantes |
Você também poderá gostar das dicas e truques de programação abaixo |
|
AutoCAD VBA - Como criar uma linha no AutoCAD usando Autocad VBA e a função AddLine() do objeto ModelSpace AutoCAD Civil 3D .NET C# - Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API Python - Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no Python |
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 |






