Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia

Quantidade de visualizações: 1797 vezes
Nesta nossa série de Java para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil).

Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos.

Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade).

Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é:

__$r = \sqrt{x^2+y2}__$
__$\theta = \\arctan\left(\frac{y}{x}\right)__$

E aqui está o código Java completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$):

package arquivodecodigos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    Scanner entrada = new Scanner(System.in);
    // vamos ler as coordenadas cartesianas
    System.out.print("Valor de x: ");
    double x = Double.parseDouble(entrada.nextLine());
    System.out.print("Valor de y: ");
    double y = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular o raio
    double raio = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));  

    // agora calculamos o theta (ângulo) em radianos 
    double theta = Math.atan2(y, x);

    // queremos o ângulo em graus também
    double angulo_graus = 180 * (theta / Math.PI); 

    // e exibimos o resultado
    System.out.println("As Coordenadas Polares são:\n" +
      "raio = " + raio + ", theta = " + theta + ", ângulo em graus = " +
      angulo_graus);
  }
}

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

Valor de x: -1
Valor de y: 1
As Coordenadas Polares são:
raio = 1.4142135623730951, theta = 2.356194490192345, ângulo em graus = 135.0

Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raizes e frações em vez de valores reais.

Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de Python - Como percorrer todos os elementos de um vetor de inteiros e exibir a soma de seus valores

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

Considere o seguinte vetor de inteiros:

// um vetor de inteiros contendo sete elementos
valores = [4, 5, 1, 8, 2, 2, 10]
Escreva um programa Python console ou GUI que usa um laço for para percorrer todos os elementos deste vetor e exibir a soma de seus valores. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores do vetor é: 32

Resposta/Solução:

# método principal
def main():
  # um vetor de inteiros contendo sete elementos
  valores = [4, 5, 1, 8, 2, 2, 10]
    
  # o primeiro passo é criar uma variável que vai receber a soma
  # dos valores dos elementos
  soma = 0

  # agora vamos usar uma laço for para percorrer todos os elementos
  # do vetor, obter o valor do elemento atual e adicionar ao valor atual
  # da variável soma
  for valor in valores:
    soma = soma + valor
  
  # vamos exibir a soma dos valores do vetor
  print("A soma dos valores do vetor é: {0}".format(soma))
    
if __name__== "__main__":
  main()



Python ::: Flask Micro Framework ::: Rotas e Roteamento

Como criar rotas em suas aplicações Flask usando o decorador @app.route() - Tutorial Flask para iniciantes

Quantidade de visualizações: 925 vezes
Aplicações web modernas usam uma técnica chamada roteamento nomeado, ou, na linguagem do pessoal do SEO, URLs amigáveis. Isso quer dizer que, em vez de termos URLS do tipo /livro.php?id_livro=39 nós temos /livro/39.

Neste modelo de roteamento, livro é o nome de uma função Python que será chamada quando o usuário acessar este endereço, e 39 será o argumento passado para o método.

Em Flask, as URLs são associadas às funções Python por meio do decorador @app.route(). Veja uma aplicação Flask completa que possui um método index() que é chamado quando o usuário acessa a raiz da aplicação:

# vamos importar a biblioteca Flask
from flask import Flask
 
# função principal do programa
def main():
  # vamos criar a aplicação Flask
  app = Flask(__name__)
 
  # definimos a rota para a função index()
  @app.route("/")
  def index():
    return "Este é o método index()"

  # e iniciamos a aplicação web na porta 5000
  app.run(port=5000, debug=True)

if __name__== "__main__":
  main()

Note que a nossa aplicação Flask estará disponível na porta 5000. Assim, ao acessar o endereço http://127.0.0.1:5000 nós teremos o seguinte resultado:

Este é o método index()

Veja agora como criar uma URL /listar_usuarios e associá-la a uma função listar_usuarios():

# vamos importar a biblioteca Flask
from flask import Flask
 
# função principal do programa
def main():
  # vamos criar a aplicação Flask
  app = Flask(__name__)
 
  # definimos a rota para a função index()
  @app.route("/")
  def index():
    return "Este é o método index()"

  # definimos a rota para a função listar_usuarios()
  @app.route("/listar_usuarios")
  def listar_usuarios():
    return "Este é o método para listar os usuários"  

  # e iniciamos a aplicação web na porta 5000
  app.run(port=5000, debug=True)

if __name__== "__main__":
  main()

Agora, experimente acessar o endereço http://127.0.0.1:5000/listar_usuarios e veja o resultado. Se tudo estiver correto, você verá o seguinte resultado:

Este é o método para listar os usuários

Em mais dicas desta seção você verá como criar URLs com parâmetros e passá-los para suas funções Python.


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

Como calcular o seno de um número ou ângulo usando a função sin() da linguagem R

Quantidade de visualizações: 1316 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem R. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

> sin(0) [ENTER]
[1] 0
> sin(1) [ENTER]
[1] 0.841471
> sin(2) [ENTER]
[1] 0.9092974
> 


Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




Python ::: Dicas & Truques ::: Data e Hora

Como obter um datetime da data e hora atual usando o método today() da classe datetime da linguagem Python

Quantidade de visualizações: 10257 vezes
Neste exemplo mostrarei como podemos usar o método today() da classe datetime do Python para retornar a data e hora local.

Veja o código completo:

from datetime import datetime

def main():
  # Obtém um datetime da data e hora atual
  hoje = datetime.today()
 
  # Exibe o conteúdo do datetime
  print("Hoje é: " + str(hoje))
 
if __name__== "__main__":
  main()

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

Hoje é: 2018-03-03 15:54:01.477809


C# ::: Dicas & Truques ::: Tipos de Dados

C# para iniciantes - Como usar o tipo decimal da linguagem C#

Quantidade de visualizações: 16230 vezes
O tipo decimal (um apelido para o tipo System.Decimal
do .NET) é um tipo numérico com precisão de 128 bits, o que o torna apropriado para cálculos enormes e de grande precisão, tais como cálculos financeiros.

A faixa aproximada deste tipo é: (mais ou menos)1.0 x 10e−28 até (mais ou menos)7.9 x 10e28 com precisão de 28 ou 29 dígitos significantes. Em C# 2.0, o tipo decimal ocupa 12 bytes, como pode ser observado no trecho de código abaixo:

Console.WriteLine("O tipo decimal ocupa " + sizeof(decimal) +
  " bytes");

É preciso ter muito cuidado ao atribuir um literal de ponto-flutuante à uma variável do tipo decimal. Veja:

decimal valor = 34.50;

Este trecho de código não compila. Veja o erro reportado:

Literal of type double cannot be implicitly converted 
to type 'decimal'; use an 'M' suffix to create a 
literal of this type


Esta mensagem nos diz que não é possível converter implicitamente um tipo double para um tipo decimal. Para solucionar isso, basta usar a letra "M" ou "m" após o valor literal. Veja:

decimal valor = 34.50m;

Para finalizar, se estivermos atribuindo um literal inteiro à uma variável do tipo decimal, o uso do "M" ou "m" é dispensado. O trecho de código abaixo compila sem quaisquer problemas:

decimal valor = 34;



Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 10 usuários muito felizes estudando em nosso site.