Các chuyên ngành Tin học• Nghiên cứu, thiết kế và chế tạo máy tính : cơ sở lý thuyết, kỹ thuật xây dựng, chế tạo và kết nối các thành phần máy tính, … • Hệ điều hành : hệ thống các chươn
Trang 1Chương 1
Tổng Quan
Trang 2NỘI DUNG TRÌNH BÀY
• Khái niệm Tin học và các vấn đề liên quan
Trang 31.1 Khái niệm Tin học và các vấn đề liên quan
• Khái niệm Tin học
• Các chuyên ngành Tin học
• Đơn vị thông tin
Trang 4Khái niệm Tin học
• Tin học (Informatic) là ngành khoa học xử lý thông
tin tự động bằng máy tính điện tử hoặc các thiết bị tương đương khác.
• Theo nghĩa thông dụng, tin học còn có thể bao hàm
cả những gì liên quan đến các thiết bị máy tính hay các ứng dụng tin học
Trang 5Các chuyên ngành Tin học
• Nghiên cứu, thiết kế và chế tạo máy tính : cơ sở lý thuyết,
kỹ thuật xây dựng, chế tạo và kết nối các thành phần máy tính, …
• Hệ điều hành : hệ thống các chương trình trợ giúp người sử dụng điều khiển máy tính
• Lập trình và ngôn ngữ lập trình : các kỹ thuật lập trình,
thuật toán, các mô hình ngôn ngữ lập trình và các chương trình dịch, …
• Mạng máy tính : cơ sở lý thuyết và kỹ thuật kết nối mạng
Tổ chức, quản lý và chia sẻ tài nguyên trên mạng …
Trang 6Đơn vị thông tin
• Bit : đơn vị nhỏ nhất để đo thông tin, chứa giá trị 0 hoặc 1.
• Byte : có độ lớn 8 bit 1 Byte được mô tả như sau :
Trang 8Hệ đếm 10 (thập phân - Decimal)
• Hệ này dùng 10 ký hiệu số (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) để biểu diễn, đếm, tính toán
• Hệ này thuận lợi với người vì nguời rất quen thuộc với hệ thập phân, có tính thống nhất quốc tế
• Hệ này dùng tới 10 ký hiệu số, rất khó khăn khi biểu diễn trong máy
Trang 9Hệ đếm 2 (nhị phân – Binary)
• Hệ này dùng 2 ký hiệu số (0, 1) để biểu diễn, đếm,
tính toán
• Máy thực hiện các phép tính trong hệ nhị phân cực
kì mau lẹ, chính xác vì hệ nhị phân đơn giản, dễ tạo các mạch điện để thực hiện các phép toán số học, logic và so sánh
• Việc biểu diễn hệ nhị phân trong máy bởi 2 trạng thái trái nguợc của vật chất rất thuận lợi.
Trang 10Hệ đếm 2 (nhị phân – Binary)
1 0 0 1 1 1 1 0
1001110b = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 1*2 1 + 0*2 0
1100.111b = 1*2 3 + 1*2 2 + 0*2 1 + 0*2 0 + 1*2 -1 + 1*2 -2 +1*2 -3
Trang 11Hệ đếm 16 (thập lục phân - Hexadecimal)
• Hệ này dùng 16 ký hiệu 0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E, F để biểu diễn, đếm, tính toán
• Hệ 16 có đặc điểm là rất thuận lợi trong việc biểu diễn các
số của hệ nhị phân Một kí số trong hệ 16 tương ứng với
nhóm 4 kí số nhị phân Vì vậy một dãy nhị phân sẽ được
biểu diễn rất gọn bởi dãy thập lục phân
• 100H = 1*162 + 0*161 + 0*160
• 10a.ffH = 1*162 + 0*161 + a*160 + f*16-1 + f*16-2
• Qui tắc đếm : 0, 1, …, 9, A, B, …, F, 10, …, 1F, 20, …,
Trang 12Chuyển đổi giữa các hệ đếm
Có quy tắc dễ dàng để chuyển đổi một số từ hệ này sang hệ kia Người ta đã lập sẵn các chương trình chuyển đổi này và máy sẽ thực hiện chúng một cách tự động khi cần
Heä 10 Heä 16 Heä 2 Heä 10 Heä 16 Heä 2
Trang 13Chuyển đổi giữa các hệ đếm
• Chuyển số từ hệ 10 sang hệ 2 :
chia số hệ 10 cho 2 Dừng lại khi
không chia được nữa Kết quả là
phần dư ghi theo thứ tự ngược
(phần dư cuối cùng ghi ở bên trái
Trang 14Chuyển đổi giữa các hệ đếm
• Chuyển số từ hệ 10 sang
hệ 16 : chia số hệ 10 cho
16 Dừng lại khi không chia
được nữa Kết quả là phần
dư ghi theo thứ tự ngược
(phần dư cuối cùng ghi ở
Trang 15Chuyển đổi giữa các hệ đếm
• Chuyển số từ hệ 2 sang hệ 10 : viết ra biểu diễn của số hệ
Trang 16Chuyển đổi giữa các hệ đếm
• Chuyển số từ hệ 2 sang hệ 16 và ngược lại : phân số hệ 2
thành các nhóm từ phải sang trái, mỗi nhóm có 4 ký số Nếu
ở nhóm cuối cùng không đủ 4 ký số, ta thêm vào các số 0 cho đủ 4 ký số Căn cứ vào bảng chuyển đổi các số cơ sở ta chuyển nhóm 4 ký số hệ 2 thành các số hệ 16
Trang 170/1 = 0 1/1 = 1
Trang 191.3 Biểu diễn thơng tin
– Bảng mã ASCII
• Bộ mã ASCCII (American Standard Code for
Information Interchange)
• Bảng mã 8 bit : mã hóa 256 ký tự
• Bảng mã 16 bit : mã hóa 65536 ký tự
Trang 21Bảng mã Unicode
• Unicode là bộ mã chuẩn quốc tế được thiết kế để
dùng làm bộ mã duy nhất cho tất cả các ngôn ngữ khác nhau trên thế giới, kể cả các ngôn ngữ sử dụng
ký tự tượng hình phức tạp như tiếng Trung Quốc , tiếng Thái , v.v
• UTF-8 là bộ mã Unicode được sử dụng phổ biến
nhất UTF-8 được thiết kế để tương thích với chuẩn ASCII
Trang 22Dạng số
– Sự thay đổi trạng thái trong Byte hình thành nên 1 dãy số
hệ 2 và có thể sử dụng điều này để biểu diễn số.
–
Trang 241.4 Cấu trúc tổng quan phần cứng
Alan Turing, nhà toán học người Anh đã thiết kế ra chiếc máy tính điện tử thực sự đầu tiên vào những năm 1940
Ông Trương Trọng Thi là người Pháp gốc Việt Năm
1973, tận dụng các ưu điểm của bộ vi xử lý đầu tiên
do Intel sản xuất, ông đã cùng nhóm của mình tạo ra chiếc máy vi tính thực sự đầu tiên, được giới thiệu trên quy mô toàn thế giới: Micral Trương Trọng Thi được xem là ″cha đẻ của chiếc máy vi tính ″ và tên của ông cùng chiếc máy Micral được trưng bày
Trang 261.4 Cấu trúc tổng quan phần cứng
• Tổng quan phần cứng
lý của máy tính Các thành phần chính trong CPU :
• Khối điều khiển (Control Unit-CU): nhận lệnh, giải
mã lệnh-chuyển thành các tín hiệu điều khiển, gửi các tín hiệu điều khiển đến các thành phần khác
• Khối tính toán số học và logic (Arithmatics and
Logic Unit-ALU) : Thực hiện các phép toán số học
và logic
• Tập thanh ghi : đây là loại bộ nhớ cực nhanh, dùng
để lưu trữ kết quả trung gian trong quá trình xử lý
• Tập lệnh máy : các mạch bên trong CPU, mỗi mạch
thực hiện một nhiệm vụ cụ thể
Trang 27Chu trình xử lý thông tin
Ra dữ liệu (Output)
Lưu trữ (Storage)
Trang 28NGÔN NG MÁY TÍNH Ữ
-Ngơn ngữ lập trình được tạo thành bởi một
hệ thống các kí hiệu dùng làm phương tiện
để diễn đạt, trao đổi và truyền thơng tin Đây
là ngơn ngữ nhân tạo nhằm phục vụ cho việc giao tiếp giữa người và máy
-Mỗi ngơn ngữ đều được xây dựng từ một bộ
kí hiệu cơ bản và những quy tắc ngữ pháp chặt chẽ để tạo lập ngơn ngữ
Ngơn ngữ lập trình được phân làm 3 loại chính :
Trang 29Ngôn ngữ máy (Machine Language)
-Ngôn ngữ mô tả dưới dạng nhị phân
-Máy hiểu và có thể thi hành ngay
-Khó viết, khó đọc, khó sửa
Trang 30Ngôn ngữ cấp thấp (Assembly
Language)
-Tiện lợi hơn ngôn ngữ máy, được gọi là hợp
nhớ
-Các chương trình viết bằng hợp ngữ phải được dịch sang ngôn ngữ máy thì CPU mới có thể thực hiện được
Chương trình dịch này có tên là hợp dịch (Assembler) Assembler sẽ dịch mỗi dòng lệnh ở hợp ngữ sang một chỉ thị của ngôn ngữ
Trang 31Ngôn ngữ cấp cao (High Level
Language)
Được xây dựng cho những người ít đi sâu vào phần cứng Ngôn ngữ khá gần với ngôn ngữ khoa học kỹ thuật, quản lý.
Các đối tượng xử lí thông dụng, gần gũi, nhiều vẻ hơn, có thể gồm cả số nguyên, số thực, chữ.
Bộ kí tự sử dụng trong ngôn ngữ vừa đủ, xác định ;ngữ nghĩa đơn giản, chặt chẽ và mục tiêu là
để miêu tả và điều khiển việc xử lí thông tin một cách rất cụ thể chứ không phải để diễn đạt những ý niệm trừu tượng.
Trang 321.5 Tổng quan về phần mềm
• Lệnh và chương trình
– Lệnh : trong máy tính lệnh được hiểu như là 1 thao tác
mà phần mềm hoặc chương trình sử dụng để tác động lên
hệ thống nhằm thực hiện một công việc nào đó
– Thông thường lệnh có dạng sau :
• Mã lệnh : dãy ký tự do ngôn ngữ lập trình qui định mang ý nghĩa gợi nhớ cho 1 thao tác nào đó
• Toán hạng : thường là phần dữ liệu của lệnh
Trang 331.5 Tổng quan về phần mềm
• Lệnh và chương trình
– Chương trình : gồm một dãy liên tiếp các lệnh được sắp xếp theo
một qui định nào đó Các lệnh trong chương trình thực hiện tuần tự
từ trái sang phải và từ trên xuống duới.
– Phân loại chương trình : có 3 loại chương trình
• Chương trình nguồn : là chương trình do người sử dụng soạn ra (sử dụng bộ soạn thảo chương trình do phần mềm ngôn ngữ lập trình cung cấp) đôi khi còn được gọi là văn bản chương trình Chương trình nguồn không thực thi được trên máy tính.
• Chương trình đích : còn gọi là chương trình mã máy (gồm các dãy số nhị phân được sắp xếp theo một trật tự nào đó) thực thi được trên máy tính.
• Chương trình dịch : chương trình kèm theo phần mềm ngôn
Trang 34• Thông dịch : dịch từng câu lệnh và thực thi Loại chương trình dịch
này không phù hợp với các chương trình nguồn có số dòng lệnh lớn.
• Biên dịch : dịch toàn bộ chương trình và thực thi Khi trong chương
trình nguồn có thay đổi phải dịch lại.
• Quan hệ giữa các loại chương trình được mô tả theo sơ đồ sau :
CT dịch
Trang 351.5 Tổng quan về phần mềm
– Ngôn ngữ máy (machine language ) : là một loại ngôn ngữ
lập trình trong đó, lệnh được biểu diễn bằng dãy số nhị phân
– Ngôn ngữ lập trình cấp thấp (Assembly Language) : lệnh có
dạng là các từ gợi nhớ
– Ngôn ngữ lập trình cấp cao (High Level Language) : các
lệnh được xây dựng gần tương tự như ngôn ngữ tự nhiên (tiếng Anh), dễ sử dụng Chương trình viết bằng ngô ngữ này phải được dịch thành ngôn ngữ máy mới thực thi được Một số ngôn ngữ lập trình cấp cao tiêu biểu như : Pascal, C, Visual basic, …