Você está aqui: C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

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

Quantidade de visualizações: 11412 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 C. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

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

#include <stdio.h>
#include <stdlib.h>
#include <math.h>  
  
int main(int argc, char *argv[]){
  printf("Seno de 0 = %f", sin(0));
  printf("\nSeno de 1 = %f", sin(1));
  printf("\nSeno de 2 = %f", sin(2)); 
   
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Seno de 0 = 0.000000
Seno de 1 = 0.841471
Seno de 2 = 0.909297

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:



Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Strings e Caracteres

Como acessar os caracteres de uma string individualmente usando índices na linguagem C

Quantidade de visualizações: 9530 vezes
Como em C uma string é vetor (array) de caracteres, tais caracteres podem ser acessados por meio de seu índice no vetor (um valor inteiro começando em 0). Este trecho de código mostra como esta tarefa pode ser realizada:

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

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(int argc, char *argv[]){
  char palavra[] = "Arquivo";
 
  // vamos acessar o primeiro caractere da string
  char letra = palavra[0];
  printf("O primeiro caractere e %c\n", letra);
 
  // vamos acessar o quinto caractere da string
  letra = palavra[4];
  printf("O quinto caractere e %c\n", letra);
 
  puts("\n\n");
  system("PAUSE");
  return 0;
}

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

O primeiro caractere e A
O quinto caractere e i


C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico

Exercícios Resolvidos de C - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa

Quantidade de visualizações: 1212 vezes
Algorítmo Resolvido de C - 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 C 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:

Observação: Seu código deverá usar apenas os operadores matemáticos disponíveis, por padrão, na linguagem C.

Informe um valor inteiro de três dígitos: 753
O valor original é: 753
O valor invertido é: 357
Resposta/Solução:

Veja a resolução comentada deste exercício usando C console (modo texto):

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

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>  
   
int main(int argc, char *argv[])
{
  int numero, temp, inverso;
	
  setlocale(LC_ALL,""); // para acentos do português
  
  // vamos solicitar ao usuário que informe um valor inteiro
  // na faixa 100 a 999 (incluindo)
  printf("Informe um valor inteiro de três dígitos: ");
  // vamos ler o valor informado
  scanf("%d", &numero);

  // vamos verificar se o valor está na faixa permitida
  if(numero < 100 || numero > 999){
    printf("Valor fora da faixa permitida");
  }
  else{
    // vamos criar uma variável temporária para 
    // manter intacto o valor lido
    temp = numero;
    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
    printf("O valor original é: %d\n", numero);
    printf("O valor invertido é: %d", inverso);
  }  
  
  printf("\n\n");
  system("pause");
  return 0;
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators)

Exercícios Resolvidos de C - Como converter de decimal para binário usando os operadores de bits em C

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

Escreva um programa C para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits.

Sua saída deverá ser parecida com:

Informe um número decimal: 9
O número binário é: 00000000000000000000000000001001
Resposta/Solução:

Veja a resolução completa para o exercício em C, comentada linha a linha:

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

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
#define TAM_INT sizeof(int) * 8

int main(int argc, char *argv[]){
  // variáveis para ajudar a resolver o problema
  int decimal, indice, i;
  
  // vetor para guardar o número binário
  int binario[TAM_INT];

  setlocale(LC_ALL,""); // para acentos do português 

  // vamos pedir para o usuário informar um decimal inteiro
  printf("Informe um número decimal: ");
  scanf("%d", &decimal);

  // ajustamos índice para o último elemento do vetor
  indice = TAM_INT - 1;

  // enquanto índice for maior ou igual a 0
  while(indice >= 0){
    // vamos guardar o bit menos significativo LSB
    binario[indice] = decimal & 1;
    
    // diminuímos o índice
    indice--;

    // desloca bits para a direita uma posição
    decimal = decimal >> 1;
  }

  // agora vamos exibir o número binário
  printf("O número binário é: ");
  for(i = 0; i < TAM_INT; i++){
    printf("%d", binario[i]);
  }
 
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

A ética na engenharia envolve muitas questões, entre elas o estudo das decisões, das políticas e dos valores que são moralmente desejáveis na prática dessa profissão.

Sendo assim, estudar ética na engenharia tem como objetivo:

A) Capacitar os engenheiros a identificarem oportunidades para que seus projetos sejam aceitos.

B) Capacitar os engenheiros a enfrentarem a complexidade moral envolvida nas decisões e ações do exercício.

C) Priorizar a conformidade com normas técnicas em detrimento de considerações éticas mais amplas.

D) Minimizar a importância do consentimento informado em projetos que impactam comunidades locais.

E) Priorizar sempre o lucro das empresas sobre os valores éticos na execução de projetos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

# cria uma lista
valores = [1, 2, 3, 4]
valores[1], valores[2] = 5, 7
print(valores)

A) Um erro de execução na linha 2

B) [5, 7, 5, 7]

C) [4, 2, 3, 1]

D) TypeError: cannot unpack non-iterable int object

E) [1, 5, 7, 4]
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Princípios específicos do Direito do Consumidor

No rol dos princípios que podem ser aplicados às relações de consumo reguladas pelo Código de Defesa do Consumidor se inclui:

A) Força obrigatória dos contratos.

B) Confiança.

C) Autonomia da vontade.

D) Efeito relativo do contrato.

E) In dubio pro fornecedor.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As fundações rasas ou diretas apresentam como características a transmissão da carga ao terreno, predominantemente pelas pressões distribuídas sob a base da fundação, e a profundidade de assentamento em relação ao terreno inferior a duas vezes a menor dimensão da fundação.

Sobre as fundações superficiais rasas ou diretas, assinale a alternativa correta.

A) A sapata associada pode ser definida como a sapata sujeita à ação de uma carga distribuída linearmente ou de pilares ao longo de um mesmo alinhamento.

B) O radier é o elemento de fundação superficial que abrange parte ou todos os pilares de uma estrutura, distribuindo os carregamentos.

C) A sapata corrida é definida como a sapata comum a mais de um pilar. Devido a essa particularidade, para sua execução é necessário o uso de máquinas.

D) A sapata é dimensionada de modo que as tensões de tração nela resultantes sejam resistidas pelo concreto, sem necessidade de armadura.

E) O bloco é dimensionado de modo que as tensões de tração nele resultantes sejam resistidas pelo emprego de armadura disposta para esse fim.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Perda de Carga Localizada, Acessórios de Tubulação

Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?".

Qual o erro relativo da perda de carga linear em comparação com a perda de carga total?

A) 0,08%.

B) 4,30%.

C) 8,28%.

D) 9,00%.

E) 0,09%.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e 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



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