Bài giảng môn Lý thuyết ngôn ngữ lập trình

Cáckhái niệm về ngôn ngữ lập trình Tiêu chuẩn đánh giá và phân loại ngôn ngữ lập trình Giới thiệu sơ lược một số ngôn ngữ lập trình thông dụng Giới thiệu tổng quan các giai đoạn của một quá trình biên dịch Các khái niệm về thuật toán và lưu đồ thuật toán Các thành phần cơ bản của ngôn ngữ lập trình C

pdf55 trang | Chia sẻ: lylyngoc | Lượt xem: 1624 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Lý thuyết ngôn ngữ lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Bài giảng môn Lý thuyết ngôn ngữ lập tr Bài giảng LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH 2ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Mục tiêu môn học  Lý thuyết: Sinh viên nắm được các kiến thức cơ bản về ngôn ngữ lập trình, tổng quan về các loại ngôn ngữ lập trình  Kỹ năng: Sinh viên có thể viết các chương trình đơn giản bằng ngôn ngữ lập trình C Sinh viên có các kiến thức cơ bản làm nền tảng để tiếp thu, nghiên cứu các ngôn ngữ lập trình cụ thể sau này 3ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Nội dung  Các khái niệm về ngôn ngữ lập trình  Tiêu chuẩn đánh giá và phân loại ngôn ngữ lập trình  Giới thiệu sơ lược một số ngôn ngữ lập trình thông dụng  Giới thiệu tổng quan các giai đoạn của một quá trình biên dịch  Các khái niệm về thuật toán và lưu đồ thuật toán  Các thành phần cơ bản của ngôn ngữ lập trình C  Các vấn đề chính của ngôn ngữ lập trình: – Định nghĩa, đặc tả và cài đặt các kiểu dữ liệu – Biểu thức và phép gán – Các lệnh có cấu trúc, ngoại lệ và xử lý ngoại lệ – Chương trình con 4ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Tài liệu học tập  Giáo trình, bài giảng – Giáo trình Lý thuyết ngôn ngữ lập trình (lưu hành nội bộ) – Bài giảng môn học Lý thuyết ngôn ngữ lập trình  Tài liệu tham khảo – Robert W.Sebesta, Concept of Programming Laguages, Seventh Edition; Pearson International Edition, 2006 5ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Nội dung môn học Chương trình conChương 8 Các lệnh có cấu trúcChương 7 Biểu thức và phép gánChương 6 Kiểu dữ liệuChương 5 Các thành phần cơ bản của ngôn ngữ lập trình CChương 4 Thuật toán và lưu đồ thuật toánChương 3 Tổng quan về trình biên dịchChương 2 Mở đầuChương 1 Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Bài giảng môn Lý thuyết ngôn ngữ lập tr Chương 1 MỞ ĐẦU 7ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Nội dung Chương 1 1.1. Lập trình máy tính 1.1.1. Khái niệm 1.1.2. Các lĩnh vực ứng dụng 1.2. Ngôn ngữ lập trình 1.2.1. Khái niệm 1.2.2. Vai trò và lợi ích của việc nghiên cứu ngôn ngữ lập trình 1.2.3. Tiêu chuẩn đánh giá ngôn ngữ lập trình 1.2.4. Phân loại 1.2.5. Môi trường lập trình 1.3. Giới thiệu một số ngôn ngữ lập trình thông dụng 8ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.1 Lập trình máy tính  Khái niệm – Lập trình máy tính là một cách nghĩ về các vấn đề – Biên dịch thành những chỉ thị để máy tính thực thi – Sản phẩm là các chương trình  Chương trình – Một chương trình trong tin học là một tập hợp riêng biệt các hoạt động có thứ tự cho một máy tính thực hiện – Chương trình bao gồm một chuỗi các chỉ thị lần lượt mà máy tính phải tuân theo – Máy tính nhận một chỉ thị và thực thi, rồi nhận chỉ thị tiếp theo 9ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.1 Lập trình máy tính (tt)  Các lĩnh vực ứng dụng – Đa dạng: từ điều khiển các thiết bị năng lượng hạt nhân đến cung cấp trò chơi trên máy điện thoại di động – Theo Robert W.Sebesta, có thể chia thành các lĩnh vực ứng dụng: Khoa học Kinh doanh Trí tuệ nhân tạo Lập trình hệ thống Phần mềm web 10ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình  Khái niệm – Máy tính gồm – Phần cứng: các thiết bị điện tử – Phần mềm: các chương trình được tạo ra bằng ngôn ngữ lập trình – Ngôn ngữ lập trình (NNLT) là ngôn ngữ dùng để viết các chương trình cho máy tính – Là một hệ thống được ký hiệu hóa để mô tả những tính toán (qua máy tính) trong một dạng mà cả con người và máy đều có thể đọc và hiểu được  Tính chất – Có từ vựng – Có cú pháp và ngữ nghĩa 11ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Hai điều kiện cơ bản: – Dễ hiểu và dễ sử dụng đối với người lập trình – Mô tả một cách đầy đủ và rõ ràng các tiến trình  Lập trình – Thao tác nhằm kiến tạo nên các chương trình máy tính thông qua các ngôn ngữ lập trình – Còn gọi là quá trình mã hoá thông tin tự nhiên thành ngôn ngữ máy – Quá trình này còn được gọi là là "viết mã“ 12ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Mã nguồn của chương trình: – Những chỉ thị góp phần tạo nên chương trình được gọi là mã nguồn của chương trình – Mỗi NNLT cũng chính là một chương trình, được dùng để tạo nên các chương trình khác  Biên dịch – Thao tác chuyển từ mã nguồn thành chuỗi các chỉ thị máy tính – Có hai loại: Phần mềm thông dịch và phần mềm biên dịch 13ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phần mềm thông dịch – Là một chương trình phần mềm – Đọc hiểu mã nguồn của một ngôn ngữ ban đầu – Ra lệnh cho máy tính tiến hành các tính toán dựa theo cú pháp của ngôn ngữ này  Phần mềm biên dịch – Là một chương trình phần mềm – Đọc hiểu mã nguồn của một ngôn ngữ ban đầu – Chuyển dịch mã nguồn này sang dạng mã mới thuộc về ngôn ngữ cấp thấp hơn 14ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Ngôn ngữ cấp thấp nhất (ngôn ngữ máy) – Chuỗi các chỉ thị máy tính có thể được thực hiện trực tiếp bởi chính máy tính – Các chỉ thị được viết dưới dạng mã nhị phân (0 hoặc 1)  Lời chú thích – Mã của chương trình nguồn thường gây khó khăn cho người đọc – Nên dùng các chú thích trong lúc lập trình – Giúp người khác đọc và hiểu được các mã nguồn 15ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Các giai đoạn xây dựng phần mềm (công nghệ phần mềm): – Xác định – Hiểu rõ các yêu cầu của khách hàng – Kết quả là mô hình thế giới thực được phản ánh thông qua một tài liệu đặc tả yêu cầu – Phân tích – Xác định chính xác hệ thống sẽ làm những gì – Kết quả là một tài liệu đặc tả chức năng – Thiết kế – Xác định chính xác hệ thống sẽ làm việc như thế nào – Kết quả là một tài liệu đặc tả thiết kế. Người thực hiện sẽ căn cứ vào đó để tạo ra phần mềm 16ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Các giai đoạn xây dựng phần mềm (tt): – Cài đặt – Thực hiện cách giải quyết vấn đề đã được đề xuất bằng một NNLT – Kết quả là một chương trình máy tính – Tích hợp và kiểm thử – Ghép nối các bộ phận của hệ thống và kiểm tra xem hệ thống có được thực hiện đúng theo thiết kế không – Chấp nhận – Do các chuyên viên tin học cùng với khách hàng tiến hành, nhằm xác nhận hệ thống bảo đảm các yêu cầu của người sử dụng – Vận hành khai thác – Hệ thống được triển khai để sử dụng 17ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Lợi ích của việc nghiên cứu NNLT – Tăng khả năng diễn đạt các ý tưởng – “Độ sâu” tư duy bị ảnh hưởng bởi năng lực diễn đạt của ngôn ngữ – Ngôn ngữ lập trình bị giới hạn trong các kiểu của cấu trúc điều khiển, cấu trúc dữ liệu và sự trừu tượng hoá – Các hình thức của thuật toán xây dựng cũng đều có giới hạn tương tự – Tạo nền tảng để lựa chọn NNLT phù hợp với một dự án – Java cho các dự án lập trình truyền thông – Lập trình logic cho các dự án về trí tuệ nhân tạo … – Dễ dàng hơn khi học một NNLT mới – Rất nhiều ngôn ngữ có chung cú pháp (khác nhau về cách viết) – Có chung các kiểu dữ liệu (khác nhau về tên gọi) 18ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Lợi ích của việc nghiên cứu NNLT (tt) – Hiểu sâu sắc hơn ý nghĩa của các cài đặt bên trong NNLT – Các ngôn ngữ nói chung đều cung cấp những công cụ đặc biệt để tạo ra các tiện ích cho lập trình viên – Sử dụng không đúng đắn có thể gây ra sai lầm lớn – Ví dụ: Có thể cài đặt một giải thuật đẹp và hiệu quả bằng đệ quy, nhưng nếu dùng không đúng sẽ gây lãng phí thời gian – Tăng vốn kinh nghiệm cho lập trình viên – Tạo tiền đề cho việc nghiên cứu và thiết kế một NNLT mới 19ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Tiêu chuẩn đánh giá NNLT – Tính dễ đọc – Tính dễ viết – Độ tin cậy – Chi phí  Tính dễ đọc: là sự dễ dàng đọc hiểu một chương trình – Tính giản dị: Ngôn ngữ có ít các thành phần cơ sở – Cấu trúc điều khiển: Cho phép viết các chương trình sáng sủa, dễ đọc, dễ hiểu – Kiểu và cấu trúc dữ liệu: Góp phần đánh giá một ngôn ngữ có dễ đọc hay không – Cú pháp: Ảnh hưởng đến sự dễ đọc hiểu của chương trình 20ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Ví dụ: So sánh hai đoạn chương trình in ra màn hình 10 số tự nhiên đầu tiên Viết bằng BASIC 10 i=1; 20 IF i>10 THEN GOTO 60; 30 PRINT i ; 40 i=i+1; 50 GOTO 20; 60 PRINT “In xong”; Viết bằng C ... for (i =1; i<=10; i++ ) printf (“%d”,i); ... 21ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Tính dễ viết: Là khả năng sử dụng ngôn ngữ để viết một chương trình cho một vấn đề nào đó một cách dễ dàng hay không – Sự giản dị: Nếu một ngôn ngữ có quá nhiều cấu trúc thì một số người lập trình sẽ không quen sử dụng hết tất cả chúng – Hỗ trợ trừu tượng: Là khả năng định nghĩa và sử dụng các cấu trúc hoặc các phép toán phức tạp cho phép bỏ qua các chi tiết. Trừu tượng hóa làm cho chương trình sáng sủa hơn – Khả năng diễn đạt: Cung cấp cho người lập trình những công cụ để có thể nghĩ sao thì viết chương trình như vậy 22ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Độ tin cậy: Là khả năng của ngôn ngữ hỗ trợ người lập trình tạo ra các chương trình đúng đắn – Kiểm tra kiểu: Là kiểm tra lỗi về kiểu dữ liệu của chương trình trong giai đoạn dịch hoặc trong khi thực hiện – Xử lý ngoại lệ (Exception Handing): Cho phép phát hiện lỗi trong thời gian thực hiện, sửa chữa và tiếp tục thực hiện mà không phải dừng chương trình – Sự lắm tên (Aliasing): Có hai hay nhiều tên cùng liên kết tới một ô nhớ. Sự lắm tên có thể làm giảm độ tin cậy 23ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Chi phí cũng thường được quan tâm như một tiêu chuẩn để đánh giá ngôn ngữ, được hiểu là cả tiền bạc và thời gian – Chi phí đào tạo lập trình viên sử dụng ngôn ngữ: phụ thuộc vào sự giản dị của ngôn ngữ – Chi phí cài đặt chương trình: phụ thuộc vào tính dễ viết của ngôn ngữ – Chi phí dịch chương trình – Chi phí thực hiện chương trình – Chi phí bảo trì chương trình – Chi phí mua trình biên dịch 24ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại NNLT – Theo tiến trình lịch sử phát triển  Ngôn ngữ máy, Hợp ngữ, Ngôn ngữ cấp cao, Ngôn ngữ cấp rất cao – Theo mục tiêu của ngôn ngữ  Đa dụng, Nhúng, Lập trình web, … – Theo cách thức  Mã máy, Thông dịch, Lai – Theo phương pháp  Lập trình tuyến tính, Lập trình có cấu trúc, Lập trình hướng đối tượng, Lập trình trực quan, Lập trình logic, … 25ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại NNLT theo tiến trình lịch sử phát triển – Ngôn ngữ máy (machine language) – Hợp ngữ (assembly language) – Ngôn ngữ cấp cao (HLL - High level language) – Ngôn ngữ cấp rất cao (VHLL – Very High Level Language) 26ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Ngôn ngữ máy (machine language) – Là các chỉ thị dưới dạng nhị phân – Can thiệp trực tiếp vào các mạch điện tử – Có thể được thực hiện ngay không cần qua bước trung gian nào – Chương trình viết bằng ngôn ngữ máy dễ sai sót, cồng kềnh và khó đọc, khó hiểu 27ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Hợp ngữ (assembly language) – Là một bước tiến vượt bậc đưa ngôn ngữ lập trình thoát ra khỏi ngôn ngữ máy khó hiểu – Xuất hiện vào những năm 1950 – Đưa ra khái niệm biến (variable), có thể gán một ký hiệu cho một địa chỉ – Biểu biễn mã phép toán dưới dạng phát biểu (lệnh) thay vì dưới dạng nhị phân – Lệnh gồm hai phần: mã lệnh (tựa tiếng Anh) chỉ phép toán cần thực hiện, và tên biến chỉ địa chỉ chứa toán hạng – Ðể máy thực hiện được thì chương trình phải được dịch sang ngôn ngữ máy (Assembler) 28ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Ngôn ngữ cấp cao (HLL - High level language) – Được tạo ra và phát triển nhằm phản ánh cách người lập trình nghĩ và làm – Rất gần với ngôn ngữ con người (Anh ngữ) nhưng chính xác như ngôn ngữ toán học – Việc lập trình trở nên phổ biến – Việc lập trình cũng có nhiều khuynh hướng: lập trình cấu trúc, lập trình hướng đối tượng, lập trình logic, lập trình hàm... – Một chương trình viết bằng ngôn ngữ cấp cao được gọi là chương trình nguồn (source programs) – Ðể máy tính "hiểu" và thực hiện được các lệnh thì phải có một chương trình dịch để dịch chương trình nguồn (viết bằng ngôn ngữ cấp cao) thành chương trình đích 29ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  NN cấp rất cao (VHLL – Very High Level Language) – “Hướng đến con người” – Được thiết kế để phát triển các ứng dụng chuyên biệt mà không đòi hỏi nhiều kiến thức về lập trình – Một là các NNLT tương tác mạnh như ngôn ngữ đánh dấu (HTML, DHTML, XML) và ngôn ngữ mô hình (VRML) dùng để tạo trang WEB và nội dung đa phương diện – Hai là các ngôn ngữ kịch bản như Javascript dùng để viết các chương trình nhỏ đi kèm các trang WEB để tạo hiệu ứng động và tương tác 30ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại theo mục tiêu của ngôn ngữ – Đa dụng: như C, perl, C++, Java, … – Nhúng: Như Ch, Ada, … – Lập trình web: PHP, Java Script, Cold Fusion, … – Riêng: Như AutoLisp, Mathematica, … 31ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại theo cách thức – Mã máy: Thường gặp như C, C++, ... – Thông dịch: Giữ nguyên dưới dạng file văn bản, được thông dịch sang mã máy khi chạy như Perl, PHP, … – Lai: Ví dụ Java biên dịch ra Java Byte code, khi chạy mới thông dịch sang mã máy, như vậy tạo ra khả năng "viết một nơi chạy mọi nơi" của Java. Một ví dụ khác là .NET 32ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại theo phương pháp – Đục lỗ: Vào thời kỳ đầu, đục các thẻ đưa cho máy tính đọc – Tuyến tính: Phát triển ở mức cao hơn thẻ đục lỗ, nhưng còn rất thô sơ (assembly) – Lập trình có cấu trúc:  Cho phép diễn tả thuật toán một cách dễ dàng  Áp dụng phương pháp "Chia để trị" giúp tránh lỗi khi viết những chương trình lớn, phức tạp  Dựa trên quan điểm: một công việc lớn bao giờ cũng có thể phân tích được thành những công việc nhỏ hơn  Phân tích đến mức đơn giản, có thể thực hiện được một cách dễ dàng  Phương pháp này rất phổ biến và vẫn áp dụng rất nhiều trong hiện tại như Pascal, C ... 33ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại theo phương pháp (tt) – Hướng đối tượng:  Xem mọi thứ là đối tượng, quá trình giải quyết công việc là quá trình các đối tượng tương tác với nhau  Ví dụ: C++, Java, Ada, ... – Lập trình logic:  Cho chương trình biết sẽ làm cái gì chứ không phải làm như thế nào  Toàn bộ các câu lệnh chỉ đơn giản là đúng hoặc sai  Ví dụ: ngôn ngữ Prolog 34ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Phân loại theo phương pháp (tt) – Lập trình hàm:  Toàn bộ các lệnh và mọi thứ đều được đưa về hàm.  Cũng là ngôn ngữ dạng mô tả  Ví dụ: ngôn ngữ LISP – Lập trình trực quan:  Hỗ trợ tạo mã nguồn một cách trực quan.  Ví dụ: ngôn ngữ Visual Basic – Ngôn ngữ đánh dấu:  Ví dụ: ngôn ngữ HTML 35ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.2 Ngôn ngữ lập trình (tt)  Môi trường lập trình – Là công cụ giúp chúng ta viết mã cho chương trình – Một công cụ viết mã cổ điển nhưng hiệu quả là Notepad – Môi trường lập trình là những công cụ tương ứng với từng ngôn ngữ lập trình – Hỗ trợ cho chúng ta những dòng mã tự sinh để giảm bớt chi phí lập trình 36ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Giới thiệu một số NNLT thông dụng  Chọn công cụ cho phù hợp với công việc cần làm – Dùng ASSEMBLY để viết các chương trình truy cập đến các cấp thấp của máy tính – Để tạo hệ cửa sổ giao tiếp đồ hoạ, dùng NNLT hướng đối tượng – Truy cập CSDL, dùng ngôn ngữ truy vấn – Một số ngôn ngữ lập trình đang phổ biến hiện nay: PASCAL, C, C++, JAVA, VISUAL BASIC …. 37ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình PASCAL – Do giáo sư Niklaus Wirth thiết kế năm 1970 – Mục đích ban đầu: giảng dạy ý niệm lập trình có cấu trúc – Do tính ưu việt nên PASCAL đã được sử dụng rộng rãi – Dùng ngôn ngữ sát với ngôn ngữ tự nhiên nên nó thân thiện với người lập trình – Gọn, dễ nhớ, khả năng truy cập cấp thấp, và các cấu trúc dữ liệu đa dạng 38ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình PASCAL (tt) – Hỗ trợ khả năng đưa các chương trình viết bằng ASSEMBLY vào chương trình, khả năng đồ hoạ và hướng đối tượng – Là ngôn ngữ lập trình có cấu trúc:  Cấu trúc của dữ liệu thể hiện qua phần mô tả, có một số kiểu dữ liệu và các phép toán được định nghĩa sẵn. Từ đó, có thể xây dựng các kiểu dữ liệu phức tạp hơn  Cấu trúc của các toán tử thể hiện ở chỗ bên trong các toán tử thực hiện một động tác, còn có các toán tử thực hiện nhiều động tác  Cấu trúc trong công cụ thủ tục thể hiện thông qua khả năng phân tích chương trình thành các modul độc lập và lời gọi đệ quy 39ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình PASCAL (tt) – Không phân biệt chữ hoa và chữ thường → thoải mái hơn trong việc viết các câu lệnh và đặt tên cho các đối tượng – Việc dịch một chương trình được thực hiện bằng một trình biên dịch  Nếu có lỗi cú pháp thì mã máy sẽ không được sinh ra  Nếu không, sau khi dịch xong sẽ nhận được một phiên bản có khả năng thực thi – Thích hợp để giảng dạy lập trình và cho những người mới học lập trình 40ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình C – Được phát triển từ ngôn ngữ B trên máy UNIX – Đến nay, ANSI ban hành chuẩn về C – C không phải là ngôn ngữ lập trình có cấu trúc chính thống: không cho phép các khối lồng nhau – Là ngôn ngữ cấp trung vì nó cho phép thao tác trên các bit, byte, và địa chỉ – Kết hợp các yếu tố mềm dẻo của ngôn ngữ bậc cao và khả năng điều khiển mạnh của ASSEMBLY – Do vậy, C tỏ ra thích hợp với lập trình hệ thống 41ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình C (tt) – Chương trình viết bằng C là tập hợp các hàm riêng biệt, giúp che giấu mã và dữ liệu – Hàm được viết bởi những người lập trình khác nhau, không ảnh hưởng đến nhau và có thể được biên dịch riêng biệt trước khi ráp nối thành chương trình – C thoáng hơn PASCAL, chẳng hạn C không kiểm tra kiểu khi chạy, điều này do người lập trình đảm nhiệm 42ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình C (tt) – C có tính tương thích cao – Chương trình viết bằng C cho một loại máy hoặc hệ điều hành này có thể chuyển dễ dàng sang loại máy hoặc hệ điều hành khác – Chương trình được viết bằng C thường có được sự tối ưu như chạy với tốc độ cao và tiết kiệm bộ nhớ – C chỉ thích hợp với những chương trình hệ thống hoặc những chương trình đòi hỏi tốc độ – Với bài toán lớn và phức tạp, C cũng rất khó kiểm soát chương trình 43ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 1.3 Một số NNLT thông dụng (tt)  Ngôn ngữ lập trình C++ – Được phát triển từ ngôn ngữ C – Có thể coi C++ là một cải tiến của C – Nó mang đầy đủ các đặc tính của C – Một chương trình viết bằng C có thể biên dịch được bằng trình biên dịch của C++ – Ở những phiên bản đầu tiên, mã nguồn
Tài liệu liên quan