C4 - Gioi thieu ve lap trinh va ngon ngu lap trinh

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.

HCM
BỘ MÔN CÔNG NGHỆ PHẦN MỀM - KHOA CÔNG NGHỆ THÔNG TIN

CHƯƠNG 4
GIỚI THIỆU VỀ LẬP TRÌNH VÀ
NGÔN NGỮ LẬP TRÌNH

1
NỘI DUNG

1. Khái niệm chương trình và lập trình

2. Các loại lỗi

3. Các thế hệ ngôn ngữ lập trình

4. Giới thiệu Python

5. Môi trường cài đặt

2
1. Khái niệm chương trình và lập trình
• Đây là khóa học về lập trình và tư duy logic
• Khi bạn đã học lập trình bằng một ngôn ngữ, thì việc học một ngôn ngữ
khác, chẳng hạn như C ++, Java,… sẽ tương đối dễ dàng
• Lập trình là gì?
• Lập trình là viết các đoạn mã (code) máy tính tạo ra một chương
trình để giải quyết một vấn đề.
• Lập trình là việc chuyển thuật toán thành một chương trình để cho
máy tính biết chính xác phải làm gì và làm như thế nào.
• Tại sao phải học lập trình?
• Lập trình cung cấp cho bạn khả năng số hóa các ý tưởng của mình.
• Đây là kỹ năng quan trọng cho nhiều vị trí công việc trong lĩnh vực
CNTT

3
Khái niệm chương trình
• Chương trình là một chuỗi các lệnh được viết theo trình tự logic
để thực hiện một tác vụ cụ thể
• Chương trình có thể được thực thi bởi máy tính.
• Chương trình được tạo ra bởi một lập trình viên sử dụng ngôn ngữ
lập trình.

Design Phase 4 Implementation Phase


Khái niệm chương trình

• Một số lệnh cơ bản trong chương trình:


• input: Nhận dữ liệu từ bàn phím, tệp tin, mạng hoặc một số thiết bị
khác.
• output: Hiển thị dữ liệu trên màn hình, lưu thành tệp tin, gửi qua
mạng, …
• Các phép toán cơ bản.
• Kiểm tra các điều kiện.
• Vòng lặp: thực hiện một số hành động lặp đi lặp lại.

5
2. Các loại lỗi

• Bug là một lỗi trong chương trình.


• Lỗi có thể gây ra sự cố chương trình hoặc cung cấp kết quả không
chính xác.
• Debugging (gỡ lỗi): tìm ra lỗi và sửa chữa nó.
• Các loại lỗi:
• Lỗi cú pháp: Trình biên dịch/thông dịch không hiểu chương trình
và không thể thực thi
• Lỗi runtime: Lỗi xảy ra lại thời điểm thực thi, chương trình đang
chạy thì dừng đột ngột kèm theo thông báo lỗi.
• Lỗi ngữ nghĩa: Chương trình chạy mà không có thông báo lỗi,
nhưng làm không đúng những gì nó phải làm.

6
3. Các thế hệ ngôn ngữ lập trình
• Ngôn ngữ lập trình là ngôn ngữ để
tạo ra chương trình.
• Gồm bộ từ khóa, cú pháp, quy tắc
chỉ dẫn máy tính thực hiện các công
việc cụ thể.
• Các ngôn ngữ phổ biến nhất là:
Python, Java, Javascript, C / C ++,…
• Bậc của ngôn ngữ
• Tùy thuộc vào mức độ gần gũi của
chúng với ngôn ngữ máy tính sử
dụng (0s và 1s = low) hoặc với ngôn
ngữ con người sử dụng.

7
Các thế hệ ngôn ngữ lập trình

Ngôn ngữ thông


minh
Ngôn ngữ phi thủ 5GL
Ngôn ngữ thủ tục tục
3GL 4GL
Hợp ngữ
(Assembly)
2GL
Ngôn ngữ
máy
1GL

8
Bậc của ngôn ngữ

• Phụ thuộc máy tính Ngôn ngữ máy (1GL)


• Thực thi nhanh chóng
Bậc thấp
• Khó lập trình và gỡ lỗi Hợp ngữ (Assembly)(2GL)
• Code dài dòng
• Ngôn ngữ gần với ngôn ngữ Ngôn ngữ thủ tục (3GL)
của con người
• Thực thi chậm hơn Ngôn ngữ phi thủ tục (4GL)
Bậc cao
• Dễ dàng lập trình và gỡ lỗi hơn
• Code ngắn gọn hơn Ngôn ngữ thông minh (5GL)

9
1GL: Ngôn ngữ máy
• Ngôn ngữ duy nhất mà máy tính hiểu trực tiếp.
• Biểu diễn dữ liệu và chỉ dẫn chương trình dưới dạng chữ số nhị phân
(0 hoặc 1).
• Mỗi loại máy tính có ngôn ngữ máy riêng.
→Máy tính không thể hiểu các chương trình được viết bằng ngôn ngữ
máy khác.
• Ưu điểm:
• Code có thể chạy rất nhanh và hiệu quả, vì nó được thực thi trực tiếp
bởi CPU
• Nhược điểm:
• Khó đọc, viết và chỉnh sửa nếu có lỗi.
• Ngôn ngữ lập trình phụ thuộc vào phần cứng
• Không khả chuyển.

10
1GL: Ngôn ngữ máy

• Example: Chương trình cộng 2 số sử dụng ngôn ngữ máy

Location Instruction Code Instruction Code Instruction Comments


Hex Binary Hex
100 0010 0001 0000 0100 2104 LDA 104 Load first operand
into AC
101 0001 0001 0000 0101 1105 ADD 105 Add second
operand to AC
102 0011 0001 0000 0110 3106 STA 106 Store sum in
location 106
103 0111 0000 0000 0001 7001 HLT Halt computer
104 0000 0000 0101 0011 0053 operand 83 decimal
105 1111 1111 1111 1110 FFFE operand -2 decimal
106 0000 0000 0000 0000 0000 operand Store sum here

11
2GL: Hợp ngữ
• Là một ngôn ngữ ký hiệu sử dụng các ký hiệu để biểu diễn các lệnh
bằng ngôn ngữ máy.
• Một câu lệnh hợp ngữ bao gồm một nhãn, một mã phép toán và một
hoặc nhiều toán hạng.
• Kết nối chặt chẽ với ngôn ngữ máy và kiến trúc bên trong của hệ
thống máy tính.
• Một chương trình nguồn được viết bằng hợp ngữ cần một trình biên
dịch (assembler) để chuyển chúng thành ngôn ngữ máy.

12
2GL: Hợp ngữ
• Example: Chương trình cộng 2 số sử dụng hợp ngữ .

ORG 100 /Origin of program is location 100


LDA A /Load operand from location A
ADD B /Add operation form location B
STA C /Store sum in location C
HLT /Halt computer
A, DEC 83 /Decimal operand
B, DEC –2 /Decimal operand
C, DEC 0 /Sum stored in location C
END

• Ưu điểm:
• Hiệu quả về thời gian thực thi và sử dụng bộ nhớ
• Nhược điểm:
• Phụ thuộc vào máy → ít khả chuyển

13
3GL: Ngôn ngữ thủ tục
• Các câu lệnh của chương trình không liên quan chặt chẽ đến các đặc
tính bên trong của máy tính và được coi là các ngôn ngữ bậc cao.
• Giống ngôn ngữ tự nhiên / con người.
• Để biên dịch chương trình từ ngôn ngữ bậc cao sang ngôn ngữ máy
cần:
• Interpreter (Trình thông dịch)
• Compiler (Trình biên dịch)

14
3GL: Ngôn ngữ thủ tục
• Một số ngôn ngữ thủ tục: Pascal, C/C++, C#, Java, Cobol,…
• Ưu điểm:
• Khả chuyển
• Dễ đọc, viết, gỡ lỗi → lập trình viên có nhiều thời gian hơn để suy
nghĩ về logic chương trình tổng thể.
• Nhược điểm:
• Yên cầu biên dịch → Thực thi chậm hơn.
• Example: Chương trình cộng 2 số bằng ngôn ngữ C++

int a, b, c;
a = 83;
b = -2;
c = a + b;

15
4GL: Ngôn ngữ phi thủ tục
• Ngôn ngữ cấp độ rất cao
• Lập trình viên chỉ xác định những gì họ muốn máy tính làm, mà
không cung cấp tất cả các chi tiết về cách nó phải được thực hiện.
• Đoạn mã được viết bằng những câu gần giống tiếng Anh.
• Ví dụ của 4GL là ngôn ngữ truy vấn cho phép người dùng yêu cầu
thông tin từ cơ sở dữ liệu.
• Ưu điểm:
• Code dễ bảo trì hơn
• Nâng cao năng suất của các lập trình viên vì họ phải nhập ít dòng
code hơn để hoàn thành công việc.
• Việc đào tạo ngôn ngữ này sẽ nhanh chóng và dễ dàng
• Nhược điểm:
• Không sử dụng hiệu quả tài nguyên của máy.

16
4GL: Ngôn ngữ phi thủ tục
• Ví dụ ngôn ngữ phi thủ tục:
• SQL, QBE, Intellect,…

17
5GL: Ngôn ngữ thông minh
• 5GLs tập trung vào việc giải quyết các vấn đề bằng cách sử dụng
các ràng buộc được cung cấp cho chương trình, thay vì sử dụng
một thuật toán được viết bởi một lập trình viên.
• Chúng được sử dụng rộng rãi trong nghiên cứu trí tuệ nhân tạo.
• Ngôn ngữ dựa trên tri thức.
• Ví dụ 5GL: Prolog, OPS5, and Mercury.
• Giống với ngôn ngữ tự nhiên.

18
Lựa chọn ngôn ngữ lập trình

• Quyết định lựa chọn ngôn ngữ nào để sử dụng phụ thuộc
vào:
• Môi trường làm việc
• Tính phù hợp của tác vụ/vấn đề
• Tốc độ phát triển hoặc tốc độ thực thi
• Chuyên môn của lập trình viên
• …

19
4. Giới thiệu Python

• Python là một ngôn ngữ lập trình rất mạnh và dễ học.


• Miễn phí, mã nguồn mở.
• Chạy được ở mọi nơi.
• Cú pháp đơn giản, ngắn gọn, trực quan, thư viện phong phú.
→ Được sử dụng trong nhiều trường đại học cho các khóa học
nhập môn.
• Cộng đồng hỗ trợ lớn → dễ dàng tìm ra các giải pháp để giải
quyết các vấn đề
• Có nhiều cơ hội nghề nghiệp trong các lĩnh vực AI, Machine
learning, Data analytics, Big data, Programming applications, Web
development, Game, …

20
Giới thiệu Python
Giới Python được tạo ra bởi Guido van Rossum ở Hà
thiệu Lan vào năm 1990
Python
Một ngôn ngữ lập trình đa năng

Mã Python được dịch và thực thi bởi một trình


thông dịch (interpreter)

Một ngôn ngữ lập trình hướng đối tượng (OOP)


Một trong những dự án mã nguồn mở lớn nhất và
được tổ chức tốt nhất.
Được sử dụng bởi nhiều công ty/tổ chức lớn như
NASA, Google, Netflix, Spotify,…

Python có 2 phiên bản: Python 2 và Python 3

21
5. Môi trường cài đặt

• Cài đặt môi trường Anaconda gồm:


• Terminal running Python Interactively (Anaconda Prompt)
• Running Scripts (Spyder IDE)
• Jupyter Notebook
• Anaconda
• Là một platform mã nguồn mở hỗ trợ ngôn ngữ Python và R
• Tích hợp các packages/libraries dành cho lĩnh vực khoa học dữ liệu
• Được sử dụng rộng rãi để phân tích dữ liệu
• Có nhiều phiên bản cho các hệ điều hành Windows, Linux, and
MacOS

22
Download Anaconda

• Vào trang https://www.anaconda.com/products/individual


• Chọn hệ điều hành phù hợp → chọn phiên bản Python 3.7 trở lên
→ click Download

23
Cài đặt
• Mở file đã download và làm theo các bước hướng dẫn như bên
dưới

24
Cài đặt (tiếp theo)

25
Cài đặt (tiếp theo)

• Check vào “Add Anaconda to my PATH environment variable”


• Sau khi hoàn thành cài đặt → Click “Next” → Click “Next” →
“Finish”

26
Viết và thực thi chương trình Python

• Sử dụng một trong 3 công cụ sau để viết và thực thi:


• Anaconda Prompt
• Spyder IDE
• Jupyter Notebook

27
Sử dụng Anaconda Prompt
1. Click vào Start menu → Click folder “Anaconda3 (64-bit)” → chọn
Anaconda Prompt.
2. Gõ “python” và nhấn Enter
3. Bạn có thể gõ code Python sau dấu >>> và nhấn Enter
4. Để thoát khỏi Python, nhấn CTRL+Z

28
Sử dụng Anaconda Prompt
• Để chạy một chương trình Python có sẵn:
1. Sử dụng Notepad hoặc các trình soạn thảo khác → viết chương trình →
Lưu file with name: filename.py
2. Mở Anaconda prompt
3. Gõ lệnh: >python path-to-your-file

29
Sử dụng Spyder IDE
• Click vào Start menu → Click folder “Anaconda3 (64-bit)” → Chọn Spyder
• Viết chương trình vào trình soạn thảo → click nút Run or nhấn F5.
• Kết quả của chương trình hiển thị ở góc dưới bên phải của cửa sổ Console

30
Sử dụng Jupyter Notebook
1. Khởi động Jupyter Notebook
• Click vào Start menu → Click folder “Anaconda3 (64-bit)” → Chọn
Jupyter Notebook.
• Jupyter Notebook chạy trên trình duyệt mặc định

31
Sử dụng Jupyter Notebook

2. Tạo Notebook mới:


• Click vào nút New → chọn Python 3

32
Sử dụng Jupyter Notebook

3. Đổi tên Notebook


• Click vào tên hiện thời và gõ tên mới → Rename

33
Sử dụng Jupyter Notebook

4. Viết và thực thi lệnh


• Tại ô In[ ] , Gõ lệnh Python → nhấn Shift + Enter hoặc click nút
Run.

34
Sử dụng Jupyter Notebook
5. Lưu file
• Notebook is là file có đuôi
*.ipynb và mặc định được
lưu trong thư mục cài đặt
Anaconda3.
• Nếu muốn lưu file ra thư
mục khác:
• Click File → Download
as → Notebook (.ipynb)
• Hoặc chọn lưu file ra các
định dạng khác, such as
Python (.py), PDF,…

35
Sử dụng Jupyter Notebook
6. Upload một file vào
Jupyter notebook
• Click nút “Upload” → chọn file →
click “Upload” .

36
Sử dụng Jupyter Notebook
7. Thay đổi thư mục làm việc của Jupyter notebook
• Tạo thư mục tại vị trí mong muốn
• Run “Anaconda Prompt”
• Gõ command:
ipython notebook –notebook dir=/path/directory
• /path/directory: đường dẫn tới thư mục đã tạo (Chú ý chữ hoa
thường)

37
Sử dụng Python online
• http://www.pythontutor.com

38
Q&A

39

You might also like