Bài 1: Khái niệm lập trình và ngôn ngữ lập trình | Tin học | Chương 1: Một số khái niệm về lập trình và ngôn ngữ lập trình - Lớp 11 - Giáo Dục Việt Nam


Như ta biết, mọi bài toán có thuật toán đều có thể giải được trên máy tính điện tử. Khi giải bài toán trên máy tính điện tử, sau các bước xác định bài toán và xây dựng hoặc lựa chọn thuật toán khả thi là bước lập trình.

Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. Chương trình viết bằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy, nghĩa là một chương trình có thể thực hiện trên nhiều loại máy tính khác nhau. Chương trình viết bằng ngôn ngữ máy có thể được nạp trực tiếp vào bộ nhớ và thực hiện ngay, còn chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.

Chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính được gọi là chương trình dịch.

Chương trình dịch nhận đầu vào là chương trình viết bằng ngôn ngữ lập trình bậc cao (chương trình nguồn), thực hiện chuyển đổi sang ngôn ngữ máy (chương trình đích).

hinh-anh-bai-1-khai-niem-lap-trinh-va-ngon-ngu-lap-trinh-4700-0

Xét ví dụ, bạn chỉ biết tiếng Việt nhưng cần giới thiệu về trường của mình cho đoàn khách đến từ nước Mĩ, chỉ biết tiếng Anh. Có hai cách để bạn thực hiện điều này.

Cách thứ nhất: Bạn nói bằng tiếng Việt và người phiên dịch giúp bạn dịch sang tiếng Anh. Sau mỗi câu hoặc một vài câu giới thiệu trọn một ý, người phiên dịch dịch sang tiếng Anh cho đoàn khách. Sau đó, bạn lại giới thiệu tiếp và người phiên dịch lại dịch tiếp. Việc giới thiệu của bạn và việc dịch của người phiên dịch luân phiên cho đến khi bạn kết thúc nội dung giới thiệu của mình. Cách dịch trực tiếp như vậy được gọi là thông dịch.

Cách thứ hai: Bạn soạn nội dung giới thiệu của mình ra giấy, người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc hoặc trao văn bản đã dịch cho đoàn khách đọc. Như vậy, việc dịch được thực hiện sau khi nội dung giới thiệu đã hoàn tất. Hai công việc đó được thực hiện trong hai khoảng thời gian độc lập, tách biệt nhau. Cách dịch như vậy được gọi là biên dịch.

Sau khi kết thúc, với cách thứ nhất không có một văn bản nào để lưu trữ, còn với cách thứ hai có hai bản giới thiệu về trường của bạn bằng tiếng Việt và bằng tiếng Anh có thể lưu trữ để dùng lại về sau.

Tương tự như vậy, chương trình dịch có hai loại là tông dịch và biên dịch.

a) Thông dịch

Thong dich (interpreter) được thực hiện bằng cách lặp lai đãy các bước sau:

1. Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn;

2. Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy;

3. Thực hiện các câu lệnh vừa chuyển đối được.

Như vậy, quá trình dịch và thực hiện các câu lệnh là luân phiên. Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh. Loại chương trình dịch này đặc biệt thích hợp cho môi trường đối thoại giữa người và hệ thống. Tuy nhiên, nếu một câu lệnh nào đó phải thực hiện bao nhiêu lần thì nó phải được dịch bấy nhiêu lần.

Các ngôn ngữ khai thác hệ quản trị cơ sở dữ liệu, ngôn ngữ đối thoại với hệ điều hành.... đều sử dụng trình thông dịch.

b) Biên dịch

Biên dịch (compiler) được thực hiện qua hai bước:

1. Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn;

2. Dich toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết.

Như vậy, trong thông dịch, không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng về sau.

Thông thường, trong môi trường làm việc trên một ngôn ngữ lập trình cụ thể, ngoài chương trình dịch còn có một số thành phần có chức năng liên quan như biên soạn, lưu trữ, tìm kiếm, cho biết các kết quả trung gian,.... Ví dụ, Turbo Pascal 7.0, Free Pascal I.2, Visual Pascal 2.I,... là các môi trường làm việc trên ngôn ngữ Pascal; Turbo C++, Visual C++,... là các môi trường làm việc trên ngôn ngữ C++.

Các môi trường lập trình khác nhau ở những dịch vụ mà nó cung cấp, đặc biệt là các dịch vụ nâng cấp, tăng cường các khả năng mới cho ngôn ngữ lập trình.

 

Bài đọc thêm 1

BẠN BIẾT GÌ VỀ CÁC NGÔN NGỮ LẬP TRÌNH?

Đã có hàng nghìn ngôn ngữ lập trình được thiết kế và mỗi năm lại có thêm nhiều ngôn ngữ lập trình mới xuất hiện. Các ngôn ngữ thường được nhắc đến là: Ada, Algoi, APL, Assembly, Basic, C, C++, C#, Cobol, Delphi, Fortran, Java, JavaScript, Lisp, Logo, Pascal, Perl, PHP, Prolog, Python, Ruby,... Su phát triển của ngôn ngữ lập trình gắn liền với sự phát triển của tin học. Mỗi loại ngôn ngữ phù hợp hơn với một số lớp bài toán nhất định. Cùng với tên các ngôn ngữ lập trình, các thuật ngữ thường được nhắc tới là "lập trình cấu trúc", "lập trình hướng đối tượng”, "lập trình web”,...

Những ngôn ngữ lập trình hiện nay thường cung cấp các thư viện bao gồm nhiều hàm hỗ trợ giao diện người dùng và các thiết bị đầu cuối. Cập nhật dữ liệu theo thời gian thực là một hướng phát triển nhằm đáp ứng các nhu cầu đồng bộ hoá nhanh dữ liệu dùng chung cho nhiều nơi hay là để thoả mãn nhu cầu cần đồng bộ hoá dữ liệu của các dịch vụ (như trong ngân hàng, hàng không và quân sự). Ngoài việc hỗ trợ cho các giao diện, ngày nay hầu hết các hệ điều hành (UNIX/Linux, Netware và Windows) đều có khả năng đa nhiệm nâng cao hiệu quả của máy tính. Do đó, các ngôn ngữ thường có thêm các hàm, thủ tục hay các biến cho phép người lập trình tận dụng điều này.

Dưới đây giới thiệu một số ngôn ngữ lập trình thông dụng: Fortran, Algol, Lisp, Cobol, Basic, Pascal, C, C++, Java,...

  • Fortran là một ngôn ngữ lập trình được phát triển từ những năm 1950 và vẫn được dùng nhiều trong tính toán khoa học cho đến hơn nửa thế ki sau. Tên gọi này xuất phát từ việc ghép các từ tiếng Anh Formula Translator nghĩa là dịch công thức. Các phiên bản đầu có tên chính thức là FORTRAN. Điểm yếu của FORTRAN là thiếu hỗ trợ trực tiếp cho các kết cấu có cấu trúc, kiểu dữ liệu còn nghèo, không thuận lợi cho xử lí xâu. Fortran được phát triển ban đầu như là một ngôn ngữ thủ tục. Tuy nhiên, các phiên bản mới của Fortran đã có các tính năng hỗ trợ lập trình hướng đối tượng.
  • ALGOL do Uỷ ban các nhà tin học châu Âu và Hoa Kì tạo ra năm 1958, là ngôn ngữ tiên phong đưa ra tập các thủ tục, định kiểu dữ liệu cực kì phong phú,... và có ảnh hưởng mạnh tới các ngôn ngữ ra đời sau.
  • LISP do John McCarthy của Học viện Công nghệ Massachusetts tạo ra năm 1958, là ngôn ngữ đặc biệt thích hợp cho thao tác kí hiệu và xử lí danh sách thường gặp trong các bài toán tổ hợp, thích hợp cho việc chứng minh định lí. Gần đây LISP được dùng để phát triển hệ chuyên gia và các hệ thống dựa trên tri thức.
  • COBOL ra đời năm 1959, được chấp nhận dùng cho các ứng dụng xử lí dữ liệu thương mại, kinh doanh.
  • BASIC là ngôn ngữ được phát triển năm 1963 bởi John Kemeny và Thomas Kurtz. BASIC là ngôn ngữ còn nhiều hạn chế như thực hiện câu lệnh chủ yếu là tuần tự từ trên xuống, điều khiển chương trình chỉ nhờ lệnh IF...THEN và GOSUB.
  • PASCAL do Niklaus Wirth phát triển dựa trên Algol năm 1970. Pascal là tên nhà toán học và triết học người Pháp Blaise Pascal. Pascal là ngôn ngữ đặc biệt thích hợp cho kiểu lập trình cấu trúc. Cho đến nay, Pascal vẫn được dùng để giảng dạy về lập trình trong nhiều trường trung học và đại học trên thế giới. Đó là ngôn ngữ cho phép mô tả thuật toán thuận tiện. Pascal cũng phục vụ nhiều ứng dụng kĩ nghệ khoa học và lập trình hệ thống. Phần lớn hệ điều hành Macintosh được viết bằng Pascal. Hệ sắp chữ TeX được Donald Knuth viết bằng ngôn ngữ mang nhiều yếu tố của Pascal. Trình biên dịch Free Pascal được viết bằng Pascal là một trình biên dịch mạnh có khả năng biên dịch cả ứng dụng cũ và mới (phân phối miễn phí dưới giấy phép GNU), hỗ trợ nhiều hệ điều hành.
  • C là ngôn ngữ được xây dựng bởi Dennis Ritchie năm 1972 và được dùng trong hệ điều hành UNIX. Từ đó C còn được dùng trong nhiều hệ điều hành khác và trở thành một trong những ngôn ngữ phổ dụng nhất. C rất hiệu quả và được ưa chuộng để viết các phần mềm hệ thống, mặc dù nó cũng được dùng cho việc viết các ứng dụng. Ngoài ra, C cũng thường được dùng làm ngôn ngữ giảng dạy lập trình. Ngày nay, C được phát triển và mang nhiều tính năng mới làm cho nó mềm dẻo thêm.

hinh-anh-bai-1-khai-niem-lap-trinh-va-ngon-ngu-lap-trinh-4700-1

Dennis Ritchie

  • C++ là ngôn ngữ lập trình hỗ trợ lập trình cấu trúc (thủ tục, dữ liệu trừu tượng), lập trình hướng đối tượng. Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ phổ biến nhất. C++ góp phần xây dựng những ứng dụng lớn nhất hiện nay như hệ điều hành Windows, trình duyệt và máy tìm kiếm Google,... Năm 1983, Bjarne Stroustrup 6 phong thí nghiệm Bell đã phát triển C++. Trong suốt thập niên 1980 "C với các lớp" được coi là một bản nâng cao của ngôn ngữ C. Tên C++ được dùng lần đầu tiên vào tháng 12/1983. Cái tên C++ cho biết C++ là ngôn ngữ được phát triển trên cơ sở ngôn ngữ C.
  • Java được khởi đầu bởi James Gosling và các đồng nghiệp ở Sun Microsystems năm 1991 là một phần của Dư án Xanh. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi, do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này). Họ dự định phát triển ngôn ngữ này thay cho C++. Céng ti Sun Microsystems dang giữ bản quyền và phát triển Java thường xuyên. Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Java có thể tương thích với nhiều họ máy như PC, Macintosh, tương thích với nhiều hệ điều hành như Windows, Linux. Người ta nói Java là ngôn ngữ lập trình một lần (trên một máy) nhưng có thể chạy nhiều lần (trên nhiều máy). Java được sử dụng chủ yếu để lập trình trên môi trường mang va Internet.

hinh-anh-bai-1-khai-niem-lap-trinh-va-ngon-ngu-lap-trinh-4700-2

 

Tin tức mới


Đánh giá

Bài 1: Khái niệm lập trình và ngôn ngữ lập trình | Tin học | Chương 1: Một số khái niệm về lập trình và ngôn ngữ lập trình - Lớp 11 - Giáo Dục Việt Nam

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin tức mới

Bộ Sách Lớp 11

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Giáo Dục Việt Nam

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.