Tải bản đầy đủ (.ppt) (53 trang)

NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH

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 (246.8 KB, 53 trang )

/5214/03/13 Chương 0: Nhập môn ... 1
C0: NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
1. Phần cứng và phần mềm
2. Các ngôn ngữ lập trình
3. Giải vấn đề và phát triển phần mềm
4.Giải thuật
5.Ôn tập
/5214/03/13
Chương 0: Nhập môn ... 2
1. Phần cứng và phần mềm
a. Máy tính
b. Phần cứng
c. Phần mềm
/5214/03/13 Chương 0: Nhập môn ... 3
a. Máy tính

Máy tính, cũng gọi là máy vi tính hay điện toán, là
những thiết bị hay hệ thống dùng để tính toán hay kiểm
soát các hoạt động mà có thể biểu diễn dưới dạng số hay
quy luật lôgic.

Khoa học nghiên cứu về lý thuyết, thiết kế và ứng dụng
của máy tính được gọi là khoa học máy tính, hay khoa học
điện toán.

Từ "máy tính" (
computers
), đầu tiên, được dùng cho
những người tính toán số học, có hoặc không có sự trợ
giúp của máy móc, nhưng hiện nay nó có nghĩa là máy
móc hoàn toàn. Đầu tiên máy tính chỉ giải các bài toán số


học, nhưng các máy tính hiện đại làm được nhiều hơn thế.
/5214/03/13 Chương 0: Nhập môn ... 4
a. Máy tính (tt)

Các nguyên lý cơ bản

Máy tính có thể làm việc thông qua sự chuyển động
của các bộ phận cơ khí, electron, photon, hạt lượng tử
hay các hiện tượng vật lý khác đã biết. Mặc dù máy
tính được xây dựng từ nhiều công nghệ khác nhau
song gần như tất cả các máy tính hiện nay là máy tính
điện tử.

Trong phần lớn các máy tính ngày nay, trước hết, mọi
vấn đề sẽ được chuyển thành các yếu tố toán học
bằng cách diễn tả mọi thông tin liên quan thành các số
theo hệ nhị phân. Sau đó, mọi tính toán trên các
thông tin này được tính toán bằng đại số Bool
(
Boolean algebra
).
/5214/03/13 Chương 0: Nhập môn ... 5
a. Máy tính (tt)

Phân loại máy tính (Theo mục đích sử dụng)

Siêu máy tính

Siêu máy tính cỡ nhỏ


Mainframe

Máy chủ doanh nghiệp

Máy tính mini

Máy trạm (
workstation
)

Máy tính cá nhân (PC)

Máy tính để bàn (
Desktop
)

Máy tính xách tay (
Laptop
)

Máy tính bảng con

Thiết bị hỗ trợ kỹ thuật số cá nhân (PDA)

Máy tính tháo lắp
/5214/03/13 Chương 0: Nhập môn ... 6
a. Máy tính (tt)

Khả năng lập trình
Khả năng lập trình của máy tính (

programmability
),
nghĩa là cung cấp cho nó một tập hợp các chỉ thị để thực
hiện mà không có sự điều khiển vật lý đối với nó, là một đặc
trưng thiết kế nền tảng của phần lớn các máy tính.
Đặc trưng này là một sự mở rộng đáng kể khi các máy
tính đã được phát triển đến mức nó có thể kiểm soát động
luồng thực hiện của chương trình. Điều này cho phép máy
tính kiểm soát được thứ tự trong sự thực thi các chỉ lệnh
trong chương trình dựa trên các dữ liệu đã được tính ra.
/5214/03/13 Chương 0: Nhập môn ... 7
b. Phần cứng:
Còn gọi là cương liệu (Anh ngữ:
hardware
), là
các cơ phận (vật lý) cụ thể của máy tính hay hệ
thống máy tính như là màn hình, chuột, bàn
phím, máy in, máy quét, vỏ máy tính, đơn vị vi
xử lý CPU, bo mạch chủ, các loại dây nối, loa, ổ
mềm, ổ cứng, ổ CDROM, ...
/5214/03/13 Chương 0: Nhập môn ... 8
b. Phần cứng (tt):
Các thành phần chính của máy tính cá nhân để bàn.
1: màn hình,
2: bo mạch chủ,
3: CPU,
4: chân cắm ATA,
5: RAM,
6: các thẻ cắm mở rộng chức năng cho máy,
7: nguồn điện,

8: ổ CD/DVD,
9: ổ cứng,
10: bàn phím,
11: chuột
/5214/03/13 Chương 0: Nhập môn ... 9
b. Phần cứng (tt):
Dựa trên chức năng và cách thức hoạt động
người ta còn phân biệt phần cứng ra thành:

Nhập hay đầu vào (
Input
): Các bộ phận thu
nhập dữ liệu hay mệnh lệnh như là bàn phím,
chuột...

Xuất hay đầu ra (
Output
): Các bộ phận trả
lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài
như là màn hình, máy in, loa, ...
/5214/03/13 Chương 0: Nhập môn ... 10
b. Phần cứng (tt):
Ngoài các bộ phận nêu trên liên quan tới phần cứng của
máy tính còn có các khái niệm quan trọng sau đây:

Bus: chuyển dữ liệu giữa các thiết bị phần cứng.

BIOS: còn gọi là 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: bộ phân vi xử lý điều khiển toàn bộ máy tính

Kho lưu trữ dữ liệu: lưu giữ, cung cấp, thu nhận dữ liệu
/5214/03/13 Chương 0: Nhập môn ... 11
b. Phần cứng (tt):

Các loại chíp hỗ trợ: 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
quan trọng sẽ 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 phần sụn

Bộ nhớ: là thiết bị bên trong bo mạch chủ giữ nhiệm vụ
trung gian cung cấp các mệnh lệnh cho CPU và các dữ
liệu từ các bộ phận như là BIOS, phần mềm, kho lưu trữ,
chuột đồng thời tải về cho các bộ phận vừa kể kết quả
các tính toán, các phép toán hay các dữ liệu đã/đang
được xử lý

các cổng vào/ra
/5214/03/13 Chương 0: Nhập môn ... 12
c. Phần mềm:

Tiếng Việt còn được gọi là nhu liệu (tiếng Anh:
software
) 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ố chức năng hoặc giải quyết một bài
toán nào đó.

/5214/03/13 Chương 0: Nhập môn ... 13
Sản phẩm phần mềm được phân loại như sau:

Theo phương thức hoạt động

Phần mềm hệ thống dùng để vận hành máy tính và các
phần cứng máy tính (Windows XP, Linux, Unix, các thư
viện động-DLL của hệ điều hành, các trình điều khiển
(
driver
), phần sụn(
firmware
) và BIOS. Đây là các loại
phần mềm mà hệ điều hành liên lạc với chúng để điều
khiển và quản lý các thiết bị phần cứng.

Phần mềm ứng dụng để người sử dụng có thể hoàn
thành một hay nhiều công việc nào đó (Microsoft Offices,
FoxPro, phần mềm doanh nghiệp, phần mềm giáo dục, cơ
sở dữ liệu, phần mềm trò chơi, chương trình tiện ích, hay
các loại phần mềm ác tính.
/5214/03/13 Chương 0: Nhập môn ... 14
Sản phẩm phần mềm được phân loại như sau:

Các phần mềm chuyển dịch mã bao gồm trình
biên dịch và trình thông dịch: các loại chương
trình này sẽ đọc các câu lệnh từ các mã nguồn
được viết bởi các lập trình viên bằng một ngôn
ngữ lập trình và dịch nó sang dạng ngôn ngữ
máy mà máy tính có thể hiểu đưọc, hay dịch nó

sang một dạng khác như là tập tin đối tượng
(
object file
) và các tập tin thư viện (
library file
)
mà các phần mềm khác (như hệ điều hành
chẳng hạn) có thể hiểu để vận hành máy tính
thực thi các lệnh.
/5214/03/13 Chương 0: Nhập môn ... 15
Sản phẩm phần mềm được phân loại như sau:

Theo khả năng ứng dụng

Những phần mềm không phụ thuộc, nó có thể được bán
cho bất kỳ khách hàng nào trên thị trường tự do. Ví dụ:
phần mềm về cơ sở dữ liệu như Oracle, đồ họa như
Photoshop, Corel Draw, soạn thảo và xử lý văn bản, bảng
tính... Ưu điểm: Thông thường đây là những phần mềm
có khả năng ứng dụng rộng rãi cho nhiều nhóm người sử
dụng. Khuyết điểm: Thiếu tính uyển chuyển, tùy biến.

Những phần mềm được viết theo đơn đặt hàng hay hợp
đồng của một khách hàng cụ thể nào đó (một công ty,
bệnh viện, trường học...). Ví dụ: phần mềm điều khiển,
phần mềm hỗ trợ bán hàng...
/5214/03/13 Chương 0: Nhập môn ... 16
Tóm tắt quá trình tạo nên một phần mềm

Về mặt thiết kế:

Tùy theo mức độ phức tạp của phần mềm làm ra, người
thiết kế phần mềm sẽ ít nhiều dùng đến các phương tiện để
tạo ra mẫu thiết kế theo ý muốn (chẳng hạn như là các sơ
đồ khối, các lưu đồ, các thuật toán và các mã giả), sau đó
mẫu này được mã hoá bằng các ngôn ngữ lập trình và đưọc
các trình dịch chuyển thành các khối lệnh (
module
) hay/và
các tệp khả thi. Tập hợp các tệp khả thi và các khối lệnh đó
làm thành một phần mềm.
Một phần mềm thông thường sẽ tương thích với một
hay vài hệ điều hành, tùy theo cách thiết kế, cách viết mã
nguồn và ngôn ngữ lập trình được dùng.
/5214/03/13 Chương 0: Nhập môn ... 17
Tóm tắt quá trình tạo nên một phần mềm

Sản xuất và phát triển phần mềm
Việc phát triển và đưa ra thị trường của một
phần mềm là đối tượng nghiên cứu của bộ môn kỹ
nghệ phần mềm hay còn gọi là công nghệ phần
mềm (
software engineering
).
Bộ môn này nghiên cứu các phương pháp tổ
chức, cách thức sử dụng nguồn tài nguyên, vòng
quy trình sản xuất, cùng với các mối liên hệ với thị
trường, cũng như liên hệ giữa các yếu tố này với
nhau.
/5214/03/13 Chương 0: Nhập môn ... 18
2. Các ngôn ngữ lập trình

a. Ngôn ngữ lập trình
b. Phân nhóm
c. Học ngôn ngữ lập trình
/5214/03/13 Chương 0: Nhập môn ... 19
a. Ngôn ngữ lập trình:

Phương tiện để viết chương trình cho máy tính

Hàng trăm ngôn ngữ lập trình khác nhau

Những quy định về cú pháp (syntax) & ngữ
nghĩa (semantic)

Máy tính có thể hiểu được
/5214/03/13 Chương 0: Nhập môn ... 20
b. Phân nhóm

Ngôn ngữ máy - Machine languages

Ngôn ngữ duy nhất của máy tính - CPU

Hợp ngữ - Assembly languages

Ngôn ngữ cấp cao - High-level languages
/5214/03/13 Chương 0: Nhập môn ... 21
Ngôn ngữ máy - Machine languages

Ngôn ngữ duy nhất được máy tính (CPU) hiểu trực tiếp.

Được xác định bởi tập lệnh của CPU


Phụ thuộc vào máy tính cụ thể

Dạng nhị phân {0,1}*

Rất khó đọc hiểu

Khó có khả năng viết chương trình trực tiếp

Khó nhớ hàng chục ngàn lệnh dạng {0,1}*

Rất khó xác định & sửa lỗi

Không được sử dụng trong thực tế để viết chương trình

Nền tảng xây dựng hợp ngữ
/5214/03/13 Chương 0: Nhập môn ... 22
Hợp ngữ - Assembly languages

Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm
lệnh của mã máy.

Được dịch sang mã máy khi thực hiện

Chuyển đổi nhanh chóng

Dễ đọc và dễ hiểu hơn

Vẫn tương đối khó sử dụng do


Các lệnh còn đơn giản nên phải dùng nhiều lệnh.

Chưa có những cấu trúc điều khiển thuận tiện

Khả năng tìm và sửa lỗi cũng chưa thuận tiện.

Nền tảng xây dựng các ngôn ngữ cấp cao
/5214/03/13 Chương 0: Nhập môn ... 23
Ngôn ngữ cấp cao - High-level languages

Một câu lệnh diễn tả nhiều động thái

Có cấu trúc ngày càng giống ngôn ngữ tự nhiên (tiếng
Anh)

Được dịch sang assembly hay mã máy bằng các chương
trình dịch trước khi thực thi.

Source code & Executed code

Được phân làm nhiều lớp

Lập trình goto

Lập trình cấu trúc – Structured

Lập trình hướng đối tượng – Object Oriented

Các dạng khác
/5214/03/13 Chương 0: Nhập môn ... 24

c. Học ngôn ngữ lập trình

Học ngữ pháp

Quy tắc ngữ pháp

Từ vựng

Cấu trúc câu

Ngữ nghĩa của các lệnh

Các “thành ngữ”

Học ngôn ngữ lập trình ≠ Học ngôn ngữ tự nhiên

Quy tắc ngữ pháp đơn giản

Từ vựng ít, tự quy định

Cấu trúc câu đơn giản

Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình.
/5214/03/13 Chương 0: Nhập môn ... 25
3. Giải vấn đề và phát triển phần mềm
Quá trình giải vấn đề và xây dựng phần mềm lập
trình có 2 hướng phát triển:

Lập trình có cấu trúc


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

×