Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro do - Exercícios Resolvidos de C

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

Escreva um programa C que cria um vetor de 5 posições de inteiros. Peça para o usuário informar o valor do primeiro elemento e gere os valores dos demais elementos com o dobro do elemento anterior.

Assim, se o usuário informar o valor 3 para o primeiro elemento, o valor do segundo elemento será 6, o valor do terceiro elemento será 12, e assim por diante.

Sua saída deverá ser parecida com:

Informe o valor do primeiro elemento: 5

Os elementos do vetor são:

5  10  20  40  80
Resposta/Solução:

Veja a resolução comentada deste exercício em C:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

// função principal do programa
int main(int argc, char *argv[]){
  // vamos declarar e construir um vetor de inteiros
  // de 5 elementos
  int valores[5];
  int i;
	  
  // agora vamos pedir para o usuário informar o
  // valor do primeiro elemento
  printf("Informe o valor do primeiro elemento: ");
  scanf("%d", &valores[0]);
    
  // agora vamos gerar os valores dos próximos elementos
  for(i = 1; i < 5; i++){
    // recebe o elemento anterior multiplicado por 2
    valores[i] = valores[i - 1] * 2;
  }
    
  // e agora mostramos o vetor gerado
  printf("\nOs elementos do vetor são:\n\n");
  for(i = 0; i < 5; i++){
    printf("%d   ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: C para Engenharia ::: Física - Mecânica

Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem C

Quantidade de visualizações: 2553 vezes
Na Física, a energia cinética em um objeto é a energia que ele possui devido ao seu movimento. Isso é definido como o trabalho necessário para acelerar um corpo de massa em repouso para que este adquira velocidade. Tendo ganho essa energia durante a aceleração, o corpo mantém essa energia cinética a menos que a sua velocidade mude. A mesma quantidade de trabalho é produzida por um corpo desacelerando da sua velocidade atual para um estado de repouso.

Os carros de uma montanha-russa atingem sua energia cinética máxima quando estão no fundo de sua trajetória. Quando eles começam a subir, a energia cinética começa a ser convertida em energia potencial gravitacional, mas, se forem assumidos atritos insignificantes e outros fatores de atraso, a quantidade total de energia no sistema permanece constante.

A fórmula para obtenção da massa de um corpo, quando temos a sua energia cinética e a sua velocidade é:

\[ \text{m} = \frac{\text{2} \cdot E_c}{v^2} \]

Onde:

m ? massa do corpo (em kg).

Ec ? energia cinética (em joule, J).

v ? velocidade do corpo (em m/s).

Vamos ver um exemplo agora? Observe o seguinte enunciado:

1) Uma bola de golfe está viajando a uma velocidade de 50m/s, e possui energia cinética de 75J. Qual é a sua massa?

Note que o exercício nos dá a velocidade já em m/s, evitando a necessidade da conversão de km/h para m/s. Temos também a energia cinética já em sua medida apropriada. Assim, só precisamos jogar na fórmula. Veja o código C completo para este cálculo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
     
int main(int argc, char *argv[]){
  // velocidade (em m/s)
  float velocidade = 50; // em m/s
  // energia cinética
  float energia_cinetica = 75; // em joule
  
  // e então calculamos a massa do corpo
  float massa = (2 * energia_cinetica) / pow(velocidade, 2);
  
  // mostramos o resultado
  printf("A massa do corpo é: %fkg", massa);
			  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

A massa do corpo é: 0.060000kg (ou 0.060000 x 1000 = 60 gramas).


C ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em C - Como remover um nó no final de uma lista ligada simples em C - Listas encadeadas em C

Quantidade de visualizações: 1950 vezes
Nesta dica mostraremos como é possível excluir o nó no fim (o último nó) de uma lista encadeada simples (singly linked list) em C. Veja a função:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 

Note que a função recebe um ponteiro para o início da lista e retorna também um ponteiro para o início da lista. Tenha o cuidado de verificar se a lista não está vazia antes de tentar fazer a exclusão. No exemplo eu fiz isso na função main(). Veja a listagem completa abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
 
// estrutura Nó
struct No{
  int valor;
  struct No *proximo;
};
// fim da estrutura Nó
 
// função que permite exibir os valores de
// todos os nós da lista
void exibir(struct No *n){
  if(n != NULL){
    do{
      printf("%d\n", n->valor);
      n = n->proximo;
    }while(n != NULL);
  }
  else
    printf("A lista esta vazia\n\n");
}
 
// função que permite remover um nó no fim
// da lista, ou seja, o último nó da lista.
// A função retorna um ponteiro para o início da lista
struct No *remover_final(struct No *inicio){
  struct No *n; // nó que será removido
  
  // nó que antecede o nó a ser removido. Isso
  // faz sentido, já que ele será o último nó
  // agora
  struct No *anterior;
  n = inicio; // aponta para o início da lista
  
  // varremos os nós da lista e paramos um nó antes do
  // nó a ser excluído
  while(n->proximo != NULL){
    anterior = n; // anterior assume o lugar de n
    n = n->proximo; // e n assume o seu próximo  
  }
  
  // anterior passa a ser o último nó agora
  anterior->proximo = NULL;
  
  // mostra o nó removido
  printf("\nNo removido: %d\n", n->valor);
  
  free(n); // libera o nó que antes era o último
  
  return inicio;
} 
 
// função que permite inserir nós no
// final da lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó e um ponteiro para o
// início da lista. A função retorna um
// ponteiro para o início da lista
struct No *inserir_final(struct No *n, int v){
  // reserva memória para o novo nó
  struct No *novo = (struct No*)malloc(sizeof(struct No));
  novo->valor = v;
 
  // verifica se a lista está vazia
  if(n == NULL){
    // é o primeiro nó...não deve apontar para
    // lugar nenhum
    novo->proximo = NULL;
    return novo; // vamos retornar o novo nó como sendo o início da lista
  }
  else{ // não está vazia....vamos inserir o nó no final
    // o primeiro passo é chegarmos ao final da lista
    struct No *temp = n; // vamos obter uma referência ao primeiro nó
    // vamos varrer a lista até chegarmos ao último nó
    while(temp->proximo != NULL){
      temp = temp->proximo;
    }
    // na saída do laço temp aponta para o último nó da lista
   
    // novo será o último nó da lista...o campo próximo dele deve
    // apontar para NULL
    novo->proximo = NULL;
    // vamos fazer o último nó apontar para o nó recém-criado
    temp->proximo = novo;
    return n; // vamos retornar o início da lista intacto
  }
}
 
int main(int argc, char *argv[])
{
  // declara a lista
  struct No *inicio = NULL;
 
  // vamos inserir quatro valores no final
  // da lista
  inicio = inserir_final(inicio, 45);
  inicio = inserir_final(inicio, 3);
  inicio = inserir_final(inicio, 98);
  inicio = inserir_final(inicio, 47);
 
  // vamos exibir o resultado
  printf("Valores presentes na lista ligada antes da remocao:\n");
  exibir(inicio);
 
  // vamos remover o nó no fim da lista
  if(inicio != NULL){
    inicio = remover_final(inicio);
  }
  
  // vamos exibir o resultado
  printf("\nValores presentes na lista ligada apos a remocao:\n");
  exibir(inicio);
  
  system("pause");
  return 0;
}

Ao executar esse código você terá o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

Valores presentes na lista ligada antes da remocao:
45
3
98
47

No removido: 47

Valores presentes na lista ligada apos a remocao:
45
3
98

Pressione qualquer tecla para continuar. . .



C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de C - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30

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

Considere os seguintes vetores:

// dois vetores de 5 inteiros cada
int a[] = {50, -2, 9, 5, 17};
int b[] = new int[5];
Escreva um programa C que preencha o segundo vetor de forma que a soma dos respectivos elementos individuais de cada vetor seja igual a 30.

Sua saída deverá ser parecida com:

Valores no vetor a: 50   -2   9   5   17   
Valores no vetor b: -20   32   21   25   13
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português

  // dois vetores de 5 inteiros cada
  int a[] = {50, -2, 9, 5, 17};
  int b[5];
  int i;  
    
  // vamos preencher o segundo vetor de forma que a soma dos
  // valores de seus elementos seja 30
  for(i = 0; i < 5; i++){
    b[i] = 30 - a[i];  
  }
    
  // vamos mostrar o resultado
  printf("Valores no vetor a: ");
  for(i = 0; i < 5; i++){
    printf("%d  ", a[i]);  
  }
    
  printf("\nValores no vetor b: ");
  for(i = 0; i < 5; i++){
    printf("%d  ", b[i]);  
  }
   
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



C ::: Dicas & Truques ::: Matemática e Estatística

Como calcular desvio padrão em C - C para Matemática e Estatística

Quantidade de visualizações: 6348 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 C completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

// função principal do programa
int main(int argc, char *argv[]){
  // conjunto dos dados
  float conjunto[] = {10, 30, 90, 30};
  float soma = 0.0; // soma dos elementos
  float desvio_padrao = 0.0; // desvio padrão
  int tam = 4; // tamanho dos dados
  int i;
  float media;

  // vamos somar todos os elementos
  for(i = 0; i < tam; i++){
    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 = 0; i < tam; i++){
    desvio_padrao = desvio_padrao + pow(conjunto[i] - media, 2);
  }
    
  // mostramos o resultado
  printf("Desvio Padrão Populacional: %f\n", sqrt(desvio_padrao / tam));
  printf("Desvio Padrão Amostral: %f", sqrt(desvio_padrao / (tam - 1)));
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C 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).


C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de C - Declarar um vetor de 10 elementos e usar o laço for para solicitar ao usuário que informe os valores dos elementos do vetor

Quantidade de visualizações: 14211 vezes
Exercício Resolvido de C - Declarar um vetor de 10 elementos e usar o laço for para solicitar ao usuário que informe os valores dos elementos do vetor

Pergunta/Tarefa:

Escreva um programa C que declara um vetor (array) de 10 elementos do tipo int. Em seguida use um laço for para solicitar ao usuário que informe 10 valores inteiros e armazene tais valores nos elementos do vetor:

Dica: Use a função scanf() para obter a entrada do usuário.

Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  // vamos declarar um vetor de 10 inteiros
  int valores[10];
  int i;

  // agora vamos solicitar ao usuário que informe os 10 valores para
  // os elementos do vetor. O mais recomendável neste caso é usar um
  // laço for que repetirá 10 vezes e, a cada repetição, solicitaremos
  // um valor
  for(i = 0; i < 10; i++){
    printf("Informe o valor %d: ", (i + 1));
    scanf("%d", &valores[i]);
  }

  // para finalizar vamos exibir os valores informados pelo usuário e
  // presentes nos elementos do vetor
  printf("\nOs valores informados foram:\n");

  for(i = 0; i < 10; i++){
    printf("O valor %d foi: %d\n", (i + 1), valores[i]);
  }
  
  system("PAUSE");	
  return 0;
}



C ::: Dicas & Truques ::: Arquivos e Diretórios

Como abrir ou criar arquivos em C usando a função fopen()

Quantidade de visualizações: 66419 vezes
Há muitas situações nas quais precisamos ler ou gravar dados em arquivos a partir de nossos programas C. O primeiro passo para esta tarefa é aprender a usar a função fopen(). Esta função é a responsável por conectar um ponteiro de arquivos ao arquivo que queremos manipular. Veja sua assinatura:

FILE *fopen(const char *nome, const char *modo);


O parâmetro nome é uma string que indica o nome do arquivo a ser aberto ou criado. O parâmetro modo indica se o arquivo será aberto para leitura, escrita ou ambos.

Antes de continuarmos, veja um trecho de código que tenta abrir um arquivo chamado "testes.txt" localizado no diretório "c:\":

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  FILE *arquivo = fopen("c:\\testes.txt", "r");

  // testa se o arquivo foi aberto com sucesso
  if(arquivo != NULL)
    printf("Arquivo foi aberto com sucesso.");
  else
    printf("Nao foi possivel abrir o arquivo.");

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Veja que a primeira linha declara um ponteiro para a estrutura FILE e atribui a este ponteiro o resultado de uma chamada à função fopen(). Se o arquivo for aberto com sucesso, poderemos manipulá-lo a partir do ponteiro *arquivo. Do contrário, o valor NULL será retornado.

A linguagem C padrão permite a definição dos seguintes modos de abertura de arquivos:

a - abre um arquivo para inserção. Se o arquivo não existir, o sistema operacional tentará criá-lo.

r - abre um arquivo existente para leitura.

w - abre um arquivo para escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo.

r+ - abre um arquivo existente para leitura e gravação.

w+ - abre um arquivo para leitura e escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo.

a+ - abre um arquivo para inserção e leitura. Se o arquivo não existir, o sistema operacional tentará criá-lo.


C ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural

Exercícios Resolvidos de C - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando C

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

Veja a seguinte figura:



Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero.

Escreva um programa C que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A.

Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga).

Sua saída deve ser parecida com:

Valor da carga em kN/m: 10
Distância em metros: 13

A reação no apoio A é: 65.000000 kN
A reação no apoio B é: 65.000000 kN
O momento fletor máximo é: 211.250000 kN

Informe uma distância a partir do apoio A: 4
O momento fletor na distância informada é: 180.000000 kN

A força cortante no apoio A é: 65.000000 kN
A força cortante no apoio B é: -65.000000 kN
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

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

int main(int argc, char *argv[]) {
  // variáveis usadas na resolução do problema
  float carga, distancia, reacao_a, reacao_b;
  float flexao_maxima, distancia_temp, flexao_distancia;
  float cortante_a, cortante_b;
  
  // vamos pedir para o usuário informar o valor da carga
  printf("Valor da carga em kN/m: ");
  scanf("%f", &carga);
  
  // vamos pedir para o usuário informar a distância entre os apoios
  printf("Distancia em metros: ");
  scanf("%f", &distancia);
  
  // vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia;
  
  // vamos calcular a reação no apoio B
  reacao_b = reacao_a;
  
  // vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * pow(distancia, 2.0);
  
  // e mostramos o resultado
  printf("\nA reacao no apoio A e: %f kN", reacao_a);
  printf("\nA reacao no apoio B e: %f kN", reacao_b);
  printf("\nO momento fletor maximo e: %f kN", flexao_maxima);
  
  // vamos pedir para o usuário informar uma distância a
  // partir do apoio A
  printf("\n\nInforme uma distancia a partir do apoio A: ");
  scanf("%f", &distancia_temp);
  // vamos mostrar o momento fletor na distância informada
  if (distancia_temp > distancia) {
    printf("\nDistancia invalida.\n");
  }
  else {
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * 
      (distancia - distancia_temp);
    printf("O momento fletor na distancia informada e: %f kN", 
      flexao_distancia);  
  }
  
  // vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia;
  printf("\n\nA forca cortante no apoio A e: %f kN", cortante_a);
  
  // vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1;
  printf("\nA forca cortante no apoio B e: %f kN\n\n", cortante_b);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}



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: 11596 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 para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#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:




Vamos testar seus conhecimentos em Python

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

palavra = "FACULDADE"
resultado = palavra[0:len(palavra):2]
print(resultado)

A) EALCF

B) FACULDADE

C) FA

D) DADE

E) FCLAE
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

Assinale, abaixo, a única alternativa correta.

A) A informação não é direito básico do consumidor.

B) O reconhecimento da vulnerabilidade do consumidor é um dos princípios do Código de Defesa do Consumidor.

C) O Código de Defesa do Consumidor reconhece e dá tratamento isonômico ao consumidor e ao fornecedor.

D) O Código de Defesa do Consumidor é considerado lei geral, enquanto que o Código Civil lei especial.

E) É válida cláusula elaborada pelo fornecedor, onde expressamente impeça o consumidor, que venha a celebrá-lo, de reclamar seus direitos perante o Judiciário.
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

(Juiz do Trabalho - RJ - 2015). Sob a visão clássica, cinco são os princípios que regem o direito contratual. A relação de consumo é ajustada por contrato e aqueles princípios também a ela se aplicam. Contudo, em face da natureza da relação de consumo, alguns desses princípios têm seu valor reduzido, enquanto outros assumem relevância. Tem relevância para a relação de consumo, o seguinte princípio do direito contratual:

A) Da ordem pública.

B) Da relatividade dos contratos.

C) Da boa-fé.

D) De obediência às regras mercantis.

E) Da autonomia da vontade.
Verificar Resposta Estudar Cards Todas as Questões

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

Instalações prediais de águas pluviais

Os cálculos para a vazão de entrada, por vezes, podem ser simplificados. A NBR 10844 permite simplificações para pequenas áreas que agilizam o trabalho e possibilitam a não utilização de curvas IDF. Tendo isso em mente, considere que uma casa tem projeção em planta de 90m2 e um telhado com duas águas com largura de 6m, comprimento de 10m e altura de 1,20m. Qual será a vazão utilizada para o cálculo da calha?

A) 165L/min.

B) 125L/min.

C) 150L/min.

D) 190L/min.

E) 145L/min.
Verificar Resposta Estudar Cards Todas as Questões

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

Responsabilidade civil dos prepostos e preponentes

É definido como a pessoa que responde pelos atos da atividade empresária e normalmente pode também ser identificado como o patrão, empregador ou dono do negócio. Assinale a alternativa que corresponde a esta definição.

A) Preposto.

B) Gerente.

C) Preponente.

D) Contabilista.

E) Advogado.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 26 usuários muito felizes estudando em nosso site.