Ir ao conteúdo
  • Cadastre-se

Algoritmo para cálculo de potência de ar-condicionado


ewpreis

Posts recomendados

Boa noite,

 

Estou tentando montar um algoritmo em C para calcular a potência do ar condicionado,mas me surgiu diversas dúvidas logo no início. Segue abaixo o que o programa deve conter:

 

- O algoritmo deve solicitar ao usuário se no cômodo há incidência de sol ou não, se houver considerar para o cálculo de btus 800 e se não houver 600

- Número de pessoas

- Pedir a largura e o comprimento e calcular a área

- Número de aparelhos no cômodo

- Deve considerar somente a potência dos ar condicionados comercializados (7.000, 9.000, 12.000, 17.000, 18.000, 22.000, 24.000, 27.000, 30.000, 31.000)

 

O cálculo é feito da seguinte forma:
- Para cada metro quadrado, multiplica-se por 600 ou 800 (Depende se no cômodo bate sol ou não)
- Cada pessoa adicional soma 600 BTU (a primeira pessoa não é contabilizada)

- Cada equipamento eletrônico soma 600 BTU

 

Ex.: Uma sala com 6m de largura e 5m de comprimento para três pessoas com dois computadores e há incidência de sol nesse cômodo

A= CxL >> A= 5*6 >> A=30m²

Pessoas = (nº de pessoas - 1) >> Pessoas = 2

Logo a Potência pro total de pessoas = 2 Pessoas x 800 (Incidência de sol) >> Potência pro total de pessoas = 1600

Potência pro total de aparelhos = 2 aparelhos x 800 (Incidência de sol) >> Potência pro total de aparelhos = 1600

BTU = A x 800 (incidência de sol) + Potência pro total de aparelhos + Potência pro total de pessoas >>> BTU = 30*800+1600+1600 >> BTU= 27.200 >> BTU= 27.000

 

Comecei montar o algoritmo assim:


 

Algoritmo "App EasyCold"
// Disciplina: [Programação de Aplicativo ]
// Professor: Henrique de Medeiros Klôh
// Descrição: Programa que calcula a potência recomendada para um ar condicionado a ser instalado em cômodos de uma residência.
// Autor(a): Ewerton Pereira Reis e João Vitor
// Data atual:

#include <stdio.h>
Main(){
Int pessoas, aparelhos, BTU, comsol, semsol, pessoastotal, btutotalpesoas a;
comsol=800;
semsol=600;
float area, largura, comprimento;
printf (“O cômodo possui incidência de sol");
scanf("%d", & a);
printf ("Qual a Largura do Cômodo");
scanf ("%f", & largura);
printf ("Qual o Comprimento do Cômodo");
scanf ("%f", & comprimento);
area = largura * comprimento;
printf ("Quantidade de Pessoas no Cômodo");
scanf ("%d", & pessoas);
pessoastotal = Pessoas - 1;
printf ("Quantidade de Aparelhos no Cômodo");
scanf ("%d", & aparelhos);
if (a=1) {
btutotalpesoas = pessoas * comsol;
btutotalaparelhos= aparelhos * comsol;
BTU = area * comsol + btutotalpesoas + btutotalaparelhos;
} else {
           if (a=0) {
btutotalpesoas = pessoas * semsol;
btutotalaparelhos= aparelhos * semsol;
BTU = area * semsol + btutotalpesoas + btutotalaparelhos;
           }
}
If (Btu <= 7.000) {
printf ("O ar condicionado a ser instalado deve ser de 7.000 btus");
} else {
if (7.000 > BTU <= 9.000) {
printf ("O ar condicionado a ser instalado deve ser de 9.000 btus");
......
.......
.......... e assim pra cada potência

Gostaria que vocês dessem uma olhada no meu algoritmos, aceito qualquer tipo de correção, ideias e simplificações.

 

Desde já agradeço

 

 

 

 

 

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ewpreis     você disse que está programando em c, mas esse código funciona bem no c++

então apenas organizei ele fazendo a identação  e coloquei uma pausa para que possamos

ver o resultado de saída .

#include <stdio.h>
#include <iostream>
#include <string.h>
float pessoas, aparelhos, btu, comsol, semsol, pessoastotal, btutotalpesoas;
float btutotalaparelhos;
float area, largura, comprimento;
//char a[1];
using namespace std;
main()
{
  comsol=800;
  semsol=600;
  char a[1];
  string str;
  
  printf ("Qual a Largura do Comodo ");
  scanf ("%f", & largura);
 
  printf ("Qual o Comprimento do Comodo ");
  scanf ("%f", & comprimento);
 
  area = largura * comprimento;
 
  printf ("Quantidade de Pessoas no Comodo ");
  scanf ("%d", & pessoas);
 
  pessoastotal = pessoas - 1;
 
  printf ("Quantidade de Aparelhos no Comodo ");
  scanf ("%d", & aparelhos);
  printf("O comodo possui incidencia de sol  S/N  ");
  cin >> a;
  str=a;
  if (str[0]=='s')
  {
      btutotalpesoas = pessoas * comsol;
 
      btutotalaparelhos= aparelhos * comsol;
 
      btu = area * comsol + btutotalpesoas + btutotalaparelhos;
      //cout << endl;
      //cout << "ar condicionado a se instalado deve ser de " << btu << " btu" << endl;cout << endl;
  } else 
    {
      if (str[0]=='n')
      {
         btutotalpesoas = pessoas * semsol;
         btutotalaparelhos= aparelhos * semsol;
         btu = area * semsol + btutotalpesoas + btutotalaparelhos;
      }
      if (btu <= 7000)
      {
        btu=7000;
        //printf ("O ar condicionado a ser instalado deve ser de 7.000 btus");
      } else
        {
          if (7000 > btu <= 9000)
          {
            btu=9000;
            //printf ("O ar condicionado a ser instalado deve ser de 9.000 btus");
          }
        }
    }     
    cout << endl;
    cout << "O ar condicionado a ser instalado deve ser de " << btu << " btus"<<endl;
    cout << endl;
    system("pause");
}

veja se ele está fazendo os cálculos do jeito  certo .

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@devair1010 Primeiramente gostaria de agradece pela ajuda....

 

Eu fiz em C porque ainda não aprendi programar em c++ e minha base está toda em C, e tem um tempo também que não programo em C.

 

Verifiquei os cálculos e eles estão certinhos, muito obrigado!

 

adicionado 22 minutos depois

Segue abaixo o programa final:

 

#include <iostream>
#include <string.h>
int pessoas, aparelhos, btu, comsol, semsol, pessoastotal, btutotalpesoas;
float btutotalaparelhos;
float area, largura, comprimento;
//char a[1];
using namespace std;
int main()
{
  comsol=800;
  semsol=600;
  char a[1];
  string str;
  
  printf ("Qual a Largura do Comodo ");
  scanf ("%f", & largura);
 
  printf ("Qual o Comprimento do Comodo ");
  scanf ("%f", & comprimento);
 
  area = largura * comprimento;
 
  printf ("Quantidade de Pessoas no Comodo ");
  scanf ("%d", & pessoas);
 
  pessoastotal = pessoas - 1;
 
  printf ("Quantidade de Aparelhos no Comodo ");
  scanf ("%d", & aparelhos);
  printf("O comodo possui incidencia de sol  S/N  ");
  cin >> a;
  str=a;
  if (str[0]=='s')
  {
      btutotalpesoas = pessoas * comsol;
 
      btutotalaparelhos= aparelhos * comsol;
 
      btu = area * comsol + btutotalpesoas + btutotalaparelhos;
      //cout << endl;
      //cout << "ar condicionado a se instalado deve ser de " << btu << " btu" << endl;cout << endl;
  } else 
    {
      if (str[0]=='n')
      {
         btutotalpesoas = pessoas * semsol;
         btutotalaparelhos= aparelhos * semsol;
         btu = area * semsol + btutotalpesoas + btutotalaparelhos;
      }
      if (btu <= 7000)
      {
        btu=7000;
        //printf ("O ar condicionado a ser instalado deve ser de 7.000 btus");
      } else
        {
          if (7000 > btu <= 9000)
          {
            btu=9000;
            //printf ("O ar condicionado a ser instalado deve ser de 9.000 btus");

} else
        {
          if (9000 > btu <= 12000)
          {
            btu=12000;
            //printf ("O ar condicionado a ser instalado deve ser de 12.000 btus");

} else
        {
          if (12000 > btu <= 17000)
          {
            btu=17000;
            //printf ("O ar condicionado a ser instalado deve ser de 17.000 btus");

} else
        {
          if (17000 > btu <= 18000)
          {
            btu=18000;
            //printf ("O ar condicionado a ser instalado deve ser de 18.000 btus");

} else
        {
          if (18000 > btu <= 22000)
          {
            btu=22000;
            //printf ("O ar condicionado a ser instalado deve ser de 22.000 btus");

} else
        {
          if (22000 > btu <= 24000)
          {
            btu=24000;
            //printf ("O ar condicionado a ser instalado deve ser de 24.000 btus");

} else
        {
          if (24000 > btu <= 27000)
          {
            btu=27000;
            //printf ("O ar condicionado a ser instalado deve ser de 27.000 btus");

} else
        {
          if (27000 > btu <= 30000)
          {
            btu=30000;
            //printf ("O ar condicionado a ser instalado deve ser de 30.000 btus");


} else
        {
          if (30000 > btu <= 31000)
          {
            btu=31000;
            //printf ("O ar condicionado a ser instalado deve ser de 31.000 btus");

          }
        }
    }     
    cout << endl;
    cout << "O ar condicionado a ser instalado deve ser de " << btu << " btus"<<endl;
    cout << endl;
    system("pause");
}

Quando fui compilar apareceu os seguinte erros:

 

Citação

In function 'int main()':

56:20: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

63:20: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

70:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

77:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

84:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

91:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

98:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

105:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

113:21: warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning [-Wparentheses]

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

125:1: error: expected '}' at end of input

 

Como posso fazer as comparações de maior que menor que = BTU

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@ewpreis      eu estou aprendendo c++ e ainda não sei sobre o linguagem c, quando vi o

primeiro código que você postou, copiei ele e colei no c++ pois achei bem parecido com os que

estou estudando, então fiz alguns ajustes nele, aí ele funcionou bem.  Os erros provavelmente

seja devido as diferenças entre essas duas linguagens.    Não sei como ajeitar o código para ele

funcionar em c,   desculpe.  

     Baixe o programa devcpp e rode esse código nele.

reorganizei o código e testei no c++ e ele está funcionando bem.:

#include <iostream>
#include <string.h>
float pessoas, aparelhos, btu, comsol, semsol, pessoastotal, btutotalpesoas;
float btutotalaparelhos;
float area, largura, comprimento;
using namespace std;
int main()
{
  comsol=800;
  semsol=600;
  char a[1];
  string str;
  
  printf ("Qual a Largura do Comodo ");
  scanf ("%f", & largura);
 
  printf ("Qual o Comprimento do Comodo ");
  scanf ("%f", & comprimento);
 
  area = largura * comprimento;
 
  printf ("Quantidade de Pessoas no Comodo ");
  scanf ("%d", & pessoas);
 
  pessoastotal = pessoas - 1;
 
  printf ("Quantidade de Aparelhos no Comodo ");
  scanf ("%d", & aparelhos);
  printf("O comodo possui incidencia de sol  S/N  ");
  cin >> a;
  str=a;
  if (str[0]=='s')
  {
      btutotalpesoas = pessoas * comsol;
 
      btutotalaparelhos= aparelhos * comsol;
 
      btu = area * comsol + btutotalpesoas + btutotalaparelhos;
  }
  else 
  {
      if (str[0]=='n')
      {
         btutotalpesoas = pessoas * semsol;
         btutotalaparelhos= aparelhos * semsol;
         btu = area * semsol + btutotalpesoas + btutotalaparelhos;
      }
  }
  if (btu <= 7000)
  {
    btu=7000;
  }
  if (btu > 7000 and btu <= 9000)
  {
     btu=9000;
  }
  if (btu > 9000 and btu <= 12000)
  {
     btu=12000;
  }
  if (btu > 12000 and btu <= 17000)
  {
     btu=17000;
  }
  if (btu > 17000 and btu <= 18000)
  {
     btu=18000;
  }
  if (btu > 18000 and btu <= 22000)
  {
     btu=22000;
  }
  if (btu > 22000 and btu <= 24000)
  {
     btu=24000;
  }
  if (btu > 24000 and btu <= 27000)
  {
     btu=27000;
  }
  if (btu > 27000 and btu <= 30000)
  {
     btu=30000;
  }
  if ((btu > 30000) and (btu <= 31000))
  {
     btu=31000;
  }
  cout << endl;
  cout << "O ar condicionado a ser instalado deve ser de " << btu << " btus"<<endl;
  cout << endl;
  system("pause");
}

 

Link para o comentário
Compartilhar em outros sites

@ewpreis     você disse que está fazendo esse programa na linguagem c.

esse código está em c++, então consegui arrumar o código para funcionar em c 

já testei ele aqui no compilador code blocks que também roda códigos em c

aqui está seu código:

#include<stdio.h>
#include <string.h>
float pessoas, aparelhos, btu, comsol, semsol, pessoastotal, btutotalpesoas;
float btutotalaparelhos;
float area, largura, comprimento;
char btus[10];
int main()
{
  comsol=800;
  semsol=600;
  char a[2];

  printf ("Qual a Largura do Comodo ");
  scanf ("%f", & largura);
  printf ("Qual o Comprimento do Comodo ");
  scanf ("%f", & comprimento);
  area = largura * comprimento;
  printf ("Quantidade de Pessoas no Comodo ");
  scanf ("%d", & pessoas);
  pessoastotal = pessoas - 1;
  printf ("Quantidade de Aparelhos no Comodo ");
  scanf ("%d", & aparelhos);
  printf("O comodo possui incidencia de sol  S/N  ");
  scanf("%s",&a);
  if (a[0]=='s')
  {
      btutotalpesoas = pessoas * comsol;
      btutotalaparelhos= aparelhos * comsol;
      btu = area * comsol + btutotalpesoas + btutotalaparelhos;
  }
  else
  {
      if (a[0]=='n')
      {
         btutotalpesoas = pessoas * semsol;
         btutotalaparelhos= aparelhos * semsol;
         btu = area * semsol + btutotalpesoas + btutotalaparelhos;
      }
  }
  printf("\n\nO ar condicionado a ser instalado deve ser de ");
  if (btu <  7000 )                 {printf("7 MIL" ); }
  if (btu >  7000 ){if(btu <= 9000 ){printf("9 MIL" );}}
  if (btu >  9000 ){if(btu <= 12000){printf("12 MIL");}}
  if (btu >  12000){if(btu <= 17000){printf("17 MIL");}}
  if (btu >  17000){if(btu <= 18000){printf("18 MIL");}}
  if (btu >  18000){if(btu <= 22000){printf("22 MIL");}}
  if (btu >  22000){if(btu <= 24000){printf("24 MIL");}}
  if (btu >  24000){if(btu <= 27000){printf("27 MIL");}}
  if (btu >  27000){if(btu <= 30000){printf("30 MIL");}}
  if (btu >  30000){if(btu <= 31000){printf("31 MIL");}}
  if (btu >  31000){printf("32 MIL")                 ; }
  printf(" btus\n");
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!