Você está aqui: C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
|
Como calcular o cosseno de um ângulo em C++ usando a função cos() do header math.h - Calculadora de cosseno em C++Quantidade de visualizações: 1567 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno 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 cosseno. 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 cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem C++. Esta função, que faz parte do header math.h, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja: #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ // vamos gerar o cosseno de três números cout << "Cosseno de 0 = " << cos(0) << "\n"; cout << "Cosseno de 1 = " << cos(1) << "\n"; cout << "Cosseno de 2 = " << cos(2) << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Cosseno de 0 = 1 Cosseno de 1 = 0.540302 Cosseno de 2 = -0.416147 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: |
|
Link para compartilhar na Internet ou com seus amigos: | |
Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessorQuantidade de visualizações: 6888 vezes |
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome. É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita. Veja um exemplo: # Definição da classe Cliente class Cliente attr_accessor :nome, :idade def initialize(nome, idade) @nome = nome @idade = idade end end # Cria uma instância da classe Cliente e inicializa as # variáveis de instância @nome e @idade cliente = Cliente.new("Osmar J. Silva", 35) # Acessa as variáveis de instância sem a necessidade # de métodos acessórios puts cliente.nome puts cliente.idade # Modifica as variáveis de instância sem a necessidade # de métodos mutatórios cliente.nome = "Carlos da Silva" cliente.idade = 56 # Obtém os resultados puts cliente.nome puts cliente.idade Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo: Traceback (most recent call last): estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError) |
Java ::: Java para Engenharia ::: Física - Hidrodinâmica |
Como representar a Equação da Continuidade em Java - Java para HidrodinâmicaQuantidade de visualizações: 132 vezes |
O que é a Equação da Continuidade? A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos. A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída. Para melhor entendimento veja a seguinte figura: Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água. Qual é a Fórmula da Equação da Continuidade? Antes de passarmos ao código Java, vamos revisar a Fórmula da Equação da Continuidade. Veja: \[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \] Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos. Vamos escrever código Java agora? A Equação da Continuidade em código Java Para exemplificar como podemos representar a Equação da Continuidade em Java, vamos resolver o seguinte problema? 1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2? a) 20 m/s b) 4 m/s c) 0,25 m/s d) 1,4 m/s e) 0,2 m/s Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados. Veja o código Java completo para a resolução deste exercício de Equação da Continuidade: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar os dados de entrada System.out.print("Velocidade de entrada (m/s): "); double v1 = Double.parseDouble(entrada.nextLine()); System.out.print("Área de entrada (milímetros quadrados): "); double a1 = Double.parseDouble(entrada.nextLine()); System.out.print("Área de saída (milímetros quadrados): "); double a2 = Double.parseDouble(entrada.nextLine()); // vamos converter as áreas em milímetros quadrados // para metros quadrados a1 = a1 / 1000000; a2 = a2 / 1000000; // agora calculamos a velocidade de saída double v2 = (a1 * v1) / a2; // e mostramos o resultado System.out.println("A velocidade de saída é: " + v2 + " m/s"); System.out.println("\n"); } } Ao executar este código Java nós teremos o seguinte resultado: Velocidade de entrada (m/s): 2 Área de entrada (milímetros quadrados): 200 Área de saída (milímetros quadrados): 100 A velocidade de saída é: 4.0 m/s Portanto, a velocidade do fluido na saída do tubo é de 4 m/s. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversaQuantidade de visualizações: 15599 vezes |
Exercício Resolvido de Java - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa Pergunta/Tarefa: Escreva um programa Java console ou GUI que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída: Informe um valor inteiro de três dígitos: 753 O valor original é: 753 O valor invertido é: 357 Veja a resolução comentada deste exercício usando Java console: public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar ao usuário que informe um valor inteiro // na faixa 100 a 999 (incluindo) System.out.print("Informe um valor inteiro de três dígitos: "); // vamos ler o valor informado int valor = Integer.parseInt(entrada.next()); // vamos verificar se o valor está na faixa permitida if(valor < 100 || valor > 999){ System.out.println("Valor fora da faixa permitida"); System.exit(0); } // vamos criar uma variável temporária para manter intacto o valor lido int temp = valor; int inverso = 0; // guardará o valor invertido // vamos inverter o valor agora while(temp != 0){ inverso = (inverso * 10) + (temp % 10); temp = temp / 10; } // vamos mostrar o resultado System.out.println("O valor original é: " + valor); System.out.println("O valor invertido é: " + inverso); } |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em Python - Python para Matemática e EstatísticaQuantidade de visualizações: 4713 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código Python completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: # precisamos importar o módulo Math import math # função principal do programa def main(): # conjunto dos dados conjunto = [10, 30, 90, 30] soma = 0.0 # soma dos elementos desvio_padrao = 0.0 # desvio padrão tam = len(conjunto) # tamanho dos dados # vamos somar todos os elementos for i in range(0, tam): soma = soma + conjunto[i] # agora obtemos a média do conjunto de dados media = soma / tam # e finalmente obtemos o desvio padrão for i in range(0, tam): desvio_padrao = desvio_padrao + math.pow(conjunto[i] - media, 2) # mostramos o resultado print("Desvio Padrão Populacional: {0}".format(math.sqrt(desvio_padrao / tam))) print("Desvio Padrão Amostral: {0}".format(math.sqrt(desvio_padrao / (tam - 1)))) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Como carregar uma imagem (ou foto) no objeto Canvas do HTML5Quantidade de visualizações: 2090 vezes |
O objeto Canvas do HTML5 nos permite carregar uma imagem ou foto em tempo de execução e desenhá-la em sua superfície. Para isso, comece criando um objeto Image para guardar a imagem temporariamente na memória:var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; O passo seguinte é adicionar um "ouvidor" de evento neste objeto Image para que ele nos avise quando a imagem estiver 100% carregada. Veja: // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); Pronto! Veja que agora, quando o evento load do objeto Image disparar, a função desenharImagem será chamada e a imagem será então desenhada no Canvas. Veja: function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } E aqui está o código completo para o exemplo: <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> var imagem = new Image(); // vamos carregar a logo do nosso site imagem.src = "https://www.arquivodecodigos.com.br/logo.jpg"; // vamos adicionar um "ouvidor" de evento no objeto Image imagem.addEventListener('load', desenharImagem); function desenharImagem(){ // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // e finalmente desenhamos a imagem contexto.drawImage(imagem, 0, 0); } </script> </body> </html> Ao executar a página nós teremos o seguinte resultado: |
Veja mais Dicas e truques de HTML5 |
Dicas e truques de outras linguagens |
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 |