TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCMTRUNG TÂM TIN HỌC Ngôn ngữ lập trình Programming Language • Khái niệm • Ngôn ngữ trung gian của Microsoft • Các đặc điểm của ngôn ngữ lập trình...
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 3TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Khái niệm
ể
• Quá trình phát triển
Trang 4TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
− Trong các trường hợp xác định thì lập trình còn được gọi g g p p g
là "viết mã" cho chương trình máy tính
Trang 5TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 6TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình tuyến tính (Linear Programming)
− Các bước giải thích họat động của lập trình tuyến tính:
• Bắt đầu chưong trình (Start the program)
• Đọc dữ liệu từ người dùng hoặc từ tập tin
• Đọc dữ liệu từ người dùng hoặc từ tập tin
• Xử lý dữ liệu (Process the data)
• Hiển thị kết quả (Display the results) ị q ( p y )
• Thoát (Exit) khỏi chương trình hoặc quay lui vòng lặp (loop back) tới bước 2
Trang 7TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Does user more data
No
Yes
Trang 8TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
− Có 3 cấu trúc để xây dựng chương trình:
• Tuần tự (Sequence)
• Ch l (S l ti )
• Chọn lựa (Selection)
Trang 9TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 10TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming)
ấ
− Sự chọn lựa (Selection) : là một cấu trúc chọn lựa rẽ
nhánh có điều kiện (conditional) Tùy thuộc vào biểu thức Test Condition mà luồng chương trình sẽ quyết định rẽ sang nhánh Path 1 hay rẽ sang nhánh Path 2
Path 1
Conditio n
Path 2
Trang 11TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming)
− Lặp (Iteration): các bước thực hiện chương trình sẽ
được lặp liên tục cho đến khi việc kiểm tra điều kiện đạt được mong chờ nào đó
Repeated Steps
Test Conditio n
Trang 12TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình cấu trúc (Structured Programming)
− Ưu điểm so với lập trình tuyến tính
• Logic chương trình dễ hiểu
• Các module khác nhau của chương trình có thể được viết bởi
• Các module khác nhau của chương trình có thể được viết bởi những người lập trình khác nhau
• Do sự phân rả các xử lý độc lập với nhau, tất cả những gì bên trong xử lý là hộp đen đối với bên ngoài (tính địa phương hóa
trong xử lý là hộp đen đối với bên ngoài (tính địa phương hóa localization) nên dễ dàng kiểm tra phát hiện lỗi.
-• Thời gian lập trình được giảm bớt.
Trang 13TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented
Programming)
Programming)
− Chương trình sẽ được tách thành nhiều lớp, mỗi lớp
gồm có dữ liệu (biến) và phương thức (hàm) xử lý dữ
Trang 14TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng đối tượng (Object Oriented
Programming)
Programming)
Trang 15TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 16TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
có thể có thêm những thuộc tính, phương thức riêng
Trang 17TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 18TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Loại bỏ được các đoạn chương trình trùng lắp
• Chương trình được xây dựng theo quy trình, rút ngắn được thời gian
ổ
• Xây dựng chương trình an toàn không bị thay đổi bởi các đoạn chương trình khác (thông tin đã được che dấu nhờ kỹ thuật đóng gói)
• Dễ dàng mở rộng và nâng cấp thành các hệ thống lớn hơn
Trang 19TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
− Chương trình hướng sự kiện làm việc theo dạng thụ
động (passively) chờ cho một sự kiện xảy ra và kích hoạt (activate)
(activate)
Trang 20TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình hướng sự kiện (Event-Driven
Programming)
Programming)
Trang 21TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Các sự kiện hệ thống (System Events) Các sự kiện hệ thống (System Events)
• Các sự kiện điều khiển (Control Events)
Trang 22TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Lập trình (Programming)
• Lập trình trực quan (Visual Programming)
Trực tiếp tạo ra các khung giao diện (interface) ứng
− Trực tiếp tạo ra các khung giao diện (interface), ứng
dụng thông qua các thao tác trên màn hình dựa vào các đối tượng (object) như hộp hội thoại hoặc nút điều khiển (control button)
− Ít khi phải tự viết các lệnh, tổ chức chương trình một cách rắc rối mà chỉ cần khai báo việc gì cần làm khi một tình huống xuất hiện
tình huống xuất hiện
− Có thể được thực hiện bằng cách sử dụng ngôn ngữ lập trình trực quan (Visual Programming Language) hoặc
một môi trường lập trình trực quan (Visual Programming
Trang 23TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 24TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chương trình (Program)
• Khái niệm
• Phân loại
Trang 25TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chương trình (Program)
• Khái niệm
− Tập hợp các chỉ thị được biểu thị nhờ ngôn ngữ lập trình
để thực hiện các thao tác nào đó thông qua một chương trình
− Chương trình (program) được viết cho máy tính nhằm giải quyết một vấn đế nào đó gọi là phần mềm máy tính
Trang 26TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 27TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Chương trình (Program)
• Phân loại theo khả năng áp dụng
− Phần mềm đóng gói (Phần mềm không phụ thuộc)
− Phần mềm viết theo đơn đặt hàng
Trang 28TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 29TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Trang 30TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Khái niệm
• Ngôn ngữ trung gian của Microsoft
• Các đặc điểm của ngôn ngữ lập trình
Trang 31TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
− Thuật ngữ ngôn ngữ lập trình thường được dùng đểThuật ngữ ngôn ngữ lập trình thường được dùng để
ám chỉ đến các ngôn ngữ cấp cao, ví dụ như BASIC,
C, C++, Pascal, …
− Các ngôn ngữ lập trình có tính dễ hiểu, gần gũi với
ngôn ngữ con người hơn so với ngôn ngữ máy tính (machine languages)
Trang 32TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Khái niệm
− Có thể sử dụng bất kỳ ngôn ngữ lập trình nào Tuy
nhiên khi thực thi đều phải chuyển thành ngôn ngữ máy để máy tính có thể hiểu
− Chuyển đổi qua ngôn ngữ máy có thể sử dụng:
• Chương trình biên dịch (compile the program) hay còn gọi là
t ì h biê dị h
trình biên dịch
• Chương trình thông dịch (interpret the program) hay còn gọi
là trình thông dịch
Trang 33TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
− Là một đơn vị xử lý trung tâm tập hợp các lệnh độc lập
có thể được chuyển đổi một cách hiệu quả tới mã máy ợ y ộ ệ q y
− Bao gồm các lệnh nạp (loading), lưu trữ (storing), khởi tạo (initializing) và gọi các phương thức trên các đối tượng Ngoài ra nó còn bao gồm các lệnh tính toán số
tượng Ngoài ra, nó còn bao gồm các lệnh tính toán số học và logic, điều khiểu luồng chương trình (control
flow), điều khiển truy xuất bộ nhớ, kiểm soát exception,
Trang 34TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
− Khi một mã lệnh đơn lẻ được người lập trình viết xong,
nó sẽ được biên dịch bởi trình biên dịch Sau khi được ợ ị ị ợbiên dịch mã lệnh được chuyển đổi thành tập tin dạng EXE/DLL Kết quả này được hiểu là “đơn vị chương trình được quản lý - Managed Module” Trên thực tế ợ q ý g ựManaged Module được hiểu như là Assembly, nó bao gồm ngôn ngữ trung gian (Intermediate Language (IL) )
và thông tin về dữ liệu (siêu dữ liệu - Metadata) g ệ ( ệ )
Trang 35TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
− Metadata được trình biên dịch sinh ra, nó mô tả các
kiểu trong mã lệnh, và định nghĩa mỗi kiểu, chữ ký của g ệ , ị g , ýmỗi thành viên kiểu, các thành viên được tham chiếu bởi mã lệnh, và dữ liệu khác được sử dụng bởi bộ runtime tại thời điểm thực thi ạ ự
Trang 36TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
Trang 37TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
− Trước khi MSIL có thể được thực thi, nó phải được
chuyển đổi lần nữa bởi trình biên dịch Just In Time y ị(JIT) tới mã máy (native code) Trình biên dịch JIT được cung cấp bởi bộ vận hành ngôn ngữ chung (Common Language Runtime) cho mỗi kiến trúc CPU
được hỗ trợ
Trang 38TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft (Microsoft
Intermediate Language – MSIL)
− Trình biên dịch JIT chỉ chạy khi có yêu cầu Khi một
phương thức được gọi, JIT phân tích IL và sinh ra mã
máy tối ưu cho từng loại máy JIT có thể nhận biết mã nguồn đã được biên dịch chưa, để có thể chạy ngay ứng dụng hay phải biên dịch lại g ụ g y p ị ạ
Trang 39TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Ngôn ngữ trung gian của Microsoft
− Tiến trình thực thi mã nguồnTiến trình thực thi mã nguồn
Source Code Class Loader
Class Libraries
Native Code EXE/DLL
Assembly(IL+ Execution
Trang 40TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ngôn ngữ lập trình (Programming Language)
• Các đặc điểm của ngôn ngữ lập trình
− Mỗi ngôn ngữ lập trình có thể được xem như là một
tập hợp của các chi tiết kỹ thuật chú trọng đến cú pháp,
từ vựng và ý nghĩa của ngôn ngữ
− Những chi tiết kĩ thuật này thường bao gồm:
• Dữ liệu và cấu trúc dữ liệu
• Câu lệnh và dòng điều khiển
• Các tên và các tham số
• Cá hế th khả à tái ử d
• Các cơ chế tham khảo và sự tái sử dụng
Trang 41TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Khái niệm
• Cách tạo một trình ứng dụng dạng Console
Application
Trang 42TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Khái niệm
Ứ
− Ứng dụng dạng Console Application thi hành tại màn
hình dấu nhắc lệnh DOS (hay Command Windows)
và sự tương tác của nó với người dùng giới hạn
ấ
trong nhập xuất dạng văn bản
− Ứng dụng được xây dựng một cách dễ dàng, không
quan tâm tới giao diện phải được thiết kế như thếquan tâm tới giao diện phải được thiết kế như thế nào
Trang 43TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Bước 1: Chọn Start Æ All Programs Æ Microsoft
Visual Studio 2005 Æ Microsoft Visual Studio 2005
Trang 44TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Bước 2: Từ cửa sổ Start Page – Microsoft Visual
Studio Æ File Æ New Æ Project j
Trang 45TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Bước 3: Tại cửa sổ New Project Æ Visual C# Æ
Console Application và thiết lập các thông tin:pp ập g
• Name
• Location
• Solution Name
Trang 46TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
Trang 47TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Bước 4: nhấn nút OK để tạo ứng dụng
Trang 48TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
Trang 49TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
Trang 50TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
− Nhận thông tin nhập vào từ bàn phím: sử dụng các
phương thức của Console:
• ReadLine
• ReadLine
Trang 51TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Lưu ý: tất cả mọi giá trị nhập vào từ bàn phím thông
qua phương thức ReadLine đều có kiểu chuỗi
Trang 52TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Ví dụ:
Trang 53TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Ứng dụng dạng Console (Console Application)
• Cách tạo một trình ứng dụng dạng Console
Application
− Các cách khai báo phương thức Main
• Trả về kiểu void Trả về kiểu void
• Trả về kiểu int
• Trả về kiểu void và nhận các tham số
• Trả về kiểu int và nhận các tham số
Trang 54TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC