Pots executar els meus codis Python en Google Colab amb un exemple de Selectivitat de Tecnologia i Enginyeria
import math
# Missatge inicial
print("Resolució d'una equació de segon grau de la forma ax^2 + bx + c = 0")
# Introduir els coeficients
a = float(input("Introdueix el coeficient a (ha de ser diferent de 0): "))
while a == 0:
print("El coeficient 'a' no pot ser 0 en una equació de segon grau.")
a = float(input("Introdueix el coeficient a (ha de ser diferent de 0): "))
b = float(input("Introdueix el coeficient b: "))
c = float(input("Introdueix el coeficient c: "))
# Calcula el discriminant
discriminant = b**2 - 4*a*c
# Resolució segons el discriminant
if discriminant > 0:
# Dues solucions reals i diferents
sol1 = (-b + math.sqrt(discriminant)) / (2 * a)
sol2 = (-b - math.sqrt(discriminant)) / (2 * a)
print(f"Hi ha dues solucions reals: x1 = {sol1} i x2 = {sol2}")
elif discriminant == 0:
# Una solució real (doble arrel)
sol = -b / (2 * a)
print(f"Hi ha una única solució real (arrel doble): x = {sol}")
else:
# No hi ha solucions reals
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
print(f"No hi ha solucions reals, però hi ha solucions complexes:")
print(f"x1 = {real_part} + {imaginary_part}i")
print(f"x2 = {real_part} - {imaginary_part}i")
import cmath # Mòdul per treballar amb números complexos
# Missatge inicial
print("Resolució d'una equació de segon grau de la forma ax^2 + bx + c = 0")
# Introduir els coeficients
a = float(input("Introdueix el coeficient a (ha de ser diferent de 0): "))
while a == 0:
print("El coeficient 'a' no pot ser 0 en una equació de segon grau.")
a = float(input("Introdueix el coeficient a (ha de ser diferent de 0): "))
b = float(input("Introdueix el coeficient b: "))
c = float(input("Introdueix el coeficient c: "))
# Calcula el discriminant utilitzant cmath
discriminant = cmath.sqrt(b**2 - 4*a*c)
# Calcula les solucions
sol1 = (-b + discriminant) / (2 * a)
sol2 = (-b - discriminant) / (2 * a)
# Mostra els resultats
print("\nSolucions de l'equació:")
print(f"x1 = {sol1}")
print(f"x2 = {sol2}")
# Enunciat del problema
print("Un establiment turístic es planteja posar una estufa de pèŀlets o de gasoil per cobrir una demanda energètica anual.")
print("Demanda energètica anual (Econs): 15.000 kWh\n")
print("Dades inicials:")
print("- Estufa de pèŀlets: rendiment ηpèl = 0,94, inversió inicial cinv_pèl = 7.000 €, manteniment anual cmant_pèl = 400 €, poder calorífic pc_pèl = 4,8 kWh/kg, preu del pèŀlet cpèl = 0,4 €/kg.")
print("- Estufa de gasoil: rendiment ηgas = 0,82, inversió inicial cinv_gas = 2.000 €, manteniment anual cmant_gas = 400 €, poder calorífic pc_gas = 44,8 MJ/kg, densitat del gasoil ρ = 0,85 kg/L, preu del gasoil cgas = 1,3 €/L.\n")
# Constants conegudes
Econs = 15000 # kWh/any
eta_pel = 0.94
cinv_pel = 7000
cmant_pel = 400
pc_pel = 4.8 # kWh/kg
cpel = 0.4 # €/kg
eta_gas = 0.82
cinv_gas = 2000
cmant_gas = 400
pc_gas_MJ = 44.8 # MJ/kg
pc_gas = pc_gas_MJ / 3.6 # Conversió a kWh/kg
rho = 0.85 # kg/L
cgas = 1.3 # €/L
# 1. Cost energètic (cepèl i cegas)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho * eta_gas)
print("1. El cost energètic d'utilitzar cada combustible:")
print(f" - Cost energètic del pèŀlet (ce_pel): {ce_pel:.4f} €/kWh")
print(f" - Cost energètic del gasoil (ce_gas): {ce_gas:.4f} €/kWh\n")
# 2. Massa de pèŀlets necessària (mpèl)
m_pel = Econs / (pc_pel * eta_pel)
print(f"2. Massa de pèŀlets necessària anualment (m_pel): {m_pel:.2f} kg\n")
# 3. Volum de gasoil necessari (Vgas)
m_gas = Econs / (pc_gas * eta_gas) # Massa de gasoil en kg
V_gas = m_gas / rho # Volum de gasoil en litres
print(f"3. Volum de gasoil necessari anualment (V_gas): {V_gas:.2f} L\n")
# 4. Temps perquè el cost econòmic de les dues estufes s'iguali
# Càlcul del cost anual de cadascuna
C_pel_anual = m_pel * cpel + cmant_pel
C_gas_anual = V_gas * cgas + cmant_gas
# Equació per igualar costos: cinv_pel + t * C_pel_anual = cinv_gas + t * C_gas_anual
# Resolent per t:
t = (cinv_gas - cinv_pel) / (C_pel_anual - C_gas_anual)
print("4. Temps perquè el cost econòmic de les dues estufes s'iguali:")
if t > 0:
print(f" - Temps necessari (t): {t:.2f} anys")
else:
print(" - Les estufes no s'igualen mai perquè el cost anual del pèŀlet és més alt.\n")
# Enunciat del problema
print("Un establiment turístic es planteja posar una estufa de pèŀlets o de gasoil per cobrir una demanda energètica anual.")
print("Aquest programa calcula el cost energètic, la massa o volum de combustible necessari i el temps d'igualació de costos.\n")
# Sol·licitud de dades a l'usuari
print("Introdueix les dades següents:")
Econs = float(input("Demanda energètica anual (Econs, en kWh): "))
eta_pel = float(input("Rendiment de l'estufa de pèŀlets (ηpèl, com a valor decimal, ex: 0.94): "))
cinv_pel = float(input("Cost d'inversió de l'estufa de pèŀlets (cinv_pèl, en €): "))
cmant_pel = float(input("Cost de manteniment anual de l'estufa de pèŀlets (cmant_pèl, en €): "))
pc_pel = float(input("Poder calorífic del pèŀlet (pc_pèl, en kWh/kg): "))
cpel = float(input("Preu del pèŀlet (cpèl, en €/kg): "))
eta_gas = float(input("Rendiment de l'estufa de gasoil (ηgas, com a valor decimal, ex: 0.82): "))
cinv_gas = float(input("Cost d'inversió de l'estufa de gasoil (cinv_gas, en €): "))
cmant_gas = float(input("Cost de manteniment anual de l'estufa de gasoil (cmant_gas, en €): "))
pc_gas_MJ = float(input("Poder calorífic del gasoil (pc_gas, en MJ/kg): "))
rho = float(input("Densitat del gasoil (ρ, en kg/L): "))
cgas = float(input("Preu del gasoil (cgas, en €/L): "))
# Conversió del poder calorífic del gasoil a kWh/kg
pc_gas = pc_gas_MJ / 3.6 # Conversió a kWh/kg
# 1. Cost energètic (cepèl i cegas)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho * eta_gas)
print("\n1. El cost energètic d'utilitzar cada combustible:")
print(f" - Cost energètic del pèŀlet (ce_pel): {ce_pel:.4f} €/kWh
# Introducció
print("Comparativa de fonts d'energia per satisfer una demanda energètica anual.")
print("Aquest programa calcula costos, volums o masses de combustible necessaris, i les emissions de CO₂ associades.")
print("Admet estufes de pèŀlets, gasoil i altres fonts que vulguis afegir.\n")
# Sol·licitud de dades bàsiques comunes
Econs = float(input("Demanda energètica anual (Econs, en kWh): "))
# Sol·licitud de dades per cada font d'energia
print("\n--- Dades de les fonts d'energia ---")
# Pèŀlets
print("\nPÈŀLETS:")
eta_pel = float(input(" Rendiment de l'estufa de pèŀlets (ηpèl, ex: 0.94): "))
cinv_pel = float(input(" Cost d'inversió inicial (cinv_pèl, en €): "))
cmant_pel = float(input(" Cost de manteniment anual (cmant_pèl, en €): "))
pc_pel = float(input(" Poder calorífic del pèŀlet (pc_pèl, en kWh/kg): "))
cpel = float(input(" Preu del pèŀlet (cpèl, en €/kg): "))
co2_pel = float(input(" Factor d'emissió del pèŀlet (en kg CO₂/kg de pèŀlet): "))
# Gasoil
print("\nGASOIL:")
eta_gas = float(input(" Rendiment de l'estufa de gasoil (ηgas, ex: 0.82): "))
cinv_gas = float(input(" Cost d'inversió inicial (cinv_gas, en €): "))
cmant_gas = float(input(" Cost de manteniment anual (cmant_gas, en €): "))
pc_gas_MJ = float(input(" Poder calorífic del gasoil (pc_gas, en MJ/kg): "))
rho_gas = float(input(" Densitat del gasoil (ρ, en kg/L): "))
cgas = float(input(" Preu del gasoil (cgas, en €/L): "))
co2_gas = float(input(" Factor d'emissió del gasoil (en kg CO₂/L de gasoil): "))
# Font addicional (Exemple: Electricitat)
print("\nELECTRICITAT:")
eta_elec = float(input(" Rendiment de l'energia elèctrica (ηelec, ex: 1.0): "))
cinv_elec = float(input(" Cost d'inversió inicial (cinv_elec, en €): "))
cmant_elec = float(input(" Cost de manteniment anual (cmant_elec, en €): "))
celec = float(input(" Cost de l'energia elèctrica (celec, en €/kWh): "))
co2_elec = float(input(" Factor d'emissió de l'electricitat (en kg CO₂/kWh): "))
# Conversió del poder calorífic del gasoil de MJ/kg a kWh/kg
pc_gas = pc_gas_MJ / 3.6
# --- CÀLCULS ---
# Cost energètic (€/kWh)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho_gas * eta_gas)
ce_elec = celec / eta_elec
# Massa o volum necessari
m_pel = Econs / (pc_pel * eta_pel)
m_gas = Econs / (pc_gas * eta_gas)
V_gas = m_gas / rho_gas # Volum de gasoil necessari
E_elec = Econs / eta_elec # Energia total requerida per a l'electricitat
# Emissions de CO₂
co2_pel_total = m_pel * co2_pel
co2_gas_total = V_gas * co2_gas
co2_elec_total = E_elec * co2_elec
# Cost anual total
C_pel_anual = m_pel * cpel + cmant_pel
C_gas_anual = V_gas * cgas + cmant_gas
C_elec_anual = E_elec * celec + cmant_elec
# Temps d'igualació (comparant pèŀlets i gasoil)
if C_pel_anual != C_gas_anual:
t_pg = (cinv_gas - cinv_pel) / (C_pel_anual - C_gas_anual)
else:
t_pg = float('inf') # Mai s'igualen
if C_pel_anual != C_elec_anual:
t_pe = (cinv_elec - cinv_pel) / (C_pel_anual - C_elec_anual)
else:
t_pe = float('inf') # Mai s'igualen
# --- RESULTATS ---
print("\n--- RESULTATS ---")
# Cost energètic
print("1. Cost energètic (€/kWh):")
print(f" - Pèŀlets: {ce_pel:.4f} €/kWh")
print(f" - Gasoil: {ce_gas:.4f} €/kWh")
print(f" - Electricitat: {ce_elec:.4f} €/kWh\n")
# Massa o volum de combustible
print("2. Massa o volum de combustible necessari:")
print(f" - Pèŀlets: {m_pel:.2f} kg")
print(f" - Gasoil: {m_gas:.2f} kg ({V_gas:.2f} L)")
print(f" - Electricitat: {E_elec:.2f} kWh\n")
# Emissions de CO₂
print("3. Emissions de CO₂:")
print(f" - Pèŀlets: {co2_pel_total:.2f} kg CO₂/any")
print(f" - Gasoil: {co2_gas_total:.2f} kg CO₂/any")
print(f" - Electricitat: {co2_elec_total:.2f} kg CO₂/any\n")
# Cost anual
print("4. Cost anual total:")
print(f" - Pèŀlets: {C_pel_anual:.2f} €/any")
print(f" - Gasoil: {C_gas_anual:.2f} €/any")
print(f" - Electricitat: {C_elec_anual:.2f} €/any\n")
# Temps d'igualació
print("5. Temps perquè els costos s'igualin:")
if t_pg > 0:
print(f" - Entre pèŀlets i gasoil: {t_pg:.2f} anys")
else:
print(" - Entre pèŀlets i gasoil: Mai s'igualen")
if t_pe > 0:
print(f" - Entre pèŀlets i electricitat: {t_pe:.2f} anys")
else:
print(" - Entre pèŀlets i electricitat: Mai s'igualen")
_———_______———-________—–
# Introducció
print("Comparativa de fonts d'energia ampliada.")
print("Aquest programa calcula costos, volums, emissions de CO₂ i compara diferents fonts d'energia.\n")
# Sol·licitud de dades bàsiques comunes
Econs = float(input("Demanda energètica anual (Econs, en kWh): "))
n_years = int(input("Per quant anys vols fer els càlculs (n_years): "))
# Sol·licitud de dades per cada font d'energia
print("\n--- Dades de les fonts d'energia ---")
# Pèŀlets
print("\nPÈŀLETS:")
eta_pel = float(input(" Rendiment de l'estufa de pèŀlets (ηpèl, ex: 0.94): "))
cinv_pel = float(input(" Cost d'inversió inicial (cinv_pèl, en €): "))
cmant_pel = float(input(" Cost de manteniment anual (cmant_pèl, en €): "))
pc_pel = float(input(" Poder calorífic del pèŀlet (pc_pèl, en kWh/kg): "))
cpel = float(input(" Preu del pèŀlet (cpèl, en €/kg): "))
co2_pel = float(input(" Factor d'emissió del pèŀlet (en kg CO₂/kg de pèŀlet): "))
# Gasoil
print("\nGASOIL:")
eta_gas = float(input(" Rendiment de l'estufa de gasoil (ηgas, ex: 0.82): "))
cinv_gas = float(input(" Cost d'inversió inicial (cinv_gas, en €): "))
cmant_gas = float(input(" Cost de manteniment anual (cmant_gas, en €): "))
pc_gas_MJ = float(input(" Poder calorífic del gasoil (pc_gas, en MJ/kg): "))
rho_gas = float(input(" Densitat del gasoil (ρ, en kg/L): "))
cgas = float(input(" Preu del gasoil (cgas, en €/L): "))
co2_gas = float(input(" Factor d'emissió del gasoil (en kg CO₂/L de gasoil): "))
# Font addicional (Exemple: Electricitat)
print("\nELECTRICITAT:")
eta_elec = float(input(" Rendiment de l'energia elèctrica (ηelec, ex: 1.0): "))
cinv_elec = float(input(" Cost d'inversió inicial (cinv_elec, en €): "))
cmant_elec = float(input(" Cost de manteniment anual (cmant_elec, en €): "))
celec = float(input(" Cost de l'energia elèctrica (celec, en €/kWh): "))
co2_elec = float(input(" Factor d'emissió de l'electricitat (en kg CO₂/kWh): "))
# Conversió del poder calorífic del gasoil de MJ/kg a kWh/kg
pc_gas = pc_gas_MJ / 3.6
# --- CÀLCULS ---
# Cost energètic (€/kWh)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho_gas * eta_gas)
ce_elec = celec / eta_elec
# Massa o volum necessari
m_pel = Econs / (pc_pel * eta_pel)
m_gas = Econs / (pc_gas * eta_gas)
V_gas = m_gas / rho_gas # Volum de gasoil necessari
E_elec = Econs / eta_elec # Energia total requerida per a l'electricitat
# Emissions de CO₂
co2_pel_total = m_pel * co2_pel
co2_gas_total = V_gas * co2_gas
co2_elec_total = E_elec * co2_elec
# Cost anual total
C_pel_anual = m_pel * cpel + cmant_pel
C_gas_anual = V_gas * cgas + cmant_gas
C_elec_anual = E_elec * celec + cmant_elec
# Costos totals a llarg termini
C_pel_total = cinv_pel + n_years * C_pel_anual
C_gas_total = cinv_gas + n_years * C_gas_anual
C_elec_total = cinv_elec + n_years * C_elec_anual
# Emissions totals a llarg termini
co2_pel_total_nyears = n_years * co2_pel_total
co2_gas_total_nyears = n_years * co2_gas_total
co2_elec_total_nyears = n_years * co2_elec_total
# Temps d'igualació (comparant pèŀlets i gasoil)
if C_pel_anual != C_gas_anual:
t_pg = (cinv_gas - cinv_pel) / (C_pel_anual - C_gas_anual)
else:
t_pg = float('inf') # Mai s'igualen
if C_pel_anual != C_elec_anual:
t_pe = (cinv_elec - cinv_pel) / (C_pel_anual - C_elec_anual)
else:
t_pe = float('inf') # Mai s'igualen
# --- RESULTATS ---
print("\n--- RESULTATS ---")
# Cost energètic
print("1. Cost energètic (€/kWh):")
print(f" - Pèŀlets: {ce_pel:.4f} €/kWh")
print(f" - Gasoil: {ce_gas:.4f} €/kWh")
print(f" - Electricitat: {ce_elec:.4f} €/kWh\n")
# Massa o volum de combustible
print("2. Massa o volum de combustible necessari:")
print(f" - Pèŀlets: {m_pel:.2f} kg")
print(f" - Gasoil: {m_gas:.2f} kg ({V_gas:.2f} L)")
print(f" - Electricitat: {E_elec:.2f} kWh\n")
# Emissions de CO₂
print("3. Emissions de CO₂ (per any):")
print(f" - Pèŀlets: {co2_pel_total:.2f} kg CO₂/any")
print(f" - Gasoil: {co2_gas_total:.2f} kg CO₂/any")
print(f" - Electricitat: {co2_elec_total:.2f} kg CO₂/any\n")
# Cost total a llarg termini
print("4. Cost total a llarg termini (en €):")
print(f" - Pèŀlets: {C_pel_total:.2f} €")
print(f" - Gasoil: {C_gas_total:.2f} €")
print(f" - Electricitat: {C_elec_total:.2f} €\n")
# Emissions totals a llarg termini
print("5. Emissions totals de CO₂ a llarg termini (en kg):")
print(f" - Pèŀlets: {co2_pel_total_nyears:.2f} kg")
print(f" - Gasoil: {co2_gas_total_nyears:.2f} kg")
print(f" - Electricitat: {co2_elec_total_nyears:.2f} kg\n")
# Temps d'igualació
print("6. Temps perquè els costos s'igualin:")
if t_pg > 0:
print(f" - Entre pèŀlets i gasoil: {t_pg:.2f} anys")
else:
print(" - Entre pèŀlets i gasoil: Mai s'igualen")
if t_pe > 0:
print(f" - Entre pèŀlets i electricitat: {t_pe:.2f} anys")
else:
print(" - Entre pèŀlets i electricitat: Mai s'igualen\n")
# Proposta de decisió
print("7. Proposta de decisió:")
if C_pel_total < C_gas_total and C_pel_total < C_elec_total:
print(" - La millor opció econòmica és utilitzar PÈŀLETS.")
elif C_gas_total < C_pel_total and C_gas_total < C_elec_total:
print(" - La millor opció econòmica és utilitzar GASOIL.")
else:
print(" - La millor opció econòmica és utilitzar ELECTRICITAT.")
if co2_pel_total_nyears < co2_gas_total_nyears and co2_pel_total_nyears < co2_elec_total_nyears:
print(" - La millor opció ecològica és utilitzar PÈŀLETS.")
elif co2_gas_total_nyears < co2_pel_total_nyears and co2_gas_total_nyears < co2_elec_total_nyears:
print(" - La millor opció ecològica és utilitzar GASOIL.")
else:
print(" - La millor opció ecològica és utilitzar ELECTRICITAT.")
---------
Amb gràfic
import matplotlib.pyplot as plt
import numpy as np
# Introducció
print("Comparativa de fonts d'energia ampliada amb gràfics.")
print("Aquest programa calcula costos, emissions de CO₂ i compara diferents fonts d'energia.\n")
# Sol·licitud de dades bàsiques comunes
Econs = float(input("Demanda energètica anual (Econs, en kWh): "))
n_years = int(input("Per quant anys vols fer els càlculs (n_years): "))
# Sol·licitud de dades per cada font d'energia
print("\n--- Dades de les fonts d'energia ---")
# Pèŀlets
print("\nPÈŀLETS:")
eta_pel = float(input(" Rendiment de l'estufa de pèŀlets (ηpèl, ex: 0.94): "))
cinv_pel = float(input(" Cost d'inversió inicial (cinv_pèl, en €): "))
cmant_pel = float(input(" Cost de manteniment anual (cmant_pèl, en €): "))
pc_pel = float(input(" Poder calorífic del pèŀlet (pc_pèl, en kWh/kg): "))
cpel = float(input(" Preu del pèŀlet (cpèl, en €/kg): "))
co2_pel = float(input(" Factor d'emissió del pèŀlet (en kg CO₂/kg de pèŀlet): "))
# Gasoil
print("\nGASOIL:")
eta_gas = float(input(" Rendiment de l'estufa de gasoil (ηgas, ex: 0.82): "))
cinv_gas = float(input(" Cost d'inversió inicial (cinv_gas, en €): "))
cmant_gas = float(input(" Cost de manteniment anual (cmant_gas, en €): "))
pc_gas_MJ = float(input(" Poder calorífic del gasoil (pc_gas, en MJ/kg): "))
rho_gas = float(input(" Densitat del gasoil (ρ, en kg/L): "))
cgas = float(input(" Preu del gasoil (cgas, en €/L): "))
co2_gas = float(input(" Factor d'emissió del gasoil (en kg CO₂/L de gasoil): "))
# Electricitat
print("\nELECTRICITAT:")
eta_elec = float(input(" Rendiment de l'energia elèctrica (ηelec, ex: 1.0): "))
cinv_elec = float(input(" Cost d'inversió inicial (cinv_elec, en €): "))
cmant_elec = float(input(" Cost de manteniment anual (cmant_elec, en €): "))
celec = float(input(" Cost de l'energia elèctrica (celec, en €/kWh): "))
co2_elec = float(input(" Factor d'emissió de l'electricitat (en kg CO₂/kWh): "))
# Conversió del poder calorífic del gasoil de MJ/kg a kWh/kg
pc_gas = pc_gas_MJ / 3.6
# --- CÀLCULS ---
# Cost energètic (€/kWh)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho_gas * eta_gas)
ce_elec = celec / eta_elec
# Massa o volum necessari
m_pel = Econs / (pc_pel * eta_pel)
m_gas = Econs / (pc_gas * eta_gas)
V_gas = m_gas / rho_gas # Volum de gasoil necessari
E_elec = Econs / eta_elec # Energia total requerida per a l'electricitat
# Emissions de CO₂
co2_pel_total = m_pel * co2_pel
co2_gas_total = V_gas * co2_gas
co2_elec_total = E_elec * co2_elec
# Cost anual total
C_pel_anual = m_pel * cpel + cmant_pel
C_gas_anual = V_gas * cgas + cmant_gas
C_elec_anual = E_elec * celec + cmant_elec
# Costos i emissions acumulats per anys
years = np.arange(1, n_years + 1)
C_pel_cumul = cinv_pel + years * C_pel_anual
C_gas_cumul = cinv_gas + years * C_gas_anual
C_elec_cumul = cinv_elec + years * C_elec_anual
co2_pel_cumul = years * co2_pel_total
co2_gas_cumul = years * co2_gas_total
co2_elec_cumul = years * co2_elec_total
# --- GRÀFICS ---
# Gràfic de costos acumulats
plt.figure(figsize=(10, 5))
plt.plot(years, C_pel_cumul, label="Pèŀlets", color="green")
plt.plot(years, C_gas_cumul, label="Gasoil", color="blue")
plt.plot(years, C_elec_cumul, label="Electricitat", color="orange")
plt.title("Cost acumulat per anys")
plt.xlabel("Anys")
plt.ylabel("Cost acumulat (€)")
plt.legend()
plt.grid()
plt.show()
# Gràfic d'emissions acumulades
plt.figure(figsize=(10, 5))
plt.plot(years, co2_pel_cumul, label="Pèŀlets", color="green")
plt.plot(years, co2_gas_cumul, label="Gasoil", color="blue")
plt.plot(years, co2_elec_cumul, label="Electricitat", color="orange")
plt.title("Emissions de CO₂ acumulades per anys")
plt.xlabel("Anys")
plt.ylabel("Emissions acumulades (kg CO₂)")
plt.legend()
plt.grid()
plt.show()
# --- RESULTATS NUMÈRICS ---
print("\n--- RESULTATS ---")
# Cost energètic
print("1. Cost energètic (€/kWh):")
print(f" - Pèŀlets: {ce_pel:.4f} €/kWh")
print(f" - Gasoil: {ce_gas:.4f} €/kWh")
print(f" - Electricitat: {ce_elec:.4f} €/kWh\n")
# Emissions totals acumulades després d'n_years
print(f"2. Emissions totals acumulades després de {n_years} anys (en kg):")
print(f" - Pèŀlets: {co2_pel_cumul[-1]:.2f} kg")
print(f" - Gasoil: {co2_gas_cumul[-1]:.2f} kg")
print(f" - Electricitat: {co2_elec_cumul[-1]:.2f} kg\n")
# Cost total acumulat després d'n_years
print(f"3. Costos totals acumulats després de {n_years} anys (en €):")
print(f" - Pèŀlets: {C_pel_cumul[-1]:.2f} €")
print(f" - Gasoil: {C_gas_cumul[-1]:.2f} €")
print(f" - Electricitat: {C_elec_cumul[-1]:.2f} €")
# Importació de llibreries necessàries
import matplotlib.pyplot as plt
# --- INTRODUCCIÓ ---
print("Comparativa de fonts d'energia ampliada.")
print("Aquest programa calcula costos, volums, emissions de CO₂ i compara diferents fonts d'energia.\n")
# Sol·licitud de dades bàsiques comunes
Econs = float(input("Demanda energètica anual (Econs, en kWh): "))
n_years = int(input("Per quants anys vols fer els càlculs (n_years): "))
# Sol·licitud de dades per cada font d'energia
print("\n--- Dades de les fonts d'energia ---")
# Pèŀlets
print("\nPÈŀLETS:")
eta_pel = float(input(" Rendiment de l'estufa de pèŀlets (ηpèl, ex: 0.94): "))
cinv_pel = float(input(" Cost d'inversió inicial (cinv_pèl, en €): "))
cmant_pel = float(input(" Cost de manteniment anual (cmant_pèl, en €): "))
pc_pel = float(input(" Poder calorífic del pèŀlet (pc_pèl, en kWh/kg): "))
cpel = float(input(" Preu del pèŀlet (cpèl, en €/kg): "))
co2_pel = float(input(" Factor d'emissió del pèŀlet (en kg CO₂/kg de pèŀlet): "))
# Gasoil
print("\nGASOIL:")
eta_gas = float(input(" Rendiment de l'estufa de gasoil (ηgas, ex: 0.82): "))
cinv_gas = float(input(" Cost d'inversió inicial (cinv_gas, en €): "))
cmant_gas = float(input(" Cost de manteniment anual (cmant_gas, en €): "))
pc_gas_MJ = float(input(" Poder calorífic del gasoil (pc_gas, en MJ/kg): "))
rho_gas = float(input(" Densitat del gasoil (ρ, en kg/L): "))
cgas = float(input(" Preu del gasoil (cgas, en €/L): "))
co2_gas = float(input(" Factor d'emissió del gasoil (en kg CO₂/L de gasoil): "))
# Font addicional (Exemple: Electricitat)
print("\nELECTRICITAT:")
eta_elec = float(input(" Rendiment de l'energia elèctrica (ηelec, ex: 1.0): "))
cinv_elec = float(input(" Cost d'inversió inicial (cinv_elec, en €): "))
cmant_elec = float(input(" Cost de manteniment anual (cmant_elec, en €): "))
celec = float(input(" Cost de l'energia elèctrica (celec, en €/kWh): "))
co2_elec = float(input(" Factor d'emissió de l'electricitat (en kg CO₂/kWh): "))
# Conversió del poder calorífic del gasoil de MJ/kg a kWh/kg
pc_gas = pc_gas_MJ / 3.6
# --- CÀLCULS ---
# Cost energètic (€/kWh)
ce_pel = cpel / (pc_pel * eta_pel)
ce_gas = cgas / (pc_gas * rho_gas * eta_gas)
ce_elec = celec / eta_elec
# Massa o volum necessari
m_pel = Econs / (pc_pel * eta_pel)
m_gas = Econs / (pc_gas * eta_gas)
V_gas = m_gas / rho_gas # Volum de gasoil necessari
E_elec = Econs / eta_elec # Energia total requerida per a l'electricitat
# Emissions de CO₂
co2_pel_total = m_pel * co2_pel
co2_gas_total = V_gas * co2_gas
co2_elec_total = E_elec * co2_elec
# Cost anual total
C_pel_anual = m_pel * cpel + cmant_pel
C_gas_anual = V_gas * cgas + cmant_gas
C_elec_anual = E_elec * celec + cmant_elec
# Costos totals a llarg termini
C_pel_total = cinv_pel + n_years * C_pel_anual
C_gas_total = cinv_gas + n_years * C_gas_anual
C_elec_total = cinv_elec + n_years * C_elec_anual
# Emissions totals a llarg termini
co2_pel_total_nyears = n_years * co2_pel_total
co2_gas_total_nyears = n_years * co2_gas_total
co2_elec_total_nyears = n_years * co2_elec_total
# Temps d'igualació
if C_pel_anual != C_gas_anual:
t_pg = (cinv_gas - cinv_pel) / (C_pel_anual - C_gas_anual)
else:
t_pg = float('inf') # Mai s'igualen
if C_pel_anual != C_elec_anual:
t_pe = (cinv_elec - cinv_pel) / (C_pel_anual - C_elec_anual)
else:
t_pe = float('inf') # Mai s'igualen
# --- RESULTATS ---
# Taula de resultats
print("\n--- RESULTATS ---")
print(f"{'Conceptes':<20}{'Pèŀlets':<10}{'Gasoil':<10}{'Electricitat':<10}")
print("-" * 50)
print(f"{'Cost €/kWh':<20}{ce_pel:<10.4f}{ce_gas:<10.4f}{ce_elec:<10.4f}")
print(f"{'Massa (kg) o volum (L)':<20}{m_pel:<10.2f}{V_gas:<10.2f}{E_elec:<10.2f}")
print(f"{'Emissions CO₂ anuals':<20}{co2_pel_total:<10.2f}{co2_gas_total:<10.2f}{co2_elec_total:<10.2f}")
print(f"{'Cost llarg termini (€)':<20}{C_pel_total:<10.2f}{C_gas_total:<10.2f}{C_elec_total:<10.2f}")
print(f"{'Emissions totals CO₂':<20}{co2_pel_total_nyears:<10.2f}{co2_gas_total_nyears:<10.2f}{co2_elec_total_nyears:<10.2f}")
# Gràfiques comparatives
categories = ['Pèŀlets', 'Gasoil', 'Electricitat']
costs = [C_pel_total, C_gas_total, C_elec_total]
emissions = [co2_pel_total_nyears, co2_gas_total_nyears, co2_elec_total_nyears]
# Gràfica de costos
plt.figure(figsize=(10, 5))
plt.bar(categories, costs, color=['green', 'blue', 'orange'])
plt.title('Cost total a llarg termini (en €)')
plt.ylabel('Cost (€)')
plt.show()
# Gràfica d'emissions
plt.figure(figsize=(10, 5))
plt.bar(categories, emissions, color=['green', 'blue', 'orange'])
plt.title('Emissions totals de CO₂ a llarg termini (en kg)')
plt.ylabel('Emissions (kg CO₂)')
plt.show()
# Proposta de decisió
print("\n--- PROPOSTA DE DECISIÓ ---")
if C_pel_total < C_gas_total and C_pel_total < C_elec_total:
print("La millor opció econòmica és utilitzar PÈŀLETS.")
elif C_gas_total < C_pel_total and C_gas_total < C_elec_total:
print("La millor opció econòmica és utilitzar GASOIL.")
else:
print("La millor opció econòmica és utilitzar ELECTRICITAT.")
if co2_pel_total_nyears < co2_gas_total_nyears and co2_pel_total_nyears < co2_elec_total_nyears:
print("La millor opció ecològica és utilitzar PÈŀLETS.")
elif co2_gas_total_nyears < co2_pel_total_nyears and co2_gas_total_nyears < co2_elec_total_nyears:
print("La millor opció ecològica és utilitzar GASOIL.")
else:
print("La millor opció ecològica és utilitzar ELECTRICITAT.")