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 ::: Data e Hora

Escreva um programa C para ler uma data no formato DD/MM/YYYY e informar se a data é válida ou não, considerando o caso do ano bissexto - Desafio de Programação Resolvido em C

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

Escreva um programa C para ler uma data no formato DD/MM/YYYY e informar se a data é válida ou não, considerando o caso do ano bissexto e a quantidade de dias máximos para cada mês.

Sua saída deve ser parecida com:

Informe a data no formato DD/MM/YYYY: 29/02/2024
A data informada é válida.
Resposta/Solução:

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

----------------------------------------------------------------------
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[]){
  int dia, mes, ano; // para guardar o dia, mês e ano
  int dias_meses[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  int valido = 0; // vamos supor que seja inválida já na saída 
  
  setlocale(LC_ALL,""); // para acentos do português
  
  // vamos ler a data no formato 28/05/2019
  printf("Informe a data no formato DD/MM/YYYY: ");
  scanf("%i/%i/%i", &dia, &mes, &ano);
    
  // o primeiro passo é testar se o ano é bissexto ou não
  if(ano % 400 == 0 || (ano % 100 != 0 && ano % 4 == 0)){
    dias_meses[1] = 29; // ajustamos o mês de fevereiro
  }
  
  // vamos testar se o ano é válido
  if(ano >= 1900 && ano <= 9999){
    // aqui nós testamos o mês
    if(mes >= 1 && mes <= 12){
      // e finalmente testamos a validade do dia
      if(dia >= 1 && dia <= dias_meses[mes - 1]){	
        valido = 1; // data válida
      }
    } 
  } 
  
  if(valido){
    printf("\nA data informada é válida.\n");
  }
  else{
    printf("\nA data informada NÃO é válida.\n");
  }
    
  printf("\n\n");
  system("pause");
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

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

Como excluir arquivos em C usando a função remove()

Quantidade de visualizações: 19212 vezes
A função remove(), disponível no header stdio.h, pode ser usada para excluir arquivos. Veja sua assinatura:

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

int remove(const char *filename);

Veja que esta função recebe o caminho e nome do arquivo a ser excluído e retorna um valor inteiro. Se o arquivo for excluído com sucesso, o valor 0 será retornado. Veja um exemplo:

----------------------------------------------------------------------
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[])
{
  // nome do arquivo a ser excluído
  char *arquivo = "c:\\testes.txt";

  // vamos excluir
  if(remove(arquivo) == 0)
    printf("Arquivo foi excluido com sucesso.");
  else
    printf("Nao foi possivel excluir o arquivo.");

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



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

Como escrever uma função is_numeric() em C que verifica se uma string contém apenas dígitos de 0 a 9

Quantidade de visualizações: 10022 vezes
Em algumas situações precisamos verificar se uma string contém apenas dígitos de 0 a 9, ou seja, é um valor numérico inteiro válido. Para isso podemos usar a função personalizada em C que mostro nesta dica. Veja que o segredo é passar todos os caracteres individualmente para a função isdigit(). Veja o código:

----------------------------------------------------------------------
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 <string.h>
#include <ctype.h>

// função personalizada que permite verificar se uma
// string contém apenas dígitos de 0 a 9
int is_numeric(const char *str){
  int res = 1; // passou no teste

  // vamos percorrer todos os caracteres da string
  // e testar se cada um é um dígito. Se não
  // for nós marcamos res como 0 e retornamos
  while(*str){
    if(!isdigit(*str)){
      res = 0;
      break;
    }

    // vamos passar para o próximo caractere
    str++;
  }

  return res;
}

int main(int argc, char *argv[]){
  char valor[20]; // vamos guardar o valor digitado aqui

  // vamos ler o valor informado pelo usuário
  printf("Digite qualquer coisa e tecle ENTER: ");
  gets(valor);

  // vamos verificar se o usuário informou uma string
  // que contém apenas dígitos de 0 a 9
  if(is_numeric(valor))
    printf("Voce informou uma string numerica");
  else
    printf("Voce NAO informou uma string numerica");

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

E, antes que perguntem como é possível verificar se a string contém um valor fracionário válido, a seguinte alteração pode ser feita:

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

int is_numeric(const char *str){
  int res = 1; // passou no teste

  // vamos percorrer todos os caracteres da string
  // e testar se cada um é um dígito ou uma vírgula. Se não
  // for nós marcamos res como 0 e retornamos
  while(*str){
    if((!isdigit(*str)) and (*str != ',')){
      res = 0;
      break;
    }

    // vamos passar para o próximo caractere
    str++;
  }

  return res;
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C - Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles

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

Escreva um programa que solicite dois números do tipo inteiro distintos ao usuário e que apresente na tela o maior deles. Esse programa deve possuir uma função para verificar qual é o maior número.

Atenção: seu código deverá assegurar que os dois números informados pelo usuário sejam diferentes. Exiba uma mensagem na tela caso isso acontecer.

Sua saída deverá ser parecida com:

Informe o primeiro número inteiro: 6
Informe o segundo número inteiro: 3
O maior número é: 6
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>
#include <locale.h>

// protótipo da função que receberá dois números inteiros
// e retornará o maior deles
int maior_numero(int num1, int num2);

// função principal do programa
int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português 
  
  // variáveis usadas na resolução do problema
  int num1, num2, maior;
  
  // vamos pedir para o usuário informar os dois números
  printf("Informe o primeiro número inteiro: ");
  scanf("%d", &num1);
  printf("Informe o segundo número inteiro: ");
  scanf("%d", &num2);
  
  // os números são iguais?
  if(num1 == num2){
    printf("Erro. Os dois números são iguais.");
  }
  else{
    // vamos chamar a função para obter o número maior
    maior = maior_numero(num1, num2);
    printf("O maior número é: %d", maior);	
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

// função que receberá dois números inteiros e retornará
// o maior deles
int maior_numero(int num1, int num2){
  // o primeiro número é maior que o segundo?
  if(num1 > num2){
    return num1;
  }
  else{
    return num2;
  }
}



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

Como elevar uma base a um determinado expoente usando a função pow() da linguagem C

Quantidade de visualizações: 2994 vezes
Em algumas situações nós precisamos efetuar cálculos de potenciação em C, ou seja, elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:



Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125.

A linguagem C nos fornece a função pow(), presente no header math.h que recebe como argumentos a base e o expoente e nos retorna a potência (como um valor double). Veja um exemplo de seu uso no código 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>
 
int main(int argc, char *argv[]){
  int base = 4;
  int expoente = 5;
  double potencia = pow(4, 5);
  printf("A base %d elevada ao expoente %d é igual à potência %f\n\n",
	  base, expoente, potencia);
  
  system("PAUSE");  
  return 0;
}

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

A base 4 elevada ao expoente 5 é igual à potência 1024.000000

Note que a função pow() da linguagem C retorna um valor double.


C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Ordenação e pesquisa em C - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)

Quantidade de visualizações: 2690 vezes
A ordenação Insertion Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados.

A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando as cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação.

A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim em diante, até não receber mais cartas.

Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição.

Vamos ver a implementação na linguagem C agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:

----------------------------------------------------------------------
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 que permite ordenar um vetor de inteiros
// usando a ordenação Insertion Sort
void insertionSort(int vetor[], int tam){
  int i, temp, j;
  
  // este laço varre os elementos a partir do segundo
  // elemento, ou seja, o índice 1
  for(i = 1; i < tam; i++){
    // guardamos o elemento atual em temp
    temp = vetor[i];
		
    for(j = i; ((j > 0) && (vetor[j - 1] > temp)); j--){ 
      vetor[j] = vetor[j - 1]; // houve uma troca
    }
    
    vetor[j] = temp; // colocamos temp em seu devido lugar
  }
}  
 
int main(int argc, char *argv[]){
  int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
  int i, tamanho = 9;
 
  // imprime a matriz sem a ordenação
  puts("Sem ordenação:\n");
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }
 
  // vamos ordenar a matriz
  insertionSort(valores, tamanho);
 
  // imprime a matriz ordenada
  puts("\n\nOrdenada usando Insertion Sort:\n");
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }   
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Sem ordenação:

4 6 2 8 1 9 3 0 11

Ordenada usando Insertion Sort:

0 1 2 3 4 6 8 9 11


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

Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem C

Quantidade de visualizações: 12989 vezes
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:

----------------------------------------------------------------------
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 <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 49 caracteres

  // copia a primeira frase para a segunda
  frase2 = frase1;

  // exibe o resultado
  printf(frase2);

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

Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida:

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

incompatible types in assignment 
of `char[13]` to `char[50]` 

Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade:

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

char *strcpy(char *destino, const char *origem);

Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:

----------------------------------------------------------------------
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 <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 50 caracteres

  // copia a primeira frase para a segunda
  strcpy(frase2, frase1);

  // exibe o resultado
  printf(frase2);

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



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

Como calcular Velocidade Vetorial Média usando a linguagem C - C para Engenharia - Física - Mecânica - Cinemática

Quantidade de visualizações: 2854 vezes
Como calcular Velocidade Vetorial Média usando a linguagem C

Na Física, mais especificamente na Mecânica e Cinemática, nós estamos o tempo todo interessados em medir a "rapidez" com que uma partícula se move de um ponto para outro ponto. Por partícula podemos entender qualquer móvel: um carro, um avião, uma bola, uma pessoa, etc.

No caso de um movimento bidimensional ou tridimensional nós devemos considerar a grandeza velocidade média como vetores e usar a notação vetorial. Em outras dicas do site você encontrará cálculos envolvendo vetores e até mesmo calculadoras com as operações vetoriais mais comuns.

Dessa forma, a fórmula para obtenção da Velocidade Vetorial Média é:

\[\vec{v}_\text{méd} = \frac{\Delta \vec{r}}{\Delta t} \]

Onde __$\Delta \vec{r}__$ é a variação da posição da partícula e __$\Delta t__$ é a variação do tempo entre os dois deslocamentos cuja velocidade vetorial média querermos medir.

Antes de vermos o código C, dê uma boa olhada na imagem a seguir:



Nosso objetivo será calcular a velocidade vetorial média da partícula saindo da posição __$\vec{r}_1__$ = 10__$\hat{\imath}__$ + 7__$\hat{\jmath}__$ m (10, 7), no instante t1 = 2s, e indo para a posição __$\vec{r}_2__$ = 12__$\hat{\imath}__$ + 2__$\hat{\jmath}__$ m (12, 2) em t2 = 7s. Note que o trajeto da partícula foi marcado de verde na imagem.

E agora, finalmente, vamos ao código C que lê os valores das coordenadas x e y dos dois vetores de posições (inicial e final), o tempo de deslocamento inicial e final e mostra o vetor velocidade média:

----------------------------------------------------------------------
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[]){
  // coordenadas dos dois vetores de posições
  float x1, y1, x2, y2;
  // guarda o vetor delta r (variação do deslocamento)
  float delta_r_x, delta_r_y;
  // guarda o tempo inicial, tempo final e variacao (em segundos)
  float tempo_inicial, tempo_final, delta_t;
  // guarda as coordenadas do vetor velocidade
  float vetor_vm_x, vetor_vm_y; 
        
  // x e y do primeiro vetor
  printf("Coordenada x do primeiro vetor: ");
  scanf("%f", &x1);
  printf("Coordenada y do primeiro vetor: ");
  scanf("%f", &y1);
      
  // x e y do segundo vetor
  printf("Coordenada x do segundo vetor: ");
  scanf("%f", &x2);
  printf("Coordenada y do segundo vetor: ");
  scanf("%f", &y2);   
      
  // vamos ler o tempo inicial e tempo final    
  printf("Tempo inicial em segundos: ");
  scanf("%f", &tempo_inicial);
  printf("Tempo final em segundos: ");
  scanf("%f", &tempo_final);
	    
  // vamos calcular o vetor delta r
  delta_r_x = x2 - x1;
  delta_r_y = y2 - y1;
  
  // vamos calcular o delta t (variação do tempo)
  delta_t = tempo_final - tempo_inicial;
      
  // finalmente calculamos o vetor velocidade média
  vetor_vm_x = delta_r_x / delta_t;    
  vetor_vm_y = delta_r_y / delta_t; 
	    
  // mostramos o resultado
  printf("O Vetor Velocidade Média é: (%.2f, %.2f)m/s",
   vetor_vm_x, vetor_vm_y);
   
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Coordenada x do primeiro vetor: 10
Coordenada y do primeiro vetor: 7
Coordenada x do segundo vetor: 12
Coordenada y do segundo vetor: 2
Tempo inicial em segundos: 2
Tempo final em segundos: 7
O Vetor Velocidade Média é: (0.40, -1.00)m/s

Pressione qualquer tecla para continuar. . .

Note que aqui nós estamos usando vetores do R2, mas o processo é o mesmo para vetores do R3.


C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como converter radianos em graus na linguagem C

Quantidade de visualizações: 5538 vezes
Todos os métodos e funções trigonométricas em C recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() do header math.h. Esta função recebe o ângulo em radianos e retorna o seu seno.

No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo:

\[Graus = Radianos \times \frac{180}{\pi}\]

Agora veja como esta fórmula pode ser escrita em código 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>
 
// vamos definir o valor de PI
#define PI 3.14159265358979323846
 
int main(int argc, char *argv[]){
  // valor em radianos
  double radianos = 1.5;
  // obtém o valor em graus
  double graus = radianos * (180 / PI);
  // mostra o resultado
  printf("%f radianos convertidos para graus é %f\n\n",
    radianos, graus);
  
  system("PAUSE");  
  return 0;
}

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

1.500000 radianos convertidos para graus é 85.943669

Para fins de memorização, 1 radiano equivale a 57,2957795 graus.


Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Máquinas de fluxo radial

Máquinas de fluxo radial, com fluxo predominantemente radial na região de trabalho da linha de lâmina móvel, podem ser exemplificadas por um ventilador ou bomba de fluxo radial (ou centrífuga), cujo escoamento se dá com o fluxo de saída ortogonal ao de entrada ao rotor.

Sobre as classificações de fluxo em máquinas hidráulicas, qual afirmativa está correta?

A) O fluxo axial ocorre em máquinas hidráulicas quando o fluido entra pelas pás do rotor em um sentido e sai no mesmo sentido, porém na direção contrária à de entrada.

B) O fluxo misto ocorre em máquinas hidráulicas quando o fluido entra pelas pás do rotor em um sentido e sai no mesmo sentido, porém na direção contrária à de entrada.

C) O fluxo misto em máquinas hidráulicas ocorre quando o fluido entra e sai no mesmo sentido, porém com ângulo próximo a 90° em relação à entrada.

D) Há um grupo que não se enquadra na categoria de fluxo radial. Esse grupo específico tem um escoamento do fluxo que entra em um sentido e sai perpendicularmente.

E) Há um grupo que não se enquadra na categoria de fluxo radial, tampouco na categoria axial. Esta categoria remanescente é conhecida como máquinas de fluxos misto.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Velocidade de entrada e saída de um fluido

O tanque tem uma entrada e uma saída de água. Determine a altura H do tanque em função da área A, velocidade de entrada V1 em um bocal com diâmetro d1 e velocidade de saída V2 em um bocal com diâmetro d2, após um intervalo de tempo t, sendo que o tanque se encontrava vazio. Determine também o tempo de enchimento do tanque conforme os dados:
H = 10m; A = 2,5m2; V1 = 0,7m/s; d1 = 20cm; V2 = 3m/s; d2 = 15 cm.

A) H = (V2d22 - V1d12)tπ/4A 0,08 segundos.

B) H = (V2 - V1)t/A 10,87 segundos.

C) H = (V2d22 - V1d12)tπ/4A 806 segundos.

D) H = (V2d22 - V1d12)tπ/A 201 segundos.

E) H = (V2d22 - V1d12)tπ/2A 403 segundos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares de canto

A direção mais crítica de um pilar de canto é determinada na comparação entre o índice de esbeltez do pilar e a esbeltez limite.

Analise o pilar a seguir:



Sobre esse pilar de canto, assinale a alternativa correta.

A) A direção x é a mais crítica, e nela não são considerados os momentos de 2ª ordem.

B) A direção y é a mais crítica, e nela não são considerados os momentos de 2ª ordem.

C) A direção x é a mais crítica, e nela são considerados os momentos de 2ª ordem.

D) A direção y é a mais crítica, e nela são considerados os momentos de 2ª ordem.

E) Ambas as direções x e y são críticas, e nelas são considerados os momentos de 2ª ordem.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Survey Points e COGO Points

Cogo points não podem ser editados na janela Properties.

A) Verdadeiro

B) Falso
Verificar Resposta Estudar Cards Todas as Questões

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

Introdução à Ética

Santo Agostinho foi um dos mais influentes pensadores cristãos da antiguidade, e abordava em suas obras questões éticas baseadas na compreensão da natureza da ética e sua ligação com a religião. Os textos de Santo Agostinho buscavam conciliar a filosofia greco-romana e os princípios do cristianismo, oferecendo uma leitura racionalizada da religião, sem descaracterizar a ideia de sobrenatural e de fé. Suas reflexões sobre o livre-arbítrio, a existência e a percepção do mal e a busca pela virtude pelos humanos foram base para reflexões filosóficas do iluminismo à contemporaneidade.

Considerando essas informações, qual dos seguintes temas éticos direciona as reflexões de Santo Agostinho?

A) Hedonismo: defesa da busca pelo prazer como o caminho para a realização pessoal.

B) Utilitarismo: escolha de ações pela felicidade geral, na maior porcentagem possível.

C) Virtude: defesa da virtude como uma forma de aproximação do fiel à Deus.

D) Existencialismo: compreensão da natureza da existência humana.

E) Niilismo: questionamento da legitimidade de valores morais em contextos mundanos.
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.