NHẬP MÔN CNTT

You might also like

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

NHẬP MÔN CNTT

Chương 1: Tổng quan về công nghệ thông tin

Bài 1: Thông tin và xử lí thông tin


I. Thông tin – dữ liệu
1. Dữ liệu (Data)
- Là những mô tả cơ sở về các đối tượng, sk, hđ được tổ chức thu thập,
phân loại và lưu trữ nhưng chưa mang tải ý nghĩa để có giá trị sử dụng
- Là những con số, kí tự, hình ảnh
- Là những thông tin mang ý nghĩa
- Tập hợp các dữ liệu được tổ chức lưu trữ phục vụ nhu cầu truy cập là cơ sở
dữ liệu (database)
2. Thông tin (Information)
- Là khái niệm liên lĩnh vực => ngành khác nhau thì định nghĩa khác nhau
- Là dữ liệu được tổ chức theo có ý nghĩa và giá trị sd đối đối tượng nhận tin
- Giá trị của thông tin nằm ở khả năng thay đổi, quyết định của người nhận
tin => thông tin không có giá trị là thông tin không bị thay đổi sau khi nhận
- Mục đích: Lập KH học tập. kiểm tra, hỗ trợ đưa ra quyết đinh
- Các đặc trưng
• Tính chính xác (Accurate)
• Tính đầy đủ (Complete)
• Tính kinh tế (Cost-beneficial)
• Tính định hướng người sử dụng (User-targeted)
• Tính liên quan (Relevant)
• Tính tin cậy (Authoritative)
• Tính kịp thời (Timely)
• Tính dễ sử dụng (Easy to use)

 Kết luận: Thông tin: Trừu tượng & Có ý nghĩa nhất định với người nhận tin
Dữ liệu: Cụ thể, quan sát được

Dữ liệu → Xử lý → Thông tin


bằng hệ thống thông tin (HTTT) dữ liệu được biến đổi
II. Xử lí thông tin

1. Nhập dữ liệu:
• Nhập liệu chính xác
• Phương pháp nhập liệu phù hợp: Thủ công, bán tự động, tự động
2. Xử lí dữ liệu:
• Gồm việc chuyển đổi dữ liệu đầu vào => các thông tin đầu ra hữu ích
• Gồm các thao tác:
- Sắp xếp, tính toán, tổng hợp dữ liệu theo các tiêu thức khác nhau
- Phức tạp hơn là chạy các mô hình tối để tìm ra phương án tối ưu trong một
tập các ràng buộc
3. Đưa thông tin ra
• Thực hiện phân phối và truyền thông tin sau khi xử lý tới người dùng theo đúng
dạng, vào đúng thời điểm
• Thông tin hữu ích được tạo ra thường ở dạng các tài liệu và báo cáo
• Một số trường hợp đầu ra của hệ thống này lại là đầu vào của hệ thống khác.
Ví dụ: Hệ thống quản lí hồ sơ sinh viên & Hệ thống đăng kí tín chỉ
4. Lưu trữ dữ liệu và thông tin
• Vấn đề lưu trữ chúng phục vụ mục đích truy xuất và khai thác sau này là hết
sức cần thiết
• Việc lưu trữ dữ liệu và thông tin có thể thực hiện trên các thiết bị nhớ điện tử
hoặc trên giấy tờ, báo cáo truyền thống
III. Hệ thống thông tin
1. Khái niệm
- Là hệ thống bao gồm các yếu tố có quan hệ với nhau cùng làm nhiệm
vụ thu thập, xử lý, lưu trữ và phân phối dữ liệu và thông tin và cung
cấp một cơ chế phản hồi để đạt được một mục tiêu định trước.
- Là sự kết hợp giữa phần cứng, phần mềm, cơ sở dữ liệu, các quy trình
và con người để tạo ra thông tin.
2. Các TP
3. Phân loại

Bài 2: Máy tính điện tử


I. Khái niệm Máy tính điện tử
1. Khái niệm
Máy tính là thiết bị điện tử thực hiện:
- Tính toán dưới sự kiểm soát của tập hợp lệnh gọi là chương trình lưu trữ trong
bộ nhớ của nó
- Nhận dữ liệu theo yêu cầu của người dùng
- Tính toán dữ liệu theo các lệnh của chương trình xác định
- Sản sinh ra thông tin/ kết quả
- Lưu trữ thông tin/ kết quả để dùng trong tương lai
- Có khả năng xử lý dữ liệu theo một tập hợp của các mệnh lệnh máy
tính (hay câu lệnh) đã được chứa sẵn bên trong máy một cách tạm thời hay
vĩnh viễn. Máy tính điện tử và các trang bị nối kết với nó được gọi là phần
cứng (hay cương liệu). Tập họp các mệnh lệnh chỉ bảo máy tính điện tử tiến
hành gọi là phần mềm (hay nhu liệu) điện toán.
2. Nguyên lý Von Neuman
+ Máy tính có thể được hoạt động theo một chương trình đã được lưu trữ
• Chúng ta có thể tập hợp các lệnh cho máy tính thi hành theo một chương
trình được thiết kế và coi đó như là một tệp dữ liệu.
• Dữ liệu này được cài vào trong máy và được truyền bằng xung điện
+ Bộ nhớ được địa chỉ hóa
Mỗi dữ liệu đều có một địa chỉ của vùng nhớ dữ liệu đó → để truy nhập dữ liệu
ta cần xác định địa chỉ của nó trên bộ nhớ
+ Bộ đếm của chương trình
• Máy tính được gắn một thanh ghi để chỉ ra địa chỉ của lệnh tiếp theo cần được
thực hiện và nội dung của nó tự động được tăng lên mỗi lần lệnh được truy cập.
• Muốn đổi thứ tự lệnh, ta chỉ cần thay đổi nội dung thanh ghi bằng một địa chỉ
của lệnh cần được thực hiện tiếp
II. Lịch sử máy tính

Sử dụng các• Dùng bộ xử lý• Gắn các bộ vi xử Có các vi mạch• máy tính mô
bóng đèn điện bằng đèn bán lý bằng vi mạch đa xử lý có tốc độ phỏng các hoạt
tử chân không, dẫn, mạch in điện tử cỡ nhỏ, tính từ hàng động của bộ não
mạch riêng rẽ,• Có chương có thể có được chục triệu đến và hành vi của con
vào số liệu bằng trình như tốc độ khoảng hàng tỷ phép người có trí tuệ
phiếu đục lỗ, Cobol,Fortran 100000- tính/giây nhân tạo (AI) với
điều khiển bằng và hệ điều 1000000 phép• 2 loại máy tính khả năng tự suy
tay hành đơn tính/giây chính: diễn, phát triển
• kích thước lớn, giản • Có các hệ điều• + Máy tính các tính huống
tiêu thụ năng• Kích thước hành đa cá nhân và máy nhận được và hệ
lượng nhiều, tốc máy còn lớn, chương trình, tính xách tay: quản lý kiến thức
độ tính chậm tốc độ khoảng nhiều người + Máy tính cơ bản để giải
khoảng 300 – 10000-100000 đồng thời hoặc chuyên dụng quyết các bài
3000 phép phép theo kiểu phân• Hình thành các toán đa dạng.
tính/giây. tính/giây chia thời gian. hệ thống máy
• Loại máy tính• Máy tính điển• Kết quả có thể tính và các ứng
điển hình: hình: IBM- in ra trực tiếp ở dụng phong phú
ENIAC, EDVAC 1070 (Mỹ) hay máy in đa phương tiện
(Mỹ) hay BESEM MINSK (Liên• Điển hình máy:
(Liên Xô) xô) IBM – 360 (Mỹ)
hay EC (Liên
Xô)

III. Phân loại


- Máy tính cá nhân (Personal Computer – PC):
- Máy tính để bàn – Desktop Computer
- Máy tính di động – Portable Computer
+Máy tính xách tay – Laptop Computer
+Máy tính bỏ túi – Personal Digital Assistant – PDA
- Máy tính bảng – Tablet Computer
Bài 3: Công nghệ thông tin
I. Tin học
1. Tin học
Tin học (Informatics) được hiểu là môn khoa học nghiên cứu về thông tin,
kĩ năng xử lý thông tin và kĩ nghệ phát triển các hệ thống thông tin có khả
năng cung cấp các thông tin đúng loại, theo đúng dạng, đến đúng đối tượng,
và đúng nơi, đúng lúc được cần đến.

Tin học là môn khoa học nghiên cứu về cấu trúc, thuật toán, hành vi và mối
tương tác giữa các hệ thống tự nhiên và nhân tạo nhằm phục vụ nhu cầu lưu
trữ, xử lý, truy cập và truyền thông tin.
2. Tin học hóa
Tin học hóa (Computing) được hiểu là những hoạt động có mục đích cần
đến máy tính, sử dụng khai thác máy tính, hoặc tạo ra máy tính
Tin học hóa bao gồm việc thiết kế và xây dựng các hệ thống phần cứng, phần
mềm cho nhiều mục đích khác nhau: xử lý, cấu trúc hóa, và quản trị nhiều loại
hình thông tin khác nhau, thực hiện nghiên cứu sử dụng, khai thác máy tính,
tăng cường năng lực trí tuệ nhân tạo cho các hệ thống máy tính, tạo ra và sử
dụng các phương tiện truyền thông và giải trí, tìm kiếm và thu thập thông tin
liên quan đến những mục tiêu xác định...
II. Công nghệ thông tin và truyền thông
Truyền thông là quá trình chia sẻ thông tin.
Truyền thông là một kiểu tương tác xã hội trong đó ít nhất có hai tác nhân
tương tác lẫn nhau, chia sẻ các qui tắc và tín hiệu chung
Mô hình truyền thông như sau:

Truyền thông máy tính (Communication Technology): là sự kết nối máy tính
với nhau trong một phạm vi địa lý nhằm chia sẻ thông tin.
IT + CT = ICT:
Phạm vi địa lý xóa nhòa thông qua mạng viễn thông.
Mạng toàn cầu, Mạng Internet: sản phẩm của ngành ICT
Bài 4: Phần cứng máy tính
I. Phần cứng
• Bộ vào (Input Unit): Bộ vào thực hiện nhiệm vụ nhập dữ liệu và chương trình
vào máy tính. Bộ vào bao gồm các thiết bị có nhiệm vụ thu nhập dữ liệu hay
mệnh lệnh từ ngoài vào máy. Ví dụ như bàn phím, chuột, máy quét...
• Bộ ra (Output Unit): Bao gồm các thiết bị đưa thông tin, dữ liệu từ bên trong
máy ra ngoài, trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài. Ví dụ như
màn hình, máy in, loa,...
• Bộ nhớ trong (Internal Memory) còn gọi là bộ nhớ chính (Main memory): là
thiết bị bên trong máy tính, nằm trên bo mạch chủ giữ nhiệm vụ trung gian
chứa và cung cấp các mệnh lệnh cho CPU và nhớ dữ liệu từ các bộ phận như là
BIOS. Bộ nhớ trong có 2 phần: RAM và ROM
• Các thanh ghi (Registers) là thanh nhớ nhỏ thuộc bộ xử lý của máy tính. Thanh
ghi có thể chứa lệnh máy, địa chỉ ô nhớ hoặc một dãy các bit. Một thanh ghi
phải có độ dài đủ ghi lệnh máy, máy tính có lệnh máy 32 bít thì thanh ghi phải
dài 32 bít. Thanh ghi phải được đánh số và hoặc có tên cố định. Ví dụ thanh
trạng thái, thanh tổng,…
• Bộ điều khiển (Control Unit). Theo mô hình kiến trúc máy tính của Von
Neumann thì Bộ điều khiển là bộ phận điều khiển hoạt động của tất cả các bộ
phận khác trong máy tính
• Bộ số học và logic (Arithmetic and Logical Unit- ALU) là mạch kỹ thuật số thực
hiện những phép tính logic và số học. ALU là bộ phận cơ bản của CPU máy tính.
Trong một bộ vi xử lý đơn giản nhất cũng có ALU với mục đích giữ nhịp thời
gian
• BUS: Đường chuyển dữ liệu giữa các thiết bị phần cứng.
• BIOS (Basic Input Output System): Hệ thống xuất nhập cơ bản nhằm khởi động,
kiểm tra, và cài đặt các mệnh lệnh cơ bản cho phần cứng và giao quyền điều
khiển cho hệ điều hành
• CPU (Central Processing Unit) bộ xử lý trung tâm điều khiển toàn bộ máy tính
• Kho lưu trữ (Storage). Bộ nhớ ngoài lưu giữ, cung cấp, thu nhận dữ liệu. Bộ nhớ
ngoài có dung lượng lớn, tuy nhiên tốc độ truy nhập chậm hơn bộ nhớ trong.
Bộ nhớ ngoài có thể là hệ thống đĩa từ, đĩa quang, thẻ nhớ, trống từ, băng từ…
• Chíp hỗ trợ: là các chíp nằm bên trong bo mạch chủ hay nằm trong các thiết
bị ngoại vi của máy tính. Các con chip này giữ vai trò điều khiển thiết bị và
liên lạc với hệ điều hành qua bộ điều vận hay qua firmware.
• Các cổng vào/ra (I/O port) còn được gọi là địa chỉ
Vào/Ra (I/O Address), là những gì cho phép các trình điều khiển phần mềm giao
tiếp với các thiết bị phần cứng trên máy tính.Việc gán cổng vào/ra có thể được
thực hiện thủ công bằng cách sử dụng chuyển mạch DIP hoặc tự động bằng cách
sử dụng PnP. Khi cấu hình cổng vào/ra thì không được dùng chung cho thiết bị
khác để tránh xung đột
II. Phần mềm
1. Khái niệm
Phần mềm là một tập hợp những câu lệnh được viết bằng một hoặc nhiều ngôn
ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số nhiệm
vụ hoặc chức năng hoặc giải quyết một bài toán nào đó.
Người viết các lệnh tạo ra chương trình này là người lập trình(kĩ sư phần mềm)
2. Phân loại
- Quan điểm sử dụng:
+ Phần mềm hệ thống:
- Là phần mềm điều khiển hoạt động bên trong của máy tính và cung cấp môi
trường giao tiếp giữa người dùng và máy tính nhằm khai thác hiệu quả phần
cứng phục vụ cho nhu cầu người dùng.
- Loại phần mềm này có tính ổn định và an toàn cao.
+ Phần mềm ứng dụng:
- Là phần mềm giải quyết các vấn đề trong hoạt động quản lý, kế toán, soạn
thảo, trò chơi giải trí… của con người.
- Nhu cầu về phần mềm này càng tăng và đa dạng
• Phần mềm nâng cao hiệu suất sử dụng: trong bộ ứng dụng Office
• Phần mềm bổ sung cho các hoạt động cá nhân: phần mềm quản lí dự án,…
• Phần mềm cho các doanh nghiệp và tổ chức: Phần mềm xử lí các giao dịch,quản
lí thông tin hỗ trợ ra quyết định và dành cho các mục đích chuyên biệt
❖ Một số khái niệm liên quan đến phần mềm:
• Quy trình phát triển phần mềm → vòng đời phát triển phần mềm
• Ngôn ngữ lập trình: sử dụng xây dựng phần mềm
• Bản quyền phần mềm, giấy phép phần mềm
• ..

Bài 5: Mạng máy tính


I. Khái niệm và lịch sử phát triển mạng máy tính
1. Khái niệm
Mạng máy tính (Computer Network) là một tập hợp gồm nhiều máy tính, các
thiết bị xử lý thông tin được kết nối với nhau thông qua các đường truyền để
cùng chia sẻ tài nguyên, như phần cứng, phần mềm và dữ liệu
dữ liệu – Máy tính – hệ thống đường truyền
2. Lịch sử
Từ những năm 60: xuất hiện mạng xử lý, gồm nhiều máy trạm cuối (Terminal)
nối với máy xử lý trung tâm
Đầu những năm 70: các máy tính độc lập được nối với nhau trực tiếp
Giữa những năm 70: xuất hiện Mạng truyền thông – Communication Network,
với các thành phần chính là các nút mạng được nối với nhau bởi đường truyền
– transmission line
Ngày nay: mạng máy tính phát triển rất mạnh mẽ. Trở nên không thể thiếu
của CNTT → CNTT và truyền thông.
II. Phân loại mạng máy tính
1. Mối quan hệ giữa các máy:
• Mạng bình đẳng - peer to peer: các máy ngang hàng
• Mạng khách/chủ - Client/Server:
+ một số máy là máy chủ - Server: chuyên phục vụ
+ các máy khác là máy khách – Client hay máy trạm - Workstation
2. Phân loại theo quy mô địa lý:
• Mạng LAN-Local Area Network: mạng phạm vi nhỏ (500m), số lượng máy tính
không quá nhiều, mạng không quá phức tạp→ quản lý tập trung thống nhấ
• Mạng MAN – Metropolitance Area Network: mạng đô thị, các trạm
• Mạng WAN-Wide Area Network: diện rộng, giữa các thành phố (100-200 Km).
• Mạng GAN-Global Area Network: Mạng toàn cầu, nối máy tính ở nhiều nước
khác nhau. Thường mạng toàn cầu là mạng kết hợp của nhiều mạng con.
3. Phân loại theo cách thức kết nối mạng:
• Mạng Bus (Mạng tuyến tính):
+ Tất cả các máy trạm cùng phân chia một đường truyền chung (bus).
+ Đường truyền chính được giới hạn hai đầu bằng hai đầu nối đặc biệt gọi là
terminator.
+ Mỗi trạm được nối với trục chính qua một đầu nối chữ T (T-connector) hoặc
một thiết bị thu phát (Transceiver)
• Mạng Star (Mạng hình sao)
+ Mạng hình sao có tất cả các trạm được kết nối với một thiết bị trung tâm có
nhiệm vụ nhận tín hiệu từ các trạm và chuyển đến trạm đích.
+ Các thiết bị trung tâm sử dụng phổ biến hiện nay là Hub hoặc Switch
• Mạng Ring (vòng):
+ Trên mạng hình vòng tín hiệu được truyền đi trên vòng theo một chiều duy
nhất.
+ Mỗi trạm của mạng được nối với vòng qua một bộ chuyển tiếp (repeater) do
đó cần có giao thức điều khiển việc cấp phát quyền được truyền dữ liệu trên
vòng mạng cho trạm có nhu cầu.
• Mạng hỗn hợp/ Mạng lai (Hybrid): làm mạng máy kết hợp các kiểu nối trên
4. Các thành phần cơ bản của mạng
• Dây cáp mạng (network cable)
• Card mạng (Network Interface Card - NIC)
• Bộ phát lặp (Repeater)
• Bộ tập trung (Hub)
• Chuyển mạch (Switch)
• Cầu nối (Bridge)
• Bộ định tuyến (Router)
• Gateway
• Các thiết bị mạng không dây
• Máy chủ mạng: máy chủ tệp, máy chủ in, máy chủ ứng dụng
• Đường truyền vật lý
+ Là môi trường truyền thông tin giữa các máy tính.
+Có thể hữu tuyến (cáp truyền) hoặc vô tuyến (ăng-ten thu/phát)
+ Không dây (Wireless, Wifi)
5. Mạng Internet
a,Khái niệm:
+ Internet được gọi là mạng máy tính toàn cầu (GAN) hay mạng của các mạng.
+ Internet không thuộc sở hữu của ai cả. Chỉ có các uỷ ban điều phối và kỹ thuật
giúp điều hành Internet.
+ Ban đầu là mạng ARPANET của Bộ Quốc phòng Mỹ (DoD)
b,Sự phát triển của Internet
+ 1974: khái niệm “Internet” xuất hiện
+ 1983: ARPANET tách thành MILNET(quân đội) và NSFnet (nghiên cứu)
+ 1987: NSFnet được mở cửa cho các cá nhân
+ 1988: Internet hình thành
+ 1997: Việt Nam kết nối Internet
c,TP
+ Về mặt phần cứng nó bao gồm tất cả các mạng LAN và WAN trên thế giới kết
nối với nhau
+ Về phần mềm cần phải có để các máy tính nhận ra nhau bằng cách sử dụng
một giao thức chung và giao thức đó là giao thức TCP/IP (được xem như là
ngôn ngữ chung cho tất cả các máy tính kết nối với Internet)
• Giao thức TCP/IP: là một tập hợp những quy tắc hay công thức dùng để điều
khiển những thông tin được truyền đi giữa các máy tính hay chương trình trên
mạng.
+ TCP (Tranmission Control Protocol): là giao thức thuộc tầng vận chuyển (giao
vận) trong mô hình OSI (Open System Interconnection). Thực hiện nhiệm vụ
điều khiển và truyền tin, đảm bảo liên lạc thông suốt và tính đúng đắn của dữ
liệu giữa hai đầu kết nối.
+ IP (Internet Protocol): là giao thức ứng với tầng mạng của mô hình OSI có
nhiệm vụ là định địa chỉ (addressing), chọn đường (routing) và vận chuyển các
datagram (gói tin) qua mạng.
d,Mô hình OSI gồm 7 tầng:
- Tầng vật lý (Physical)
– Tầng Liên kết dữ liệu (Data Link)
– Tầng Mạng (Network)
– Tầng Giao vận (Transport)
– Tầng Phiên (Session)
– Tầng Trình Diễn (Presentation)
– Tầng Ứng dung (Application)
• Một số dịch vụ trên mạng Internet
+ WWW
+ Dịch vụ tên miền (DNS-Domain Name System)
+ Dịch vụ thư điện tử (E-mail)
+ Tìm kiếm thông tin trên Internet (Search engine)
+ Dịch vụ truyền tệp (FTP – File Transfer Protocol
+ Dịch vụ nói chuyện qua mạng (IRC – Internet Relay Chat)
+ Các dịch vụ thương mại và chuyển ngân, dịch vụ y tế, giáo dục như: Chữa
bệnh từ xa, tổ chức các lớp học ảo,…

Bài 6: Giải quyết bài toán bằng máy tính


I. Khái niệm bài toán
1,Bài toán
Hoạt động thực tiễn con người → đặt ra các vấn đề cần được giải quyết: câu đố,
trò chơi, lựa chọn giải pháp, các hành động cần thực hiện,..
2,Thuật toán
Các công việc → Công việc nhỏ có thể được thực thi bằng 1 trình tự các lệnh
máy tính. Trình tự các công việc nhỏ này được gọi là giải thuật
II. Quy trình
Bước 1-Xác định bài toán: Làm rõ yêu cầu của người dùng hay mô hình hóa yêu
cầu, đánh giá tính khả thi của bài toán
Bước 2-Lựa chọn phương pháp giải: cân nhắc các yếu tố thời gian, chi phí, hiệu
suất, con người... Để lựa chọn phương án tối ưu

Bước 3-Xây dựng giải thuật: Xây dựng mô hình chi tiết hóa phương pháp đã chọn,
xác định rõ dữ liệu vào, dữ liệu ra cho các bước thực hiện và trật tự thực hiện.
(thiết kế có cấu trúc, làm mẫu)
Bước 4-Xây dựng chương trình: mô tả thuật toán bằng chương trình (lập trình)
Bước 5-Hiệu chỉnh chương trình: chạy thử chương trình kiểm tra các lỗi cú pháp
và lỗi ngữ nghĩa
Bước 6-Thực hiện chương trình: Cho máy thực hiện chương trình và phân tích
kết quả có phù hợp không? Nếu cần phải kiểm tra lại toàn bộ 1 lần nữa
❖ Theo cách tiếp cận phần mềm
B1 Xác định bài toán: Thuật ngữ mới cho bước này là xác định yêu cầu người
dùng-người mong muốn có phần mềm để sử dụng.
B2 Phân tích bài toán: Tìm hiểu nhiệm vụ (chức năng) mà phần mềm cần xây dựng
phải có và các dữ liệu cần thiết. Qua đó xây dựng các giải pháp khả thi. Nói một
cách ngắn gọn, bước này tìm hiểu hệ thống là gì? Và làm gì?
B3 Thiết kế bài toán: thực hiện thiết kế kiến trúc phần mềm, thiết kế các module
chương trình, thiết kế giao tiếp, thiết kế an toàn,… Như vậy, nhiệm vụ thiết kế
module chính là xây dựng giải thuật cho module đó và cách diễn tả giải thuật.
B4 Xây dựng chương trình : Viết code cho các module theo ngôn ngữ lập trình đã
xác định.
B6 Kiểm thử chương trình: nhằm kiểm tra tính đúng đắn của từng module và cả
hệ thống trước khi bàn giao cho khách hàng.
B7 Triển khai: bước này gồm cả nhiệm vụ viết tài liệu phần mềm, hướng dẫn sử
dụng, khai thác và bảo trì phần mềm. Đây cũng là mục đích của phần mềm được
yêu cầu và nhằm kéo dài vòng đời phần mềm (Software Life Cycle).
III. Phương pháp
1. Theo hướng xác định trực tiếp lời giải
+ Là bài toán xác định trực tiếp lời giải qua các thủ tục tính toán như: công thức,
định luật, thủ tục. → có thể chuyển thành các giải thuật và chương trình chạy
trực tiếp trên máy
2. Giải quyết bài toán theo hướng tìm kiếm lời giải:
+ Phương pháp liệt kê hay vét cạn
+ Phương pháp thử ngẫu nhiên
+ Phương pháp quay lui
+ Phương pháp chia bài toán thành bài toán con.
IV. Thuật toán
1. Khái niệm
Là một dãy hữu hạn các thao tác và trình tự thực hiện các thao tác đó để biến
đầu vào thành các đầu ra mong muốn
Thuật toán là cách giải quyết bài toán theo lối tư duy của con người

2. Tính chất của Thuật toán:


+ Tính hữu hạn, tính dừng - Finiteness: Giải thuật phải đưa được đầu ra sau một
số hữu hạn bước với mọi đầu vào
+ Tính đúng đắn, chính xác - Precision: Khi kết thúc, giải thuật phải cung cấp kết
quả đúng đắn.
+ Tính xác định - Uniqueness: Ở mỗi bước, các bước thao tác phải hết sức rõ ràng,
không gây nên sự nhập nhằng. Các kết quả trung gian của từng bước thực hiện
giải thuật được xác định một cách đơn trị và chỉ phụ thuộc đầu vào và các kết
quả của các bước trước.
+ Tính tổng quát, phổ dụng - Generality: thuật toán phải áp dụng được cho mọi
trường hợp của bài toán chứ không chỉ áp dụng được cho một số trường hợp
riêng lẻ nào đó
+ Tính hiệu quả: thời gian tính toán nhanh, Sử dụng ít tài nguyên không gian như
bộ nhớ, thiết bị,…Mang tính phổ dụng, dễ hiểu, dễ cài đặt và mở rộng cho các
lớp bài toán khác.
3. Cách biểu diễn thuật toán:
Cần nêu tuần tự các thao tác cần tiến hành để giải một bài toán
❖ Có 3 cách để biểu diễn:
- Dùng ngôn ngữ tự nhiên
Ưu điểm Nhược điểm

+ Đơn giản - Dài dòng


+ Không yêu cầu người viết và người - Không làm nổi bật cấu trúc của
đọc phải có kiến thức nền tảng thuật toán
- Khó biểu diễn với những bài toán
phức tạp

- Sử dụng Mã giả (Pseudo Code)


+ Mã giả là ngôn ngữ mô phỏng chương trình PDL (Programming Description
Language).
+ Ngôn ngữ tựa (gần giống) với ngôn ngữ lập trình được gọi là mã giả
- Mệnh đề có cấu trúc
- Ngôn ngữ tự nhiên

Ưu điểm: Nhược điểm:


Tiện lợi, đơn giản - Không trực quan bằng lưu đồ khối
- Dễ hiểu, dễ diễn đạt
Một số câu lệnh

+Cấu trúc lựa chọn/ rẽ nhánh


if (điều kiện) then (hành động 1 )
hoặc
if (điều kiện) then (hành động 1 )
else (hành động 2 )
+ Cấu trúc nhảy goto:
goto nhãn x;
+ Cấu trúc lặp:
while điều_kiện do hành_động
hoặc
repeat hành_động
until điều_kiện
hoặc
for biến:= gtrị_đầu to gtrị_cuối do hành_động
hoặc
for biến:= gtrị_đầu downto gtrị_cuối do hành_động

- Dùng Lưu đồ/ Sơ đồ khối (Flow chart)


Quy ước
+ Khối bắt đầu và kết thúc thuật toán
+ Khối tính toán/ Xử lý
+ Luồng xử lí
+ Khối nhập xuất dữ liệu
+ Khối rẽ nhánh

Ví dụ: Nhập vào 2 số nguyên dương a,b. Kiểm tra sự tương quan giữa 2 số
a và b? Đưa ra thông báo tương ứng là : “a = b” , hoặc “a < b” hoặc “a >
b”

You might also like