老年人贫血吃什么补血最快最有效| 喉咙干痒吃什么药| 淋球菌阳性是什么意思| bn是什么颜色| 梅花什么颜色| 论文检索号是什么| 诗意是什么意思| 为什么趴着睡觉会胀气然后打嗝| 奥美拉唑主要治什么| 高血钾有什么症状| 东华帝君的真身是什么| 弓加耳念什么| 人乳头瘤病毒18型阳性是什么意思| 右侧上颌窦粘膜增厚是什么意思| 擅长是什么意思| 隔离霜和粉底液有什么区别| 溶豆是什么| 腾云驾雾是什么生肖| 巨蟹座是什么象星座| 血小板低是什么意思| 尿酸高都有什么症状| 用什么洗脸可以祛斑| sama是什么药| 硬水是什么意思| 人中起痘痘是什么原因| 舌头上有齿痕是什么原因| 来月经喝啤酒有什么影响| 淋巴结看什么科| 知性是什么意思| 蓝色和红色混合是什么颜色| 长春有什么特产| 口周皮炎用什么药膏| 狗屎运是什么意思| 内脂是什么| 水便分离的原因是什么| 系统性红斑狼疮不能吃什么| 天蝎座跟什么星座最配| ptp是什么意思| 宝宝胎动频繁说明什么| 一什么不什么| 羞涩是什么意思| 月经前一周是什么期| 身上发抖是什么原因| 术后病人吃什么营养恢复快| 后脑勺出汗是什么原因| 梦见老人去世预示什么| 吃饭后胃胀是什么原因| 避孕药吃了有什么副作用| 移植后需要注意什么| ysy是什么意思| 什么叫辟谷减肥法| 11月9号是什么星座| 黑茶属于什么茶| 小气道病变是什么意思| 脐疝是什么| 吃猪皮有什么好处和坏处| 荧光剂是什么东西| 晨对什么| 无什么无什么| 溺爱是什么意思| vivi是什么意思| 蒲瓜是什么瓜| 001是什么意思| u18什么意思| 男性内分泌失调吃什么药| 看病人带什么水果| 历史是个什么玩意儿| 电是什么时候发明的| 鬼针草有什么功效| 肠结核是什么病| landrover是什么车| 气虚血瘀吃什么中成药| 七星伴月是什么意思| 为什么有两个六月| 213什么意思| 瓜怂是什么意思| 云南白药草长什么样| 阴道发臭是什么原因| 远字五行属什么| 积液是什么| 苦瓜泡酒有什么功效和作用| 闲的蛋疼是什么意思| 荷叶和山楂一起泡水有什么功效| 晕车药叫什么名字| 检查神经做什么检查| 大肠在人体什么位置图| 夏令时什么意思| 木耳不能和什么一起吃| 为什么会得炎症| 右手中指发麻是什么原因| 吃核桃有什么好处和坏处| 苯佐卡因是什么药| 乳房疼痛挂什么科| 胎心不稳定是什么原因| 电解质水是什么| 盍是什么意思| 属兔适合佩戴什么饰品| 尿频去药店买什么药| yy飞机票是什么| 女人为什么会得霉菌| 木命的人适合佩戴什么首饰| 测测你天生靠什么吃饭| 什么是普世价值| 玫瑰红是什么颜色| 男性疝气是什么病| 湿疹是什么病的前兆| 稷是什么作物| 地铁站务员是干什么的| 眼皮痒是什么原因| sle是什么病| 什么是自闭症| 脚上脱皮是什么原因| 阿昔洛韦片是什么药| 白带褐色什么原因| 眼底出血是什么原因造成的| aml是什么意思| 情劫什么意思| 纤支镜主要检查什么| 白咖啡是什么| 湛蓝湛蓝的什么| 不动明王是什么属相的本命佛| 左眼皮跳是什么预兆女| 有甲状腺结节不能吃什么| 洋葱不能和什么一起吃| 步幅是什么意思| 开心果是什么意思| est.是什么意思| vae是什么意思| 换手率什么意思| 无水酥油是什么| 满身红点是什么病| 俄罗斯乌克兰为什么打仗| 为什么会头晕| 氯读什么拼音| 牛肉补什么| 献血有什么危害| 心肌缺血是什么原因引起的| 肢体麻木是什么原因| 双向情感障碍是什么病| 排骨炖什么比较好吃| 肝阴虚吃什么中成药| 特别的意思是什么| 夫人是什么生肖| 香菇吃多了有什么危害| torch是什么意思| 猫舔人是什么意思| 脑血栓有什么症状| fs是什么单位| 刚做了人流适合吃什么好| 总是睡不着觉是什么原因| 布洛芬有什么作用| 猫咪弓背是什么原因| 什么叫元素| 眼睑肿是什么原因| 肺部有问题一般会出现什么症状| 心脾两虚吃什么药| 感冒流鼻涕咳嗽吃什么药好| 什么是圆房| 公顷是什么意思| k代表什么意思| 和珅是什么官| 吃紧急避孕药有什么副作用| 癫痫是什么病| eob是什么意思| 手脱臼有什么症状| 十二指肠溃疡吃什么中成药| 四大菩萨分别保佑什么| 澳门是什么时候被葡萄牙占领的| 吃东西就打嗝是什么原因| 喝葡萄汁有什么好处| 在野是什么意思| 桂花树施什么肥| 为什么咳嗽一直不好| 心电图逆钟向转位什么意思| 甲鱼是什么| 穿刺是什么意思| 坐落是什么意思| 四十年婚姻是什么婚| 为什么肚子上会长毛| 书中自有颜如玉是什么意思| 看静脉曲张挂什么科| 愚人是什么意思| 青金石蓝是什么颜色| 整夜做梦是什么原因| 血脂稠是什么原因造成的| 膝关节退行性变是什么意思| 吃饭肚子疼是什么原因| 双子座是什么时候| 血沉高是什么原因| 玉米是什么时候传入中国的| 脾胃不和吃什么中成药| 性疾病都有什么症状| 看正月初一是什么生肖| 嗜睡是什么病的前兆| 吃谷维素有什么副作用| 入职是什么意思| 粉刺是什么东西| 补肾吃什么东西效果最好| joola是什么牌子| 洋葱吃了有什么好处| 为什么贫血| 脾与什么相表里| 喉咙痛吃什么水果好得最快| 梦见打老婆是什么预兆| 鳗鱼是什么鱼| 男生下体痒是什么原因| 包饺子剩下的面团能做什么| 痞是什么意思| 十月十七是什么星座| 为什么腋下会长小肉揪| 豆腐干炒什么好吃| 剪刀手什么意思| 胃炎吃什么食物好养胃| 下巴长闭口是什么原因| 感冒嗓子疼吃什么消炎药| 二氧化硅是什么晶体| veromoda是什么牌子| 1989年属什么的| 女人脚浮肿是什么原因| 坏血病是什么| 心气虚吃什么食物补| 阴虱病是什么原因引起的| 大义是什么意思| 尿血是什么原因女性| 一身傲骨是什么意思| 女性朋友生日送什么礼物好| 海为什么是蓝色的| 半联动是什么意思| 为什么月经老是提前| 吃什么可以提高免疫力和抵抗力| 头皮软绵绵的什么原因| 什么的世界| 寒咳嗽吃什么药止咳效果好| 血糖高一日三餐吃什么东西最适合| 大人退烧吃什么药| 肺炎不能吃什么| 月令是什么意思| 农村什么赚钱| 生长痛是什么| 手指麻木吃什么药| 古惑仔是什么| 黑枸杞对男性性功能有什么帮助| 一元硬币是什么材质| 拉肚子吃什么菜| 於是什么意思| 为什么心慌| 308是什么意思| 三个火读什么字| 耳朵外面痒是什么原因| 高血糖吃什么降得快| 维c有什么功效和作用| 黑鱼是什么鱼| 地球为什么自转| 奔富红酒属于什么档次| 凝血五项是检查什么的| 黄精泡酒有什么功效| 蚂蚁上树什么姿势| 菡字五行属什么| 器质性是什么意思| 四月二十五是什么星座| 一进去就射是什么原因| 世界上什么东西最大| cua是什么意思| 腮腺炎不能吃什么东西| 百度Jump to content

公安部交管局:2015年上半年全国新增机动车7

From Wikipedia, the free encyclopedia
百度 孩子懂事地给邓妈妈写下保证书:“一定认真学习,自强不息,做一个品学兼优的优秀学生,将来好好孝敬爸爸和邓妈妈,好好回报社会。

Minimal BASIC is a dialect of the BASIC programming language developed as an international standard. The effort started at ANSI in January 1974, and was joined in September by a parallel group at ECMA. The first draft was released for comments in January 1976 and the final standard, known alternately as ANSI X3.60-1978 or ECMA-55, was published in December 1977. The US Bureau of Standards introduced the NBSIR 77-1420 test suite to ensure implementations met the definition.

By this time, Microsoft BASIC was beginning to take over the market after its introduction on early microcomputers in 1975, and especially after the introduction of the 1977 "trinity" - the Apple II, Commodore PET and TRS-80, all of which would cement MS-style BASICs as the de facto standard. ISO standardization of Minimal BASIC began as ISO 6373:1984 but was abandoned in 1998. An effort to produce a more powerful dialect, Full BASIC (also known as Standard BASIC), was not released until January 1987 and had little impact on the market.

History

[edit]

Previous developments

[edit]

Dartmouth BASIC was introduced in May 1964 at Dartmouth College as a cleaned up, interactive language inspired by FORTRAN.[1] The system brought together several concepts which were hot topics in the computer industry at the time, notably timesharing to allow multiple users to access a single machine, and direct interaction with the machine using computer terminals. General Electric, who supplied the GE-225 computer it ran on, marketed a slight variation to commercial users and saw immediate uptake.[2] A number of other companies soon introduced similar systems of their own, selling online time by the minute. By the end of the 1960s there was a version of BASIC for almost every mainframe platform and online service.[3][4]

In 1966, Hewlett-Packard (HP) introduced a new minicomputer, the HP 2100. Intended to be used in laboratories and factory settings, the company was surprised to find most were being sold for business processing.[5] Looking to take advantage of this, in November 1968 they introduced the HP 2000, a system using two HP 2100 CPUs which implemented timesharing to support up to 32 users. The system worked in a fashion similar to the Dartmouth model, using one machine to control input/output and another to run the programs. In contrast to the Dartmouth versions which were compilers, HP Time-Shared BASIC was an interpreter.[6]

Interpreters quickly became common on smaller machines and minicomputers. Other vendors quickly copied the HP dialect, notably Data General for their Nova series which were very successful in the early 1970s. Wang Laboratories also had some success with their dedicated BASIC machines, the Wang 2200 series. Each version had its own differences. One holdout was Digital Equipment Corporation (DEC), who had been involved with the JOSS program at the Stanford Research Institute (SRI) and introduced their FOCAL language based on it. By the early 1970s the success of BASIC forced DEC to introduce a BASIC of their own with its own set of modifications.[7]

Standards efforts

[edit]

The divergence of BASIC led to interest in producing a standard to try to bring them back together. The first meetings on such a possibility took place in January 1974 under the newly-formed ANSI working group X3J2. This led to a corresponding group being set up in September 1974 in Europe under the ECMA, TC 21. The two groups remained in close contact throughout the effort and released their respective standards at the same time. The first draft, was released by ANSI in January 1976. The final version was prepared in June 1977, and officially adopted by the ECMA on 14 December 1977.[8]

X3J2's first few years were spent (in hindsight, some might say 'wasted') on standardizing what amounts to the original 1964 Dartmouth Basic... Minimal Basic was more a toy than an actual language.

Arthur Luehrmann[9]

Minimal BASIC was essentially the original 1964 Dartmouth BASIC written as a formal standard using an Extended Backus–Naur form with an associated test suite to ensure implementation complied with the definition. It clarified formerly undefined concepts like whether GO TO and GOTO were the same thing, in this case stating that goto statement = GO space* TO line number, meaning GOTO, GO TO and even GO     TO were identical.[10] Where differences between implementations existed, like in the handling of the FOR statements or whether or not spaces were required between keywords and values, the standard always selected the Dartmouth pattern.[9]

It was always understood that Minimal BASIC was not really useful on its own as it lacked many common features like string manipulation. These more advanced features would be a focus of the follow-up effort, Full BASIC, which began serious work after the publication of Minimal. Full BASIC was not simply a version of Minimal with more features, instead, it was based on Dartmouth's Structured BASIC efforts and was designed to offer structured programming to support the construction of large programs. In contrast to Minimal, Standard BASIC was designed to significantly update BASIC.[11]

Irrelevance

[edit]

While the Minimal BASIC effort was taking place, the first widely available microcomputer was released, the Altair 8800. Shortly thereafter, Altair BASIC was released by Microsoft. Within the year, dozens of new micros were released and as many new versions of BASIC. By the time the Minimal standard was ratified, there were already tens of thousands of machines running some variation of the language. Which dialect any particular interpreter followed was generally based on the machines used to develop it; MS BASIC was developed on a PDP-10[12] and has many features from DEC's BASIC-PLUS, while Apple BASIC was written by Steve Wozniak based on an HP manual and uses HP's system of string handling.[13][a]

The first draft of the Minimal standard was released for comments in January 1976. Numerous comments were used to update the draft and its final release was prepared in June 1977 and formally ratified by the ECMA on 14 December 1977.[14] The US Bureau of Standards released the NBSIR 77-1420 test suite to allow vendors to test compliance with the standard.[15] As there were no microcomputer vendors in the standards groups, the system mostly found use on mainframe versions, which invariably had many extensions. One of the few microcomputer versions to implement the standard was Microsoft's BASIC-80 for the Zilog Z80, better known as MBASIC, which gained compliance with the standard in its 5.0 version.[16]

After the release of Minimal, the standards groups turned their attention to Full BASIC, but this dragged on for years. The effort proceeded so slowly that the Dartmouth participants left and released their own version of the still-emerging standard as True Basic in 1984. This was bug-ridden and confusing, leading Jerry Pournelle to deride it as "madness"[17] and John Dvorak to dismiss it as "sad" and "doomed to failure."[18] Plans to move Minimal BASIC to the International Organization for Standardization (ISO) were abandoned,[19] and the ANSI group broke up leaving the original standards inactive.[20]

Description

[edit]

Minimal BASIC is closely based on early versions of Dartmouth BASIC and follows its conventions. The standard mostly clarifies certain limitations in an effort to produce a standard that can run on almost any machine. The following description assumes a basic familiarity with common BASICs, and highlights the differences in Minimal.

Program code

[edit]

Like most BASIC implementations, Minimal is based on the underlying source code being edited using a line editor and thus every line of code in Minimal has to have a line number. The standard allows line numbers between 0 and 9999. In contrast to some interpreters, Minimal requires a space before every keyword, and a space or end-of-line after it.[21]

Keywords include REM, DIM, OPTION, DEF ,LET, PRINT, INPUT, READ, DATA, RESTORE, IF...THEN, FOR...TO...STEP...NEXT, GO TO, GO SUB...RETURN, ON...GO TO, RANDOMIZE, STOP and END.[22]

Programs are required to have an END as their last line.[23] INPUT may have an optional prompt string, but that is up to the implementation, not part of the standard.[24] RESTORE did not allow a line number, an option seen in most interpreters of the era. FOR...NEXT loops are top tested, and will not execute their body if the test fails on the first iteration.[25]

Variable names can consist of a single letter, or a letter and a single digit. Two-letter variable names are not allowed.[26] Numbers are limited to the range 10-38 to 1038.[21] String variables can have a maximum of 18 characters.[27] Arrays can be one or two dimensional using DIM, but only numeric arrays are supported. All variables are normally allocated space in an associated one-dimensional array without using DIM, they are given space for 11 items, indexes 0 to 10. The lower bound for arrays is typically 0, but using OPTION BASE 1 can change the index to 1.[28]

There are 11 defined functions; ABS, ATN, COS, EXP, INT, LOG, RND, SGN, SIN, SQR and TAN.[29] Operators include =, <=, >=, <>. Strings could only be compared for equals or not-equals, larger and smaller comparisons were not supported. Note that the logical operators, AND, OR and NOT, are not supplied.[10]

User-defined functions using DEF FN were supported, but only for numerics. No built-in or user functions for strings were available.[30]

Example

[edit]

This code implements the Sieve of Eratosthenes:[31]

1000 REM SIEVE OF ERATOSTHENES 
1010 REM MODIFIED FROM QUICK BASIC MATH PROJECT DEMO
1020 REM 
2010 REM L IS THE LIMIT OF THE SIEVE
2020 REM WE WILL FIND ALL PRIME NUMBERS UP TO L
2030 LET L = 1000
2040 REM N IS THE SIEVE ITSELF
2050 DIM N(1000)
2060 REM FILL THE SIEVE WITH ALL NUMBERS UP TO L
2070 FOR I = 1 TO L 
2080 LET N(I) = I
2090 NEXT I
2100 REM START WITH THE FIRST PRIME NUMBER: 2
2110 LET P = 2
2120 PRINT P,
2130 REM "CROSS OUT" MULTIPLES OF P
2140 FOR I = P TO L STEP P
2150 LET N(I) = 0
2160 NEXT I
2170 REM FIND THE NEXT NUMBER NOT CROSSED OUT
2180 LET P = P + 1
2190 IF P = L THEN 2220
2200 IF N(P) <> 0 THEN 2120
2210 GOTO 2180
2220 PRINT
2230 END

Notes

[edit]
  1. ^ Wozniak later lamented that the market abandoned HP's string handling and used DEC/MS style, which he derided as "abysmal".[13]

References

[edit]

Citations

[edit]
  1. ^ Kurtz 1981, p. 532.
  2. ^ Kurtz 1981, pp. 532, 534.
  3. ^ McCracken 2014.
  4. ^ "IBM VS the World: That's How It Is". Computerworld. 5 December 1973. Archived from the original on 28 January 2022. Retrieved 26 April 2022.
  5. ^ Leibson, Steve (2017). "HP: The Accidentally, On-Purpose Computer Company". HP9825.COM. Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  6. ^ "Hewlett-Packard 2100 Processor Description, 1972" (PDF). Archived (PDF) from the original on 2025-08-05. Retrieved 2025-08-05.
  7. ^ Savetz, Kevin (April 2013). "Dave Ahl and Betsy Ah" (Interview). Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  8. ^ ECMA 1978, p. iii.
  9. ^ a b Luehrmann 1984, p. 173.
  10. ^ a b ECMA 1978, p. 15.
  11. ^ Luehrmann 1984, p. 171.
  12. ^ Fridson 1999, p. 116.
  13. ^ a b Wozniak 2014.
  14. ^ ECMA 1978, p. i.
  15. ^ Gilsinn & Sheppard 1978.
  16. ^ BASIC-80 Reference Manual. Microsoft. 1981. Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  17. ^ Pournelle 1985, p. 366.
  18. ^ Dvorak 1984, p. 88.
  19. ^ "ISO 6373:1984". Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  20. ^ "ECMA-55 Minimal BASIC". ECMA International. Archived from the original on 2025-08-05. Retrieved 2025-08-05.
  21. ^ a b ECMA 1978, p. 6.
  22. ^ ECMA 1978.
  23. ^ ECMA 1978, p. 5.
  24. ^ ECMA 1978, p. 22.
  25. ^ ECMA 1978, p. 17.
  26. ^ ECMA 1978, p. 8.
  27. ^ ECMA 1978, p. 9.
  28. ^ ECMA 1978, p. 25.
  29. ^ ECMA 1978, p. 11.
  30. ^ ECMA 1978, p. 13.
  31. ^ Ham, John Gatewood (May 15, 2015). "ERATOSTHENESE.BAS". Sourceforge. Archived from the original on 2025-08-05. Retrieved 2025-08-05.

Bibliography

[edit]

Further reading

[edit]
[edit]

Currently Maintained Open Source Implementations

[edit]
金刚菩提是什么植物的种子 喉咙嘶哑吃什么药 吊唁是什么意思 伽利略是什么学家 张艺谋为什么不娶巩俐
为情所困是什么意思 以马内利是什么意思 hoegaarden是什么啤酒 漂洗和洗涤有什么区别 com代表什么意思
pcr是什么意思 牙龈出血缺什么维生素 偏光是什么意思 减震器坏了有什么症状 阴道吹气是什么原因
七一是什么节 头发掉要用什么洗发水 余情未了什么意思 阴道瘙痒吃什么药 4月22日是什么星座
州和洲有什么区别hcv7jop4ns8r.cn 阴唇为什么一个大一个小hcv9jop8ns3r.cn 农历七月是什么月份hcv8jop0ns6r.cn 阴道发臭是什么原因fenrenren.com 辣皮子是什么hcv9jop3ns3r.cn
1990属马佩戴什么最佳hcv8jop4ns6r.cn 文采是什么意思hcv9jop4ns8r.cn 五体投地是什么意思hcv8jop5ns7r.cn 胎菊和金银花一起泡水有什么效果hcv7jop9ns6r.cn 7月31日是什么星座hcv8jop8ns7r.cn
肠胃挂什么科huizhijixie.com 嘴角疱疹用什么药膏hcv9jop0ns6r.cn 什么是负数hcv8jop2ns7r.cn 猴子下山的故事告诉我们什么hcv7jop7ns2r.cn 怀孕吃什么水果好helloaicloud.com
白粥配什么菜好吃hcv9jop7ns1r.cn 布洛芬治什么hcv8jop6ns4r.cn 一路向北是什么意思hcv8jop3ns9r.cn 急性结肠炎什么症状hcv8jop7ns0r.cn diy是什么hcv8jop1ns3r.cn
百度