You are on page 1of 10

Nhã Nguyễn 8/19/2021

Kỹ thuật Lập trình (CKT)


PROGRAMMING FOR ENGINEERINGS

TS. Nguyễn Thanh Nhã


Email: nhanguyen@hcmut.edu.vn
Phone: 0908.56.81.81; FB: Nhã Nguyễn
https://www.researchgate.net/profile/Nguyen-Nha
https://scholar.google.com/citations?hl=en&authuser=1&user=nEO-IyIAAAAJ

Department of Engineering Mechanics – HCMUT 2021

NỘI DUNG CHÍNH

0. Giới thiệu môn học

1. Giới thiệu về máy tính và lập trình

2. Giới thiệu về ngôn ngữ Python

3. Các kiểu dữ liệu phổ biến

4. Các cấu trúc điều khiển

5. Hàm và module trong Python

6. Lập trình hướng đối tượng

7. Numerical Analysis with Python (Numpy - Matplotlib)

8. Graphical user interface (GUI)

9. File input / output


Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 1
Nhã Nguyễn 8/19/2021

Chương 2

Giới thiệu về Python

Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Ngôn ngữ Python

• Python là một ngôn ngữ lập trình thông dịch


do Guido van Rossum tạo ra năm 1990.
• Python hoàn toàn tạo kiểu động và dùng cơ
chế cấp phát bộ nhớ tự động; do vậy nó
tương tự như Perl, Ruby, Scheme,
Smalltalk, và Tcl.
• Python được phát triển trong một dự án mã
mở, do tổ chức phi lợi nhuận Python
Software Foundation quản lý.

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 2
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Một số tính chất của Python

• Python is Interpreted: Nhờ chức năng thông dịch mà trình


thông dịch (Interpreter) của Python có thể xử lý lệnh tại thời
điểm chạy chương trình (runtime). Nhờ đó mà ta không cần
biên dịch chương trình trước khi thực hiện nó (tương tự như
Perl và PHP).

• Python is Interactive: Tính năng tương tác của Python giúp


ta có thể tương tác trực tiếp với trình thông dịch của nó ngay
tại dấu nhắc lệnh. Cụ thể: Ta có thể thực hiện lệnh một cách
trực tiếp tại dấu nhắc của Python.

Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Một số tính chất của Python

• Python is Object-Oriented: Python hỗ trợ mạnh cho phong


cách lập trình hướng đối tương và kỹ thuật lập trình gói mã
trong đối tượng.

• Python is a Beginner's Language: Mặc dầu Python được


xem là ngôn ngữ lập trình dành cho những ai mới làm quen
với việc lập trình trên máy tính, nhưng nó hỗ trợ mạnh cho
việc phát triển nhiều loại ứng dụng khác nhau, từ các
chương trình xử lý văn bản đơn giản đến các ứng dụng web,
đến các chương trình game,…

Tham khảo thêm:


https://www.python.org/
https://en.wikipedia.org/wiki/Python_(programming_language)

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 3
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Một số đặc điểm của Python


• Ngữ pháp đơn giản, dễ đọc.
• Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng
(object-oriented)
• Hỗ trợ module và hỗ trợ gói (package);
• Xử lý lỗi bằng ngoại lệ (Exception)
• Kiểu dữ liệu động ở mức cao.
• Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả
các nhu cầu lập trình.
• Có khả năng tương tác với các module khác viết trên C/C++
(Hoặc Java cho Jython, hoặc .Net cho IronPython).
• Cài đặt Python dùng giấy phép nguồn mở nên được sử dụng và
phân tối tự do, ngay cả trong việc thương mại. Giấy phép Python
được quản lý bởi Python Software Foundation.
Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Một số đặc điểm của Python


Xu hướng sử dụng Python trong giảng dạy KHMT ở các trường đại học Mỹ

Tham khảo thêm:


http://o7planning.org/vi/11385/gioi-thieu-ve-python
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 4
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Các tác vụ chính
• Soạn thảo mã nguồn:
 Là câu lệnh hoặc tập hợp nhiều dòng lệnh trong tập tin dạng
text
 Có thể dùng Notepad hoặc trình soạn thảo chuyên dụng

• Gọi trình thông dịch Python

• Trình thông dịch sẽ chuyển chương trình sang mã máy và máy


tính sẽ thực thi chương trình

Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Dữ liệu và Giải thuật

Quan điểm về chương trình


• Chương trình là tập hợp những chuỗi lệnh được xây dựng bởi các
cấu trúc điều khiển để xử lý dữ liệu

Hai yếu tố quan trọng cấu thành chương trình


1. Dữ liệu và cấu trúc để tổ chức dữ liệu

2. Giải thuật xử lý: cách thức tổ chức, sắp xếp các chuỗi lệnh để
thực hiện các tác vụ mong muốn

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 5
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Hệ thống kiểu dữ liệu trong Python
• Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing
(tự động xác định kiểu). Có nghĩa là, Python không kiểm tra các
ràng buộc về kiểu dữ liệu tại thời điểm dịch, mà là tại thời điểm
thực thi.
 Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì
có nghĩa là đối tượng đó không sử dụng một kiểu thích hợp.
• Python cũng là một ngôn ngữ định kiểu mạnh.
 Cấm mọi thao tác không hợp lệ, ví dụ cộng một con số vào
chuỗi ký tự.

• Sử dụng Python, không cần phải khai báo biến.


 Biến được xem là đã khai báo nếu nó được gán một giá trị lần
đầu tiên. Căn cứ vào mỗi lần gán, Python sẽ tự động xác định
kiểu dữ liệu của biến.
Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Hệ thống kiểu dữ liệu trong Python
• Python có một số kiểu dữ liệu thông dụng sau:
 int, long: số nguyên
 float: số thực
 complex: số phức. VD: 5+4j
 list: dãy trong đó các phần tử của nó có thể khác kiểu nhau và
có thể thay đổi
 VD: [8, 2, 'b', -1.5]

 tuple: tương tự list nhưng các phần tử của nó không thể thay
đổi
 str: chuỗi ký tự, chuỗi ký tự được đặt trong dấu nháy đơn,
hoặc nháy kép

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 6
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Hệ thống kiểu dữ liệu trong Python
Kiểu dữ liệu Mô tả Ví dụ
int, long số nguyên 1, 6, ‐250
float số thực 1.05, ‐57.0
complex số phức 5+4j
list dãy trong đó các phần tử của nó có thể [8, 2, 'b', -1.5]
khác kiểu nhau và có thể thay đổi
tuple tương tự list nhưng các phần tử của nó
không thể thay đổi
str chuỗi ký tự, chuỗi ký tự được đặt trong ‘student’, ’ku20ckt’
dấu nháy đơn, hoặc nháy kép
dict từ điển, còn gọi là "hashtable": là một cặp {1: "Python", 2:
các dữ liệu được gắn theo kiểu {từ khóa: "Pascal"}
giá trị}, trong đó các từ khóa trong một từ
điển nhất thiết phải khác nhau.
set một tập không xếp theo thứ tự, ở đó, mỗi
phần tử chỉ xuất hiện một lần
Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Hệ thống kiểu dữ liệu trong Python
 dict: từ điển, còn gọi là "hashtable": là một cặp các dữ liệu
được gắn theo kiểu {từ khóa: giá trị}, trong đó các từ khóa
trong một từ điển nhất thiết phải khác nhau.

 VD: {1: "Python", 2: "Pascal"}

 set: một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất
hiện một lần

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 7
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Giải thuật
• Giải thuật là gì?
 Là các bước để giải quyết một bài toán
• Làm thế nào để có giải thuật tốt?
 Chuẩn bị tốt kế hoạch cho giải thuật

 Một kế hoạch tốt giúp người lập trình:


o Định hướng đúng các bước cần thiết,
tổ chức tốt dữ liệu
o Giao tiếp tốt với đồng nghiệp khi làm
việc chung
 Kế hoạch không tốt làm
chương trình hoạt động không
hiệu quả, kết quả sai, cấu trúc
rối rắm như 'spaghetti code'
Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Công cụ mô tả giải thuật
• Dùng Flowchart

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 8
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Công cụ mô tả giải thuật

• Dùng ‘pseudo code’ (mã giả)

• Mã giả là ngôn ngữ nháy (bắt chước) theo một ngôn ngữ lập
trình nào đó nhưng không bị ràng buộc bởi quy định nào của
cú pháp; gần với ngôn ngữ tự nhiên
• Mã giả tốt nên:
 Không cụ thể với 1 ngôn ngữ lập trình nào
 Phác thảo được cấu trúc của code
 Người đọc có thể hiểu

VD: if number <= 10 then


ouput small number sentence

Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Công cụ mô tả giải thuật

• Dùng chính mã lập trình


• Chỉ nên dùng để trao đổi giữa những người có cùng chuyên
môn với nhau
• Có thể chuyển ngữ dễ dàng và có chương trình thực thi ngay

• Không nên dùng mã này để trình bày cho các đối tượng
người dùng không chuyên nghiệpKhông cụ thể với 1 ngôn
ngữ lập trình nào

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 9
Nhã Nguyễn 8/19/2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Module trong Python

• Python cho phép chia chương trình thành các module để có thể
sử dụng lại trong các chương trình khác.
• Python cũng cung cấp sẵn một tập hợp các modules chuẩn mà
lập trình viên có thể sử dụng lại trong chương trình của họ.
• Các module này cung cấp nhiều chức năng hữu ích, như các
hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình mạng
(socket),…

VD: module tính toán vector, ma trận có thể dung chung trong các
chương trình tính toán đại số và các chương trình phần tử hữu hạn

Department of Engineering Mechanics – HCMUT 2021

Chương 2. Giới thiệu về Python PROGRAMMING FOR ENGINEERS

Lập trình Python


Multiple paradigms (đa biến hóa)

• Python là một ngôn ngữ đa biến hóa (multiple paradigms). Có nghĩa là,
thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập
trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác
nhau: hướng đối tượng, có cấu trúc, chức năng, hoặc chỉ hướng đến
một khía cạnh.
• Python là ngôn ngữ kiểu động và sử dụng bộ thu gom rác để quản lý bộ
nhớ.

• Một đặc điểm quan trọng nữa của Python là giải pháp tên động, kết nối
tên biến và tên phương thức lại với nhau trong suốt thực thi của chương
trình.

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcut.edu.vn 10

You might also like