Computing > Vintage Computing

旧的日子:当男人是男性和书呆子在基本计划中键入

(1/7) > >>

DRG.:
昨天有一些箱子挖掘,发现了这一点。



它是一个基本程序列表的集合,即人们可以键入以展示他们的家庭计算机。版权所有1978年,但个别方案显然是来自创意计算杂志的早期问题。当我回忆中,我拿起了两个"collections"在二手书店,可能在20世纪80年代初。

该集合由David Ahl编辑,创意计算杂志的发布商[看他提出]。看看传记模糊。



现在,我认为自己是一个'old timer',但他绝对是我的年长和经历的高级 - 事实上,所有这些计算机上所列出的计算机,我只有两台手(PDP 8,11)。

以下是程序运行的所有基础知识 - 以及您可能会遇到的转换问题。它'很有意思,因为它是当时早期家庭计算机在当时的历史标记的历史标记 - 受到预期观众的位置。



......然后,当然是所有的程序。您会在(按线条和小点矩阵打印线)键入这些,并且可能有可能有趣的东西在您的计算机上工作!其中一些列表非常广泛,我想象很努力(我只会在几个短的那些中输入)。月球着陆,二十一点,十字架,当然,超级明星跋涉!





美好的时光 :)

MIS42N:
那些天!我写了一个星球查找器 - 置于日期,时间,纬度,经度,它说在哪里。在4kbyte

- - 代码: - -'
'计算行星位置的程序
'========================================
'
'   最初,行星的位置是以3维度计算的
'在使用地球轨道的坐标系中作为XY平面,
'太阳作为起源(0,0,0),地球轨道的平均半径为
'1单位,x +轴通过地球'在春天的位置
' equinox. 大多数行星数据都在此参考系统中提供。
'
'   然后用相同的原点和X轴重新计算这些坐标
'但随着XY飞机平行于地球's equator.  By knowing the
' earth'S位置和地球'S位置,地球的方向
'在r.a。 (右上列)和赤纬。
'
'   鉴于观察者的纬度和经度,可以
'重新计算方位角和高度。
'
'========================================
'
'观察者的纬度和经度表示为弧度
'J = Greenwich的经度 - E是+
'k =宽容 - 赤道n是+
'n =数小时[本地 - GMT]的本地时间偏移
'
10 J = 2.641265:k = -.532325:n = 10!
'
' P = Pi;   FNA - 将弧度减少到0 - > 2Pi
'
20 p = 3.1415926#:def fna(x)= x - int(x /(p * 2))* p * 2
'
'获取日期,减少到g的天数[1/1/1900 = 1]
'
100个输入"Date D,M,Y"; B, C, D: IF C <3然后C = C + 12:D = D - 1
110 C = C + 1:G = B + int(C * 153/5)+ int(D * 1461/4) - 63
'
'得到时间,自午夜以来减少到几分钟
'
120输入"时间(24小时)h,m"; B,C:H = B * 60 + C.
'
130输入"NO. OF PREDICTIONS"; S:如果s = 1 goto 150
'
'Ti - 分钟内的时间间隔
'
140输入"INTERVAL H,M"; B,C:Ti = B * 60 + C.
'
150输入"PLANET NO."; V
'
'T =在几天内和用于计算位置等的分数。  The base
'计算日期是中午3月31日至12月12日GMT [因此-.5]
'在使用地球计算时'旋转,保持旋转方便
'时间整天(g)和小时(h)也。
'o =地球之间的角度's axis and earth'S轨道(随时间的变化)
'
160用于TC = 1至S:T = G + H / 1440 - .5 - N / 24:O = .40932 - T * 6.212E-09
'
' A$ - name of planet
'距离阳光(earth = 1)的平均距离
'E - 偏心,B - 时间校正
'我 - 行星轨道的角度,C - 时间校正
'U - 从X轴到轨道平面交叉,D - 时间校正的角度
'u和perihelion之间的角度,f - 时间校正
'L - 均值的平均经度参考[31/12/1899]
'X - 整天+ 1到轨道太阳
'Y - 弧度超过一个轨道的轨道完成
'Z - 角速度弧度/日
'
170恢复:对于q = 0到8:读取$,a,e,b,i,c,u,d,w,f,l,x,y,z

180如果q = 0则gosub 600:ex = x:ey = y:ez = z:el = l:er = r:goto 470
190如果V.> 0 AND V <> Q GOTO 470
200 GOSUB 600.
210 c = g - 60:d = int(c / 1461):c = c-d * 1461:b = int(c / 365):如果b = 4则b = 3
220 c = c - b * 365 + 31:d = d * 4 + b:b = c * 5:c = int(b / 153):b = int((b - c * 153)/ 5)+ 1 :C = C + 2
230如果c>12!然后c = c - 12:d = d + 1
240打印:打印:打印"  DATE    TIME": PRINT
250 F = B:GOSUB 580:F = C:GOSUB 570:F = D:GOSUB 570
260打印"  "; :f = int(h / 60):gosub 580:打印":"; :f = h - f * 60:gosub 580
270 i = fna((h / 60 - n)* p / 12 + el - .000099):f = i:打印:打印
280打印"G.M.S.T.    "; : GOSUB 530
290 i = fna(i + j):f = i:打印"LOCAL S.T.  "; : GOSUB 530
300打印:打印"DATA FOR "; A$: PRINT
310 B = X - 例如:GOSUB 750:A = ATN((Y-EY)/ B):如果B< 0 THEN A = A + P
330打印"R.A.        "; : F = A: GOSUB 530
340 w =(x - ex)^ 2 +(y-ey)^ 2:b = sqr(w):gosub 750
350 e = ATN((z - ez)/ b):f = e:打印"DECLINATION "; : GOSUB 500
360 C = W +(Z - EZ)^ 2:B =(C + ER ^ 2 - R ^ 2)/(2 * ER * SQR(C)):GOSUB 750
380 F = ATN(SQR(1 - B ^ 2)/ b):如果b< 0 THEN F = F + P
390打印"ELONGATION  "; : GOSUB 500
400 U = FNA(a - i):f = u:打印:打印"HOUR ANGLE  "; : GOSUB 530
410 c = sin(k)* sin(e)+ cos(k)* cos(e)* cos(u):b = sqr(1 - c ^ 2):gosub 750
420 F = ATN(C / B):打印:打印"ALTITUDE    "; : GOSUB 500
430 b = cos(k)* sin(e) - sin(k)* cos(e)* cos(u):c = cos(e)* sin(u)
435 GOSUB 750:F = ATN(C / B):如果B< 0 THEN F = F + P
440 f = fna(f):打印"AZIMUTH     "; : GOSUB 500
450打印:打印"按下任何键"
460 DO
       循环直到len(inkey $)> 0
'
'
470下一个Q:H = H + Ti:B = int(H / 1440):g = g + b:h = h - b * 1440:下一个tc:结束
'
500 b = f * 180 / p:f = sgn(b)* int(abs(b)):b $ = str $(f):c = len(b $)
510对于d = 1到c:c $ = mid $(b $,d,1):如果c $<> " " THEN PRINT C$;
520下一个D:打印CHR $(248); :转到550.
530 b = f * 12 / p:如果b< 0 THEN B = B + 24
540 f = int(b):gosub 580:打印"HR";
550 B = ABS(B - F)* 60:F = int(B):GOSUB 580:打印"'";
560 f = int((b - f)* 60 + .5):gosub 580:print chr $(34):返回
570打印"/";
580打印中期$(str $(f + 100),3,2); : 返回
'
'
'时间调整e,我,u,w
'
600 e = e + b * t:i = i + c * t:u = u + d * t:w = w + f * t
'在时间t计算平均线的平均位置,相对于其临时升级
'为了避免舍入错误,我们删除了大多数或全部轨道
'Sun,通过从时间分量删除的时间倍数
'其中一个整个轨道和一点完成(x),但生成一个
'作为轨道的残留物(残差为Y)的角度。  The mean
'时间t相对于perihelion的位置是m
610 b = int(t / x):c = t - b * x:l = b * y + c * z + l:m = fna(l - u-w):x = m
'连续近似x与实际位置之间的差异
620 y =(m - x + e * sin(x))/(1 - e * cos(x)):x = x + y:if abs(y)> .0000005 GOTO 620
'
630 B = COS(X / 2):GOSUB 750:F = 2 * ATN((SQR((1 + e)/(1 - e))* sin(x / 2))/ b)
650 r = a *(1 - e * cos(x)):y = w + f
660 b = r *(cos(u)* cos(y) - sin(u)* sin(y)* cos(i))
670 c = r *(sin(u)* cos(y)+ cos(u)* sin(y)* cos(i))
680 d = r * sin(y)* sin(i)
690 x = b:y = c * cos(o) - d * sin(o):z = c * sin(o)+ d * cos(o)
700回归
750如果b = 0则b = 1e-10
760回归
800数据地球,1,.016751, - 。114E-8,0,0,0,1.766637,.8215E-6,1.740035,366,.0130363,.01720279
810数据汞,.3870986,.205614,.56E-9 ,.122223,.889E-9,.822915,.5663E-6,.501785,.177E-6,3.109812,88,.00225458,.07142545
820数据VENU,.7233316,.006821, - 。131E-8,.05923,.481E-9,1.322602,.43E-6,.949185,.2428E-6,5.982413,225,00851648,.02796311
830数据MARS,1.523692,.093313,.282E-8,.032294,.323E-9,.851484,.3684E-6,4.981723,。5112E-6,5.126863,687,。6438E-3,.009146767
840数据木星,5.2028,.048332,.449E-8,022842, - 。272E-8,1.735536,.4823E-6,4.77105,.2171E-6,4.16936,4333,.5989E-3,.00145022
850 Data Saturn,9.538843,05589, - 。945E-8,.04350, - 。186E-8,1.968489,。4152E-6,5.9044,。5254E-6,4.66956,10760,。5051E-3,。5839825 3.
860数据天王星,19.18195,.0471,0,.013483,.398E-9,1.282478,.2515E-6,1.668002,.5137E-6,4.26205,30686,.1616E-3,.2047626E-3
870数据海王星,30.0578,.0085,0,.031052, - 。451E-8,2.280806,.525E-6,4.767997, - 。2006E-6,1.498626,1,40439E-3,.1E-3
880数据PLUTO,39.4387,.2494,0,.29915,0,1.902409,.7053E-6,2.009925,0,1.648242,1,49454E-4,.7E-4

---结束代码---

TGZZZ.:
1956年在布鲁尔斯机器上学习在藻类中进行编程是相当一致的。

藻类在1958年至1960年之间设计。

rfclown.:
我键入其中一些程序。我(仍然是am)对印刷出一个随机迷宫的惊人计划着迷。我从未试图弄清楚它是如何工作的。

Andrewnorman.:
花了很多时间的键入程序到我的BBC模型B中,并试图弄清楚为什么它是不是't working.

有标准程序计算生物步骤和基于文本的速度侵略者。

设法获得一个大程序来运行我朋友键入的RPG游戏'是一个来自泳池的打字员的母亲,习惯于打字的东西而不理解她打字的东西  :D.

现在花费我所有的日子写作代码来支付我的晚上玩电子产品:)

导航

[0] 消息索引

[#] 下一页

感谢时出错
谢谢......
转到完整版