C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando CQuantidade de visualizações: 4841 vezes |
|
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float x, y, norma;
// vamos ler os valores x e y
printf("Informe o valor de x: ");
scanf("%f", &x);
printf("Informe o valor de y: ");
scanf("%f", &y);
// vamos calcular a norma do vetor
norma = sqrt(pow(x, 2) + pow(y, 2));
// mostra o resultado
printf("A norma do vetor é: %f", norma);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
Java ::: Dicas & Truques ::: Entrada e Saída em Arquivos (File Input/Output - IO) |
Como ler o conteúdo de um arquivo uma linha de cada vez usando o método readLine() da classe RandomAccessFile da linguagem JavaQuantidade de visualizações: 13539 vezes |
|
Uma das operações mais frequentes em um programa é a leitura do conteúdo de arquivos. A classe RandomAccessFile nos fornece o método readLine() que é muito útil quando precisamos ler as linhas de conteúdo em um arquivo. O método readLine() lê bytes consecutivos do arquivo, começando na posição atual do ponteiro de arquivos até alcançar um caractere marcador de final de linha ou o fim do arquivo. Cada byte é convertido em um caractere tomando-se o valor do byte para os oito bits de menor ordem do caractere e definindo os oito bits de ordem alta do caractere como zero. Desta forma, este método não suporta Unicode completamente. Uma linha de texto é finalizada por um caractere de retorno de carro ("\r"), um caractere de nova linha ("\n"), um caractere de retorno de carro seguido por um caractere de nova linha, ou o final do arquivo. Caracteres de final de linha não são incluídos na string retornada pelo método. É importante observar que, a cada chamada ao método readLine(), o ponteiro de arquivo é avançado e posicionado para a leitura subsequente. Veja o exemplo:
import java.io.*;
public class Estudos{
public static void main(String[] args){
// uma instância de RandomAccessFile para leitura e escrita
try{
RandomAccessFile arquivo =
new RandomAccessFile("C:\\java\\conteudo.txt", "rw");
// vamos ler o conteúdo do arquivo uma linha de cada vez
String linha;
while((linha = arquivo.readLine()) != null){
System.out.println("Posição do ponteiro: " +
arquivo.getFilePointer());
System.out.println(linha);
}
arquivo.close();
}
catch(FileNotFoundException fnfe){
System.out.println(fnfe.getMessage());
}
catch(IOException ioe){
System.out.println(ioe.getMessage());
}
System.exit(0);
}
}
Ao executar este exemplo nós teremos o seguinte resultado: Posição do ponteiro: 27 Primeira linha do arquivo Posição do ponteiro: 53 Segunda linha do arquivo Posição do ponteiro: 78 Terceira linha do arquivo |
Portugol ::: Dicas & Truques ::: Laços de Repetição |
Como somar os dígitos de um número em Portugol usando o laço ENQUANTO - Solução para número inteiro de qualquer tamanhoQuantidade de visualizações: 706 vezes |
|
Em algumas situações nós precisamos obter e retornar a soma dos dígitos de um número inteiro positivo. Em nosso site você encontra alguns exemplos de como isso pode ser feito. No entanto, ao contrário das outras dicas, aqui eu mostro como somar os dígitos de um número informado pelo usuário sem fixar o seu tamanho, ou seja, não há limites para a quantidade de dígitos. Veja o código Portugol completo para o exemplo:
// Como somar os dígitos de um número em Portugol
programa {
funcao inicio() {
inteiro numero, soma
// inicia a soma como zero
soma = 0
// vamos pedir um número inteiro positivo
escreva("Informe um número inteiro positivo: ")
// lê o número informado
leia(numero)
// enquanto o número for diferente de 0
enquanto (numero != 0) {
// adiciona à soma o resultado da divisão do número por 10
soma = soma + (numero % 10)
// agora dividimos os número por 10 (divisão inteira) e continuamos
numero = inteiro(numero / 10)
}
// e mostramos o resultado
escreva("A soma dos dígitos é: ", soma)
}
}
Ao executar este código Portugol Web Studio nós teremos o seguinte resultado: Informe um número inteiro positivo: 1273 A soma dos dígitos é: 13 |
LISP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos em LISP - Trigonometria em LISPQuantidade de visualizações: 1255 vezes |
|
Quando estamos trabalhando com trigonometria na linguagem Common Lisp (e AutoLISP, para programadores AutoCAD), é importante ficarmos atentos ao fato de que todos os métodos e funções trigonométricas em Lisp recebem seus argumentos em radianos, em vez de graus. Nesta dica veremos como converter graus em radianos (sem a chatice de ficar relembrando regra de três). Veja a fórmula abaixo: \[Radianos = Graus \times \frac{\pi}{180}\] Agora veja como esta fórmula pode ser escrita em código LISP: ; programa LISP que converte graus em radianos (let((graus)(radianos)) ; valor em graus (setq graus 30) ; obtém o valor em radianos (setq radianos (* graus (/ pi 180))) ; mostra o resultado (format t "~F graus em radianos é ~F" graus radianos) ) Ao executarmos este código Common Lisp nós teremos o seguinte resultado: 30 graus convertidos para radianos é 0.5235987755982988 |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar Java - Como carregar uma imagem em um BufferedImage do Java usando o método read() da classe ImageIO JavaScript - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove() Delphi - Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do Delphi |
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 |






