1  DIM I[29,29],P[29,29],B$[3]
2  PRINT "PRINT IN THE MAXIMUM SEGMENT FOR COLUMNS, THE MAXIMUM"
3  PRINT "SEGMENT FOR ROWS, RESISTANCE BETWEEN SEGMENTS, HEAT INPUT"
4  PRINT "PER SEGMENT, OUTDOOR TEMP. (TO), RESISTANCE TO TO, INDOOR"
5  PRINT "TEMP. (TI), RESISTANCE TO TI AND RESISTANCE TO OUTSIDE EDGE"'13'10'10'10
6  INPUT M,F3,R1,I,T0,R2,T1,R3,R4
7  J=0
8  IF F3>29 OR M>29 THEN 93
9  N9=8
10  REM:  N9 CONTAINS THE NO. OF NUMBERS PER LINE, CHANGE IT IF YOU WISH
11  N7=N9
12  MAT P=CON
13  MAT I=(I)*P
14  PRINT "IS THERE ANY SPECIAL HEAT INPUT ";
15  INPUT B$
16  IF B$="YES" THEN 104
17  FOR S=1 TO F3
18  FOR N=1 TO M
19  P[S,N]=(I[S,N]+T0/R2+T1/R3)*R2*R3/(R2+R3)
20  NEXT N
21  NEXT S
22  Y=0
23  FOR S=1 TO F3
24  FOR N=1 TO M
25  D=0
26  IF S=1 THEN 29
27  D=D+1
28  F[D]=P[S-1,N]
29  IF S=F3 THEN 32
30  D=D+1
31  F[D]=P[S+1,N]
32  IF N=1 THEN 35
33  D=D+1
34  F[D]=P[S,N-1]
35  IF N=M THEN 38
36  D=D+1
37  F[D]=P[S,N+1]
38  GOTO D OF 94,39,82,85
39  D=I[S,N]+(F[1]+F[2])/R1+T0/R2+T1/R3+(T0+T1)/R4
40  D=D*R1*R2*R3*R4/(2*R2*R3*R4+R1*R3*R4+R1*R2*R4+2*R1*R2*R3)
41  IF ABS(P[S,N]-D)<.1 THEN 44
42  Y=1
43  P[S,N]=D
44  NEXT N
45  NEXT S
46  IF Y THEN 22
47  FOR N=1 TO M
48  FOR S=1 TO F3
49  P[S,N]=INT(P[S,N]*100)/100
50  NEXT S
51  NEXT N
52  Y=1
53  D=M
54  PRINT '10'10'10
55  IF M <= N7 THEN 57
56  D=N7
57  V=3
58  FOR S=Y TO D
59  V=V+7
60  PRINT TAB(V);S;
61  NEXT S
62  PRINT 
63  FOR N=1 TO F3
64  V=4
65  PRINT TAB(3);N;
66  FOR X=Y TO D
67  V=V+7
68  PRINT TAB(V);"*";
69  NEXT X
70  PRINT 
71  V=1
72  FOR S=Y TO D
73  V=V+7
74  PRINT TAB(V);P[N,S]'13;
75  NEXT S
76  PRINT '10
77  NEXT N
78  IF M <= D THEN 88
79  Y=Y+N9
80  N7=N7+N9
81  GOTO 53
82  D=I[S,N]+(F[1]+F[2]+F[3])/R1+T0/R2+T1/R3+(T0+T1)/(2*R4)
83  D=D*R1*R2*R3*R4/(3*R2*R3+R1*R3+R1*R2)
84  GOTO 41
85  D=I[S,N]+(F[1]+F[2]+F[3]+F[4])/R1+T0/R2+T1/R3
86  D=D*R1*R2*R3/(4*R2*R3+R1*R3+R1*R2)
87  GOTO 41
88  PRINT "IS THERE ANY MORE DATA TO BE INPUTED "'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7'7;
89  INPUT B$
90  IF B$="YES" THEN 2
91  PRINT '10'10'10'10'10'10'10'10'10'10'10
92  END 
93  IF J THEN 96
94  PRINT "THE MAXIMUM MUST BE BETWEEN (AND INCLUDING) 2 AND 29"
95  J=1
96  PRINT "PRINT IN A NEW MAXIMUM FOR ";
97  IF F3>M THEN 101
98  PRINT "COLUMNS"
99  INPUT M
100  GOTO 8
101  PRINT "ROWS"
102  INPUT F3
103  GOTO 8
104  PRINT "IS THERE A PATTERN IN ROWS OR COLUMNS ";
105  INPUT B$
106  IF B$="YES" THEN 122
107  PRINT "HOW MANY ITEMS ARE TO BE INPUTED ";
108  INPUT V
109  IF V<1 THEN 17
110  PRINT "INPUT THE HEAT AS FOLLOWS: ROW, COLUMN, HEAT"
111  PRINT "PUSH RETURN AFTER EACH HEAT"
112  FOR S=1 TO V
113  INPUT D,Y,J
114  IF D>F3 THEN 134
115  IF Y>M THEN 119
116  I[D,Y]=J
117  NEXT S
118  GOTO 130
119  PRINT Y"IS GREATER THAN"M"WHICH IS YOUR MAXIMUM FOR COLUMNS"
120  PRINT "INPUT THOSE FIGURES AGAIN !"
121  GOTO 113
122  PRINT "LIST THE STARTING AND ENDING POINTS FOR ROWS & COLUMNS"
123  PRINT "AND THE HEAT INPUT"
124  INPUT D,Y,J,V,H6
125  FOR S=D TO Y
126  FOR N=J TO V
127  I[S,N]=H6
128  NEXT N
129  NEXT S
130  PRINT "IS THERE ANY MORE DATA TO BE INPUTED ";
131  INPUT B$
132  IF B$="YES" THEN 104
133  GOTO 17
134  PRINT D"IS GREATER THAN"F3"WHICH IS YOUR MAXIMUM FOR ROWS"
135  GOTO 120
136  END 
