Xem mẫu
- Bài giảng
LÝ THUYẾT NGÔN NGỮ LẬP TRÌNH
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
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 2
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 3
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 4
- Nội dung môn học
Chương 1 Mở đầu
Chương 2 Tổng quan về trình biên dịch
Chương 3 Thuật toán và lưu đồ thuật toán
Chương 4 Các thành phần cơ bản của ngôn ngữ lập trình C
Chương 5 Kiểu dữ liệu
Chương 6 Biểu thức và phép gán
Chương 7 Các lệnh có cấu trúc
Chương 8 Chương trình con
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 5
- Chương 1
MỞ ĐẦU
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
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 7
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 8
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 9
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 10
- 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ã“
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 11
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 12
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 13
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 14
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 15
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 16
- 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)
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 17
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 18
- 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
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 19
- 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 Viết bằng C
...
10 i=1; for (i =1; i10 THEN GOTO 60; ...
30 PRINT i ;
40 i=i+1;
50 GOTO 20;
60 PRINT “In xong”;
ờng Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 20
nguon tai.lieu . vn