Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C ::: C para Engenharia ::: Hidrologia e Hidráulica

Como calcular o volume de chuvas em C - Fórmula do cálculo do volume de chuvas em C

Quantidade de visualizações: 156 vezes
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa?

O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros.

Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula:

\[\text{Volume} = \text{(Área da Base) x Altura}\]

Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros.

Veja agora o código C completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros.

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

int main(int argc, char *argv[]) {
  // variáveis usadas na resolução do problema
  float altura_lamina, volume_chuva;
   
  // vamos pedir para o usuário informar a altura da lâmina
  // de água em milímetros
  printf("Altura da lâmina de água em milímetros: ");
  scanf("%f", &altura_lamina);

  // o primeiro passo é converter os milímetros da lâmina de água
  // para metros
  altura_lamina = altura_lamina / 1000.0;

  // agora que já temos a altura da lâmina em metros, vamos multiplicar
  // pela base (1 metro quadrado) para obtermos o volume da chuva por
  // metro quadrado
  volume_chuva = (altura_lamina * 1.0) * 1000.0;

  // vamos mostrar o resultado
  printf("O volume da chuva é: %f litros para cada metro quadrado",
   volume_chuva);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Altura da lâmina de água em milímetros: 229
O volume da chuva é: 229.0 litros para cada metro quadrado

Qual é o volume de 1 mm de chuva?

A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros.

O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2.

1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2.

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar um ponteiro para acessar e alterar o valor de mais de uma variável do tipo int usando a linguagem C

Quantidade de visualizações: 9907 vezes
Esta dica mostra a você como podemos usar apenas um ponteiro para acessar e manipular os valores de três variáveis do tipo int. Veja o uso do símbolo "&" para acessar o endereço de uma variável e "*" (operador de indireção) para acessar o valor da variável apontada pelo ponteiro.

Observe o código completo para o exemplo:

----------------------------------------------------------------------
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>
 
int main(int argc, char *argv[])
{
  // declara e inicializa três variáveis
  int a = 23;
  int b = 40;
  int c = 3;
 
  // exibe seus valores
  printf("a = %d, b = %d, c = %d\n\n", a, b, c);
 
  // declara um ponteiro para uma variável do tipo int
  int *p;
 
  // aponta para a variável "a" e altera seu valor
  p = &a;
  *p = 12;
 
  // aponta para a variável "b" e altera seu valor
  p = &b;
  *p = 695;
 
  // aponta para a variável "c" e altera seu valor
  p = &c;
  *p = 90;
 
  // exibe os novos valores das variáveis
  printf("a = %d, b = %d, c = %d\n\n", a, b, c);
 
  system("PAUSE");
  return 0;
}

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

a = 23, b = 40, c = 3
a = 12, b = 695, c = 90
Pressione qualquer tecla para continuar...


C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 885 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código C, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código C que declara uma matriz 2x3 e gera a matriz transposta 3x2:

----------------------------------------------------------------------
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[]){
  setlocale(LC_ALL,""); // para acentos do português
	
  // vamos declarar e construir uma matrix
  // 2x3 (duas linhas e três colunas
  int matriz[2][3] = {{3, 5, 7}, {1, 2, 9}};
  int i, j;  
    
  // vamos exibir os valores da matriz
  printf("Elementos da matriz:\n");
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      printf("%5d  ", matriz[i][j]);
    }
    printf("\n");
  }
    
  // como temos uma matriz 2x3, a transposta deverá ser
  // 3x2, ou seja, três linhas e duas colunas
  int linhas = 3; // linhas da matriz original
  int colunas = 2; // colunas da matriz original
  int transposta[linhas][colunas]; 
    
  // e agora vamos preencher a matriz transposta
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      transposta[j][i] = matriz[i][j];
    }
  }
    
  // vamos exibir os valores da matriz transposta
  printf("Elementos da matriz transposta:\n");
  for(i = 0; i < 3; i++){
    for(j = 0; j < 2; j++){
      printf("%5d  ", transposta[i][j]);
    }
    printf("\n");
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

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

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  



C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Tenha cuidado com os limites dos índices de um vetor ou matriz na linguagem C

Quantidade de visualizações: 9671 vezes
Um erro muito comum em programas C ocorre quando não atentamos para os limites dos índices de um vetor ou matriz. Como sabemos, os índices iniciam em 0 e vão até o tamanho do vetor menos 1. Porém, ao contrário de outras linguagens, o C (compiladores sendo usados em 2007 e 2008) não evita que este limite seja ultrapassado. O resultado disso é que o programa acaba lendo posições de memória inexistentes ou pertecentes a outros programas.

Veja um trecho de código no qual acessamos uma posição inválida no vetor valores. Este código foi testado no MinGW 3.4.2 e compilou e executou sem qualquer mensagem de advertência.

----------------------------------------------------------------------
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>
 
int main(int argc, char *argv[])
{
  // array com 5 inteiros
  int valores[] = {23, 6, 45, 9, 3};
 
  // acessa um índice além dos limites do array
  // lembre-se de que os índices iniciam em 0
  int valor = valores[5];
 
  // exibe o resultado
  printf("%d\n\n", valor);
 
  system("PAUSE");
  return 0;
}

Ao executar este código nós teremos o seguinte resultado (o seu vai ser diferente, é claro):

-858993460

Minha recomendação é: se você quer mesmo programar na linguagem C, crie uma forma de impedir o acesso à índices inválidos. Se isso acontecer, os resultados exibidos pelos seus programas poderão ser realmente inesperados.


Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

Até o início do século XIX os metais exerciam uma função estrutural limitada nas edificações. O aço em abundância e econômico tornou-se disponível pela primeira vez na década de 1850. Assinale a opção correta quanto aos motivos que levaram à expansão da utilização de elementos metálicos em estruturas:

Selecione a resposta:

A) A utilização do ferro forjado e o sentido estético da época levaram a maior utilização da estrutura metálica.

B) Devido à introdução do Processo Bessemer, em que grandes quantidades de ferro podiam ser transformadas em aço, em aproximadamente 20 minutos resultando em um metal com propriedades estruturais bastante superiores ao do ferro fundido.

C) A carência de profissionais capacitados, artesãos, em trabalhar a alvenaria de pedra como elemento estrutural levaram a uma mudança em termos de tecnologia estrutural, havendo a utilização da estrutura metálica em larga escala.

D) O incremento da urbanização e a necessidade da rapidez na construção de casas para as pessoas que vinham para as cidades trabalhar nas fábricas levaram à larga utilização da estrutura metálica, reduzindo assim, o seu custo.

E) A verticalização das cidades e a ousadia dos arquitetos e dos construtores de se construir edifícios cada vez mais altos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

O aço no edifício

A estrutura de estabilização da moldura estrutural da edificação da figura a seguir, que é formada por paredes rígidas, feitas de aço, concreto ou alvenaria de concreto armado, pode ser chamada de:



A) Estrutura contraventada.

B) Moldura amarrada excentricamente.

C) Moldura resistente a momentos.

D) Paredes de cisalhamento.

E) Nenhuma das alternativas anteriores.
Verificar Resposta Estudar Cards Todas as Questões

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

Noções de licitação pública

Tipo de licitação é a forma como se dará o julgamento das propostas e a escolha do vencedor.

Em relação aos tipos e às modalidades da licitação pública, leia com atenção a afirmativa a seguir:

O _________ será sempre pelo tipo ____________; o __________ será sempre pelo tipo _____________; o _____________ não será por nenhum tipo; já as demais modalidades podem ser por qualquer tipo, sendo a regra o menor preço.

Marque a alternativa que preenche as lacunas de forma correta.

A) leilão - menor preço - pregão - maior lance ou oferta - concorrência.

B) pregão - menor preço - leilão - maior lance ou oferta - concurso.

C) concurso - melhor técnica - leilão - técnica e preço - convite.

D) pregão - técnica e preço - leilão - maior lance ou oferta - concurso.

E) concurso - menor preço - leilão maior lance ou oferta - convite.
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?

soma = 0
for i in range(0, 10):
  if i == 4 or i == 6:
    continue
  soma = soma + 3
  
print("A soma é: {0}".format(soma))

A) A soma é: 24

B) A soma é: 15

C) A soma é: 28

D) A soma é: 23

E) A soma é: 20
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual função é usada para converter uma string em letras minúsculas em Python?

A) toLower()

B) toLowerCase()

C) lower_case()

D) lower()

E) lowercase()
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

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