![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular vetor unitário em Python - Python para Física e EngenhariaQuantidade de visualizações: 894 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: # 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: # 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) |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como criar uma tela de login usando o gerenciador de layout GridBagLayout do Java SwingQuantidade de visualizações: 35919 vezes |
Temos que aceitar o fato de que o uso de uma IDE visual facilita muito o trabalho de criação de interfaces gráficas (GUI). Contudo, é muito bom poder escrever telas via código mesmo. E o gerenciador de layout GridBagLayout possibilita a criação de layouts realmente avançados. O trecho de código abaixo mostra como criar uma tela de login usando este gerenciador. Guarde este código. Ele poder ser útil na criação de outros formulários: package arquivodecodigos; import javax.swing.*; import javax.swing.border.*; import java.awt.*; public class Estudos extends JFrame{ public Estudos(){ super("Tela de login usando GridBagLayout"); // define o layout setLayout(new GridBagLayout()); // define uma borda para aumentar o espaço // entre as bordas da janela e o gerenciador // de layout ((JComponent)getContentPane()).setBorder( new EmptyBorder(5, 8, 8, 8)); // cria o GridBagConstraints GridBagConstraints gbc = new GridBagConstraints(); // controla o espaço entre os componentes // e as linhas do GridBagLayout. // aqui nós definimos 3 pixels para os // lados de cima, esquerda, inferior e direita gbc.insets = new Insets(3, 3, 3, 3); // adiciona componentes à janela // esta primeira JLabel ocupará duas células // na primeira linha gbc.gridy = 0; // linha gbc.gridx = 0; // coluna gbc.gridwidth = 2; // duas células na linha // alinha o label à esquerda gbc.anchor = GridBagConstraints.WEST; JLabel infoLabel = new JLabel("Dados do Usuário:"); // vamos aumentar a fonte da JLabel infoLabel.setFont(new Font("SansSerif", Font.BOLD, 14)); // vamos adicionar um espaço extra na parte // inferior da JLabel infoLabel.setBorder( new EmptyBorder(0, 0, 5, 0)); add(infoLabel, gbc); gbc.gridy = 1; // linha gbc.gridx = 0; // coluna gbc.gridwidth = 1; // cria a label do usuário JLabel usuarioLabel = new JLabel("Usuário:"); add(usuarioLabel, gbc); gbc.gridy = 1; // linha gbc.gridx = 1; // coluna // cria a JTextField do usuário JTextField usuarioTxt = new JTextField(13); add(usuarioTxt, gbc); gbc.gridy = 2; // linha gbc.gridx = 0; // coluna // cria a label da senha JLabel usuarioSenha = new JLabel("Senha:"); add(usuarioSenha, gbc); gbc.gridy = 2; // linha gbc.gridx = 1; // coluna // cria a JPasswordField da senha JPasswordField senhaTxt = new JPasswordField(13); add(senhaTxt, gbc); gbc.gridy = 3; // linha gbc.gridx = 1; // coluna gbc.gridwidth = 2; // duas células na linha // alinha os botões à direita gbc.anchor = GridBagConstraints.EAST; JPanel botoesPanel = new JPanel(); botoesPanel.add(new JButton("Cancelar")); botoesPanel.add(new JButton("OK")); add(botoesPanel, gbc); pack(); // ajusta o tamanho da janela ao // dos componentes setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias restantes para uma determinada data em JavaScriptQuantidade de visualizações: 9258 vezes |
Em algumas situações nós precisamos calcular quantos dias faltam para uma determinada data em JavaScript. Por exemplo, você gostaria de saber quantos dias ainda falta para o Natal, ou para o seu aniversário? Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Data e hora em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos obter a data de hoje var hoje = new Date(); // vamos construir a data do Natal var data_natal = new Date(hoje.getFullYear(), 11, 25); // quantidade de milisegundos em um dia var dia = 1000 * 60 * 60 * 24; // calculamos os dias restantes para a data escolhida var restantes = Math.ceil((data_natal.getTime() - hoje.getTime()) / dia); // e mostramos o resultado document.write("Hoje é: " + hoje.toLocaleDateString() + "<br>"); document.write("Faltam " + restantes + " dias para o natal."); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é: 06/02/2023 Faltam 322 dias para o natal. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como calcular o Índice de Massa Corporal em Java - Como calcular IMC em JavaQuantidade de visualizações: 12888 vezes |
Pergunta/Tarefa: O índice de massa corporal (IMC) é uma medida internacional usada para calcular se uma pessoa está no peso ideal. Ele foi desenvolvido pelo polímata Lambert Quételet no fim do século XIX. Trata-se de um método fácil e rápido para a avaliação do nível de gordura de cada pessoa, ou seja, é um preditor internacional de obesidade adotado pela Organização Mundial da Saúde (OMS). O IMC é determinado pela divisão da massa do indivíduo pelo quadrado de sua altura, em que a massa está em quilogramas e a altura em metros. A fórmula é a seguinte: ![]() A classificação é feita de acordo com as seguintes regras: a) < 16 - Magreza grave b) 16 a < 17 - Magreza moderada c) 17 a < 18,5 - Magreza leve d) 18,5 a < 25 - Saudável e) 25 a < 30 - Sobrepeso f) 30 a < 35 - Obesidade Grau I g) 35 a < 40 - Obesidade Grau II (severa) h) >= 40 - Obesidade Grau III (mórbida) Escreva um programa Java que leia o peso e a altura de uma pessoa e retorna seu IMC classificado de acordo com a tabela acima. Sua saída deverá ser parecida com: Informe seu peso: 82 Informe sua altura: 1.85 Seu IMC é: 23.959094229364496 Sua classificação é Saudável Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar o peso e a altura da pessoa System.out.print("Informe seu peso: "); double peso = Double.parseDouble(entrada.nextLine()); System.out.print("Informe sua altura: "); double altura = Double.parseDouble(entrada.nextLine()); // vamos calcular o IMC double imc = peso / (altura * altura); System.out.println("Seu IMC é: " + imc); // vamos mostrar a classificação if(imc < 16){ System.out.println("Sua classificação é Magreza grave"); } else if((imc >= 16) && (imc < 17)){ System.out.println("Sua classificação é Magreza moderada"); } else if((imc >= 17) && (imc < 18.5)){ System.out.println("Sua classificação é Magreza leve"); } else if((imc >= 18.5) && (imc < 25)){ System.out.println("Sua classificação é Saudável"); } else if((imc >= 25) && (imc < 30)){ System.out.println("Sua classificação é Sobrepeso"); } else if((imc >= 30) && (imc < 35)){ System.out.println("Sua classificação é Obesidade Grau I"); } else if((imc >= 35) && (imc < 40)){ System.out.println("Sua classificação é Obesidade Grau II"); } else{ System.out.println("Sua classificação é Obesidade Grau III (mórbida)"); } System.out.println("\n"); } } |
Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar de uma matriz é uma matriz identidade usando PythonQuantidade de visualizações: 1337 vezes |
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código Python completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não: # método principal def main(): n = 3; # ordem da matriz quadrada matriz = [[0 for x in range(n)] for y in range(n)] # matriz quadrada identidade = True # vamos pedir para o usuário informar os elementos da matriz for i in range(n): for j in range(n): matriz[i][j] = int(input("Elemento na linha {0} e coluna {0}: ".format( (i + 1), (j + 1)))) # agora verificamos se a matriz é uma matriz identidade for linha in range(n): for coluna in range(n): if (matriz[linha][coluna] != 1) and (matriz[coluna][linha] != 0): identidade = False break # agora mostramos a matriz lida print() for i in range(n): for j in range(n): print(matriz[i][j], end=' ') print() if identidade: print("\nA matriz informada é uma matriz identidade.") else: print("\nA matriz informada não é uma matriz identidade.") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string contém apenas letras em Python usando a função isalpha()Quantidade de visualizações: 15066 vezes |
Este exemplo mostra como podemos a função isalpha() do Python para verificar se uma string contém apenas letras, ou seja, nada de números, espaços nem pontuação. Se algum número, espaço, um caractere especial ou pontuação estiver contido, a função retorna False.def main(): # uma palavra contendo apenas letras palavra = "Arquivo" # a palavra contém apenas letras? if palavra.isalpha(): print("A string contém apenas letras") else: print("A string não contém somente letras") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A string contém apenas letras. |
GoLang ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString()Quantidade de visualizações: 1004 vezes |
Em algumas situações nós precisamos obter e retornar o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Para isso nós podemos duas funções na linguagem Go: len() e RuneCountInString(). O método len() retorna a quantidade de bytes contidos em uma string. Note, porém, que esta função não é recomendada quando estamos lidando com caracteres do conjunto utf8, que requerem dois bytes. Dessa forma, se estivermos certos de que a string não possui acentos ou caracteres especiais, então o método len() é o mais adequado. Veja um trecho de código Golang no qual pedimos para o usuário informar uma palavra ou frase e em seguida nós informamos a quantidade de caracteres contidos nela: // pacote principal package main // vamos importar os módulos necessários import ( "bufio" "fmt" "os" "strings" ) // esta é a função principal do programa func main() { // variáveis que vamos usar na resolução do problema var frase string var tamanho int // vamos pedir para o usuário informar uma // palavra ou frase fmt.Print("Informe uma palavra ou frase: ") var entrada = bufio.NewReader(os.Stdin) frase, _ = entrada.ReadString('\n') frase = strings.TrimSpace(frase) // vamos obter o tamanho da string tamanho = len(frase) // e mostramos o resultado fmt.Printf("A palavra ou frase contém %d caracteres", tamanho) } Ao executarmos este código Go nós teremos o seguinte resultado: Informe uma palavra ou frase: Gosto de Python A palavra ou frase contém 15 caracteres Se contarmos a quantidade de caracteres na string informada, realmente veremos que o código retornou o resultado esperado. O problema acontece quando informamos uma palavra ou frase com acentos ou caracteres especiais. Experimente e veja que a função len() começa a retornar uma contagem estranha. Quando nossas strings possuem caracteres especiais ou com acentos, a função a ser usada é RuneCountInString(). Veja: // pacote principal package main // vamos importar os módulos necessários import ( "bufio" "fmt" "os" "unicode/utf8" "strings" ) // esta é a função principal do programa func main() { // variáveis que vamos usar na resolução do problema var frase string var tamanho int // vamos pedir para o usuário informar uma // palavra ou frase fmt.Print("Informe uma palavra ou frase: ") var entrada = bufio.NewReader(os.Stdin) frase, _ = entrada.ReadString('\n') frase = strings.TrimSpace(frase) // vamos obter o tamanho da string tamanho = utf8.RuneCountInString(frase) // e mostramos o resultado fmt.Printf("A palavra ou frase contém %d caracteres", tamanho) } Ao executarmos este novo código nós teremos o resultado: Informe uma palavra ou frase: Código A palavra ou frase contém 6 caracteres |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar itens ao final de uma lista de inteiros em Python usando a função append()Quantidade de visualizações: 8662 vezes |
O método append() é usado quando queremos adicionar um novo elemento no final de uma list Python. Esta função aceita qualquer tipo de elemento, ou seja, uma string, um number, um object, etc. Veja um exemplo de seu uso no trecho de código a seguir: """ Este exemplo mostra como adicionar itens ao fim de uma lista de inteiros. """ def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 6): valor = int(input("Informe um inteiro: ")) # insere o valor no final da lista valores.append(valor) # exibe os valores da lista print("Valores na lista:", valores, "\n") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um inteiro: 7 Informe um inteiro: 2 Informe um inteiro: 9 Informe um inteiro: 3 Informe um inteiro: 6 Valores na lista: [7, 2, 9, 3, 6] |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2593 vezes |
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor. Para melhor entendimento, comece analisando o trecho de código abaixo: <script type="text/javascript"> function maiorQue10(valor){ return valor > 10; } // vamos criar um vetor de inteiros var valores = [2, 6, 32, 9, 3, 21]; // vamos filtrar o vetor para obter apenas os // valores maiores que 10 var maiores10 = valores.filter(maiorQue10); // vamos mostrar o resultado window.alert(maiores10); </script> Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento. Uma função passada para o método filter() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método filter() está sendo chamado (opcional). Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par: <script type="text/javascript"> function maiorQue10PrecPar(valor, indice, vetor){ // o primeiro elemento não é precedido por // outro. Vamos descartá-lo if(indice == 0){ return false; } // é precedido por um número par? if(vetor[indice - 1] % 2 == 0){ // é maior que 10? return valor > 10; } // nenhuma das condições acima? return false; } // vamos criar um vetor de inteiros var valores = [2, 6, 32, 9, 3, 21]; // vamos filtrar o vetor para obter apenas os // valores maiores que 10 e precedidos por um // número par var maiores10 = valores.filter(maiorQue10PrecPar); // vamos mostrar o resultado window.alert(maiores10); </script> Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par. |
JavaScript ::: Dicas & Truques ::: Formatação de datas, strings e números |
Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto NumberQuantidade de visualizações: 12783 vezes |
Nesta dica mostrarei como podemos usar a função toFixed() do objeto Number da linguagem JavaScript para convertermos um valor de ponto flutuante em uma string (em texto). Durante a conversão nós vamos especificar que queremos apenas dois dígitos depois do ponto decimal. Veja o código JavaScript completo para o exemplo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos obter o valor de // PI 3.141592653589793 var valor = Math.PI; document.write("PI: " + valor); // agora vamos converter o valor de PI para // string e arredondar para o número de // decimais desejados var res = valor.toFixed(2); document.write("<br>Resultado: " + res); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: PI: 3.141592653589793 Resultado: 3.14 |
Nossas 20 dicas & truques de programação mais populares |
Android Java - Como usar a classe Toast em suas aplicações Android Excel - Como converter graus em radianos no Excel usando a função RADIANOS() - Trigonometria no Excel |
Você também poderá gostar das dicas e truques de programação abaixo |
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 |