Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Таблица на температури Problem 4 (1 / 1)
- Да се прикаже работатa на греjачот за константна влажност h, за период од 24 часа, ако во 6 часот температурата е 15 степени, расте секој час за 1.5 степени до 18 часот секој час, а потоа опаѓа до 15 степени во 6 часот следното утро за 1.5 степени на час. Влажноста се прочитува еднаш од стандарден влез и потоа треба да се креира речник чиј клуч е торка од часот и влажноста, а вредност е торка од температурата во соодветниот час и потребната моќност на грејачот (пресметана со формулата за центар на гравитација). Со функцијата rang(x,4) заокружете ги реалните броеви x кои имаат повеќе децимали на 4. Ако веќе се поминати тест примерите без заокружување не мора да правите промена. За прочитана влажност од стандарден влез да се генерира бараниот речник и да се испечати истиот.
- Текстот е достапен на следниот линк: http://code.finki.ukim.mk/course/60/starterfile/223/
- import math
- def A1(t):
- if(t>=60):
- return 1.0;
- elif (t<60):
- return 1.0/((math.e**(60-math.fabs(t))))
- def A2(t):
- if(t<=10):
- return 1.0
- elif(t>10):
- return 1.0/((1+(math.e**(math.fabs(10-t)))))
- def B1(s):
- if(s>=0.8):
- return 1.0;
- elif(s>0 and s < 0.8):
- return 1 / (1+((0.2+s)**3))
- #return 0
- def B2(s):
- if(s>= 0 and s<= 0.1):
- return 1.0
- elif(s>0.1):
- return 1 / (1+((0.9+s)**2))
- #return 0
- def Rule1_min(s,e):
- return min(A2(s),B2(e))
- def Rule2_min(s,e):
- return min(A1(s),B2(e))
- def Rule3_min(s,e):
- return min(A1(s),B1(e))
- def COG(w1,w2,w3,c1,c2,c3):
- return (w1*c1 + w2*c2 + w3*c3) / (w1+w2+w3)
- def Presmetaj(h,c1,c2,c3):
- temperatura = 15
- resenie={}
- resenie[(6,h)] = (temperatura, COG(Rule1_min(temperatura,h),Rule2_min(temperatura,h),Rule3_min(temperatura,h),c1,c2,c3))
- for i in range(7,19):
- temperatura+=1.5
- resenie[(i,h)] = (temperatura, COG(Rule1_min(temperatura,h),Rule2_min(temperatura,h),Rule3_min(temperatura,h),c1,c2,c3))
- for i in range(19,25):
- temperatura-=1.5
- resenie[(i,h)] = (temperatura, COG(Rule1_min(temperatura,h),Rule2_min(temperatura,h),Rule3_min(temperatura,h),c1,c2,c3))
- for i in range(1,6):
- temperatura-=1.5
- resenie[(i,h)] = (temperatura, COG(Rule1_min(temperatura,h),Rule2_min(temperatura,h),Rule3_min(temperatura,h),c1,c2,c3))
- return resenie
- if __name__ == "__main__":
- h=input()
- c1 = 2000
- c2 = 500
- c3 = 100
- resenie=Presmetaj(h,c1,c2,c3)
- for x in resenie:
- resenie[x] = (resenie[x][0], round(resenie[x][1], 4))
- print resenie
- Sample input
- 0.3
- Sample output
- {(6, 0.3): (15, 2000.0), (11, 0.3): (22.5, 2000.0), (16, 0.3): (30.0, 1999.8457), (3, 0.3): (19.5, 2000.0), (1, 0.3): (22.5, 2000.0), (8, 0.3): (18.0, 2000.0), (22, 0.3): (27.0, 1999.9996), (14, 0.3): (27.0, 1999.9996), (19, 0.3): (31.5, 1996.9052), (17, 0.3): (31.5, 1996.9052), (24, 0.3): (24.0, 2000.0), (9, 0.3): (19.5, 2000.0), (7, 0.3): (16.5, 2000.0), (12, 0.3): (24.0, 2000.0), (4, 0.3): (18.0, 2000.0), (2, 0.3): (21.0, 2000.0), (23, 0.3): (25.5, 2000.0), (15, 0.3): (28.5, 1999.9923), (13, 0.3): (25.5, 2000.0), (20, 0.3): (30.0, 1999.8457), (18, 0.3): (33.0, 1939.9274), (5, 0.3): (16.5, 2000.0), (10, 0.3): (21.0, 2000.0), (21, 0.3): (28.5, 1999.9923)}
Advertisement
Add Comment
Please, Sign In to add comment