1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng tin học đại cương nguyễn duy hiệp

296 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 296
Dung lượng 8,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Bắt đầu cùng với sự phát triển của máy tính điện tử đầu tiên,cho đến nay đã trải qua 5 thời kỳ Thế hệ 11951-1959  Chương trình đầu tiên được viết bằng ngôn ngữ máy mã 0,1  Lập trình

Trang 1

Nguyễn Duy Hiệp

hiepnd@soict.hust.edu.vn

TIN HỌC ĐẠI CƯƠNG

Trang 2

Phần 1

Tin học căn bản

Giới thiệu tổng quan về máy tính

Trang 3

Phần 1 Tin học căn bản

 Các khái niệm cơ bản

 Lịch sử phát triển của máy tính

Trang 4

1.1 Các khái niệm cơ bản

Trang 5

1 Các khái niệm cơ bản

Trang 6

1 Các khái niệm cơ bản

 Máy tính ( thường được hiểu là phần cứng)được điều khiển

bởi phần mềm (ví dụ, là các lệnh bạn viết để ra lệnh cho

máy tính thực hiện hành động và tạo quyết định).

 Máy tính là thiết bị điện tử có khả năng lập trình được mà

có thể lưu trữ, tìm kiếm và xử lý dữ liệu.

 Máy tính là một thiết bị có khả năng thực hiện tính toán và

tạo quyết định với tốc độ nhanh hơn con người hàng

triệu(thậm chí hàng tỉ) lần.

Trang 7

1 Các khái niệm cơ bản

 Máy tính xử lý dữ liệu dưới sự điều khiển của các tập các lệnh được gọi là chương trình máy tính

 Những chương trình này điều khiển máy tính thực hiện theo một tập các hành động được chỉ ra bởi người lập trình ( lập trình viên).

 Máy tính bao gồm các thiết bị khác nhau gọi là phần cứng

(ví dụ., bàn phím, màn hình, chuột, ổ cứng, bộ nhớ,

CD/DVDs và bộ xử lý).

 Các chương trình mà chạy trên

máy tính được gọi là phần mềm

Trang 8

1 Các khái niệm cơ bản

Trang 9

1.2 Lịch sử phát triển của máy tính

Trang 10

Lịch sử phát triển của máy tính

ENIAC, một trong hai chiếc máy tính điện tử đầu tiên

Trang 11

Lịch sử phát triển của

máy tính

 Lịch sử phát triển của máy tính điện tử thực sự

bắt đầu từ 1951, cho tới này đã trải qua 4 thế hệ

Thế hệ 1 (1951-1959):

 Sử dụng đèn chân không để lưu thông tin

 Bộ nhớ : trống từ

 Đầu vào: bìa đục lỗ

 Kích thước lớn, tiêu thụ năng lượng nhiều

 Tốc độ: 300 - 3.000 phép tính/s

 EDVAC (Mỹ), BESEM (Liên Xô cũ) …

Trang 12

Máy tính thế hệ 1

Máy tính EDIVAC

Trang 13

Lịch sử phát triển của máy tính

Trang 14

Máy tính thế hệ 2

MINSK-2

Trang 15

Lịch sử phát triển của máy tính

Trang 16

Máy tính thế hệ 3

Máy IBM-360

Trang 17

Lịch sử phát triển của máy tính

Thế hệ 4(1971-?)

 Máy tính sử dụng các mạch tích hợp cỡ lớn

 Ra đời máy tính cá nhân (PC-Personal Computer)

 Máy trạm workstations, khả năng tính toán mạnh hơn PC,

sử dụng trong thương mại

 Tốc độ hàng chục triệu đến hàng tỷ phép tính/s

 Pentium I, Pentium II …

Định luật Moore: “Máy tính sẽ tăng gấp đôi khả năng tính toán

với cùng mức giá hoặc giảm giá chỉ còn một nửa với cùng khả

năng tính toán cứ sau 18 tháng”

Trang 18

Máy tính thế hệ 4

Desktop PC

Laptop

Tablet PC

Trang 19

Máy tính thế hệ thứ 5?

Trang 21

1.3 Lịch sử phát triển của phần mềm

Trang 22

Lịch sử phát triển của phần mềm

Trang 23

 Bắt đầu cùng với sự phát triển của máy tính điện tử đầu tiên,cho đến nay đã trải qua 5 thời kỳ

Thế hệ 1(1951-1959)

 Chương trình đầu tiên được viết

bằng ngôn ngữ máy (mã 0,1)

 Lập trình viên phải nhớ các

lệnh biểu diễn bằng mã máy

 Việc lập trình rất tốn thời gian và có nhiều lỗi

 Ra đời ngôn ngữ assembly sử dụng các từ gợi nhớ thay

cho các lệnh bằng mã máy

Chương trình assembler dịch các từ gợi nhớ thành mã

máy

Trang 24

Lịch sử phát triển của phần mềm

Thế hệ 2(1959-1965):

 Sự ra đời của các

ngôn ngữ lập trìnhbậc cao

FORTRAN, COBOL, Lisp

 Mỗi ngôn ngữ có chương trình dịch sang ngôn ngữ máyriêng gọi là compiler.

Người lập trình hệ thống: người viết những công cụ như

assembler và trình biên dịch

Người lập trình ứng dụng: là người sử dụng các công cụ

để viết các chương trình

Trang 25

Lịch sử phát triển của phần mềm

Thế hệ 3 (1965-1971)

 Sự ra đời của hệ điều hành để điều khiển máy tính

 Hệ điều hành, chương trình dịch và các chương trình tiệních được gọi là phần mềm hệ thống

 Các chương trình ứng dụng với mục đích chung được rađời,

Statistical Package for the Social Sciences (SPSS)

 Người sử dụng máy tính không phải là lập trình viên

Trang 26

Lịch sử phát triển của phần mềm

Khoảng cách giữa người dùng và phần cứng ngày càng trở nênrộng

Trang 27

Lịch sử phát triển của phần mềm

Thế hệ 4(1971-1989):

 Kỹ thuật lập trình cấu trúc ra đời

Pascal và Modula-2, BASIC, C và C++

 Hệ điều hành tốt hơn, mạnh hơn

Trang 28

Lịch sử phát triển của phần mềm

 Thế hệ 5 (1990-nay)

 ảnh hưởng của Microsoft, lập trình hướng đối tượng vàWorld Wide Web

Trang 29

Lịch sử phát triển của phần mềm

Web application

Trang 32

Tài liệu

Trang 33

1.4 Biểu diễn dữ liệu trong máy tính

Trang 34

 Biểu diễn văn bản (text)

 Biểu diễn âm thanh

 Biểu diễn hình ảnh

 Biểu diễn video

Trang 35

1.4.1 Các hệ thống số

•Các loại số

•Số tự nhiên

•Hệ nhị phân

•Chuyển đổi số giữa các hệ cơ số

•Giá trị nhị phân và máy tính

Trang 36

Các loại số

Số là một đơn vị thuộc hệ thống toán học cơ bản, là đối tượng

của luật liên tiếp, cộng, và nhân

 Số biểu diễn một giá trị và các phép toán phù hợp có thể ápdụng trên những giá trị này

 Số tự nhiên: 0,1,…

 Số âm: -1, -45

 Số nguyên: 1, 2, 4, -3

 Số hữu tỉ: 1.03, 1.4, 1.0

Trang 38

Số tự nhiên

Vị trí ký hiệu(positional notation):

 Ký hiệu phải nhất biểu diễn giá trị của nó nhân với hệ số cơ

sở mũ 0

 Ký hiệu trái nhất biểu diễn giá trị của nó nhân với số lần hệ

số cơ sở từ vị trí đó tới mũ đầu tiên

Giá trị 943 trong hệ cơ số 10

Trang 40

Số tự nhiên

 Giá trị của 943 trong hệ cơ số đếm 13

Trang 41

Số tự nhiên

 Biểu diễn số hệ 10

Máy IBM 650

Trang 42

Số tự nhiên

Hệ nhị phân: là hệ cơ số đếm quan trọng trong máy tính

dùng 2 số {0,1}

Hệ cơ số 8 (hệ octa) và 16 (hệ hexadecimal) là các hệ cơ số

giúp chúng ta viết gọn hệ nhị phân

Trang 44

Số tự nhiên

 Các phép toán trên các hệ cơ số đếm

 Các phép toán trên hệ cơ số 10:

Trang 45

Phép toán trên hệ nhị phân

 Thực hiện cộng các số nhị phân sau:

0101 010

Trang 46

Phép toán trên hệ nhị phân

 Phép trừ:

1010 1001 (169)

0110 1011 (107)

0011 1110 ( 62) -

Trang 47

Phép toán trên hệ nhị phân

 Thực hiện trừ các số nhị phân sau

a) 1001 0011 và 1000 1101

b) 1010 1010 và 1110

c) 1110 1110 và 1000 1000

d) 1000 0000 và 0111 0111

Trang 48

Phép toán trên hệ nhị phân

 Phép nhân

1011 (11)

1101 (13)

1011 0000

1011

1011

Trang 49

Phép toán trên hệ nhị phân

-

-147/11 = 13 và dư 4

Trang 51

Số tự nhiên

 Chuyển đổi số hệ 10 sang các hệ khác:

 Trong khi số cần đổi còn khác 0

 Chia số cần đổi cho hệ cơ số cần đổi

Phần dư là số tiếp theo ở bên trái kết quả

 Thay số cần đổi bằng phần nguyên của phép chia

Trang 52

Đổi số sang hệ cơ số mới

Trang 53

Đổi số sang hệ cơ số mới

 Hãy đổi các số hệ 10 sau

a) 1023 sang số trong hệ 16

b) 1034 sang số trong hệ 8

c) 102 sang số trong hệ nhị phân

 Đổi số sau từ hệ 16 sang hệ nhị phân 12AC

Trang 54

Giá trị nhị phân và máy tính

 Các máy tính đầu tiên là máy thập phân, các máy tính hiện đạingày nay đều là máy nhị phân – dùng hệ nhị phân để biểu diễnsố

 Thực tế không chỉ có số mà các dữ liệu và câu lệnh đều đượcbiểu diễn bằng số nhị phân trong máy tính

 Mỗi đơn vị nhớ trong máy tính chứa tín hiệu điện thế thấp

hoặc điện thế cao, tương ứng với giá trị 0 hoặc 1

 Các đơn vị nhớ này không thể có trạng thái trống mà chỉ có

thể hoặc là 0 hoặc là 1

Trang 55

Giá trị nhị phân và máy tính

 Mỗi đơn vị nhớ trong máy tính gọi là 1 binary digit, viết tắt làbit

 Các bit được nhóm lại với nhau thành byte (8bit), word (1 hay

nhiều byte tùy thuộc và từng máy)

 Máy IBM 370 (máy 32 bit) có half word (2 byte), full word (4 byte) và double word(16 byte)

1001 0011 1010 0001

Byte 1 Byte 2

Word

Trang 56

1.4.2 Dữ liệu và máy tính

Trang 57

Dữ liệu và máy tính

Dữ liệu (data): Là biểu diễn của thông tin bằng các tín hiệu vật lý.

 Không có dữ liệu thì máy tính là vô dụng!

 Mỗi thao tác của máy tính đều là xử lý dữ liệu theo một cách nào

Trang 58

Dữ liệu và máy tính

Dữ liệu trong máy tính còn được nén (giảm không gian cần thiết

để lưu trữ dữ liệu), mã hóa (bảo vệ dữ liệu khỏi sự truy nhập bất

hợp pháp)

Tỉ lệ nén: chỉ ra lượng dữ liệu được giảm bao nhiêu

Tỉ lệ nén = kích thước dữ liệu được nén/ kích thước ban đầu

 Nén mất mát thông tin (lossy) và nén không mất mát thông tin (lossless): cho biết dữ liệu sau khi khôi phục có đúng như trước khinén hay không

Trang 59

Dữ liệu và máy tính

Thông tin tương tự và thông tin số:

 Trong tự nhiên hầu hết là liên tục và vô hạn

 Trục số: các giá trị là vô hạn từ số nhỏ đến lớn

 Màu sắc trong tự nhiên là liên tục

 Máy tính là hữu hạn: không thể biểu diễn thế giới vô hạn

trong máy tính

 Thông tin biểu diễn dưới 2 dạng:

Tương tự (analog) biểu diễn liên tục, theo đúng cái mà

thông tin biểu diễn

Dạng số (digital) biểu diễn rời rạc, chia thông tin thành các

phần tách rời

Trang 60

Dữ liệu và máy tính

 Thông tin tương tự và thông tin số

 Nhiệt kế là một thiết bị tương tự

 Để biểu diễn thông tin từ thế giới ngoài vào máy tính thì trước hết chúng ta phải rời rạc hóa!

 Những phần tử rời rạc sau đó sẽ được biểu diễn bằng số nhị phân trong máy tính

Trang 61

Biểu diễn bằng giá trị nhị phân

 Một bit có 2 giá trị nên chỉ có thể biểu diễn được 2 trạng thái

 Vd Biểu diễn nóng, lạnh chỉ cần 1 bit là đủ

 Để biểu diễn nhiều hơn 2 trạng thái thì ta cần nhiều bit

 Vd Biểu diễn 4 trạng thái: rất cao, cao, trung bình, thấp tacần 2 bit

 Quy ước giá trị các bit nào biểu diễn trạng thái nào là do ta tùy

ý chọn

Trang 62

Biểu diễn bằng giá trị nhị phân

Trang 63

1.4.3 Biểu diễn số nguyên

•Biểu diễn số âm

•Mã bù 2

•Tràn số

Trang 64

Biểu diễn số nguyên

Biểu diễn số:

 Số là kiểu dữ liệu hay gặp nhất trong máy tính

 Thường không cần sự ánh xạ rõ ràng giữa giá trị nhị phân

và giá trị số

 Biểu diễn số âm

Trang 65

255 254

 Trục số học máy tính:

Trang 66

Biểu diễn số âm

 Thực hiện cộng hoặc trừ với một số có dấu có thể mô tả giốngnhư là dịch đi trên trục số một số lần nút đơn vị, theo chiềutăng hoặc chiều ngược lại

 Vấn đề với biểu diễn số có dấu:

 Tồn tại 2 số 0 là +0 và -0

cần một phương pháp biểu diễn số có dấu khác

Trang 67

Biểu diễn số âm

 Nếu số lượng số là cố định(VD 100): ta chia trục số làm 2 phần

 Từ 0-49 biểu diễn số dương

 Từ 50-99 biểu diễn số âm

Trang 68

Biểu diễn số âm

Cộng hai số: thực hiện cộng như bình thường, nhưng loại bỏ

những phần vượt quá (vd bỏ các chữ số hàng trăm)

 Cộng hai số cùng dấu: thực hiện như bình thường

 Cộng hai số khác dấu

Chuyển về số dươngtương ứng, rồi cộng sau đó chuyển đổi kết quả nếu cần

Trang 69

Biểu diễn số âm

 Trừ hai số:

Trừ hai số bằng cách cộng với giá trị âm của nó

A B     A B

Trang 70

Biểu diễn số âm

Cách biểu diễn số âm là :

(k là số lượng chữ số)

Cách biểu diễn số âm trên là bù 10

Cách biểu diễn trên làm việc tính toán với máy tính dễ dàng hơn

So am x   x

Trang 71

Biểu diễn số âm

 Trong máy tính, số âm biểu diễnbằng bù hai

 Cách cộng và trừ hoàn toàn giốngvới số âm bằng bù 10

Trang 72

Biểu diễn số âm

Cách tìm số âm của 1 số nhị phân :

 VD: 101, với số lượng chữ số (số bit) là 4

Trang 73

Biểu diễn số âm

Chuyển đổi giá trị số về hệ 10 :

 VD 1011 (-5) = −𝟏 ∗ 𝟐𝟑 + 𝟎 ∗ 𝟐𝟐 + 𝟏 ∗ 𝟐𝟏 + 𝟏 ∗ 𝟐𝟎Tổng quát với số nguyên có dấu biểu diễn bằng n bit

𝐴 = 𝑎𝑛−1𝑎𝑛−2 … 𝑎1𝑎0 = −𝑎𝑛−1 ∗ 2𝑛−1 + 𝑎𝑛−2 ∗ 2𝑛−2+ +𝑎0 ∗ 20

Trang 74

Biểu diễn số âm

 Ví dụ: Tìm số âm của các số sau (sử dụng mã bù 2)

a) 100 số chữ số là 4

b) 1011 số chữ số là 8

c) 11000 số chữ số là 8

d) 111111 số chữ số là 8

Trang 75

Biểu diễn số âm

Nhận xét:

 Biểu diễn số âm bằng mã bù 2: bit đầu tiên của số âm luôn

là 1, số dương là 0

 Nếu sử dụng k chữ số (k bit) để biểu diễn số có dấu thì

biểu diễn được các số dương từ 0 ÷ (2 k-1 -1) và số âmtrong khoảng -1 ÷ -2 k-1

Trang 76

Biểu diễn số âm

 Tràn số

Tổng hai số cùng dấu lại là một số khác dấu !

 Tràn số là ví dụ của vấn đề chuyển thế giới vô hạn vào máy hữuhạn!

Trang 77

1.4.4 Biểu diễn số thực

Trang 78

 Giá trị được biểu diễn bởi số trong hệ cơ số x

Trang 79

Biểu diễn số thực

 Biểu diễn số thực trong hệ nhị phân

Ví dụ: Tìm giá trị của các số thực sau

Trang 80

0 250 2

0 500 2

1 000 12.125 = 1100.001(2)

Trang 81

Biểu diễn số thực

 Cách biểu diễn số thực trên có nhiều hạn chế khi áp dụng trênmáy tính  trên máy tính ta áp dụng cách biểu diễn bằng sốthực dấu phảy động

Số thực dấu phảy động : ta lưu trữ giá trị thực như một giá trị

Trang 82

Biểu diễn số thực

 Nếu mũ có giá trị dương thì dịch ‘.’ sang phải, nếu giá trị âm thìdịch sang trái

Số thực dấu phảy động trong hệ 10

* *10 mu

dau giatri

Trang 83

Biểu diễn số thực

 Biểu diễn số thực dấu phảy động bằng số nhị phân

 Để lưu trữ trong máy tính, ta lưu trữ cả 3 giá trị này

VD Dùng 32 bit (4 byte) để lưu trữ 1 số thực thì

 1 bit biểu diễn dấu (0 là dấu +, 1 là dấu -)

 8 bit biểu diễn phần mũ

 23 bit biểu diễn phần sốDải giá trị từ 10-38 đến 10+38

* * 2 mu

dau giatri

Trang 84

Biểu diễn số thực

 Dùng 64 bit (8 byte) để lưu trữ 1 số thực thì

 1 bit biểu diễn dấu (0 là dấu +, 1 là dấu -)

 11 bit biểu diễn phần mũ

 52 bit biểu diễn phần số

Dải giá trị từ 10-308 đến 10+308

Trang 87

Độ lệch mũ (Exponent Bias)

Giá trị (fraction)

Tổng cộng (bit)

Trang 88

Biểu diễn số thực

Chuyển đổi số thực biểu diễn theo chuẩn IEEE 754/85

 Chuyển đổi số thực đó về dạng nhị phân

 Chuyển số đó về dạng ±1 𝑎𝑎𝑎𝑎 × 2𝑏

 Xác định các giá trị : dấu, số mũ và phần giá trị

Trang 91

 NaN : không phải số

X 111 1111 1 YYY YYYY YYYY YYYY YYYY YYYY

Bit dấu nhận giá trị bất kỳ, bit giá trị có thể là bất kỳ trừ tất cả làgiá trị 0 (tránh trùng với số ±∞)

Trang 93

1.4.5 Biểu diễn văn bản (text)

•Biểu diễn văn bản

•Nén văn bản

Trang 94

Biểu diễn văn bản – text

Văn bản (text): có thể chia thành các đoạn văn, câu, từ và các

ký tự

Biểu diễn văn bản: biểu diễn các ký tự xuất hiện trong văn bản,

và lưu trữ các ký tự đó trong máy tính

 Phân biệt văn bản text và document

 Text chỉ gồm các ký tự, không có bất kỳ định dạng nào

(notepad)

 Document ngoài các ký tự có các định dạng còn có thể cóảnh, âm thanh,… (MS Word, wordpad)

Trang 95

Biểu diễn văn bản – text

Biểu diễn ký tự: số lượng ký tự là hữu hạn Biểu diễn mỗi ký tự

bằng một chuỗi số nhị phân

 Lưu trữ mỗi ký tự trên máy bằng cách lưu chuỗi số nhị phântương ứng

Bảng ký tự: là một danh sách ký tự và mã nhị phân tương ứng

để biểu diễn cho ký tự đó

VD Bảng mã ASCII và bảng mã Unicode

Trang 96

Biểu diễn văn bản – text

 Nửa đầu bảng mã ASCII (0-127)

Trang 97

Biểu diễn văn bản – text

 Một vài ký tự trong bảng mã Unicode-16

Trang 99

Biểu diễn văn bản – text

Nén văn bản để lưu trữ và truyền văn bản một cách hiệu quả

trong máy, và giữa các máy khác nhau trên mạng

 3 phương pháp mã hóa văn bản hay dùng

 keyword encoding

 run-length encoding

 Huffman encoding

Trang 100

Biểu diễn văn bản – text

keyword encoding – mã hóa từ khóa

 Là phương pháp mã hóa từ khóa

 Mã hóa những từ thường xuyên xuất hiện bằng một ký tựđặc biệt

Trang 101

Biểu diễn văn bản – text

Văn bản ban đầu: 349 ký tự (kể cả các dấu)

The human body is composed of many independent systems, such as the circulatory system, the respiratory system, and the reproductive system Not only must all systems work independently, they must

interact and cooperate as well Overall health is a function of the

well-being of separate systems, as well as how these separate systems work in concert.

Văn bản sau mã hóa: 314 ký tự

The human body is composed of many independent systems, such

^ ~ circulatory system, ~ respiratory system, + ~ reproductive system Not only & each system work independently, they & interact +

cooperate ^ % Overall health is a function of ~ %-being of separate systems, ^ % ^ how # separate systems work in concert.

Tỉ lệ nén : 314/349 = 0.9

Trang 102

Biểu diễn văn bản – text

run-length encoding – mã hóa loạt dài

 Sử dụng trong trường hợp một ký tự được lặp đi lặp lại liêntiếp nhiều lần, VD trong chuỗi ADN, hoặc luồng dữ liệu lớn

 Thay thế chuỗi ký tự lặp lại bằng ký tự cờ + ký tự được lặp vàtheo sau là số lần lặp

Ví dụ : AAAAAA được mã hóa là *A6

*n5*x9ccc*h6 some other text *k8eee

Là mã hóa của

nnnnnxxxxxxxxxccchhhhhh some other text kkkkkkkkeee

Tỉ lệ mã hóa 35/51=0.68

Trang 103

Biểu diễn văn bản – text

Huffman Encoding – mã hóa Huffman

 Mã hóa dựa trên tần suất xuất hiện của ký tự(hoặc từ)

trong văn bản Ký tự (hoặc từ) nào xuất hiện thường xuyênthì được mã hóa bằng chuỗi mã ngắn và ngược lại

 Ví dụ: mã hóa cho DOORBELL

ta được chuỗi mà hóa nhị phân là

Ngày đăng: 30/12/2021, 23:02

🧩 Sản phẩm bạn có thể quan tâm