1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình phân tích kiểu dữ liệu sơ cấp,sự đặc tả và nguyên tắc cài đặt một kiểu dữ liệu p2

5 9 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • NGÔN NGỮ LẬP TRÌNH

    • ĐẠI HỌC CẦN THƠ - 12/2003

      • MỤC ĐÍCH YÊU CẦU

      • ĐỐI TƯỢNG SỬ DỤNG

      • NỘI DUNG CỐT LÕI

      • KIẾN THỨC TIÊN QUYẾT

      • DANH MỤC TÀI LIỆU THAM KHẢO

      • 1.1 TỔNG QUAN

        • 1.1.1 Mục tiêu

        • 1.1.2 Nội dung cốt lõi

        • 1.1.3 Kiến thức cơ bản cần thiết

      • 1.2 KHÁI NIỆM VỀ NGÔN NGỮ LẬP TRÌNH

      • 1.3 VAI TRÒ CỦA NGÔN NGỮ LẬP TRÌNH

      • 1.4 LỢI ÍCH CỦA VIỆC NGHIÊN CỨU NNLT

        • 1.4.1 Cho phép lựa chọn một NNLT phù hợp với dự án thực tế

        • 1.4.2 Sử dụng một cách có hiệu quả các công cụ của ngôn ngữ

        • 1.4.3 Làm tăng vốn kinh nghiệm khi xây dựng các chương trình

        • 1.4.4 Tạo sự dễ dàng để học một ngôn ngữ mới

        • 1.4.5 Tạo tiền đề để thiết kế một ngôn ngữ mới

      • 1.5 CÁC TIÊU CHUẨN ÐÁNH GIÁ MỘT NGÔN NGỮ LẬP TRÌNH TỐT

        • 1.5.1 Tính dễ đọc

        • 1.5.2 Tính dễ viết

        • 1.5.3 Ðộ tin cậy

        • 1.5.4 Chi phí

      • 1.6 CÂU HỎI ÔN TẬP

      • 2.1 TỔNG QUAN

        • 2.1.1 Mục tiêu

        • 2.1.2 Nội dung cốt lõi

        • 2.1.3 Kiến thức cơ bản cần thiết

      • 2.2 ÐỐI TƯỢNG DỮ LIỆU

        • 2.2.1 Khái niệm đối tượng dữ liệu

        • 2.2.2 Các loại ÐTDL

        • 2.2.3 Thuộc tính của ÐTDL

        • 2.2.4 Giá trị dữ liệu

        • 2.2.5 Thời gian tồn tại

        • 2.2.6 Các mối liên kết

      • 2.3 BIẾN VÀ HẰNG

        • 2.3.1 Biến

        • 2.3.2 Hằng

      • 2.4 KIỂU DỮ LIỆU

        • 2.4.1 Ðịnh nghĩa kiểu dữ liệu

        • 2.4.2 Sự đặc tả kiểu dữ liệu

          • Phép toán

        • 2.4.3 Sự cài đặt kiểu dữ liệu

      • 2.5 SỰ KHAI BÁO

        • 2.5.1 Khái niệm khai báo

        • 2.5.2 Mục đích của sự khai báo

      • 2.6 KIỂM TRA KIỂU VÀ BIẾN ÐỔI KIỂU

        • 2.6.1 Khái niệm kiểm tra kiểu

        • 2.6.2 Kiểm tra kiểu động

        • 2.6.3 Kiểm tra kiểu tĩnh

      • 2.7 CHUYỂN ÐỔI KIỂU

      • 2.8 GÁN VÀ KHỞI TẠO

        • 2.8.1 Phép gán

        • 2.8.2 Sự khởi tạo biến

      • 2.9 CÂU HỎI ÔN TẬP

      • 3.1 TỔNG QUAN

        • 3.1.1 Mục tiêu

        • 3.1.2 Nội dung cốt lõi

        • 3.1.3 Kiến thức cơ bản cần thiết

      • 3.2 ÐỊNH NGHĨA KIỂU DỮ LIỆU SƠ CẤP

      • 3.3 SỰ ÐẶC TẢ CÁC KIỂU DỮ LIỆU SƠ CẤP

        • 3.3.1 Thuộc tính của kiểu dữ liệu sơ cấp

        • 3.3.2 Giá trị của kiểu dữ liệu sơ cấp

        • 3.3.3 Phép toán trên kiểu dữ liệu sơ cấp

      • 3.4 CÀI ÐẶT CÁC KIỂU DỮ LIỆU SƠ CẤP

        • 3.4.1 Tổ chức dữ liệu trong bộ nhớ

        • 3.4.2 Cài đặt phép toán

      • 3.5 KIỂU DỮ LIỆU SỐ

        • 3.5.1 Số nguyên

          • Sự đặc tả

          • Sự cài đặt

        • 3.5.2 Miền con của số nguyên

          • Sự đặc tả

          • Sự cài đặt

          • Lợi ích của việc sử dụng kiểu miền con

        • 3.5.3 Số thực dấu chấm động

          • Sự đặc tả

          • Sự cài đặt

      • 3.6 KIỂU LIỆT KÊ

        • 3.6.1 Đặt vấn đề

        • 3.6.2 Sự đặc tả

        • 3.6.3 Sự cài đặt

        • 3.6.4 Lợi ích của việc sử dụng kiểu liệt kê

      • 3.7 KIỂU LOGIC

        • 3.7.1 Sự đặc tả

        • 3.7.2 Phép cài đặt

      • 3.8 KIỂU KÝ TỰ

        • 3.8.1 Sự đặc tả

        • 3.8.2 Phép cài đặt

      • 3.9 CÂU HỎI ÔN TẬP

      • 4.1 TỔNG QUAN

        • 4.1.1 Mục tiêu

        • 4.1.2 Nội dung cốt lõi

        • 4.1.3 Kiến thức cơ bản cần thiết

      • 4.2 ÐỊNH NGHĨA KIỂU DỮ LIỆU CÓ CẤU TRÚC

      • 4.3 SỰ ÐẶC TẢ KIỂU CẤU TRÚC DỮ LIỆU

        • 4.3.1 Sự đặc tả các thuộc tính

          • Số lượng phần tử

          • Tên để dùng cho các phần tử được lựa chọn

          • Số lượng lớn nhất các phần tử

          • Tổ chức cấu trúc

        • 4.3.2 Các phép toán trên cấu trúc dữ liệu

          • Phép toán lựa chọn phần tử của cấu trúc

          • Các phép toán thao tác trên toàn bộ cấu trúc dữ liệu

          • Thêm / bớt các phần tử

          • Tạo / hủy CTDL

      • 4.4 SỰ CÀI ÐẶT CÁC CẤU TRÚC DỮ LIỆU

        • 4.4.1 Biểu diễn bộ nhớ

          • Biểu diễn tuần tự

          • Biểu diễn liên kết

        • 4.4.2 Cài đặt các phép toán trên cấu trúc dữ liệu

          • Ðối với biểu diễn tuần tự

          • Ðối với biểu diễn liên kết

      • 4.5 VÉCTƠ

        • 4.5.1 Định nghĩa véctơ

        • 4.5.2 Sự đặc tả và cú pháp

          • Đặc tả thuộc tính của véctơ

          • Đặc tả các phép toán trên véctơ

        • 4.5.3 Cài đặt một véctơ

          • Biểu diễn bộ nhớ

          • Giải thuật thực hiện các phép toán

      • 4.6 MẢNG NHIỀU CHIỀU

        • 4.6.1 Sự đặc tả và cú pháp

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.6.2 Sự cài đặt

          • Sự biểu diễn bộ nhớ

          • Giải thuật thực hiện phép toán

      • 4.7 MẨU TIN

        • 4.7.1 Định nghĩa mẩu tin

        • 4.7.2 Sự đặc tả và cú pháp

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.7.3 Sự cài đặt

          • Biểu diễn bộ nhớ

          • Giải thuật thực hiên phép toán

      • 4.8 MẨU TIN CÓ CẤU TRÚC THAY ÐỔI

        • 4.8.1 Ðặc tả và khai báo

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.8.2 Cài đặt mẩu tin có cấu trúc thay đổi

          • Biểu diễn bộ nhớ

          • Giải thuật thực hiện phép toán

      • 4.9 CHUỖI KÝ TỰ:

        • 4.9.1 Ðặc tả và cú pháp:

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.9.2 Cài đặt

          • Biểu diễn bộ nhớ

          • Giải thuật thực hiện các phép toán

      • 4.10 CẤU TRÚC DỮ LIỆU CÓ KÍCH THƯỚC THAY ÐỔI

        • 4.10.1 Danh sách và cấu trúc danh sách

        • 4.10.2 Ngăn xếp và hàng đợi

      • 4.11 CON TRỎ

        • 4.11.1 Cấp phát tĩnh, cấp phát động và con trỏ

        • 4.11.2 Sự đặc tả

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.11.3 Sự cài đặt

          • Ðịa chỉ tuyệt đối

          • Ðịa chỉ tương đối

      • 4.12 TẬP HỢP

        • 4.12.1 Ðặc tả

          • Đặc tả thuộc tính

          • Đặc tả phép toán

        • 4.12.2 Cài đặt

          • Véctơ bit

          • Bảng băm

      • 4.13 TẬP TIN

        • 4.13.1 Tập tin tuần tự

          • Sự đặc tả

          • Phép cài đặt

        • 4.13.2 Tập tin văn bản

        • 4.13.3 Tập tin truy xuất trực tiếp

      • 4.14 CÂU HỎI ÔN TẬP

      • 5.1 TỔNG QUAN

        • 5.1.1 Mục tiêu

        • 5.1.2 Nội dung cốt lõi

        • 5.1.3 Kiến thức cơ bản cần thiết

      • 5.2 SỰ PHÁT TRIỂN CỦA KHÁI NIỆM KIỂU DỮ LIỆU

      • 5.3 TRỪU TƯỢNG HÓA

        • 5.3.1 Khái niệm trừu tượng hóa

        • 5.3.2 Trừu tượng hóa quá trình

        • 5.3.3 Trừu tượng hóa dữ liệu

      • 5.4 ÐỊNH NGHĨA KIỂU

        • 5.4.1 Khái niệm

        • 5.4.2 Tính tương đương của các kiểu định nghĩa

      • 5.5 CÂU HỎI ÔN TẬP

      • 6.1 TỔNG QUAN

        • 6.1.1 Mục tiêu

        • 6.1.2 Nội dung cốt lõi

        • 6.1.3 Kiến thức cơ bản cần thiết

      • 6.2 ÐỊNH NGHĨA CHƯƠNG TRÌNH CON

        • 6.2.1 Ðặc tả chương trình con

        • 6.2.2 Cài đặt chương trình con

      • 6.3 CƠ CHẾ GỌI CHƯƠNG TRÌNH CON

        • 6.3.1 Ðịnh nghĩa và kích hoạt chương trình con

        • 6.3.2 Cài đặt định nghĩa và kích hoạt chương trình con

      • 6.4 CHƯƠNG TRÌNH CON CHUNG

      • 6.5 TRUYỀN THAM SỐ CHO CHƯƠNG TRÌNH CON

        • 6.5.1 Khái niệm truyền tham số

        • 6.5.2 Sự tương ứng giữa tham số tham số thực tế và tham số hình thức

        • 6.5.3 Các phương pháp truyền tham số tham số

          • Truyền bằng giá trị (transmission by value)

          • Truyền tham chiếu (transmission by reference)

          • Truyền bằng giá trị-kết quả (transmission by value-result)

          • Truyền bằng kết quả (transmission by result)

      • 6.6 CÂU HỎI ÔN TẬP

      • 7.1 TỔNG QUAN

        • 7.1.1 Mục tiêu

        • 7.1.2 Nội dung cốt lõi

        • 7.1.3 Kiến thức cơ bản cần thiết

      • 7.2 KHÁI NIỆM ÐIỀU KHIỂN TUẦN TỰ

      • 7.3 ÐIỀU KHIỂN TUẦN TỰ TRONG BIỂU THỨC

        • Ðặt vấn đề

        • 7.3.2 Sự biểu diễn theo cấu trúc cây của biểu thức

        • 7.3.3 Cú pháp của biểu thức

          • Ký hiệu tiền tố (prefix)

          • Ký hiệu hậu tố (postfix)

          • Kí hiệu trung tố (infix)

        • 7.3.4 Dịch biểu thức thành biểu diễn cây

        • 7.3.5 Biểu diễn trong thời gian thực hiện của biểu thức

      • 7.4 ÐIỀU KHIỂN TUẦN TỰ GIỮA CÁC LỆNH

        • 7.4.1 Các lệnh cơ bản

        • 7.4.2 Điều khiển tuần tự dùng nhãn lệnh và lệnh GOTO

        • 7.4.3 Các lệnh cấu trúc

          • Lệnh hợp thành (Compound Statements)

          • Lệnh điều kiện (Conditional Statements)

          • Lệnh lặp (Interation Statements)

      • 7.5 SỰ NGOẠI LỆ VÀ XỬ LÝ NGOẠI LỆ

        • 7.5.1 Một số khái niệm

        • 7.5.2 Xử lý ngoại lệ

        • 7.5.3 Ðề xuất một ngoại lệ

        • 7.5.4 Lan truyền một ngoại lệ (Propagating an exception)

        • 7.5.5 Sau khi một ngoại lệ được xử lý

      • 7.6 CÂU HỎI ÔN TẬP

      • 8.1 TỔNG QUAN

        • 8.1.1 Mục tiêu

        • 8.1.2 Nội dung cốt lõi

        • 8.1.3 Kiến thức cơ bản cần thiết

      • 8.2 NGÔN NGỮ LẬP TRÌNH HÀM

        • 8.2.1 Giới thiệu

        • 8.2.2 Hàm toán học

        • 8.2.3 Dạng hàm

        • 8.2.4 Bản chất của ngôn ngữ lập trình hàm

      • 8.3 NGÔN NGỮ LISP

        • 8.3.1 Giới thiệu:

        • 8.3.2 Các khái niệm cơ bản

          • Nguyên tử (atom)

          • Danh sách

          • Biểu thức

        • 8.3.3 Các hàm

          • Một số hàm định nghĩa trước

          • Hàm do người lập trình định nghĩa

        • 8.3.4 Ðệ quy

        • 8.3.5 Các hàm nhập xuất

        • 8.3.6 Biến toàn cục và biến cục bộ

          • Biến toàn cục

          • Biến cục bộ

          • Biến cục bộ che biến toàn cục

        • 8.3.7 Hướng dẫn sử dụng LISP

          • Sử dụng XLISP

          • Soạn thảo tập tin chương trình

          • Nạp hàm tự định nghĩa cho XLISP

          • Một số thông báo lỗi thường gặp

          • - Unbound function: Hàm không có.

          • - Bad function: Hàm sai.

          • - Too many arguments: Thừa tham số.

          • - Too few arguments: Thiếu tham số.

          • - Misplaced close paren: Thừa dấu ngoặc đóng/ Thiếu dấu ngoặc mở.

          • - EOF reached beore expression end: Thừa dấu ngoặc mở/ Thiếu dấu ngoặc đóng.

          • - Not a number: Đối số của hàm phải là một số.

          • - Bad argument type: Kiểu của tham số sai.

      • 9.1 TỔNG QUAN

        • 9.1.1 Mục tiêu

        • 9.1.2 Nội dung cốt lõi

        • 9.1.3 Kiến thức cơ bản cần thiết

      • 9.2 GIỚI THIỆU VỀ LẬP TRÌNH LOGIC

      • 9.3 NGÔN NGỮ PROLOG

        • 9.3.1 Giới thiệu

        • 9.3.2 Các yếu tố cơ bản của Turbo Prolog

          • Đối tượng

          • Quan hệ giữa các đối tượng

          • Sự kiện và luật

        • 9.3.3 Cấu trúc của một chương trình Prolog

          • Phần Domains

          • Phần Predicates

          • Phần Clauses

          • Phần Goal

          • Một số ví dụ về chương trình prolog

        • 9.3.4 Các nguyên tắc của ngôn ngữ Prolog

          • Đồng nhất

          • Quay lui

        • 9.3.5 Bộ ký tự, từ khoá

        • 9.3.6 Các kiểu dữ liệu

          • Kiểu dữ liệu chuẩn

          • Các kiểu dữ liệu do người lập trình định nghĩa

        • 9.3.7 Các hàm xuất nhập chuẩn

          • Xuất ra màn hình

          • Nhập vào từ bàn phím

        • 9.3.8 Kỹ thuật đệ quy

Nội dung

Những yếu tố sau tạo nên một ngôn ngữ tốt, nó cũng là những tiêu chuẩn để người lập trình đánh giá ngôn ngữ này tốt hơn ngôn ngữ kia khi lựa chọn một ngôn ngữ để sử dụng. Ngoài ra khi thiết kế một ngôn ngữ lập trình mới, ta cũng phải quan tâm đến các tiêu chuẩn này để có được một

h a n g e Vi e y N c 1.4.5 Tạo tiền đề để thiết kế ngôn ngữ Việc thiết kế ngơn ngữ địi hỏi khoa học phát triển NNLT Nếu khơng nghiên cứu NNLT khơng thể có kiến thức để xây dựng ngôn ngữ 1.5 CÁC TIÊU CHUẨN ÐÁNH GIÁ MỘT NGƠN NGỮ LẬP TRÌNH TỐT Những yếu tố sau tạo nên ngôn ngữ tốt, tiêu chuẩn để người lập trình đánh giá ngơn ngữ tốt ngơn ngữ lựa chọn ngôn ngữ để sử dụng Ngồi thiết kế ngơn ngữ lập trình mới, ta phải quan tâm đến tiêu chuẩn để có ngơn ngữ tốt 1.5.1 Tính dễ đọc Tính dễ đọc NNLT dễ dàng đọc hiểu chương trình viết ngơn ngữ Tính dễ đọc đặc trưng thuộc tính sau: 1.- Sự giản dị Một ngơn ngữ gọi có tính giản dị ngơn ngữ có thành phần sở, tức yếu tố định nghĩa trước Các ngơn ngữ mà đạt phép tốn nhiều cách khác khơng phải ngôn ngữ giản dị Chẳng hạn ngôn ngữ C để tăng thêm đơn vị cho biến count ta sử dụng nhiều cách count = count + 1, count += 1, count++ ++count Các phép tốn chồng (overload) làm cho ngơn ngữ trở nên phức tạp Chẳng hạn tốn tử + hiểu cộng hai số nguyên, cộng hai số thực, hợp hai tập hợp hay ghép nối hai chuỗi ký tự 2.- Cấu trúc điều khiển Các lệnh có cấu trúc cho phép viết chương trình sáng sủa, dễ đọc, dễ hiểu Chúng ta nhận thấy điều ngôn ngữ thuộc thập niên 1960 BASIC, FORTRAN thiếu cấu trúc điều khiển nên chương trình phải sử dụng nhiều lệnh GOTO, khó theo dõi để hiểu chương trình Ta so sánh hai đoạn chương trình in hình 10 số tự nhiên viết ngơn ngữ BASIC (khơng có lệnh cấu trúc FOR) ngôn ngữ Pascal Viết BASIC 10 20 30 40 50 60 Viết Pascal i=1; IF i>10 THEN GOTO 60; PRINT i ; i=i+1; GOTO 20; PRINT “In xong”; FOR i:=1 TO 10 DO Writeln(i); Writeln(‘In xong’); 3.- Kiểu liệu cấu trúc liệu Xem xét kiểu liệu cấu trúc liệu ngơn ngữ góp phần đánh giá ngơn ngữ đọc hay khơng Chẳng hạn ngơn ngữ khơng có kiểu liệu logic phải sử dụng kiểu số để thay mà chương trình trở nên khó đọc Ví dụ ta hay sử dụng biến found chương trình tìm kiếm phần tử x mảng a gồm n phần tử Nếu ngơn ngữ sử dụng có kiểu logic ta gán cho found giá trị TRUE FALSE để biểu diễn trạng thái tìm thấy phần tử cần tìm hay khơng, ngược lại ngơn ngữ khơng có kiểu logic ta phải dùng kiểu số gán cho found giá trị Ta so sánh hai đoạn chương trình sau để xem đoạn chương trình dễ hiểu bu to k d o m o o c u -tr a c k w lic w w w d o Chương I: Mở đầu m C lic k to bu Ngơn ngữ lập trình w w w C y N O W ! XC er O W F- w PD h a n g e Vi e ! XC er PD F- c u -tr a c k c h a n g e Vi e c u -tr a c k w y N c found := 0; i := 1; While (i

Ngày đăng: 10/05/2021, 23:42

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN