175
TRÖÔØNG ÑAÏI HOÏC TOÂN ÑÖÙC THAÉNG KHOA COÂNG NGHEÄ THOÂNG TIN & TOAÙN ÖÙNG DUÏNG ----- ----- MOÂN HOÏC TIN HOÏC ÑAÏI CÖÔNG GIAÛNG VIEÂN: LEÂ THÒ NGOÏC THAÛO

Tin hoc dai_cuong_9517

Embed Size (px)

DESCRIPTION

kiến thức căn bản về tin học căn bản và C cho người mới lập trình

Citation preview

Page 1: Tin hoc dai_cuong_9517

TRÖÔØNG ÑAÏI HOÏC TOÂN ÑÖÙC THAÉNG KHOA COÂNG NGHEÄ THOÂNG TIN & TOAÙN ÖÙNG DUÏNG

----- -----

MOÂN HOÏC

TIN HOÏC ÑAÏI CÖÔNG

GIAÛNG VIEÂN: LEÂ THÒ NGOÏC THAÛO

Page 2: Tin hoc dai_cuong_9517

11

TIN HTIN HỌỌC C ĐĐẠẠI CƯƠNGI CƯƠNG

GV: Lê Thị Ngọc Thảo

Page 3: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 2ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 2

Mục tiêu môn học

Cung cấp cho sinh viên các kiến thức cơ bản về:• Máy tính điện tử• Biểu diễn thông tin trong máy tính điện tử

Giúp sinh viên nắm vững khái niệm giải thuật và các phương pháp biểu diễn, thiết kế giải thuật.

Page 4: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 3ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 3

Đề cương môn học

Chương 1: Thông tin và xử lý thông tinChương 2: Máy tính điện tửChương 3: Biểu diễn thông tin trong máy tính điện tửChương 4: Chương trình và giải thuậtChương 5: Các ngôn ngữ lập trình

Page 5: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 4ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 4

Phương thức tiến hành

Lý thuyết: 30 tiết Bài tập: 15 tiếtTự học: 90 tiếtMôn học được phân bổ trong 15 tuần

Page 6: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 5ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 5

Tài liệu tham khảo

Tóm tắt bài giảng (slide)Giáo trình Tin Học Đại Cương I,II – Hoàng Kiếm – NXB Giáo Dục, 1997 Bài Giảng Tin học Đại Cương A1 –Nguyễn Đức Thắng – ĐHQG Tp.HCM

Page 7: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 6ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 6

Phương thức đánh giá

Điểm kiểm tra 10%Điểm thi giữa học kỳ 20% Kết quả thi cuối học kỳ 70%

Page 8: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 7

Chương 1:Thông tin & Xử lý thông tin

Page 9: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 8ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 8

Chương 1 - Thông tin & Xử lý thông tin

Thông tinXử lý thông tinTin học

Page 10: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 9ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 9

Thông tin (Information)

Là một khái niệm trừu tượng Tin tứcMang lại sự hiểu biết, nhận thức• Ví dụ: Thông tin về khí tượngĐược phát sinh, được lưu trữ, được truyền, được tìm kiếm, được sao chép, được xử lý, nhân bản.Có thể biến dạng, sai lệch hoặc bị phá hủy. • Ví dụ: thông tin di truyền

Page 11: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 10ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 10

Phân biệt Thông tin & Dữ liệu

Dữ liệu (data) là biểu diễn của thông tin và được thể hiện bằng các tín hiệu (signal) vật lý. Thông tin chứa đựng ý nghĩa.Dữ liệu là các dữ kiện không có cấu trúc vàkhông có ý nghĩa rõ ràng nếu nó không được tổchức và xử lý. Cùng một thông tin, có thể được biểu diễn bằng những dữ liệu khác nhau.• Ví dụ: biểu diễn một đơn vị (1 & I)

Mỗi dữ liệu lại có thể được thể hiện bằng những ký hiệu vật lý khác nhau.• Ví dụ: ký hiệu I (Tôi (tiếng Anh) & giá trị một)

Page 12: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 11ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 11

Xử lý thông tin

Con người tiếp nhận thông tin Xử lý tạo ra thông tin mới, có ích hơn.Ví dụ: • Xử lý các thông tin trong kinh doanh• Xử lý các thông tin trong lĩnh vực điều tra

Page 13: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 12ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 12

Xử lý thông tin trong máy tính

Trong máy tính, các thông tin được biểu diễn bằng hệ đếm nhị phân. Tuy chỉ dùng 2 ký số là 0 và 1 mà ta gọi là bit nhưng hệ nhị phân đã giúp máy tính biểu diễn - xử lý được trên hầu hết các loại thông tin mà con người hiện đang sửdụng như văn bản, hình ảnh, âm thanh, video,…

Page 14: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 13ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 13

Tin học

Tin học: là ngành khoa học về thông tin, các cách thức xử lý thông tin và các kỹthuật xây dựng hệ thống thông tin.Tin học nghiên cứu cấu trúc, hoạt động, và tương tác giữa các hệ thống (tự nhiên và nhân tạo) lưu trữ, xử lý và dẫn truyền thông tin.

Page 15: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 14ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 14

Công nghệ thông tin

Information TechnologyCông nghệ thông tin: là ngành nghiên cứu, thiết kế, phát triển, xây dựng, hỗ trợvà quản lý các hệ thống thông tin với sựtrợ giúp của máy tính.

Page 16: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 15

Một số từ khóa tiếng Anh

Computer, Computer scienceDataEnginneering, Software engineeringInformation, Information systemTechnique Technology, Information technologyKnowledge

Page 17: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 16

CHƯƠNG 2: MÁY TÍNH ĐIỆN TỬ

Page 18: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 17ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 17

Chương 2: Máy tính điện tử

Những nguyên lý máy tính cơ bảnCấu trúc tổng quát máy tính điện tửSự phát triển của máy tính điện tử

Page 19: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 18

Những nguyên lý máy tính cơ bản

Kiến trúc Von Neumann Kiến trúc HarvardKiến trúc SHARC

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 18

Page 20: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 19

Kiến trúc Von Neumann

Gồm có:• Bộ nhớ & Bus để chuyển dữ liệu vào & ra đơn vị xử lý

trung tâm (CPU)• CPU chỉ có thể đọc lệnh, hay đọc/ghi dữ liệu từ bộ nhớ.

Cả hai quá trình tương tác với lệnh hoặc với dữ liệu không thể thực hiện cùng lúc. thực hiện tuần tự

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 19

Page 21: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 20

Kiến trúc Harvard

Được nghiên cứu tại Harvard, dưới sự lãnh đạo của Howard Aiken (1900-1973)Bộ nhớ dữ liệu và bộ nhớ chương trìnhsử dụng các bus riêng rẽ thực hiện song song cải thiện tốc độ.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 20

Page 22: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 21

Kiến trúc SHARC

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 21

SHARC – Super Harvard ArchitectureXây dựng dựa trên kiến trúc HarvardThêm vào những điểm đặc trưng để cải thiện thông lượng dữ liệu (bộ nhớ đệm chỉ lệnh & điều khiển vào/ra.)

Page 23: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 22

Quá trình xử lý thông tin trên máy tính

Nhận thông tin: từ thế giới bên ngoài vào máy tínhXử lý thông tin: biến đổi, phân tích, tổng hợp, tra cứu... những thông tin ban đầu thông tin mong muốnXuất thông tin: đưa kết quả ra thế giới bên ngoàiLưu trữ thông tin: lưu lại kết quả để sử dụng trong các lần sau

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 22

Page 24: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 23

Các thành phần chính trong máy tính

Gồm 4 thành phần chính:• Thiết bị nhập

• Bàn phím, chuột

• Thiết bị xử lý• Bộ não

• Thiết bị xuất• Màn hình, loa

• Thiết bị lưu trữ• Sơ cấp: bộ nhớ• Thứ cấp: đĩa cứng, CD

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 23

Page 25: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 24

Đơn vị xử lý trung tâm (1)

CPU – central processing unit• Mạch xử lý dữ liệu

• theo chương trình thiết lập trước• tích hợp phức tạp hàng triệu transitor trên bảng

mạch • Có thể thi hành hàng triệu lệnh mỗi giây• Bao gồm nhiều thành phần phức tạp với các

chức năng khác nhau

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 24

Page 26: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 25

Đơn vị xử lý trung tâm (2)

Công việc chính của CPU là thi hành các mã lệnh của chương trình

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 25

Page 27: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 26

Đơn vị xử lý trung tâm (3)

Thành phần căn bản bên trong CPU• Arithmetic Logic Unit (ALU)

• Gồm một số thanh ghi – register (32, 64 bit)• Thực hiện các lệnh của đơn vị điều khiển và xử

lý tín hiệu:• Các phép tính số học đơn giản (cộng, trừ, nhân,

chia số nguyên) • Phép tính luận lý đối với dữ liệu (so sánh lớn

hơn, nhỏ hơn, ...).

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 26

Page 28: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 27

Đơn vị xử lý trung tâm (4)

Thành phần căn bản bên trong CPU(tt)• Ðơn vị nạp lệnh - Prectch unit • Ðơn vị giải mã - Decode unit• Ðơn vị nối ghép đường truyền

• Bus Interface Unit• Ðơn vị điều khiển - control unit

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 27

Page 29: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 28

Đơn vị xử lý trung tâm (5)

Thành phần căn bản bên trong CPU (tt)• Thanh ghi - register • Bộ nhớ ẩn - cache memory

• Primary cache: Level 1• Secondary cache: Level 2

Mạch xung nhịp hệ thống - system clock • Đồng bộ các xử lý trong và ngoài CPU • Tốc độ xung nhịp: triệu đơn vị mỗi giây Mhz.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 28

Page 30: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 29

Bộ nhớ máy tính (1)

CPU chỉ có khả năng giải quyết một ít trong phần dữ liệuCần lưu giữ lại sẵn sàng dữ liệu được đọc cho CPU xử lý:• Bộ nhớ chính • ROM & RAM

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 29

Page 31: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 30

Bộ nhớ máy tính (2)

Read Only Memory - ROM • Chỉ đọc • Cố định - nonvolatile memory: duy trì nội dung

nhớ khi không có nguồn điện• Chứa chương trình BIOS không thay đổi. • Máy trò chơi điện tử (game box)

• khe cắm ROM

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 30

Page 32: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 31

Bộ nhớ máy tính (3)

RAM - Random Access Memory • Bộ nhớ truy cập ngẫu nhiên • Gồm nhiều chip RAM• Vị trí lưu trữ trong RAM có thể truy cập trực

tiếpThao tác truy tìm và cất trữ có thể thực hiện rất nhanh.

• không cố định - volatile memory• SRAM - RAM tĩnh, DRAM - RAM động• 8405010

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 31

Page 33: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 32

Bộ nhớ máy tính (4)

Phải luôn có nguồn nuôi để lưu trữ nội dung thông tin trên RAMMất điện là mất tất cả.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 32

Page 34: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 33

Bộ nhớ máy tính (5)

Hoạt động khởi động máy tính:• CPU tự động (đã qui định trước) đọc thông tin lưu

trong ROM và thi hành, chương trình BIOS - hệthống xuất nhập cơ sở

• Sau đó đọc thông tin trên đĩa khởi động và nạp các thông tin hệ điều hành trên đĩa vào bộ nhớRAM.

• CPU có thể thực hiện các tác vụ từ các thông tin lưu trên RAM

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 33

Page 35: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 34

Hoạt động khởi động máy tính

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 34

Page 36: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 35

Thiết bị nhập (1)

Bàn phím: Key boardThiết bị chỉ điểm: Pointing Device Thiết bị đọcThiết bị số hóa

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 35

Page 37: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 36

Thiết bị nhập (2)

Bàn phím:• Ký tự• Điều khiển• Cấu trúc QWERT

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 36

Page 38: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 37

Thiết bị nhập (3)

Pointing Device• Chuột: Mouse

• Ball, optical, trackball• Phiến nhấn: Touch Pad• Cần điều khiển: Joy Stick• Màn hình cảm ứng: Touch Screen• Bàn vẽ: Graphic Table

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 37

Page 39: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 38

Pointing Device

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 38

Page 40: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 39

Thiết bị nhập (4)

Thiết bị đọc:• Thiết bị đọc đánh dấu quang học

• Optical-mark readder• Thiết bị đọc mã vạch - Barcode reader

• dùng ánh sáng để đọc mã sản phẩm, mã kiểm tra• Cây đũa thần - wand reader• Cây viết máy tính

• pen-based computer

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 39

Page 41: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 40

Thiết bị nhập (5)

Thiết bị số hóa thế giới thực: • Máy quét ảnh – scanner• Máy ảnh số – digital camera• Máy quay phim số – digital video camera• Thiết bị âm thanh số hóa – Audio digitalizer • Thiết bị cảm ứng

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 40

Page 42: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 41

Thiết bị số hóa thế giới thực

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 41

Page 43: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 42

Thiết bị xuất (1)

Xuất ra màn hìnhXuất ra giấyXuất ra âm thanhNối mạng

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 42

Page 44: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 43

Thiết bị xuất (2)

Xuất ra màn hình• Màn hình máy tính (Video Monitor)

• Bóng đèn tia điện tử• cathode CRT (cathode ray cathode)

• Màn hình tinh thể lỏng LCD • liquid crystal display

• Điểm ảnh (pixel) – Độ phân giảI (resolution)• 72 dpi (dots per inch) , 800x600

• Màu – (Color depth)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 43

Page 45: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 44

Thiết bị xuất (3)

Xuất ra màn hình• Bộ điều hợp hiển thị (AGP)

• Video adapter - display adapter• Card màn hình - display card, vidéo card • Đường dẫn dữ liệu: 4X: 32bit, 8X:64bit• Bộ nhớ màn hình : Video RAM

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 44

Page 46: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 45

Thiết bị xuất (4)

Xuất ra giấy• Máy in gõ - impact printer

• In theo dòng hay theo ma trận điểm. • Tốc độ in chậm, ồn ào, độ phân giải thấp • Ấn các kim qua lớp băng mực theo tín hiệu điểu khiển• Số đầu kim qui định độ phân giải đạt • In trên khổ giấy lớn mà giá máy rẻ• Nhân thành nhiều bản bằng giấy than do sự gõ truyền lực

• Máy in không gõ - nonimpact printer• Kỹ thuật hiện đại khác

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 45

Page 47: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 46

Thiết bị xuất (5)

Máy in nhiệt • Dùng các xung điện từ làm cho đầu kim ma

trận điểm nóng lên và nguội đi rất nhanh làm đổi màu các điểm trên loại giấy đặc biệt

• Tốc độ máy in tương đối nhanh và ít tốn điện• Dùng giấy in nhiệt - thermal paper• Công nghệ máy in truyền mực bằng nhiệt -

thermal fusion printer• Phổ biến trong máy in xách tay

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 46

Page 48: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 47

Thiết bị xuất (6)

Máy in phun mực – inkjet printer• Dùng tinh thể áp điện (máy bơm)

• Đẩy mực ra khỏi ống và hút thêm mực khác vào

• Máy in phun bong bóng - bubble jet printer • Dùng phần tử nung nóng

• Hạn chế bởi tốc độ in• Ưu điểm dùng điện áp thấp từ 24V đến 50V • Dùng với mọi loại giấy, độ nét và độ mịn cao• Chi phí in cao

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 47

Page 49: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 48

Thiết bị xuất (7)

Máy in laser : • Công nghệ in tĩnh điện

• Electrostatic - ES• Điện tích tĩnh điện làm chảy mực lên giấy• Hệ thống tạo hình

• image formation system (IFS) • Máy in di-ốt phát quang

• Light emitting diede printer • Máy in cửa sập tinh thể lỏng

• Liquid crystal shutter printer.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 48

Page 50: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 49

Thiết bị xuất (8)

Máy in màu • Kiểu RGB - tức là Red-Green-Blue

• Cách tạo màu của tivi và màn hình máy tính• Kiểu HSB - Hue-Saturation-Brightness

• Sắc màu, lượng màu, độ sáng• Kiểu CMYK Cyan, Magenta, Yellow, black

• I n ấn chế bản: C -cyan là xanh, M - magenta là đỏ, Y - yellow là vàng, K - black là đen.

• Hệ thống hợp màu pantone• Pantone color matching system – CMYK

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 49

Page 51: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 50

Thiết bị xuất (9)

Xuất ra âm thanh• Bo mạch xử lý âm

thanh - sound card • Midi

• Bảng mã qui định sẵn -các nhạc cụ điện tử

• Wave• Mọi thứ âm nghe và

tổng hợp

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 50

Page 52: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 51

Thiết bị xuất (10)

Kết nối máy tính khác• Remote Access• Network Interface Card - NIC• Modulation-Demodulation

• Modem - bộ điều biến

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 51

Page 53: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 52

Thiết bị lưu trữ (1)

Đĩa từ tínhĐĩa từ quangĐĩa quang

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 52

Page 54: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 53

Thiết bị lưu trữ (2)

Ðĩa từ tính• Ðĩa mềm - floppy disk

•Vỏ bảo vệ & đĩa plastic nhỏ có phủ vật liệu từ• Thông tin dạng số: hạt từ tính

•3.5 inch - đĩa 1.44Mb•Hạn chế về dung lượng nhớ, tốc độ chậm •Sao lưu dữ liệu , tính cơ động cao, giá rẻ

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 53

Page 55: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 54

Thiết bị lưu trữ (3)

Ðĩa cứng - Hard disk• Vỏ cứng bảo vệ, các bộ phận điều khiển xuất nhập• Đĩa từ tính: 5.25 inch và 3.5 inch• Dung lượng ổ cứng: 100MB 160GB• Mạch giao tiếp: chuẩn ESDI, IDE, SCSI

• ESDI (Enhanced Small Device Interface), 1983 24 MB/sec

• IDE (Intelligent Drive Electronic - Intergrated Drive Electronic) - còn gọi ATA (AT Attachment)

• SCSI (Small Computer System Interface) • 4Mb/giây 10Mb/giây.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 54

Page 56: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 55

Thiết bị lưu trữ (4)

Ðĩa từ quang • Magneto optical drive – MO• Ánh sáng laser • Dung lượng

• 5.25 inch là 1.3Gb, • 3.5inch là 230 Mb.

• Bảo đảm dữ liệu 50 năm

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 55

Page 57: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 56

Thiết bị lưu trữ (5)

Ðĩa quang học • Nguyên tắc quang học, tia laser• Ba điểm khác biệt chính so với từ tính

• Dung lượng cao hơn • Độ bền cao hơn• Tháo lắp dễ dàng

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 56

Page 58: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 57

Thiết bị lưu trữ (6)

CD-ROM • Compact Disc Read Only Memory• Đường kính 12cm, dày 1,2mm• Dung lượng ~ 680Mb

DVD • Digital Video Disc, Digital Versatile Disc • nhiều lớp trên một mặt• Dung lượng 3.8 Gb 17 Gb

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 57

Page 59: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 58

Đường truyền – Cổng thiết bị ngoại vi

Thông tin qua lại giữa các linh kiện thông qua một mạng lưới các Bus:• 8,16 hay 32 đường - bus 8bit, bus 16bit bus

32bit. • Bus nối với các khe - slot trên bo mạch. • Bus nối với các cổng nằm ngoài

Các thiết bị ngoại vi kết nối qua:• Cổng có sẵn của máy• Card chuyên biệt

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 58

Page 60: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 59

Sự phát triển của máy tính điện tử (1)

1946-1948: • Sự ra đời của các máy tính điện tử đầu tiên.• Tiếp đó là việc sản xuất hàng loạt máy tính điện tử thế hệ thứ nhất và thứ hai trong thập kỷ 50

• Chủ yếu được sử dụng trong tính toán khoa học-kỹ thuật.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 59

Page 61: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 60

Sự phát triển của máy tính điện tử (2)

Giữa thập kỷ 60:• Sự ra đời của các máy tính điện tử thế hệ thứ

ba với kỹ thuật mạch tích hợp và các bộ nhớbán dẫn.

• Máy tính điện tử được bắt đầu ứng dụng trong kinh doanh, quản lý kinh tế.

• Máy lớn và đắt, nên thường chỉ được trang bịcho các trung tâm tính toán. Cuối những năm 60 sang đầu những năm 70 bắt đầu có các mạng nối các trung tâm tính toán với nhau.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 60

Page 62: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 61

Sự phát triển của máy tính điện tử (3)

Giữa thập kỷ 70:• Ra đời các bộ vi xử lý: các linh kiện thực hiện

chức năng của cả bộ xử lý trung tâm được chứa trong chỉ một "chip" bán dẫn có diện tích khoảng 1-2cm2.

• Kỹ thuật vi xử lý khởi đầu một cuộc cách mạng trong tin học, tạo cơ sở cho sự ra đờimáy vi tính với năng lực ngày càng cao, giángày càng rẻ, thâm nhập khắp mọi nơi trên thế giới và được sử dụng trong mọi lĩnh vực.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 61

Page 63: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 62

Sự phát triển của máy tính điện tử (4)

Cuối thập kỷ 80 đến nay: • Sự phát triển bùng nổ của các mạng viễn

thông truyền dữ liệu quốc gia và quốc tế• Xuất hiện những hệ thống “siêu xa lộ thông

tin” liên kết hàng trăm triệu người trong từng quốc gia cũng như trong phạm vi khu vực vàtoàn cầu.

• Xây dựng “kết cấu hạ tầng về thông tin” làm nền móng cho một “xã hội thông tin”.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 62

Page 64: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 63

Tốc độ xử lý của máy tính tăng rất nhanh

Chiếc máy tính đầu tiên:

ENIAC (1947)Tốc độ: 6 - 7 nghìn phép tính/giâyTiêu hao năng lượng rất nhiều và toả nhiệt rất lớnDiện tích là 1.800m2

Giá 450 nghìn USD lúc đó(~ 4 - 5 triệu USD bây giờ).

Hiện nay:

Máy tính thông thườngTốc độ: hàng chục tỉ phép tính/giâyTiêu hao năng lượng vàtỏa nhiệt ítDiện tích: ?Giá: ?

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 63

Page 65: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 64

Định luật Moore

Cứ sau mỗi 18 tháng, khả năng xử lý của máy tính tăng gấp đôi.Tương ứng với mật độcủa bóng bán dẫn (transitor) trên một bảng mạch (chip).

Bộ xử lý Năm sản xuất

Số bóng bán dẫn

4004 1971 2.2508008 1972 2.5008080 1974 5.0008086 1978 29.000286 1982 120.000386 1985 275.000

486DX 1989 1.180.000Pentium 1993 3.100.000

Pentium II 1997 7.500.000Pentium III 1997 24.000.000Pentium IV 2000 42.000.000

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 64

Page 66: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 65

CHƯƠNG 3: BIỂU DIỄN THÔNG TIN

TRONG MÁY TÍNH ĐIỆN TỬ

Page 67: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 66ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 66

Chương 3: Biểu diễn thông tin trong máy tính điện tử

Máy tính lưu trữ thông tin như thế nào?Các hệ đếm Chuyển đổi giữa các hệ đếm

Page 68: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 67

Máy tính lưu trữ thông tin như thế nào?

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 67

Page 69: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 68

Các hệ đếm

Hệ thập phânHệ nhị phânHệ bát phânHệ thập lục phân

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 68

Page 70: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 69

Hệ thập phân (Số tự nhiên)

Sử dụng hằng ngày10 chữ số: 0 9Qui tắc: học từ lớp 1

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 69

Page 71: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 70

Hệ cơ số (1)

Là hệ thống chữ số dùng để biểu diễn sốHệ cơ số k:• Dùng k chữ số để biểu diễn• Ký hiệu có giá trị nhỏ nhất là ‘0’• Ký hiệu có giá trị lớn nhất là k-1

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 70

Page 72: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 71

Hệ cơ số (2)

2 chữ số: 0 và 1 Hệ cơ số 2: nhị phân8 chữ số: 0,1,2,3,4,5,6,7 Hệ cơ số 8: bát phân10 chữ số: 0,1,2,3,4,5,6,7,8,9 Hệ cơ số10: thập phân16 chữ số: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Hệ cơ số 16 hay hệ thập lục phân

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 71

Page 73: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 72

Chuyển đổi giữa các hệ đếm

Qui tắc 1Qui tắc 2Qui tắc 3Qui tắc 4

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 72

Page 74: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 73

Qui tắc 1 - Chuyển đổi từ hệ thập phân sang hệ cơ số b

Lấy số thập phân chia cho cơ số b (b≠10) cho đến khi phần thương của phép chia bằng 0Số đổi được chính là các phần dư của phép chia theo thứ tự ngược lại.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 73

110

Page 75: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 74

Ví dụ: 199010=?16

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 74

7 0167

16C

6 124161990

7C6

Page 76: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 75

Qui tắc 2 – Chuyển đổi từ hệ cơ số b về hệ thập phân

Ví dụ:• X = 1102 thì X= 1*22 + 1*21 + 0*20 = 6.• X = 7C616 thì X= 7*162 + 12*161 + 6*160 = 1990.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 75

X = an an-1 ... a1 a0

= anbn + an-1bn-1 +... + a1b1 + a0b0 (*)

Page 77: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 76

Qui tắc 3 - Chuyển từ hệ nhị phân về hệthập lục phân

Nhóm lần lượt 4 bit từ phải sang tráiSau đó thay thế các nhóm 4 bit bằng giátrị tương ứng với hệ thập lục phân Ví dụ:• X = 11’10112 = 3B16

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 76

Page 78: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 77

Thập phân Nhị phân Thập lục phân

0 0 01 1 12 10 23 11 34 100 45 101 56 110 67 111 78 1000 89 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 77

Page 79: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 78

Qui tắc 4 - Chuyển từ hệ thập lục phân về hệ nhị phân

Ứng với mỗi chữ số sẽ được biểu diễn dưới dạng 4 bit Ví dụ:• X = 3B16 = 0011’10112= 11’10112

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 78

Page 80: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 79

Bài tập 1

1. 45310=?16

2. A35D16=?8

3. 24568=?2

4. 23E16=?10

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 79

5. 29110=?16

6. EF1716=?8

7. 27138=?2

8. A3116=?10

9. 50710=?16

10. 6F0A16=?8

11. 32478= ?2

12. D2A16=?10

Page 81: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 80

Phép cộng

Qui tắc:• Thực hiện theo thứ tự từ phải sang trái• Cộng hai chữ số cùng cột• Nếu tổng của hai chữ số lớn hơn cơ số thì

phần lớn hơn được nhớ chuyển sang cột tiếp theo.

Ví dụ:

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 80

10010120010112

1100002

+ 146584078

20748

+

Page 82: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 81

Phép trừ

Qui tắc:• Thực hiện theo thứ tự từ phải sang trái• Trừ hai chữ số cùng cột• Nếu chữ số của số bị trừ nhỏ hơn số trừ thì

mượn 1 đơn vị từ cột tiếp theo.Ví dụ:

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 81

10010120010112

0110102

- 146584078

10568

-

Page 83: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 82

Phép nhân

Qui tắc:• Thực hiện theo thứ

tự từ phải sang trái• Nhân hai chữ số

cùng cột• Nếu tích của hai

chữ số lớn hơn cơ số, thì phần lớn hơn được cộng dồn vào kết quả tiếp theo

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 82

x

Page 84: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 83

Phép chia

Qui tắc: Tương tự phép chia số thập phânVí dụ:

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 83

Page 85: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 84

Phép toán AND

A B A AND B

1 1 1

1 0 0

0 1 0

0 0 0

Ví dụ:1 1 0 1 1 0 1 01 0 0 1 1 1 1 01 0 0 1 1 0 1 0

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 84

AND

Page 86: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 85

Phép toán OR

A B A OR B

1 1 1

1 0 1

0 1 1

0 0 0

Ví dụ:1 0 0 1 1 0 1 01 1 0 0 1 0 0 11 1 0 1 1 0 1 1

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 85

OR

Page 87: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 86

Phép toán XOR

A B A OR B

1 1 0

1 0 1

0 1 1

0 0 0

Ví dụ:1 0 0 1 1 0 1 01 1 0 0 1 0 0 10 1 0 1 0 0 1 1

1 1 1 1 1 1 1 11 0 1 0 1 0 0 10 1 0 1 0 1 1 0

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 86

XOR

Sử dụng chính của phép toán này là lấy phần bù của một chuỗi bit.

XOR

Page 88: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 87

Phép dịch chuyển SHIFT (1)

Qui tắc: • Được thực hiện tùy theo hướng di chuyển

của các dãy bit• Cho dãy bit của nó sang hướng trái/phải thì

bit đầu tiên của dãy (là bit cao nhất nếu dịch chuyển sang trái, hay bit thấp nhất khi dịch chuyển sang phải) sẽ bị chuyển đi

• Bit cuối cùng của nó (là bit cao nhất nếu dịch chuyển sang trái, hay bit thấp nhất khi dịch chuyển sang phải) sẽ được đặt là 0

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 87

Page 89: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 88

Phép dịch chuyển SHIFT (2)

Ví dụ:• SHIFT LEFT 10001110 00011100• SHIFT RIGHT 10001110 01000111

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 88

Page 90: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 89

Phép quay ROTATION

Qui tắc:• Tương tự phép dịch chuyển SHIFT• Bit cuối sẽ được chuyển vào bit đầu tiên

Ví dụ:• ROTATION LEFT 10001110 00011101• ROTATION RIGHT 10001110 01000111

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 89

Page 91: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 90

Biểu diễn số nguyên

Số nguyên không dấu (không âm)• Số biểu diễn ở hệ nhị phân• Biểu diễn: 8 bit, 16 bit, 32bit hay 64bit

Số nguyên có dấu:• Dựa trên hệ nhị phân không dấu• Có 3 phương pháp:

• Phương pháp dấu lượng• Phương pháp biểu diễn số bù 1• Phương pháp biểu diễn số bù 2

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 90

Page 92: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 91

Phương pháp dấu lượng (1)

Sign – MagnitudeBit cực trái được dùng làm bit dấu• 0 là dấu “+”• 1 là dấu “–”

Các bit còn lại biểu diễn độ lớn của sốPhương pháp để biểu diễn số âm K bit:

Lấy phần dương của số đó cộng thêm 2k-1

Biểu diễn chúng ở hệ nhị phân.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 91

Page 93: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 92

Phương pháp dấu lượng (2)

Ví dụ:• Mẫu 4 bit• Số +5

•+5 =5 •0101

• Số -5•5 + 8 =13 •1101

Mẩu bit Giá trị Mẩu bit Giá trị1111 -7 0111 71110 -6 0110 61101 -5 0101 51100 -4 0100 41011 -3 0011 31010 -2 0010 21001 -1 0001 11000 -0 0000 0

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 92

Page 94: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 93

Phương pháp dấu lượng (3)

Nhược điểm:• Số 0 biểu diễn 2 cách• Yêu cầu phép tính toán riêng• -5 + 5 =0 • 1101 + 0101 = 10010 ???

Cải tiến phương pháp dấu lượngKý pháp lệch (biased

representation)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 93

Page 95: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 94

Ký pháp lệch (1)

Qui tắc: • Giá trị x biểu diễn bằng x + N• N là giá trị lệch

• N= 2n-1 hoặc N = 2n-1-1 • n là số bit biểu diễn

Ví dụ:• Với mẫu 4-bit, N=23

• Số +5: 5 + 23 = 5+8 = 13 1101• Số -5: -5+ 23 = -5+8 = 3 0011• 5+ -5 = 0 = 1101 + 0011 = 1 0000

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 94

Page 96: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 95

Ký pháp lệch (2)

Ưu điểm: • Chỉ một cách biểu diễn số 0• Với mẫu 4 bit:

• 0 biểu diễn là 1000• 0000 là biểu diễn của -8

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 95

Page 97: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 96

Phương pháp biểu diễn số bù 1 (1)

One’s complementBit cực trái làm bit dấu• 0 cho số dương• 1 cho số âm

Qui tắc biểu diễn số bù 1• Biểu diễn dưới dạng nhị phân của trị tuyệt đối

n theo mẩu k-bit cố định cho trước. • Nếu n < 0 thì đổi 1 thành 0 và ngược lại trong

dãy số nhị phân (gọi là đảo ngược bit)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 96

Page 98: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 97

Phương pháp biểu diễn số bù 1 (2)

Ví dụ: • n=5 Dùng mẩu 4 bit thì biểu diễn là: 0101• n = -5 Dùng mẩu 4 bit thì biểu diễn là: 1010• n = 6 Dùng mẩu 4 bit thì biểu diễn là: 0110• n = -6 Dùng mẩu 4 bit thì biểu diễn là: 1001

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 97

Page 99: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 98

Phương pháp biểu diễn số bù 2 (1)

Two’s complementBit cực trái làm bit dấu tương tự bù 1Qui tắc biểu diễn số bù 2:• Biểu diễn dưới dạng nhị phân của trị tuyệt đối

n theo mẩu k bit cố định cho trước. • Nếu n < 0:

• bắt đầu từ phải qua trái giữ nguyên các bit chođến khi gặp bit có giá trị là 1 đầu tiên,

• sau đó các bit tiếp theo bên trái bit 1 đầu tiên đóđổi 1 thành 0 và ngược lại (đảo bit)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 98

Page 100: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 99

Phương pháp biểu diễn số bù 2 (2)

Thực chất sốbiểu diễn bù 2 là số biểu diễnbù 1 cộng 1Ví dụ mẫu 4 bit

Mẩu bit Giá trị Mẩu bit Giá trị0111 7 1111 -10110 6 1110 -20101 5 1101 -30100 4 1100 -40011 3 1011 -50010 2 1010 -60001 1 1001 -70000 0 1000 -8

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 99

Page 101: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 100

Phương pháp biểu diễn số bù 2 (3)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 100

digits binary actual value0 0000 0000 0 1 0000 0001 1.... 126 0111 1110 126 127 0111 1111 127 128 1000 0000 -128 129 1000 0001 -127 130 1000 0010 -126 .... 254 1111 1110 -2 255 1111 1111 -1

Page 102: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 101

Phép cộng khi biểu diễn bù 1 (1)

Qui tắc:• Thực hiện như phép toán tương ứng trên hệ

nhị phân• Nếu ở 2 bit cực trái khi thực hiện phép cộng

mà phát sinh bit nhớ cộng nhớ vào kếtquả.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 101

Page 103: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 102

Phép cộng khi biểu diễn bù 1 (2)

Ví dụ biểu diễn bù 1 mẩu 4-bit• -6 1001 • 4 0100• 1001 + 0100 = 1101 -2

Ví dụ biểu diễn bù 1 mẫu 5-bit• -6 11001• -4 11011• 11001 + 11011 = 1 10100 (1 là nhớ)• 10100 + 1 = 10101 -10

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 102

Page 104: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 103

Phép cộng khi biểu diễn bù 2 (1)

Qui tắc:• Thực hiện như phép toán tương ứng trên hệ

nhị phân• Nếu ở 2 bit cực trái khi thực hiện phép cộng

mà phát sinh bit nhớ loại bỏ nhớ

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 103

Page 105: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 104

Phép cộng khi biểu diễn bù 2 (2)

Ví dụ biểu diễn bù 2 mẫu 4-bit• -6 1010 • 4 0100• 1010 + 0100 = 1110 -2 ở biểu diễn bù 2

Ví dụ biểu diễn bù 2 mẫu 5-bit• -6 11010• -4 11100• 11010 + 11100 = 1 10110 (1 là nhớ) loại

bỏ 1 nhớ: 10110 -10 ở biểu diễn bù 2

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 104

Page 106: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 105

Lỗi tràn số (1)

Hiện tượng xảy ra khi số cần biểu diễn vượtquá số bit cho trước để biểu diễn nóVí dụ: • Mẩu 4 bit cho biểu diễn bù 2 cho -6, -4• -6 1010, -4 1100• Kết quả phép cộng ở dạng bù 2 là 0110 là biểu

diễn của +6, do đó kết quả bị sai. Nguyên nhân: số lượng bit để biểu diễn quá ít

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 105

Page 107: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 106

Lỗi tràn số (2)

Khắc phục: tăng số lượng bit nhiều hơn• Mẩu 32 bit số dương lớn nhất 2147483647

Tổng quát:• Ở phép biểu diễn bù 1:

• giá trị dương lớn nhất: 2n-1

• giá trị âm nhỏ nhất: -2n-1

• Ở phép biểu diễn bù 2 có n-bit• giá trị dương lớn nhất: 2n-1 -1• giá trị âm nhỏ nhất: -2n-1

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 106

Page 108: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 107

Bài tập A – Dùng 8 bit

Biểu diễn số bù 1:1. -1202. -1213. -1224. -1235. -1246. -110

Biểu diễn số bù 2:1. -1012. -1023. -1034. -1045. -1056. -106

Page 109: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 108

Bài tập B – Dùng 16 bit

Biểu diễn số bù 1& Thực hiện phép cộng:1. (-74) + (-25)2. (-75) + (-26)3. (-76) + (-27)4. (-77) + (-28)5. (-78) + (-29)6. (-79) + (-30)

Biểu diễn số bù 2 &Thực hiện phép cộng:1. (-91) + 132. (-92) + 143. (-93) + 154. (-94) + 165. (-95) + 176. (-19) + 18

Page 110: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 109

Bài tập C

Tính giá trị dương lớn nhất, giá trị âm nhỏnhất nếu sử dụng:• 8 bit để biểu diễn số bù 1• 16 bit để biểu diễn số bù 2

Page 111: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 110

Bài tập D - Các phép toán luận lý

1. 11101010011 AND 1110001112. 10100111010 OR 1001100113. 10100111010 XOR 1001100114. SHIFT LEFT 3 11101011105. SHIFT RIGHT 11101011106. ROTATION LEFT 2 1110101110

Page 112: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 111

Biểu diễn số thực

Biểu diễn số thực với các cơ sốPhương pháp dấu chấm động (Floating Point)

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 111

Page 113: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 112

Biểu diễn số thực với các cơ số (1)

Dùng dấu chấm cơ số (dấu . hoặc dấu ,)• Radix point

Biểu diễn số thực trong hệ k• Phần nguyên: trước dấu chấm cơ số• Phần lẻ: sau dấu chấm cơ số

• Phần thập phân trong hệ 10

Qui tắc???

Page 114: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 113

Biểu diễn số thực với các cơ số (2)

Qui tắc: đổi sang hệ 10anan-1…a0,b1b2…bm (k) = an x kn + an-1 x kn-1 +…+ a0 x k0 +

b1 x k-1 + b2 x k-2 + … + bm x k-m

Tính 101.1012 = ?

5.625

Page 115: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 114

Biểu diễn số thực với các cơ số (3)

Page 116: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 115

Biểu diễn số thực với các cơ số (4)

Tính 1F.28h = ? = ?231.15625 = 11111.001012

Tính 35.218 = ?h = ?2 = ?

Page 117: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 116

Biểu diễn số thực với các cơ số (5)

Qui tắc đổi từ số thập phân có phần lẻ sang hệ số k• Đổi phần nguyên như qui tắc đổi số nguyên

• chia nguyên lần lượt cho k đến khi =0• kết quả phần nguyên là số dư ghi ngược lại

• Đổi phần lẻ theo qui tắc:• nhân lần lượt chỉ phần lẻ cho k cho đến khi =0• kết quả phần lẻ là phần nguyên lần lượt khi nhân

Page 118: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 117

Biểu diễn số thực với các cơ số (6)

Tính 31.15625 =?h =?8=?2

31 = 1Fh = 378 = 111112

0.15625 = 0.28h = 0.128

= 0.001012

31.15625 = 1F.28h = = 37.128 = 11111.001012

.08

.52x160.15625

.02

.251x80.15625

Page 119: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 118

Biểu diễn số thực với các cơ số (7)

Chú ý chuyển đổi qua lại giữa các hệ 2 và 8 (16) khi không đủ số lượng bit:• Phần nguyên thêm 0 phía trái nhất• Phần lẻ thêm 0 phía phải nhất

Page 120: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 119

Phương pháp dấu chấm động (1)

Biểu diễn dấu chấm động• Floating point• Scientific format • 3 phần: dấu + mũ + nguyên(trị)

+31.15625 = +0.3115625x102

Dấu(Sign)

Mũ(exponent)

Nguyên(Mantissa)

+ 3115625x10-5

Page 121: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 120

Phương pháp dấu chấm động (2)

Khi biểu diễn số thực trên máy tính• Chuyển về nhị phân• Chuẩn hóa • Biểu diễn floating point: chỉ cần phần lẻ

+31.15625 = +11111.001012

+11111.001012 = +1.1111001012 x 2+4

Dấu(Sign)

Mũ(exponent)

Nguyên(Mantissa)

+1.1111001012 x 2+100b

Page 122: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 121

Phương pháp dấu chấm động (3)

Biểu diễn số thực dấu chấm động 16 bit:• 1 bit trái nhất: bit dấu (+ hoặc -)• 4 bit tiếp theo: bit mũ (dấu lượng)• 11 bit cuối cùng: bit định trị (số nguyên)

0010100111100100+1.1111001012 x 2+100b

Page 123: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 122

Phương pháp dấu chấm động (4)

Biểu diễn số thực dấu chấm động 16 bit: Biểu diễn -35.265625

=-100011.0100012

=-1.00011010001x2+101b

1000101100010101

Page 124: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 123

Bài tập

Biểu diễn số thực dấu chấm động 16 bit: Biểu diễn -29.46875

Page 125: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 124

Phương pháp dấu chấm động (5)

Chuẩn IEEE• Short Real-32 bits single precision

• 1 bit sign, 8 bits exponent, 23 bits mantissa.• Long Real: 64 bits double precision

• 1 bit sign, 11 bits exponent, 52 bits mantissa.• Exponent biểu diễn kí pháp lệch N=27-1=127

Page 126: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 125

Phương pháp dấu chấm động (6)

0 01111000 10101100000000000000000120+.0000001101011

0 10000100 00111000000000000000000132+100111.0

1 01111100 01000000000000000000000124-.00101

0 10000010 10110100000000000000000130+1101.101

1 01111111 11000000000000000000000127-1.11

Sign, Exponent, MantissaMũDấu

lượngGiá trị

Page 127: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 126

Tóm tắt biểu diễn dấu chấm động

Qui định định dạngChuyển về nhị phânChuẩn hóaChuyển đổi giá trị phần mũTính kết quả từng phầnKết quả cuối cùng

Page 128: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 127

Độ chính xác trong tính toán số thực dấu chấm động

Overflow: khi giá trị > giá trị tuyệt đối của khả năng biểu diễn lớn nhất.Underflow: 0 < giá trị < giá trị tuyệt đối của khả năng biểu diễn nhỏ nhất.

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 127

Page 129: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 128

Biểu diễn ký tự

Bộ mã ASCII ?Bảng mã UNICODE ?

Page 130: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 129

CHƯƠNG 4: CHƯƠNG TRÌNH

& GIẢI THUẬT

Page 131: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 130

Các khái niệm (1)

Thuật toán• Cách hiểu đơn giản

• Tập các hướng dẫn thực hiện một công việc.• Tập hữu hạn các hướng dẫn rõ ràng để người giải toán

có thể theo đó mà giải quyết được vấn đề.• Một phương pháp thể hiện lời giải của vấn đề.

• Algorithm: nhà toán học Trung Á• Muhammad Bin Musa Al-Khwarizmi• http://www2.sjsu.edu/depts/Museum/alkhwa.html

Page 132: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 131

Các khái niệm (2)

Thuật toán (tt)• Trong khoa học máy tính

• Một dãy hữu hạn các bước rõ ràng và thực thi được.• Quá trình hành động theo các bước này phải dừng và

cho được kết quả như mong muốn.• Tính xác định

• Hướng dẫn giải rõ ràng và đúng • Tính hữu hạn

• Số bước hữu hạn và tính chất dừng

Page 133: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 132

Các khái niệm (3)

Tính mập mờ:• Xem xét thực hiện công việc tìm một môn học

nhiều đvht nhất:• Lập danh sách các môn học.• Sắp thứ tự các môn học. • Chọn ra một môn học nhiều đvht.

• Kết quả:???• Câu hỏi:???

Page 134: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 133

Các khái niệm (4)

Tính mập mờ (tt):• Vi phạm tính rõ ràng – không mập mờ

• Hiểu đúng – Hiểu 1 nghĩa duy nhất• Sửa lại :

• 1.Lập danh sách các môn học theo tên, số đvht• 2.Sắp thứ tự các môn học giảm dần theo số đvht• 3.Chọn ra một môn học có nhiều đvht nhất

• Câu hỏi???

Page 135: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 134

Các khái niệm (5)

Tính mập mờ (tt):• Phân biệt mập mờ và chọn lựa có quyết định.

• Mập mờ là thiếu thông tin hoặc có nhiều chọn lựa nhưng không đủ điều kiện để quyết định.

• Chọn lựa có quyết định là hoàn toàn xác định duy nhấttrong điều kiện cụ thể của vấn đề

• Sửa lại:• 3.Chọn ra một môn học có nhiều đvht nhất.

• 3.1 Nếu chỉ có một môn học nhiều đvht nhất: chọn một• 3.2 Nếu có nhiều môn học cùng số đvht: sắp xếp tăng dần

theo tên môn học trong thứ tự từ điển rối chọn môn đầu tiên.

Page 136: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 135

Các khái niệm (6)

Tính thực thi được:• Hiển nhiên• Chỉ xét trong điều kiện hiện tại của bài toán • Cho ví dụ về điều kiện hiện tại:???

Tính dừng:• Không dừng: Lặp vô tận, bị quẫn• Dễ vi phạm nhất

Page 137: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 136

Các khái niệm (7)

Tính dừng -Ví dụ: • Tính tổng các số nguyên dương lẻ trong khoảng

từ 1 đến n ta có thuật toán sau :• B1. Hỏi giá trị của n. • B2. S = 0• B3. i = 1• B4. Nếu i = n+1 thì sang bước B8, ngược lại sang bước B5• B5. Cộng thêm i vào S• B6. Cộng thêm 2 vào i • B7. Quay lại bước B4.• B8. Tổng cần tìm chính là S.

• Thuật toán luôn dừng???

Page 138: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 137

Các khái niệm (8)

Tính dừng -Ví dụ:• Chỉ dừng khi n chẵn • Khi n lẻ phải thay B4 bằng:

• B4. Nếu i >= n+1 thì sang bước B8, ngược lại sang bước B5

Tính đúng:• Chứng minh thuật toán đúng!!!• Khó đạt được nhất

Page 139: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 138

Các khái niệm (9)

Thuật toán thì cứng nhắc !• Tính chất chặt chẽ và cứng nhắc. • Khả năng giải quyết vấn đề bị giới hạn.

"làm mềm“: tính xác định và tính đúng • Thuật toán đệ quy. • Thuật giải.

Page 140: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 139

Các khái niệm (10)

Các đặc trưng khác của thuật toán• Ðầu vào và đầu ra (input/output) . • Tính hiệu quả (effectiveness): theo tiêu chuẩn

• Khối lượng tính toán, không gian và thời gian thi hành. • Là yếu tố quyết định để đánh giá, chọn lựa• Nhiều phương pháp để đánh giá tính hiệu quả của thuật toán.

• Tính tổng quát (generalliness) : • Áp dụng được cho mọi trường hợp của bài toán • Không phải lúc nào cũng đảm bảo được tính tổng quát.• Có lúc chỉ cần xây dựng cho một dạng đặc trưng.

Page 141: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 140

Các khái niệm - Ví dụ (1)

Thuật toán giải phương trình bậc hai ax2+bx+c=0 (a<>0)• 1. Yêu cầu cho biết giá trị của 3 hệ số a, b, c• 2. Nếu a=0 thì

• 2.1. Yêu cầu đầu vào không đảm bảo. • 2.2. Kết thúc thuật toán.

• 3. Trường hợp a khác 0 thì

Page 142: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 141

Các khái niệm - Ví dụ (2)• 3. Trường hợp a khác 0 thì

• 3.1. Tính giá trị D = b2-4ac• 3.2. Nếu D > 0 thì

• 3.2.1. Phương trình có hai nghiệm phân biệt x1,x2• 3.2.2. Giá trị của hai nghiệm được tính theo công thức

sau:

• 3.2.3. Kết thúc thuật toán.• 3.3 Nếu D=0 thì

aDbx

aDbx

2,

2 21−−

=+−

=

Page 143: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 142

Các khái niệm - Ví dụ (3)

• 3.3. Nếu D = 0 thì• 3.3.1. Phương trình có nghiệm kép x0 • 3.3.2. Giá trị của nghiệm kép là

• 3.3.3. Kết thúc thuật toán• 3.4. Nếu D < 0 thì

• 3.4.1. Phương trình vô nghiệm. • 3.4.2. Kết thúc thuật toán.

abx

2−

=

Page 144: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 143

Các khái niệm - Ví dụ (4)

Bài toán : Cho hai số nguyên dương a vàb. Tìm ước số chung lớn nhất của a và b. Thuật toán Euclid• 1. Yêu cầu cho biết giá trị của a, b.• 2. a0 = a• 3. b0 = b• 4. i = 0

Page 145: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 144

Các khái niệm - Ví dụ (5)• 5. Nếu ai khác bi thì thực hiện các thao tác sau,

ngược lại qua bước 7. • 5.1 Tăng i lên 1. • 5.2. Nếu ai-1 > bi-1 thì • ai = ai-1 - bi-1• bi = bi-1 • 5.3. Ngược lại• bi = bi-1 - ai-1• ai = ai-1

• 6. Trở lại bước 5.• 7. Ước số chung lớn nhất của a, b là ai .

Page 146: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 145

Các phương pháp biểu diễn

Thuật toán:• Một phương pháp thể hiện lời giải bài toán • Phải tuân theo một số quy tắc nhất định

Có 3 phương pháp biểu diễn thuật toán : • Dùng ngôn ngữ tự nhiên. • Dùng lưu đồ-sơ đồ khối (flowchart).• Dùng mã giả (pseudocode).

Page 147: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 146

Ngôn ngữ tự nhiên Ngôn ngữ thường ngày: • Liệt kê các bước của thuật toán, quá trình thực

hiện lần lượt (trừ khi có yêu cầu nhảy_• Không thể hiện rõ cấu trúc của thuật toán • Dài dòng, có thể gây hiểu lầm hoặc khó hiểu• Không yêu cầu người viết hay đọc nắm quy tắc.

• Không có một quy tắc cố định • Tính dễ đọc:

• viết các bước con lùi vào bên phải • đánh số bước theo quy tắc phân cấp như 1, 1.1, ...

Page 148: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 147

Lưu đồ - sơ đồ khối (1)

Công cụ trực quan diễn đạt thuật toán. • Biểu diễn bằng mô hình – hình vẽ

Theo dõi được: • sự phân cấp các trường hợp • quá trình xử lý của thuật toánĐược dùng trong những thuật toán • rắc rối• khó theo dõi được quá trình xử lý

Page 149: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 148

Lưu đồ - sơ đồ khối (2)

Phân biệt hai loại thao tác:• Chọn lựa theo một điều kiện nào đó• Xử lý, hành động

Page 150: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 149

Lưu đồ - sơ đồ khối (3)

Chọn lựa theo một điều kiện nào đó• Decision• Biểu diễn bằng một hình thoi, bên trong chứa

biểu thức điều kiện. • Ví dụ: thao tác "nếu a = b thì thực hiện thao

tác B2, ngược lại thực hiện B4" là thao tác chọn lựa

Page 151: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 150

Lưu đồ - sơ đồ khối (4)

Xử lý, hành động. • Process • Biểu diễn bằng một hình chữ nhật, bên trong

chứa nội dung xử lý. • Ví dụ: "Chọn một môn học và in ra." là một

thao tác thuộc loại hành động.

Page 152: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 151

Lưu đồ - sơ đồ khối (5)

Quá trình thực hiện các thao tác:• Đường đi – route • Biểu diễn bằng cung có hướng

• nối giữa 2 thao tác: thực hiện lần lượt

Page 153: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 152

Lưu đồ - sơ đồ khối (6)

Thao tác chọn lựa: có thể có hai hướng đi• một hướng ứng với điều kiện thỏa • một hướng ứng với điều kiện không thỏa. • 2 cung có nhãn

• Đ/Đúng,Y/Yes • S/Sai,N/No

Page 154: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 153

Lưu đồ - sơ đồ khối (7)

Ðiểm cuối (terminator) • Biểu diễn bằng hình ovan• Điểm khởi đầu

• chỉ có cung đi ra• bên trong ovan ghi chữ: bắt đầu/start/begin

• Điểm kết thúc• Chỉ có cung đi vào• bên trong ovan ghi chữ: kết thúc/end

Page 155: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 154

Phương trình thuật toán giải pt bậc 2. Đường chấm ứng với trường hợp nghiệm kép, ví dụ: a=1,b=2,c=1

Page 156: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 155

Lưu đồ - sơ đồ khối (8)

Điểm nối (connector)• Nối các phần khác nhau của

một lưu đồ• Nối sang trang• Sử dụng với lưu đồ phức tạp

• Giảm độ rắc rối • Đặt ký hiệu liên hệ giữa các điểm nối

Page 157: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 156

Mã giả (pseudo code) (1)

Vay mượn các cú pháp của một ngôn ngữ lập trình • dùng một phần ngôn ngữ tự nhiên• bị phụ thuộc vào ngôn ngữ lập trình.

Mọi ngôn ngữ lập trình đều có những thao tác cơ bản • xử lý, rẽ nhánh và lặp• tận dụng được các khái niệm trong ngôn ngữ lập

trình, Dễ dàng nắm bắt nội dung thuật toán

Page 158: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 157

Mã giả (2)Một đoạn mã giả của thuật toán giải pt bậc haiif Delta > 0 then begin

x1=(-b-sqrt(delta))/(2*a)x2=(-b+sqrt(delta))/(2*a)xuất kết quả : phương trình có hai nghiệm là x1 và x2

endelse

if delta = 0 thenxuất kết quả : phương trình có nghiệm kép là

-b/(2*a)else {trường hợp delta < 0 }

xuất kết quả : phương trình vô nghiệm

Page 159: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 158

CHƯƠNG 5: CÁC NGÔN NGỮ

LẬP TRÌNH

Page 160: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 159

Chương 5: Các ngôn ngữ lập trình

Khái niệm ngôn ngữ lập trìnhSự tiến hóa của ngôn ngữ lập trìnhCác ngôn ngữ lập trình tiêu biểuBiên dịch và thông dịchCác phương pháp lập trình

Page 161: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 160

Khái niệm ngôn ngữ lập trình (1)

Con người “nói chuyện” với nhau: • Ngôn ngữ tự nhiên

Con người “nói chuyện” với máy tính:• Ngôn ngữ lập trình

Page 162: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 161

Khái niệm ngôn ngữ lập trình (2)

Ngôn ngữ lập trình(Programming language) là mộthệ thống dùng để viết các chương trình cho máy tínhbao gồm:

• Một tập hữu hạn các kí hiệu• Một tập hữu hạn các qui ước về

• Cú pháp(Syntax): một chuỗi các kí hiệu hợp lệ• Ngữ nghĩa(Semantic): ý nghĩa của các kí hiệu

Chương trình (Program) là một tập lệnh (instruction)điều khiển việc xử lý dữ liệu (data) của máy tính

Program = Data Structures + Algorithms

Page 163: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 162

Sự tiến hóa của ngôn ngữ lập trình

Machine Language

Assembly language

High Level Language

Được dịch bởi Compiler hoặcInterpreter

Được dịch bởi Assembler

(Pascal, C, C++, Java, C#, Prolog, Lisp, . . .)

(Assembly language)

Page 164: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 163

Machine Language (1)

Là ngôn ngữ duy nhất được máy tính hiểu trực tiếpSử dụng hệ thống số nhị phân để biểu diễn lệnh (Instruction)Instruction = mẫu bit (bit pattern) được hiểu bởi phần cứngmáy tính• Instruction: Opcode | Operands• Chương trình là một dãy các chỉ thị

CPU

I/O

Memory010001001100

.

.

.000110100010

Page 165: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 164

Machine Language (2)

Ưu điểmChương trình viết bằng ngôn ngữ máy

thực thi nhanhNhược điểm

Lập trình khóPhụ thuộc cấu hình phần cứng của máyDễ dẫn đến sai sótKhó bảo trì và sửa lỗi

Page 166: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 165

Assembly Language (1)

Dùng Alphanumberic code để biểu diễn lệnh và địa chỉ ô nhớ thay vì bit pattern• Ví dụ 1:

MOV r0,B #move B into register r0ADD r0,C #addMOV A, r0 #store

• Ví dụ 2: Tính (A+B)2 = A2 + 2AB + B2

LOAD AMULT ASTORE H1 # H1 chứa A2

LOAD AMULT BMULT 2STORE H2 # H2 chứa 2ABLOAD BMULT BADD H1ADD H2 # H2 chứa kết quả

Page 167: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 166

Assembly Language (2)

Page 168: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 167

Assembly Language (3)

Chương trình được viết bằng ngôn ngữ Assembly trước khi đượcthực thi bởi CPU nó phải được dịch sang mã máy (machine code).

Ưu điểm• Việc lập trình nhanh hơn, và chương trình đọc dễ hiểu hơn ngôn

ngữ mã máy• Nguời lập trình dễ nhớ lệnh hơn dùng mã máy

Nhược điểm• Chương trình phụ thuộc bộ xử lý• Chương trình chạy chậm hơn khi được viết bằng mã máy

Source code in Assembly language

Object code in Machine language

Assembler

Page 169: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 168

Ngôn ngữ lập trình cấp cao

Thân thiện với người sử dụng, bởi vì nó dùng các khái niệm, thuật ngữ gầnvới ngôn ngữ tự nhiên.• Ví dụ 1:

if A > B then print “A larger than B”else print “A less than B”

• Ví dụ 2:int fact(int n) {

if (n==0) return 1

elsereturn n*fact(n-1)

}Độc lập với các hệ máyChương trình dễ đọc, dễ hiểu, dễ bảo trìKhả chuyển trên nhiều hệ máy khác nhauChương trình phải được dịch sang mã máy trước khi được thực thi

1 n=0

n!=

n*(n-1)! n>0

Page 170: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 169

Một số ngôn ngữ lập trình cấp cao

BASIC, Beginner's All-Purpose Symbolic Instruction Code • John Kermeny và Thomas Kurtz (1964) tại trường đại học

Dartmouth. COBOL, COmmon Business Oriented Language, • Bộ quốc phòng Hoa Kỳ (1960) hình thức tựa tiếng Anh

C• Dennis Ritchie, phòng thí nghiệm Bell vào năm 1972

FORTRAN, FORmula TRANslator• IBM, John Backus (1957) dành cho khoa học, kỹ sư & toán học

PASCAL• Niklaus Wirth, Zurich, Thụy Sĩ,1968, giảng dạy lập trình. • Blaise Pascal (1623 - 1662) người đầu tiên tạo ra máy tính

Page 171: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 170

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

Page 172: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 171

Quá Trình Dịch Một Chương Trình

Page 173: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 172

Thông dịch & Biên dịch (1)

Source program Compiler Target program

Target programInput Output

Biêndịch

Source program Interpreter Output

Input

Thôngdịch

Page 174: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 173

Thông dịch & Biên dịch (2)

Hiển thị lỗi từng dòng lệnh củachương trình nguồn

Trong quá trình dịch, nếu pháthiện lỗi, compiler sẽ hiển thị lỗicủa toàn bộ chương trình nguồn.

Mỗi lần thực thi chương trìnhđều phải dịch lại mã nguồn

làm cho chương trình chạychậm.

Mã đối tượng được lưu lại thànhcác tập tin .Obj để sử dụng chocác lần thực thi chương trình sauđó, mà không cần phải dịch lạichương trình làm cho chươngtrình chạy nhanh hơn.

Dịch và thực thi từng dòng lệnhmột của chương trình nguồn.

Dịch toàn bộ chương trình nguồnthành mã đối tượng.

InterpreterCompiler

Page 175: Tin hoc dai_cuong_9517

ĐH Tôn Đức Thắng, Khoa CNTT - TƯD GV: Lê Thị Ngọc Thảo 174

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

Lập trình cấu trúc (Structural Programming)• Tính đơn thể, • Cấu trúc điều khiển• Vào/Ra đơn. • Dễ: viết, đọc, hiểu, kiểm lỗi và hiệu chỉnh.

Lập trình hướng đối tượng (Object Oriented Programming – OOP) • Phương pháp kết hợp cả dữ liệu và các câu lệnh của

chương trình. • Tạo ra các đối tượng (object)