chương trình máy tính là gì

Bách khoa toàn thư ngỏ Wikipedia

Chương trình PC "Xin xin chào, thế giới" của Brian Kernighan (1978)

Chương trình máy tính là tụ hội những câu mệnh lệnh [1] tiến hành một tác vụ rõ ràng khi được PC thực thi đua. Hầu không còn những khí giới PC đòi hỏi những lịch trình nhằm sinh hoạt trúng.

Bạn đang xem: chương trình máy tính là gì

Một lịch trình PC thông thường được ghi chép vày một lập trình sẵn viên PC vày ngôn từ lập trình sẵn. Từ lịch trình vô dạng mã mối cung cấp nhưng mà thế giới rất có thể phát âm được, một trình biên dịch hoặc lắp đặt ráp rất có thể tạo nên trở thành kiểu dáng mã máy bao hàm những chỉ dẫn nhưng mà PC rất có thể thẳng tiến hành. Bên cạnh đó, một lịch trình PC rất có thể được thực thi đua với việc trợ chung của trình thông dịch.

Một bộ thu thập những lịch trình PC, tủ sách và tài liệu tương quan được gọi là ứng dụng. Các lịch trình PC rất có thể được phân loại theo gót những loại tính năng, ví dụ như ứng dụng phần mềm và ứng dụng khối hệ thống. Phương pháp cơ phiên bản được dùng mang đến một số trong những đo lường và tính toán hoặc thao tác được gọi là thuật toán.

Lịch sử[sửa | sửa mã nguồn]

Máy lập trình sẵn ban đầu[sửa | sửa mã nguồn]

Các máy lập trình sẵn sớm nhất có thể chuồn trước sáng tạo đi ra PC chuyên môn số. Ngay kể từ thế kỷ loại 9, một trình trị nhạc rất có thể lập trình sẵn được sáng tạo vày bạn bè người Ba Tư Musu, người vẫn tế bào mô tả một người thổi sáo cơ khí tự động hóa vô Sách khí giới khéo léo.[2] Năm 1206, kỹ sư người Ả Rập Al-Jazari vẫn sáng tạo đi ra một cái máy tiến công trống không rất có thể lập trình sẵn vô cơ máy tự động hóa tạo nên âm thanh cơ học tập nhằm nghịch ngợm những nhịp độ và kiểu nhịp trống không không giống nhau.[3] Năm 1801, Joseph-Marie Jacquard vẫn nghĩ về đi ra một khuông tết rất có thể tết một kiểu vải vóc bằng phương pháp tuân theo hàng loạt những thẻ xâu lỗ nhỏ. Các kiểu rất có thể được tết và lặp chuồn tái diễn bằng phương pháp bố trí những thẻ.[4]

Công cụ phân tích[sửa | sửa mã nguồn]

Sơ trang bị của Lovelace kể từ Note G, thuật toán PC được xuất phiên bản đầu tiên

Năm 1837, Charles Babbage đang được truyền hứng thú kể từ máy tết của Jacquard nhằm nỗ lực thi công Công cụ phân tách.[4] Tên của những bộ phận của khí giới đo lường và tính toán được mượn kể từ ngành tết may. Trong ngành tết, sợi được đem kể từ siêu thị nhằm xay. Thiết bị này sẽ sở hữu được một "cửa hàng" - bộ lưu trữ chứa chấp 1.000 số đem 40 chữ số thập phân từng số. Các số kể từ "cửa hàng" tiếp sau đó sẽ tiến hành fake thanh lịch "máy nghiền" (tương tự động CPU của sản phẩm hiện nay đại) nhằm xử lý. Và một "luồng" vào vai trò tiến hành những chỉ dẫn được lập trình sẵn của khí giới. Nó được lập trình sẵn bằng phương pháp dùng nhì cỗ thẻ xâu lỗ nhỏ - một cỗ thẻ nhằm chỉ huy thao tác và cỗ cơ cho những biến hóa nguồn vào.[4][5] Tuy nhiên, sau thời điểm tiêu xài không còn rộng lớn 17.000 bảng chi phí tài trợ của cơ quan chính phủ Anh, hàng nghìn bánh xe cộ và bánh răng của sản phẩm bị kẹt và những mô tơ ko lúc nào sinh hoạt trọn vẹn tuy nhiên song bên nhau.[6]

Trong khoảng chừng thời hạn chín mon vô năm 1842-43, Ada Lovelace vẫn dịch cuốn hồi ký của phòng toán học tập người Ý Luigi Menabrea. Cuốn hồi ký bao quấn Công cụ phân tách. Bản dịch chứa chấp Note G, cụ thể trọn vẹn một cách thức đo lường và tính toán số Bernoulli vày Công cụ phân tách. Ghi chú này được một số trong những mái ấm sử học tập thừa nhận là lịch trình PC được ghi chép trước tiên bên trên trái đất.[7]

Máy Turing phổ dụng[sửa | sửa mã nguồn]

Năm 1936, Alan Turing vẫn trình làng khí giới lý thuyết Universal Turing machine cũng có thể quy mô hóa từng đo lường và tính toán rất có thể được tiến hành bên trên một PC hoàn hảo Turing.[8] Đây là 1 trong máy tình trạng hữu hạn đem băng phát âm / ghi nhiều năm vô hạn. Máy rất có thể dịch chuyển thông qua lại, thay cho thay đổi nội dung của chính nó khi tiến hành thuật toán. Máy phát động ở tình trạng lúc đầu, trải qua loa một chuỗi công việc và tạm dừng khi bắt gặp tình trạng giới hạn.[9] Máy này được một số trong những người xem là xuất xứ của lịch trình PC được tàng trữ vày John von Neumann (1946) mang đến "Công cụ năng lượng điện toán năng lượng điện tử" hiện nay có tên phong cách xây dựng von Neumann.[10]

Máy tính lập trình sẵn ban đầu[sửa | sửa mã nguồn]

Máy tính Z3, được sáng tạo vày Konrad Zuse (1941) ở Đức, là 1 trong PC chuyên môn số và rất có thể lập trình sẵn.[11] Một PC chuyên môn số dùng năng lượng điện thực hiện bộ phận đo lường và tính toán. Z3 chứa chấp 2.400 rơle sẽ tạo mạch. Các mạch cung ứng một PC nhị phân, vệt phẩy động, với chín mệnh lệnh. Lập trình Z3 trải qua 1 bàn phím được design đặc trưng và băng xâu lỗ nhỏ.

ENIAC - Máy tính và tích ăn ý số năng lượng điện tử (mùa thu 1945) là 1 trong PC hoàn hảo, nhiều chức năng, Turing vừa đủ, dùng 17.468 ống quyển ko sẽ tạo đi ra những mạch. Tại lõi của chính nó là 1 trong loạt những Pascaline được nối cùng nhau.[12] 40 phần tử của chính nó nặng nề 30T, cướp 1.800 foot vuông (167 m2), và dung nạp $650 từng giờ (giá trị chi phí năm 1940) lúc không dùng.[12] Nó đem trăng tròn máy nằm trong số hạ tầng 10. Lập trình mang đến ENIAC mất mặt cho tới nhì mon.[12] Ba bảng tính năng được bịa bên trên những bánh xe cộ và rất cần được cuộn vô những bảng tính năng thắt chặt và cố định. Các bảng tính năng được liên kết với những bảng tính năng bằng phương pháp dùng cáp đen ngòm nặng nề. Mỗi bảng tính năng đem 728 núm xoay. Lập trình ENIAC cũng tương quan cho tới việc thiết lập một số trong những vô số 3.000 khí giới fake mạch. Sửa lỗi một lịch trình mất mặt một tuần.[12] Các lập trình sẵn viên của ENIAC là những người dân phụ phái đẹp được gọi cộng đồng là "những cô nàng ENIAC".[13] ENIAC đem những sinh hoạt tuy nhiên tuy nhiên. Các cỗ thu thập không giống nhau rất có thể bên cạnh đó sinh hoạt bên trên những thuật toán không giống nhau. Nó vẫn dùng máy xâu lỗ nhỏ mang đến nguồn vào và Output, và nó được tinh chỉnh vày tín hiệu đồng hồ thời trang. Nó vẫn sinh hoạt được 8 năm, đo lường và tính toán những thông số kỹ thuật mang đến bom hydro, Dự kiến những loại không khí và phát triển những bàn phun nhằm nom súng cao xạ.

Manchester Baby (tháng 6 năm 1948) là 1 trong PC được tàng trữ lịch trình.[14] Lập trình vẫn đem thay cho thay đổi kể từ cáp dịch chuyển và tảo số; thay cho vô cơ, một lịch trình PC được tàng trữ vô bộ lưu trữ bên dưới dạng số. Chỉ đem tía bit bộ lưu trữ có trước nhằm tàng trữ từng mệnh lệnh, bởi vậy máy bị số lượng giới hạn với tám mệnh lệnh. 32 khí giới fake mạch vẫn có trước nhằm sử dụng vô việc lập trình sẵn.

Máy tính sau này[sửa | sửa mã nguồn]

Chuyển mạch mang đến tài liệu nhập tay chân bên trên Data General Nova 3, được phát triển vô trong những năm 1970

Các PC được phát triển cho tới trong năm 1970 đem những công tắc nguồn phần bên trước nhằm lập trình sẵn. Chương trình PC được ghi chép trong giấy tờ nhằm tìm hiểu thêm. Một chỉ dẫn được thể hiện nay vày một thông số kỹ thuật setup nhảy / tắt. Sau khi thiết lập thông số kỹ thuật, một nút thực thi đua sẽ tiến hành nhấn. Quá trình này tiếp sau đó đang được tái diễn. Các lịch trình PC cũng rất được nhập tay chân trải qua băng giấy má hoặc thẻ xâu lỗ nhỏ. Sau khi phương tiện đi lại được chuyên chở, địa điểm chính thức được bịa qua loa những công tắc nguồn và nhấn nút thực thi đua.[15]

Vào năm 1961, Burroughs B5000 được sản xuất riêng biệt và để được lập trình sẵn vày ngôn từ ALGOL 60. Các mạch Hartware đặc thù nhằm quy trình tiến độ biên dịch được dễ dàng rộng lớn.[16]

Xem thêm: soạn phục hồi tầng ozone

Năm 1964, IBM System/360 là 1 trong loại bao gồm sáu PC, từng PC đem nằm trong phong cách xây dựng tập luyện mệnh lệnh. Model 30 là nhỏ nhất và không nhiều tốn tầm thường nhất. Khách mặt hàng rất có thể tăng cấp và tích lại ứng dụng phần mềm tương tự động.[17] Mỗi quy mô Hệ thống / 360 đem tác dụng nhiều lịch trình. Với sự tương hỗ của hệ điều hành và quản lý, nhiều lịch trình rất có thể trực thuộc bộ lưu trữ và một khi. Khi một lịch trình đang được đợi đầu vào/đầu đi ra, lịch trình không giống rất có thể đo lường và tính toán. Mỗi quy mô cũng rất có thể tế bào phỏng những PC không giống. Khách mặt hàng rất có thể tăng cấp lên System/360 và tích lại ứng dụng phần mềm IBM 7094 hoặc IBM 1401 của mình.

Lập trình máy tính[sửa | sửa mã nguồn]

Lập trình PC là quy trình ghi chép hoặc sửa đổi mã mối cung cấp. Chỉnh sửa mã mối cung cấp bao hàm đánh giá, phân tách, tinh ma chỉnh và thỉnh thoảng phối phù hợp với những lập trình sẵn viên không giống vô một lịch trình được cải cách và phát triển cộng đồng. Một người thực hành thực tế khả năng này được gọi là lập trình sẵn viên PC, mái ấm cải cách và phát triển ứng dụng và thỉnh thoảng là lập trình sẵn viên.

Quá trình thỉnh thoảng kéo dãn dài của lập trình sẵn PC thông thường được gọi là cải cách và phát triển ứng dụng. Thuật ngữ technology ứng dụng đang được trở thành phổ cập vì như thế tiến độ này được xem là một thường xuyên ngành chuyên môn.

Ngôn ngữ lập trình[sửa | sửa mã nguồn]

Một lịch trình PC được ghi chép theo gót phong thái lập trình sẵn câu lệnh

Các lịch trình PC rất có thể được phân loại theo gót quy mô ngôn từ lập trình sẵn được dùng nhằm phát triển bọn chúng. Hai vô số những quy mô đó là khẩu lệnh và khai báo.

Ngôn ngữ mệnh lệnh[sửa | sửa mã nguồn]

Các ngôn từ lập trình sẵn mệnh lệnh xác lập một thuật toán tuần tự động bằng phương pháp dùng những khai báo, biểu thức và câu lệnh:[18]

  • Một khai báo kết hợp một thương hiệu biến hóa với 1 loại tài liệu - ví dụ: var x: integer;
  • Một biểu thức tạo nên một độ quý hiếm - ví dụ: 2 + 2 tạo nên 4
  • Một câu lệnh rất có thể gán một biểu thức cho 1 biến hóa hoặc dùng độ quý hiếm của một biến hóa để thay thế thay đổi luồng tinh chỉnh của lịch trình - ví dụ: x:= 2 + 2; if x = 4 then do_something();

Một chỉ trích về ngôn từ khẩu lệnh là ứng dụng phụ của câu mệnh lệnh gán bên trên một tấm biến hóa được gọi là biến hóa ko toàn thể.[19]

Ngôn ngữ khai báo[sửa | sửa mã nguồn]

Các ngôn từ lập trình sẵn khai báo tế bào mô tả những gì đo lường và tính toán nên được tiến hành và ko tế bào mô tả phương thức làm thế nào nhằm đo lường và tính toán nó. Các lịch trình khai báo bỏ dở luồng tinh chỉnh và được xem là tập hợp những mệnh lệnh. Hai loại ngôn từ khai báo rộng lớn là ngôn từ tính năng và ngôn từ logic. Nguyên tắc ở phía đằng sau những ngôn từ tính năng (như Haskell) là ko được cho phép những cảm giác bên mép, điều này chung đơn giản lý luận về những lịch trình như các hàm toán học tập.[19] Nguyên tắc ở phía đằng sau những ngôn từ logic (như Prolog) là xác lập yếu tố cần thiết xử lý   - mục tiêu   - và nhằm lại biện pháp cụ thể mang đến chủ yếu khối hệ thống Prolog.[20] Mục tiêu xài được xác lập bằng phương pháp cung ứng một list những điểm phụ. Sau cơ, từng subgoal được xác lập vày nối tiếp cung ứng một list những subgoals của chính nó, vv Nếu một con phố subgoals thất bại trong các công việc mò mẫm đi ra biện pháp, tiếp sau đó subgoal được tảo lùi và đường đi không giống được test ngỏ đi ra một cơ hội khối hệ thống.

Biên dịch và thông dịch[sửa | sửa mã nguồn]

Một lịch trình PC ở dạng ngôn từ lập trình sẵn PC nhưng mà người rất có thể phát âm được được gọi là mã mối cung cấp. Mã mối cung cấp rất có thể được quy đổi trở thành một dạng thực thi đua nhờ một trình biên dịch hoặc trình lắp đặt ráp ăn ý ngữ, hoặc tiến hành ngay lập tức tức khắc với việc trợ chung của một trình thông dịch.

Trình biên dịch được dùng nhằm dịch mã mối cung cấp kể từ ngôn từ lập trình sẵn thanh lịch mã đối tượng người dùng hoặc mã máy.[21] Mã đối tượng người dùng cần thiết xử lý tăng nhằm phát triển thành mã máy và mã máy bao hàm những mệnh lệnh gốc của đơn vị chức năng xử lý trung tâm, sẵn sàng nhằm thực thi đua. Các lịch trình PC được biên dịch thông thường được gọi là tệp thực thi đua, hình hình ảnh nhị phân hoặc đơn giản và giản dị là tệp nhị phân   - một tham lam chiếu cho tới định hình tệp nhị phân được dùng nhằm tàng trữ mã thực thi đua.

Xem thêm: toán 7 bài 34

Một số lịch trình đối tượng người dùng được biên dịch và lắp đặt ráp rất cần được phối hợp trở thành những mô-đun với tiện lợi link (linker) sẽ tạo đi ra một lịch trình thực thi đua.

Trình thông dịch được dùng nhằm thực thi đua mã mối cung cấp kể từ từng loại ngôn từ lập trình sẵn. Trình thông dịch lời giải từng câu mệnh lệnh và tiến hành hành động của chính nó. Một ưu thế của thông dịch viên là bọn họ rất có thể đơn giản được không ngừng mở rộng trở thành một phiên tương tác. Lập trình viên được trình diễn với 1 vệt nhắc và những loại mã riêng biệt lẻ được nhập và tiến hành ngay lập tức tức khắc.

Nhược điểm chủ yếu của trình thông dịch là lịch trình PC chạy chậm rì rì rộng lớn đối với khi được biên dịch. Mã thông dịch chậm rì rì rộng lớn vì như thế trình thông dịch cần lời giải từng câu mệnh lệnh và tiếp sau đó tiến hành nó. Tuy nhiên, việc cải cách và phát triển ứng dụng rất có thể nhanh chóng rộng lớn khi dùng trình thông dịch vì như thế việc đánh giá là ngay lập tức tức khắc khi bước biên dịch bị bỏ dở. Một điểm yếu kém không giống của trình thông dịch là 1 trong trình thông dịch cần xuất hiện bên trên PC thực thi đua. trái lại, những lịch trình PC được biên dịch ko cần thiết trình biên dịch vô quy trình thực thi đua.

Xem thêm[sửa | sửa mã nguồn]

  • Trí tuệ nhân tạo
  • Lập trình tự động động
  • Firmware
  • Phần mềm
  • Lỗi ứng dụng [22]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ Rochkind, Marc J. (2004). Advanced Unix Programming, Second Edition. Addison-Wesley. tr. 1.1.2.
  2. ^ Kapur, Ajay; Carnegie, Dale; Murphy, Jim; Long, Jason (2017). “Loudspeakers Optional: A history of non-loudspeaker-based electroacoustic music”. Organised Sound. Cambridge University Press. 22 (2): 195–205. doi:10.1017/S1355771817000103. ISSN 1355-7718.
  3. ^ Noel Sharkey (2007), A 13th Century Programmable Robot, University of Sheffield
  4. ^ a b c McCartney, Scott (1999). ENIAC – The Triumphs and Tragedies of the World's First Computer. Walker and Company. tr. 16. ISBN 978-0-8027-1348-3.
  5. ^ Bromley, Allan G. (1998). “Charles Babbage's Analytical Engine, 1838” (PDF). IEEE Annals of the History of Computing. 20.
  6. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. tr. 15. ISBN 978-0-13-854662-5.
  7. ^ Lovelace & Babbage and the creation of the 1843 'notes'
  8. ^ Rosen, Kenneth H. (1991). Discrete Mathematics and Its Applications. McGraw-Hill, Inc. tr. 654. ISBN 978-0-07-053744-6.
  9. ^ Linz, Peter (1990). An Introduction to tát Formal Languages and Automata. D. C. Heath and Company. tr. 234. ISBN 978-0-669-17342-0.
  10. ^ Engines of Logic: Mathematicians and the origin of the Computer, 2000
  11. ^ “History of Computing”.
  12. ^ a b c d McCartney, Scott (1999). ENIAC – The Triumphs and Tragedies of the World's First Computer. Walker and Company. tr. 102. ISBN 978-0-8027-1348-3.
  13. ^ Frink, Brenda D. (ngày 1 mon 6 năm 2011). “Researcher reveals how "Computer Geeks" replaced "Computer Girls"”. Gender News. Stanford University. Lưu trữ phiên bản gốc ngày 12 mon 3 năm 2015. Truy cập ngày 22 mon 10 năm 2018.
  14. ^ Computing's Golden Jubilee
  15. ^ Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. tr. 6. ISBN 978-0-201-50480-4.
  16. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. tr. 20. ISBN 978-0-13-854662-5.
  17. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. tr. 21. ISBN 978-0-13-854662-5.
  18. ^ Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition. Addison-Wesley. tr. 75. ISBN 978-0-201-56885-1.
  19. ^ a b Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition. Addison-Wesley. tr. 213. ISBN 978-0-201-56885-1.
  20. ^ Wilson, Leslie B. (1993). Comparative Programming Languages, Second Edition. Addison-Wesley. tr. 244. ISBN 978-0-201-56885-1.
  21. ^ “What is a Compiler?”. Truy cập ngày 10 mon một năm 2012.
  22. ^ Tanenbaum, Andrew S. (1990). Structured Computer Organization, Third Edition. Prentice Hall. tr. 11. ISBN 978-0-13-854662-5.