User Tools

Site Tools


t-ng-m-wikipedia

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

t-ng-m-wikipedia [2018/11/17 09:54] (current)
Line 1: Line 1:
 +<​HTML>​ <​br><​div id="​mw-content-text"​ lang="​en"​ dir="​ltr"><​div class="​mw-parser-output"><​div role="​note"​ class="​hatnote navigation-not-searchable">​ Đối với ngôn ngữ lắp ráp được sử dụng với loạt IBM 1400, xem Autocoder. </​div>​
 +<​p><​b>​ Autocode </b> là tên của họ &​quot;​hệ thống mã hóa đơn giản&​quot;,​ sau này được gọi là ngôn ngữ lập trình, được phát minh vào những năm 1950 và 1960 hàng loạt các máy tính kỹ thuật số tại các trường đại học Manchester, Cambridge và London. Autocode là một thuật ngữ chung; các autocodes cho các máy khác nhau không nhất thiết phải liên quan chặt chẽ như là, ví dụ, các phiên bản khác nhau của ngôn ngữ đơn FORTRAN.
 +</​p><​p>​ Ngày nay, thuật ngữ này được sử dụng để chỉ gia đình của các ngôn ngữ đầu tiên có nguồn gốc từ các hệ thống tự động mã hóa Manchester Mark 1, nói chung là tương tự. Trong những năm 1960, thuật ngữ <b> autocoders <b> được sử dụng rộng rãi hơn để chỉ đến bất kỳ ngôn ngữ lập trình bậc cao nào sử dụng trình biên dịch. <sup id="​cite_ref-kleith_1-0"​ class="​reference">​[1]</​sup> ​
 + Ví dụ về các ngôn ngữ được gọi là autocodes là COBOL và Fortran <sup id="​cite_ref-kleith2_2-0"​ class="​reference">​[2]</​sup></​p>​
  
 +
 +<​h2><​span id="​Glennie.27s_Autocode"/><​span class="​mw-headline"​ id="​Glennie'​s_Autocode">​ Glennie Autocode </​span><​span class="​mw-editsection"><​span class="​mw-editsection-bracket">​ [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<p> Autocode đầu tiên và trình biên dịch của nó được phát triển bởi Alick Glennie vào năm 1952 cho máy tính Mark 1 tại Đại học Manchester và được coi là một chương trình biên dịch đầu tiên ngôn ngữ. Mục tiêu chính của ông là tăng tính toàn diện trong lập trình của máy Mark 1, được biết đến với mã máy đặc biệt khó hiểu của họ. Mặc dù ngôn ngữ kết quả rõ ràng hơn nhiều so với mã máy, nhưng nó vẫn còn rất phụ thuộc vào máy. <sup id="​cite_ref-3"​ class="​reference">​ [3] </​sup>​ </​p><​p>​ Dưới đây là ví dụ về hàm Autocode của Glennie để tính công thức: <span class="​mwe-math-element"><​span class="​mwe-math-mathml-inline mwe-math-mathml-a11y"​ style="​display:​ none;"><​math xmlns="​http://​www.w3.org/​1998/​Math/​MathML"​ alttext="​{displaystyle f(t)={sqrt {|t|}}+5t^{3}}"><​semantics><​mrow class="​MJX-TeXAtom-ORD"><​mstyle displaystyle="​true"​ scriptlevel="​0"><​mi>​ f [19659010] (</​mo><​mi>​ t </​mi><​mo stretchy="​false">​) </​mo><​mo>​ = </​mo><​mrow class="​MJX-TeXAtom-ORD"><​msqrt><​mrow class="​MJX-TeXAtom-ORD"><​mo stretchy="​false">​ | </​mo></​mrow><​mi>​ t </​mi><​mrow class="​MJX-TeXAtom-ORD"><​mo stretchy="​false">​ | </​mo></​mrow></​msqrt></​mrow><​mo>​ + </​mo><​mn>​ 5 </​mn><​msup><​mi>​ t </​mi><​mrow class="​MJX-TeXAtom-ORD"><​mn>​ 3 </​mn></​mrow></​msup></​mstyle></​mrow><​annotation encoding="​application/​x-tex">​ { displaystyle f ( t) = { sqrt {| t |}} + 5t ^ {3}} </​annotation></​semantics></​math></​span><​img src="​https://​wikimedia.org/​api/​rest_v1/​media/​math/​render/​svg/​1728f3c549413e39ffdb1cf55e47490b1136bde1"​ class="​mwe-math-fallback-image-inline"​ aria-hidden="​true"​ style="​vertical-align:​ -1.838ex; width:​17.38ex;​ height:​4.843ex;"​ alt=" f (t) = { sqrt {| t |}} + 5t ^ {3} "/></​span>​. Ví dụ này bỏ qua các lệnh mở rộng cần thiết để đặt các số nguyên vào các biến và giả định rằng các kết quả của phép nhân khớp với bộ tích lũy thấp hơn.
 +</p>
 +<pre> c @ VA t @ IC x @ ½C y @ RC z @ NC
 +INTEGERS +5 → c # Đặt 5 thành c
 +      → t # Tải đối số từ bộ tích lũy thấp đến biến t
 +   + T TESTA Z # Đặt | t | vào bộ tích lũy thấp hơn
 +   -t
 +          ENTRY Z
 +SUBROUTINE 6 → z # Chạy chương trình con gốc trên bộ đếm thấp hơn
 +                         #​ giá trị và đặt kết quả vào z
 +  + tt → y → x # Tính t ^ 3 và đặt nó vào x
 +  + tx → y → x
 ++ z + cx CLOSE WRITE 1 # Đặt z + (c * x) vào bộ tích lũy thấp hơn và trả về
 +</​pre>​
 +<p> Hướng dẫn sử dụng trình biên dịch Autocode của Glennie nói rằng &​quot;​mất hiệu quả không quá 10%&​quot;​. <sup id="​cite_ref-4"​ class="​reference">​ [4] </​sup>​ </​p><​p>​ Tác động của Autocode của Glennie đối với thói quen lập trình của người dùng Manchester là không đáng kể. Nó thậm chí không được đề cập trong bài báo năm 1958 của Brooker được gọi là &​quot;​Chương trình Autocode được phát triển cho máy tính của Đại học Manchester&​quot;​.
 +</p>
 +<​h2><​span class="​mw-headline"​ id="​Mark_1_Autocode">​ Đánh dấu 1 Autocode </​span><​span class="​mw-editsection"><​span class="​mw-editsection-bracket">​ [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<p> Autocode thứ hai cho Mark 1 đã được lên kế hoạch vào năm 1954 và được phát triển bởi R. A. Brooker năm 1955 và được gọi là &​quot;​Mark 1 Autocode&​quot;​. Ngôn ngữ gần như không có máy và có số học dấu phẩy động, không giống như số đầu tiên. Mặt khác, nó chỉ cho phép một hoạt động trên mỗi dòng, cung cấp một vài tên ghi nhớ và không có cách nào để định nghĩa các chương trình con người dùng. <sup id="​cite_ref-5"​ class="​reference">​ [5] </​sup>​ </​p><​p>​ Một mã ví dụ tải mảng 11 kích thước của dấu phẩy động số từ đầu vào sẽ trông như thế này
 +</p>
 +<pre> 1 n1 = 1
 +     vn1 = Tôi đọc đầu vào v [n[1]]
 +      n1 = n1 + 1
 +   j1,11 ≥ n1 nhảy tới 1 nếu n [1] ≤ 11
 +</​pre>​
 +<p> Autocode của Brooker đã loại bỏ hai khó khăn chính của lập trình viên Mark 1: mở rộng quy mô và quản lý lưu trữ hai cấp. <sup id="​cite_ref-6"​ class="​reference">​[6]</​sup></​p>​
 +<​h2><​span class="​mw-headline"​ id="​Later_Autocodes">​ Sau đó Autocodes [194599006] [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<p> Brooker cũng phát triển một autocode cho Ferranti Mercury trong những năm 1950 kết hợp với Đại học Manchester.
 +<i> Mercury Autocode </i> có một tiết mục giới hạn các biến a-z và a&#​39;​-z &#​39;​và,​ theo một số cách tương tự như phiên bản đầu của ngôn ngữ BASIC sau này. Nó được đặt trước ALGOL, không có khái niệm ngăn xếp và do đó không có các đệ quy hoặc mảng được cấp động. Để khắc phục kích thước cửa hàng tương đối nhỏ có sẵn trên Mercury, các chương trình lớn được viết thành &​quot;​các chương&​quot;​ riêng biệt, mỗi phần tạo thành một lớp phủ. Một số kỹ năng đã được yêu cầu để giảm thiểu chuyển giao tốn nhiều thời gian kiểm soát giữa các chương. Khái niệm về các lớp phủ từ trống dưới sự kiểm soát của người dùng trở nên phổ biến cho đến khi bộ nhớ ảo có sẵn trong các máy sau này. Một số phương ngữ khác nhau của Autocode Mercury được triển khai cho Ferranti Atlas (khác với Atlas Autocode sau) và phạm vi ICT 1300 và 1900.
 +</​p><​p>​ Phiên bản dành cho EDSAC 2 được phát minh bởi David Hartley thuộc Phòng thí nghiệm toán học Đại học Cambridge năm 1961. Được biết đến với tên gọi EDSAC 2 Autocode, nó là một sự phát triển thẳng từ Mercury Autocode phù hợp với hoàn cảnh địa phương. và các chẩn đoán ngôn ngữ nguồn được nâng cao trong thời gian đó. Một phiên bản được phát triển cho Titan kế thừa (máy tính Atlas 2 nguyên mẫu) như một khoảng dừng tạm thời trong khi một ngôn ngữ nâng cao hơn đáng kể được gọi là CPL đang được phát triển. CPL chưa bao giờ hoàn thành nhưng đã làm phát sinh BCPL (được phát triển bởi M. Richards), dẫn đến B và cuối cùng là C. Một luồng phát triển hiện đại nhưng riêng biệt, Atlas Autocode được phát triển cho máy Đại học Manchester Atlas 1.
 +</p>
 +<​h2><​span class="​mw-headline"​ id="​References">​ Tài liệu tham khảo </​span><​span class="​mw-editsection"><​span class="​mw-editsection-bracket">​ [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<div class="​reflist"​ style="​list-style-type:​ decimal;">​
 +<div class="​mw-references-wrap"><​ol class="​references"><​li id="​cite_note-kleith-1"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text"><​cite class="​citation book">​ Luân Đôn, Keith (1968). &​quot;​4,​ Lập trình&​quot;​. <i> Giới thiệu về Máy tính </i> (phiên bản thứ nhất). 24 Russell Square London WC1: Faber và Faber Limited. p. 184. ISBN 0571085938. <q> Các ngôn ngữ lập trình cấp cao &#​39;​thường được gọi là các autocodes và chương trình xử lý, một trình biên dịch. </​q></​cite><​span title="​ctx_ver=Z39.88-2004&​rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&​rft.genre=bookitem&​rft.atitle=4%2C+Programming&​rft.btitle=Introduction+to+Computers&​rft.place=24+Russell+Square+London+WC1&​rft.pages=184&​rft.edition=1st&​rft.pub=Faber+and+Faber+Limited&​rft.date=1968&​rft.isbn=0571085938&​rft.aulast=London&​rft.aufirst=Keith&​rfr_id=info%3Asid%2Fen.wikipedia.org%3AAutocode"​ class="​Z3988"/></​span>​
 +</li>
 +<li id="​cite_note-kleith2-2"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text"><​cite class="​citation book">​ London, Keith (1968). &​quot;​4,​ Lập trình&​quot;​. <i> Giới thiệu về Máy tính </i> (phiên bản thứ nhất). 24 Russell Square London WC1: Faber và Faber Limited. p. 186. ISBN 0571085938. <q> Hai ngôn ngữ lập trình bậc cao có thể được sử dụng ở đây làm ví dụ minh họa cấu trúc và mục đích của autocodes là COBOL (Ngôn ngữ định hướng kinh doanh chung) và FORTRAN (Dạng dịch). </​q></​cite><​span title="​ctx_ver=Z39.88-2004&​rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&​rft.genre=bookitem&​rft.atitle=4%2C+Programming&​rft.btitle=Introduction+to+Computers&​rft.place=24+Russell+Square+London+WC1&​rft.pages=186&​rft.edition=1st&​rft.pub=Faber+and+Faber+Limited&​rft.date=1968&​rft.isbn=0571085938&​rft.aulast=London&​rft.aufirst=Keith&​rfr_id=info%3Asid%2Fen.wikipedia.org%3AAutocode"​ class="​Z3988"/><​link rel="​mw-deduplicated-inline-style"​ href="​mw-data:​TemplateStyles:​r861714446"/></​span>​
 +</li>
 +<li id="​cite_note-3"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text">​ Knuth, trang. 42-43 </​span>​
 +</li>
 +<li id="​cite_note-4"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text">​ Knuth, trang. 48 </​span>​
 +</li>
 +<li id="​cite_note-5"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text">​ Knuth, trang. 63-64 </​span>​
 +</li>
 +<li id="​cite_note-6"><​span class="​mw-cite-backlink"><​b>​ ^ </​b></​span>​ <span class="​reference-text">​ Knuth, tr. 65 </​span>​
 +</li>
 +</​ol></​div></​div>​
 +<​h2><​span class="​mw-headline"​ id="​Sources">​ Nguồn </​span><​span class="​mw-editsection"><​span class="​mw-editsection-bracket">​ [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<​ul><​li><​cite class="​citation journal">​ Campbell-Kelly,​ Martin (1980). &​quot;​Lập trình Mark 1: Hoạt động lập trình sớm tại Đại học Manchester&​quot;​. <i> Biên niên sử của lịch sử máy tính </i>. IEEE. <b> 2 </b> (2): 130–167. doi: 10.1109 / MAHC.1980.10018 </​cite><​span title="​ctx_ver=Z39.88-2004&​rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&​rft.genre=article&​rft.jtitle=Annals+of+the+History+of+Computing&​rft.atitle=Programming+the+Mark+1%3A+Early+Programming+Activity+at+the+University+of+Manchester&​rft.volume=2&​rft.issue=2&​rft.pages=130-167&​rft.date=1980&​rft_id=info%3Adoi%2F10.1109%2FMAHC.1980.10018&​rft.aulast=Campbell-Kelly&​rft.aufirst=Martin&​rfr_id=info%3Asid%2Fen.wikipedia.org%3AAutocode"​ class="​Z3988"/><​link rel="​mw-deduplicated-inline-style"​ href="​mw-data:​TemplateStyles:​r861714446"/></​li>​
 +<​li><​cite class="​citation book">​ Garcia Camarero, Ernesto (1961). <i> AUTOCODE un sistema simplificado de codificacion para la computadora MERCURY </i> (bằng tiếng Tây Ban Nha). Universidad de Buenos Aires. p. 70. </​cite><​span title="​ctx_ver=Z39.88-2004&​rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&​rft.genre=book&​rft.btitle=AUTOCODE+un+sistema+simplificado+de+codificacion+para+la+computadora+MERCURY&​rft.pages=70&​rft.pub=Universidad+de+Buenos+Aires&​rft.date=1961&​rft.aulast=Garcia+Camarero&​rft.aufirst=Ernesto&​rft_id=http%3A%2F%2Felgranerocomun.net%2FAUTOCODE-un-sistema-simplificado.html&​rfr_id=info%3Asid%2Fen.wikipedia.org%3AAutocode"​ class="​Z3988"/><​link rel="​mw-deduplicated-inline-style"​ href="​mw-data:​TemplateStyles:​r861714446"/></​li>​
 +<​li><​cite class="​citation book">​ Luân Đôn, Keith (1968). <i> Giới thiệu về Máy tính </i>. p. 261. </​cite><​span title="​ctx_ver=Z39.88-2004&​rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&​rft.genre=book&​rft.btitle=Introduction+to+Computers&​rft.pages=261&​rft.date=1968&​rft.aulast=London&​rft.aufirst=Keith&​rfr_id=info%3Asid%2Fen.wikipedia.org%3AAutocode"​ class="​Z3988"/><​link rel="​mw-deduplicated-inline-style"​ href="​mw-data:​TemplateStyles:​r861714446"/></​li>​
 +<li> Knuth, Donald E .; Pardo, Luis Trabb (1976). &​quot;​Phát triển sớm các ngôn ngữ lập trình&​quot;​. Đại học Stanford, Khoa Khoa học Máy tính. </​li></​ul><​h2><​span class="​mw-headline"​ id="​External_links">​ Liên kết ngoài </​span><​span class="​mw-editsection"><​span class="​mw-editsection-bracket">​ [</​span>​ chỉnh sửa <span class="​mw-editsection-bracket">​] </​span></​span></​h2>​
 +<​!-- ​
 +NewPP limit report
 +Parsed by mw1258
 +Cached time: 20181112214135
 +Cache expiry: 1900800
 +Dynamic content: false
 +CPU time usage: 0.172 seconds
 +Real time usage: 0.228 seconds
 +Preprocessor visited node count: 452/1000000
 +Preprocessor generated node count: 0/1500000
 +Post‐expand include size: 13924/​2097152 bytes
 +Template argument size: 72/2097152 bytes
 +Highest expansion depth: 7/40
 +Expensive parser function count: 2/500
 +Unstrip recursion depth: 1/20
 +Unstrip post‐expand size: 15885/​5000000 bytes
 +Number of Wikibase entities loaded: 2/400
 +Lua time usage: 0.112/​10.000 seconds
 +Lua memory usage: 3.44 MB/50 MB
 +--><​!--
 +Transclusion expansion time report (%,​ms,​calls,​template)
 +100.00% ​ 177.194 ​     1 -total
 + ​48.85% ​  ​86.558 ​     1 Template:​Reflist
 + ​45.72% ​  ​81.008 ​     4 Template:​Cite_book
 + ​29.45% ​  ​52.189 ​     4 Template:​Cite_journal
 + ​13.43% ​  ​23.796 ​     1 Template:​For
 +  1.80%    3.190      1 Template:​Main_other
 +--><​!-- Saved in parser cache with key enwiki:​pcache:​idhash:​1619142-0!canonical!math=5 and timestamp 20181112214135 and revision id 845838305
 + ​--></​div><​noscript><​img src="​http://​en.wikipedia.org/​wiki/​Special:​CentralAutoLogin/​start?​type=1x1"​ alt=""​ title=""​ width="​1"​ height="​1"​ style="​border:​ none; position: absolute;"/></​noscript></​div></​pre>​
 +<br>
 + </​HTML> ​
t-ng-m-wikipedia.txt · Last modified: 2018/11/17 09:54 (external edit)