Tải bản đầy đủ (.pdf) (5 trang)

Tổng quan kỹ thuật lập trình chương 1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (540.9 KB, 5 trang )

3/10/2015

Nội dung








TỔNG QUAN VỀ KỸ THUẬT LẬP
TRÌNH
Mục tiêu: Cung cấp kiến thức tổng thể và cơ
bản về các phương pháp, kỹ thuật lập trình;
quy trình xây dựng chương trình; ngơn ngữ lập
trình; mơi trường lập trình; quy ước lập trình B

Tổng quan
Các nguyên tắc cơ bản của lập trình
Vấn đề tối ưu hóa chương trình
Phương pháp lập trình
Các mức ngơn ngữ lập trình
Mơi trường và cơng cụ lập trình
Tổng kết
2

Tổng quan

Tổng quan


• Chương trình
– Chuỗi lệnh + dữ liệu
– Cấu trúc dữ liệu + giải thuật được bao hàm trong chuỗi
lệnh
• Chương trình là một thể hiện cụ thể của một giải thuật trên một
ngơn ngữ lập trình nào đó cùng với những mô tả về cấu trúc dữ
liệu mô tả đầu vào, đầu ra của bài toán

– Thực hiện một chức năng, nhiệm vụ hay giải quyết một
vấn đề cụ thể

• Phần mềm
– Chuỗi lệnh + dữ liệu + tài liệu liên quan
– Phần mềm thực hiện chức năng bằng cách gửi các câu lệnh
trực tiếp đến phần cứng hoặc yêu cầu thực hiện bởi một
phần mềm khác

Phần mềm = chương trình + tài liệu

• Lập trình
– Là q trình cài đặt các thuật tốn có liên quan với
nhau bằng một hoặc nhiều ngơn ngữ lập trình để tạo
ra một chương trình

• Lập trình phần mềm
– Là lập trình tạo ra một phần mềm
– Phần mềm được thực thi bởi CPU

• Lập trình phần cứng
– Là q trình cài đặt thuật toán theo một mạch phần

cứng
– Thiết kế, chế tạo mạch phần cứng để giải quyết bài
tốn

3

4

Tổng quan

Tổng quan

• Kỹ thuật lập trình (phần mềm)
– Là kỹ thuật thực thi một giải pháp phần mềm (cấu
trúc dữ liệu + giải thuật) dựa trên nền tảng một
phương pháp luận (methodology) và một hoặc nhiều
ngơn ngữ lập trình phù hợp với u cầu đặc thù của
ứng dụng

• Kỹ thuật lập trình
= Tư tưởng thiết kế + Kỹ thuật mã hóa
= Cấu trúc dữ liệu + Giải thuật + Ngơn ngữ lập
trình
5

• Phương pháp: là cách thức tiến hành cơng việc để
có hiệu quả cao
• Phương pháp luận: là một tập các phương pháp
được sử dụng hoặc một bộ môn khoa học nghiên
cứu các phương pháp đó

• Trong phát triển phần mềm, phương pháp luận
được sử dụng trong:





Phân tích
Thiết kế
Lập trình
Kiểm thử, …
6

1


3/10/2015

Tổng quan

Tổng quan

• Thế nào là lập trình tốt

• Thế nào là lập trình tốt

– Đúng/chính xác

– Độ tương thích: khả năng tương thích với các mơi
trường khác nhau

– Hiệu suất

• Thỏa mãn đúng các nhiệm vụ đặt ra

– Ổn định và bền vững
• Chạy ổn định
• Ít lỗi
• Khả năng chịu lỗi cao (mức độ lỗi nhẹ có thể chấp nhận)

• Nhỏ, gọn, sử dụng ít bộ nhớ
• Tốc độ nhanh, sử dụng ít thời gian CPU

– Hiệu quả

– Khả năng chỉnh sửa cao






• Dễ chỉnh sửa
• Dễ thay đổi, nâng cấp

– Khả năng tái sử dụng

Thời gian lập trình ngắn
Khả năng bảo trì dễ dàng
Giá trị tái sử dụng lớn
Đơn giản, thân thiện, nhiều tiện ích


7

8

Tổng quan

Tổng quan

• Làm sao để lập trình tốt

• Ngơn ngữ lập trình

– Học cách tư duy và phương pháp lập trình
• Tư duy tốn học, tư duy logic, tư duy có cấu trúc, tư duy
hướng đối tượng, tư duy tổng qt
• Tìm hiểu về cấu trúc dữ liệu và giải thuật
– ƒHiểu sâu về máy tính
• Tương tác giữa CPU, chương trình và bộ nhớ
• Cơ chế quản lý bộ nhớ
– ƒNắm vững ngơn ngữ lập trình
• Biết rõ các khả năng và hạn chế của ngơn ngữ
• Cần học sâu, bản chất một ngơn ngữ lập trình
– ƒTự rèn luyện trên máy tính
• Hiểu sâu được các điểm nêu trên
• Rèn luyện kỹ năng lập trình
• Thúc đẩy sáng tạo

– Là ngơn ngữ dùng để viết chương trình
– Bao gồm: bộ ký tự, từ tố (tên, từ khóa), cú pháp,

ngữ nghĩa

• Cơng cụ lập trình
– Cơng cụ soạn thảo, chương trình dịch, cơng cụ gỡ
lỗi, cơng cụ mơ phỏng

• Mơi trường phát triển tích hợp (IDE)
– Bộ phần mềm tích hợp các cơng cụ lập trình
9

10

Tổng quan

Tổng quan
• Q trình xây dựng chương trình để giải bài tốn trên
máy tính

• Chương trình dịch
– Chuyển chương trình nguồn sang chương trình
đích

1.
2.
3.
4.

• Trình biên dịch
– Dịch tồn bộ chương trình nguồn thành chương
trình đích rồi sau đó mới thực hiện


Mơ tả bài tốn
Xác định, xây dựng cấu trúc dữ liệu
Xây dựng thuật toán
Soạn thảo, kiểm tra và hồn thiện chương trình

• Bài tốn tổng qt

Input => Output

• Trình thơng dịch

– Input: là giả thiết, điều kiện ban đầu, thông tin đã cho
– Output: là kết quả, là mục tiêu cần đạt hoặc cái phải tìm
– => là thuật tốn: suy luận, giải pháp được biểu diễn bằng
chuỗi các thao tác cần thực hiện để có được Output từ
Input

– Dịch và thực hiện từng câu lệnh
– Thường khơng tạo ra chương trình đích
11

12

2


3/10/2015

Các ngun tắc cơ bản của lập trình

• Một thuật tốn có các tính chất sau
– Tính chính xác: để đảm bảo kết quả tính tốn hay các thao
tác mà máy tính thực hiện được là chính xác.
– Tính rõ ràng: Thuật toán phải được thể hiện bằng các câu
lệnh minh bạch; các câu lệnh được sắp xếp theo thứ tự
nhất định.
– Tính khách quan: Một thuật tốn dù được viết bởi nhiều
người trên nhiều máy tính vẫn phải cho kết quả như nhau.
– Tính phổ dụng: Thuật tốn khơng chỉ áp dụng cho một bài
tốn nhất định mà có thể áp dụng cho một lớp các bài tốn
có đầu vào tương tự nhau.
– Tính kết thúc: Thuật tốn phải gồm một số hữu hạn các
bước tính tốn

Vấn đề tối ưu hóa chương trình
• Tối ưu hiệu năng
– Thường tập trung vào tốc độ thực thi

• Tối ưu bộ nhớ
– Giảm thiểu kích thước chương trình

• Tối ưu điện năng
– Giảm thiểu điện năng tiêu thụ của chương trình

• Tối ưu đa mục tiêu
– Cân bằng giữa các mục tiêu tối ưu

13

14


Phương pháp lập trình

Phương pháp lập trình
• Lập trình cấu trúc

• Lập trình tuần tự
– Phương pháp cổ ₫iển nhất, bằng cách liệt kê các lệnh
kế tiếp, mức trừu tượng thấp
– ƒKiểm sốt dịng mạch thực hiện chương trình bằng
các lệnh rẽ nhánh, lệnh nhảy, lệnh gọi chương t rình
con (subroutines)
– ƒVí dụ:





Ngơn ngữ máy,
ASSEMBLY
IL (Instruction List), STL (Statement List)
LD, LAD (Ladder Diagram)

– Cấu trúc hóa dữ liệu (xây dựng kiểu dữ liệu) và cấu
trúc hóa chương trình để tránh các lệnh nhảy.
– ƒPhân tích và thiết kế theo cách từ trên xuống (topdown)
– ƒThực hiện từ dưới lên (bottom-up)
– ƒu cầu của chương trình có cấu trúc: chỉ sử dụng các
– Cấu trúc điều khiển tuần tự, lựa chọn (if else), lặp
(while)

– ƒVí dụ:
• PASCAL, ALGO, FORTRAN, C,...
• SFC (Sequential Funtion Charts)
• ST (Structured Text)

15

16

Phương pháp lập trình

Phương pháp lập trình

• Lập trình mơ-đun (Module)

• Lập trình hướng đối tượng (OOP)

– Là một dạng cải tiến của lập trình có cấu trúc
– Chương trình được cấu trúc nghiêm ngặt hơn, dùng
đơn vị cấu trúc là mơ-đun.
– ƒMơ-đun:
• Là một đơn vị cấu trúc độc lập, được chuẩn hóa để tạo lập
một hệ thống
• Mỗi mơ-đun gồm phần giao diện (cơng khai) và phần thực
thi (che giấu)
• Các mơ-đun giao tiếp với nhau thông qua các giao diện được
đặc tả chính xác

– ƒVídụ:
• Modula-2

17

– Xây dựng chương trình ứng dụng theo quan điểm dựa
trên các cấu trúc dữliệu trừu tượng (lớp), các thể hiện
của các cấu trúc ₫ó (₫ối tượng) và quan hệ giữa chúng
(quan hệ lớp, quan hệ ₫ối tượng).
– ƒNgun lý cơ bản:





Trừu tượng (abstraction)
Đóng gói dữliệu (data encapsulation)
Thừa kế (inheritance)
Đa hình (polymorphism)

– ƒVí dụ:
• C++ (lai, cả OOP và cấu trúc), C#
• Java,
• ADA

18

3


3/10/2015

Phương pháp lập trình


Phương pháp lập trình

• Lập trình tổng quát (generic programming)
– Một tư duy lập trình mở, trên quan điểm tổng
qt hóa tất cả những gì có thể nhằm đưa ra một
khuôn mẫu giải pháp cho nhiều bài tốn
– ƒƯu điểm:
• Giảm tối đa lượng mã nguồn
• Tăng khả năng tái sử dụng
• Tính khả chuyển cao

– Các ngơn ngữ hỗ trợ:
• C, C++
• Java
• C#...

• Lập trình thành phần (Component Based
Programming)
– Phương pháp xây dựng phần mềm dựa trên các thành
phần có sẵn, hoặc tạo ra các thành phần đó.
– ƒTiến hóa từ lập trình hướng đối tượng
– ƒHầu hết các ứng dụng Windows và ứng dụng Internet
ngày nay được xây dựng theo phương pháp luận này
– ƒCác ngơn hỗ trợ
• C/C++,C#
• Delphi, Visual Basic
• Script, HMTL, XML,

19


20

Phương pháp lập trình

Các loại ngơn ngữ lập trình

• Các phương pháp lập trình khác

• Ba loại: ngơn ngữ máy, hợp ngữ và ngơn ngữ
cấp cao
• Ngơn ngữ máy (machine language):

– Lập trình phân tán
• Tạo ra các ứng dụng phân tán trên các node tính tốn
khác nhau
• Có nhiều kỹ thuật thực hiện theo các mức trừu tượng
khác nhau

– Lập trình thời gian thực
• Xây dựng phần mềm đáp ứng tính năng thời gian thực
của hệ thống

– Lập trình lôgic (Prolog)

– Là các chỉ thị dưới dạng nhị phân, can thiệp trực
tiếp vào trong các mạch điện tử
– Thực hiện ngay, khơng cần qua bước trung gian
nào


• Hợp ngữ (assembly language)
• Ngơn ngữ cấp cao (High level language)

21

Các bước phát triển chương trình

22

Mơi trường và cơng cụ phát triển
• IDE (Integrated Development Environment)
– Hỗ trợ toàn bộ các bước phát triển chương trình
– Vídụ: MS Visual C++, Borland C++ (Builder), Keil-C

• ƒCác cơng cụ cần thiết trong mơi trường






23

Trình soạn thảo(Editor)
Trình biên dịch (Compiler)
Trình liên kết (Linker)
Trình nạp (Loader)
Trình gỡ rối (Debugger)
Trình quản lý dự án (Project Manager)
24


4


3/10/2015

Tổng kết
• Các khái niệm, vấn đề cốt yếu về
– Phần mềm, chương trình, lập trình, kỹ thuật lập
trình, phương pháp, biên dịch, thơng dịch
– Lập trình tốt, làm sao để lập trình tốt






Các ngun tắc cơ bản trong lập trình
Các bước phát triển chương trình
Các phương pháp lập trình phổ biến
Môi trường và công cụ
25

5



×