Você está aqui: Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 5987 vezes |
Como calcular a Distância Euclidiana entre dois pontos usando Java. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); // vamos ler os dados do primeiro ponto System.out.print("Informe o x do primeiro ponto: "); double x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o y do primeiro ponto: "); double y1 = Double.parseDouble(entrada.nextLine()); // vamos ler os dados do segundo ponto System.out.print("Informe o x do segundo ponto: "); double x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o y do segundo ponto: "); double y2 = Double.parseDouble(entrada.nextLine()); // vamos obter a distância entre eles double distancia = distancia2d(x1, y1, x2, y2); System.out.println("Distância entre os dois pontos: " + distancia); } // função que permite calcular a distância // entre dois pontos no plano (R2) public static double distancia2d(double x1, double y1, double x2, double y2){ double a = x2 - x1; double b = y2 - y1; double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); return c; } } Ao executarmos este código nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.324555320336759 |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Um programa que lê a altura e o sexo de uma pessoa e informa seu peso idealQuantidade de visualizações: 6153 vezes |
Pergunta/Tarefa: Escreva um programa Java que recebe a altura (como double) e o sexo (como um char) de uma pessoa e que calcule e mostre o seu peso ideal. A fórmula a ser utilizada é: Homens: (72.7 x altura) - 58; Mulheres: (62.1 x altura) - 44.7 Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar a altura e o sexo da pessoa System.out.print("Informe sua altura (ex: 1.74): "); double altura = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o sexo (M ou F): "); char sexo = entrada.nextLine().charAt(0); double pesoIdeal; // vamos testar o sexo da pessoa if(Character.toUpperCase(sexo) == 'M'){ // masculino pesoIdeal = (72.7 * altura) - 58; } else{ // feminino pesoIdeal = (62.1 * altura) - 44.7; } // vamos mostrar o resultado System.out.println("Seu peso ideal é: " + pesoIdeal); System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em JavaQuantidade de visualizações: 44927 vezes |
Boa parte das listas de exercícios de Java básico contém um enunciado pedindo para o seu programa ler um número inteiro e informar se o mesmo é par ou ímpar. Esse teste é feito usando-se o operador de módulo (%) da linguagem Java. Este operador retorna o resultado de uma divisão por inteiros, ou seja, se dividirmos 5 por 2, o resultado da divisão inteira será dois e o resto 1, indicando que o número informado não é par. Veja o código completo para um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Informe um valor inteiro: "); int num = input.nextInt(); if(num % 2 == 0){ System.out.print("Você informou um numero par"); } else{ System.out.print("Você informou um numero impar"); } System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: Informe um valor inteiro: 5 Você informou um numero impar |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como calcular a potência de um número usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 4597 vezes |
Pergunta/Tarefa: A potenciação ou exponenciação é a operação de elevar um número ou expressão a uma dada potência. Escreva um método Java recursivo que recebe uma base e um expoente e eleva a base ao expoente. Seu método deverá possuir a seguinte assinatura: public static int potencia(int base, int expoente){ // sua implementação aqui } Sua saída deverá ser parecida com: Informe a base: 5 Informe o expoente: 3 A base 5 elevada ao exponente 3 é 125 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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); // solicita a base System.out.print("Informe a base: "); // lê a base int base = Integer.parseInt(entrada.nextLine()); // solicita o expoente System.out.print("Informe o expoente: "); // lê o expoente int expoente = Integer.parseInt(entrada.nextLine()); // mostra o resultado System.out.print("A base " + base + " elevada ao exponente " + expoente + " é " + potencia(base, expoente)); System.out.println("\n"); } // método recursivo que eleva uma base a um determinado expoente public static int potencia(int base, int expoente){ // a recursivida deve parar quando o expoente for igual a 1 if(expoente == 1){ return base; } else{ // efetua uma nova chamada recursiva fornecendo o expoente - 1 return base * potencia(base, expoente - 1); } } } |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares O objetivo do dimensionamento de estruturas de concreto é obter segurança e economia. Muitas vezes, o projeto arquitetônico não possibilita vigas muito altas para grandes vãos. Uma solução adotada para esse tipo de situação, quando o concreto da seção da viga mais solicitada pode não resistir ao esforço de compressão, é adotar armadura dupla. Considere que uma viga V (20x30) tem uma solicitação de momento fletor de 65,20kN.m. O concreto utilizado nessa viga tem resistência de 30MPa e a agressividade ambiental do local é classe II (considere que é uma viga pouco solicitada). Das alternativas a seguir, assinale aquela que apresenta a área de aço da armadura comprimida dessa viga. A) 1,48cm2. B) 1,94cm2. C) 5,48cm2. D) 7,83cm2. E) 9,77cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Tipos de Escoamentos Para um conduto cilíndrico de raio R, calcular a área molhada, o perímetro molhado e o raio hidráulico em duas situações: (1) conduto completamente cheio de água e (2) conduto 50% preenchido. Identificar o escoamento que ocorre em cada uma das situações e qual escoamento é mais influenciado pelas paredes do contorno sólido. A) A1 = πR2; PM1 = 2πR, RH1 = R, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 2 é o mais influenciado pelas paredes, pois o RH é menor. B) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície lívre. Ambos os escoamentos possuem a mesma influência, pois o valor de RH é igual nos dois casos. C) A1 = πR2; PM1 = 2πR, RH1 = R, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 1 é o mais influenciado pelas paredes, pois o RH é maior. D) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento em conduto forçado A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento à superfície livre. O escoamento em 2 é o mais influenciado pelas paredes, pois a A2 é menor. E) A1 = πR2; PM1 = 2πR, RH1 = R/2, escoamento à superfície livre A2 = (πR2)/2; PM2 = πR, RH2 = R/2, escoamento em conduto forçado. Ambos os escoamentos possuem a mesma influência, pois o valor de RH é igual nos dois casos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes De acordo com as definições de preposto gerente, assinale a alternativa correta. A) O gerente é autorizado a praticar todos os atos necessários ao exercício dos poderes que lhe foram outorgados, mesmo que a lei exija poderes especiais para tal. B) O gerente responde sozinho pelos atos praticados em seu nome e em nome do preponente. C) O preponente pode estar em juízo em nome do gerente, pelas obrigações resultantes do exercício da sua função. D) Considera-se gerente o preposto permanente no exercício da empresa, em sua sede, filial ou agência. E) Os gerentes são responsáveis pelos atos dos preponentes, praticados nos seus estabelecimentos e relativos à atividade da empresa, ainda que não autorizados por escrito. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
(Udesc 2011) Segundo a Agência Nacional de Energia Elétrica (Aneel), existem no Brasil oito bacias hidrográficas. Assinale a alternativa correta em relação a essas bacias. A) As bacias do Paraná e do Uruguai formam a Bacia Platina. Esta última drena somente 5% do território nacional, e seu potencial hidrelétrico instalado é pequeno e inexpressivo. B) A Bacia do Rio São Francisco é a segunda maior bacia brasileira, e seu rio principal é totalmente navegável. C) A maior bacia é a do rio Amazonas, que recebe afluentes dos dois lados e possui o maior volume de água do planeta. D) A Bacia do Rio Tocantins recebe seus dois principais afluentes: o Araguaia e o Tietê. Possui a segunda maior usina do país, mas seu potencial hidrelétrico é o menor de todas as bacias hidrográficas brasileiras. E) A Bacia do Atlântico Norte/Nordeste é a terceira maior bacia hidrográfica do Brasil. Seus rios principais são o Madeira e o Juruá. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Introdução à Ética Entre os estudos proeminentes sobre a definição da ética, da moral, sua presença e importância entre os seres humanos racionalmente organizados em sistemas sociais, as sociedades, estão as análises e reflexões dos filósofos da Grécia Antiga. Embora cada um, entre expoentes como Platão, Aristóteles e Sócrates, tivesse uma proposta de interpretação para a moral e para a ética, é possível dizer que há uma percepção comum: a de que a "A ética é a morada do homem". O que isso significa? A) A moradia física para o grego era a base da sociedade, em torno da qual circundavam os demais significados socialmente apreendidos, então, ser ético era ser bom. B) Morada é um recanto simples onde o homem pode viver com honestidade, e ser uma pessoa ética é ser honesto. C) O sentido de morada era conceito existencial, confiado ao cidadão que, vivendo conforme normas e leis existentes, teria a segurança de uma vida ética. D) Assim como o mito da caverna, a lenda da morada também é falsa e se destina à formação de exemplos aos estudantes de filosofia da atualidade. E) Aristóteles escreveu essa máxima pensando em todos os habitantes da Grécia, que exibiam a igualdade de comportamento, pensamento e opinião política. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE Java - Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesiano |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |