Você está aqui: Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular vetor unitário em Python - Python para Física e Engenharia

Quantidade de visualizações: 686 vezes
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$.

O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$.

O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor.

Então, vejamos a fórmula para a obtenção do vetor unitário:

\[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\]

Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível.

Veja agora o código Python que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos precisar do módulo Math
import math

# função principal do programa
def main():
  # vamos ler os valores x e y
  x = float(input("Informe o valor de x: "))
  y = float(input("Informe o valor de y: "))
     
  # o primeiro passo é calcular a norma do vetor
  norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
    
  # agora obtemos as componentes x e y do vetor unitário
  u_x = x / norma
  u_y = y / norma
    
  # mostra o resultado
  print("O vetor unitário é: (x = {0}; y = {1})".format(u_x, u_y))
  
if __name__== "__main__":
  main()

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

Informe o valor de x: -4
Informe o valor de y: 6
O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437)

Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos precisar do módulo Math
import math

# função principal do programa
def main():
  # vamos ler os valores x, y e z
  x = float(input("Informe o valor de x: "))
  y = float(input("Informe o valor de y: "))
  z = float(input("Informe o valor de z: "))
     
  # o primeiro passo é calcular a norma do vetor
  norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2) + math.pow(z, 2))
    
  # agora obtemos as componentes x, y e z do vetor unitário
  u_x = x / norma
  u_y = y / norma
  u_z = z / norma
    
  # mostra o resultado
  print("O vetor unitário é: (x = {0}; y = {1}; z = {2})".format(
    u_x, u_y, u_z))
  
if __name__== "__main__":
  main()

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

Informe o valor de x: 3
Informe o valor de y: 7
Informe o valor de z: 5
O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517)

Link para compartilhar na Internet ou com seus amigos:

Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como criar um laço while() infinito na linguagem Python

Quantidade de visualizações: 9968 vezes
Nesta dica eu mostrarei como é possível criar um laço (loop) while infinito em Python. Esta técnica é útil para as situações nas quais queremos interagir com o usuário do nosso programa até que um determinado valor seja informado.

No exemplo abaixo temos um laço while() que será executado até que o texto "fim" seja informado pelo usuário.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  while True:
    frase = input("Digite uma frase: ");
    print("Você digitou: ", frase)
 
    # vamos sair do laço
    if frase == "fim":
      print("Você acaba de sair do laço while()")
      break
 
if __name__== "__main__":
  main()

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

Digite uma frase: Estou estudando Python
Você digitou: Estou estudando Python
Digite uma frase: Preciso viajar amanhã
Você digitou: Preciso viajar amanhã
Digite uma frase: fim
Você digitou: fim
Você acaba de sair do laço while()


Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: Input e Output (Entrada e Saída)

Como usar o método read_csv() do Pandas da linguagem Python para carregar um dataset e retorná-lo como um DataFrame

Quantidade de visualizações: 4961 vezes
Quando estamos desenvolvendo soluções em Data Science ou Machine Learning, é comum precisarmos carregar dados contidos em arquivos .csv (nos quais os registros são separados por vírgulas ou ponto-e-vírgula). Para isso podemos usar o método read_csv() da biblioteca Pandas do Python.

Veja um exemplo no qual usamos o método read_csv() para carregar um dataset e depois exibir o DataFrame resultante. Para isso usaremos uma amostra de dados de empréstimos aprovados ou recusados. O arquivo .csv pode ser baixado aqui.

Eis o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca Pandas
import pandas as pd

def main():
  # vamos carregar os dados do arquivo .csv
  dados = pd.read_csv("C:\\estudos_python\\emprestimos.csv",
   delimiter=";")

  # vamos mostrar o DataFrame resultante
  print(dados)

if __name__== "__main__":
  main()

Quando executarmos este código nós teremos um resultado parecido com:

    id nome       idade sexo renda valor parc pont ap
0    1 MIGUEL728   24    M   1800  12500  30   34   S
1    2 RAUL46      61    M   2300  10000  24   59   S
2    3 JONAS264    28    M    800  12500  36   59   N
3    4 LETICIA135  71    F   1800  10000  36   13   N
4    5 CARLOS931   60    F   4000   2000   6   10   N
.. ...   ...    ...  ...    ...    ...   ...   ... ..
9   96 ANGELA391   91    F   4000  12500  12   33   N
96  97 PEDRO764    50    M  10200   2500  12    1   N
97  98 ADRIANA175  41    F   4000   2000  36   77   S
98  99 ROSA666     42    F   1800  20000  24   74   N
99 100 SARA653     36    F    970  11000  12   42   N

[100 rows x 9 columns]


Note que aqui nós temos uma amostra de 100 registros e cada registro possui 9 colunas. Se você quiser ver todos os 100 registros, troque a linha:

print(dados)

por

print(dados.to_string())

Para finalizar, note que forneci ";" como delimitador para o método read_csv().


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca)

Exercícios Resolvidos de Python - Como usar a Ordenação da Bolha em Python para ordenar os valores de um vetor em ordem crescente ou decrescente

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

A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.

Escreva um programa Python que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente.

Sua saída deverá ser parecida com:

Informe o valor para o índice 0: 84
Informe o valor para o índice 1: 23
Informe o valor para o índice 2: 9
Informe o valor para o índice 3: 5
Informe o valor para o índice 4: 11
Informe o valor para o índice 5: 3
Informe o valor para o índice 6: 50
Informe o valor para o índice 7: 7
Informe o valor para o índice 8: 2
Informe o valor para o índice 9: 73

O array informado foi:

84   23   9   5   11   3   50   7   2   73   

O array ordenado é:

2   3   5   7   9   11   23   50   73   84
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# função principal do programa
def main():
  # vamos declarar e construir um vetor de 10 elementos
  valores = [0 for x in range(10)]
  	  
  # vamos pedir que o usuário informe os valores
  for i in range(0, len(valores)):
    valores[i] = int(input("Informe o valor para o índice {0}: ".format(i)))
    
  # vamos mostrar o vetor informado
  print("\nO array informado foi:\n\n")
  for i in range(0, len(valores)):
    print(valores[i], end="   ")
    
  # vamos ordenar os elementos do vetor usando a ordenação da bolha
  # laço externo de trás para frente
  for i in range(len(valores) - 1, 0, -1):
    for j in range(0, i): # laço interno vai no fluxo normal
      if valores[j] > valores[j + 1]: # temos que trocá-los de lugar 
        temp = valores[j]
        valores[j] = valores[j + 1]
        valores[j + 1] = temp
    
  # vamos exibir o vetor já ordenado
  print("\n\nO array ordenado é:\n\n")
  for i in range(0, len(valores)):
    print(valores[i], end="   ")
  
  print("\n")

if __name__== "__main__":
  main()



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

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: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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