810 likes | 1.04k Views
Giới thiệu. Tin học 1 - 501028. MÔN TIN HỌC. Đối tượng : SV đại học chính quy toàn trường. Nội dung chính gồm 12 chương : Phương pháp giải quyết bài toán bằng máy tính số. Hệ thống số và hệ thống file. Tổng quát về lập trình bằng VB. Qui trình thiết kế trực quan giao diện.
E N D
Giới thiệu Tin học 1 - 501028
MÔN TIN HỌC Đối tượng : SV đại học chính quy toàn trường • Nội dung chính gồm 12 chương : • Phương pháp giải quyết bài toán bằng máy tính số. • Hệ thống số và hệ thống file. • Tổng quát về lập trình bằng VB. • Qui trình thiết kế trực quan giao diện. • Các kiểu dữ liệu của VB. • Các lệnh định nghĩa & khai báo. • Biểu thức VB. • Các lệnh thực thi VB. • Định nghĩa thủ tục & sử dụng. • Tương tác giữa người dùng & chương trình. • Quản lý hệ thống file. • Linh kiện phần mềm & truy xuất database. • Tài liệu tham khảo : • Tập slide bài giảng - http://www.cse.hcmut.edu.vn/~cuongpham • 3 CD MSDN trong Microsoft Visual Studio.
Đánh giá • Kiểm tra giữa kỳ: • Trắc nghiệm: 20% • Số câu hỏi: 20 – 30 câu • Thời gian: 40’ • Cuối kỳ: • Trắc nghiệm: 80% • Số câu hỏi: 50 – 60 câu • Thời gian: 90’
Chương 1 Phương pháp giải quyết bài toán bằng máy tính số
Các khái niệm cơ bản • Máy tính số • Khả năng thực hiện lệnh. • Tập lệnh - Chương trình. • Ngôn ngữ • Ngôn ngữ máy (là số) → máy tính. • Ngôn ngữ lập trình = cú pháp + ngữ nghĩa→ con người. • Giải quyết bài toán • Chọn phương pháp chia nhỏ công việc. • Định ra trình tự thực hiện công việc đã chia → giải thuật. • Chọn ngôn ngữ lập trình để thực hiện giải thuật trên máy tính. • Viết chương trình bằng ngôn ngữ đã chọn và chạy thử → lập trình.
Ngôn ngữ lập trình Tập ký hiệu cơ sở lệnh viết như thế nào? Cú pháp (Syntax) Cấu thành ngôn ngữ lập trình Ngữ nghĩa (Semantic) lệnh làm gì? Mỗi ngôn ngữ có cú pháp và ngữ nghĩa riêng Máy tính không hiểu Chương trình của ngôn ngữ lập trình Chương trình dịch Chương trình của ngôn ngữ máy Máy tính hiểu
Các khái niệm cơ bản (tt.) • Một công việc hàng triệu lệnh máy → khó lập trìnhbằng ngôn ngữ máy. • Máy luận lý = máy tính + chương trình dịch ngôn ngữ → cho phép lập trìnhbằng ngôn ngữ lập trình. • Trình biên dịch (compiler) – Trình thông dịch (interpreter). Chương trình nguồn Chương trình thực thi Chương trình dịch
Quá trình xây dựng chương trình dịch CTD – N2(N1) CTD – N1 CTD – N2 CTD – N3(N2) CTD – N3 . . . . . . CTD – Nm(Nl) CTD – Nl CTD – Nm
Phân loại ngôn ngữ • Ngôn ngữ máy (machine language) : lệnh dưới dạng số. • Ngôn ngữ hợp ngữ (assembly language) : lệnh dạng vắn tắt, làm ít công việc như ngôn ngữ máy, có hổ trợ Macro, gắn liền với máy tính. (MASM 86, ASM 51, . . .) • Ngôn ngữ lập trình cấu trúc : lệnh dạng viết đầy đủ, làm nhiều việc tùy cấp, độc lập với máy tính. (Pascal, C, Fortran, . . .) • Ngôn ngữ hướng đối tượng : hiện đại, có cải tiến nhiều mặt tốt hơn ngôn ngữ lập trình cấu trúc. (C++, VB, Java, C#, . . .)
Dữ liệu của chương trình • Các lệnh của chương trình (code) thường tác động lên thông tin cần xử lý. Thông tin này được gọi là dữ liệu của chương trình (data). • Dữ liệu có các đặc điểm sau : • Tên (name) / nhận dạng (identifier). • Kiểu dữ liệu (type). • Tầm vực truy xuất (visibility). • Chương trình cổ điển = dữ liệu + giải thuật... • Chương trình con (function, subroutine, procedure, . . .).
Cấu trúc chương trình cổ điển Chương trình = cấu trúc dữ liệu + giải thuật global data module (package) local data of module entry 'start' local data of function
Mô hình máy tính Von Neumann Bộ nhớ chính Khối điều khiển Bank 0 Bank 1 Khối số học luận lý (ALU) Bank 2 CPU Bank 3 Đơn vị giao tiếp Đơn vị giao tiếp I / O I / O I / O I / O I / O
Hình dạng máy tính thùng máy màn hình loa chuột bàn phím
Xử lý dữ liệu dạng chuỗi bit Giải mã chuỗi bit ra dạng người, thiết bị ngoài hiểu được Mã hóa dữ liệu thành dạng chuỗi bit Qui trình giải quyết bài toán Kết quả có được sau khi xử lý bằng máy tính (chữ số, hình ảnh, âm thanh,...) Dữ liệu cần xử lý bằng máy tính (chữ số, hình ảnh, âm thanh,...) CDROM, đĩa, băng,... Lưu giữ dữ liệu số để dùng lại Máy tính số
Cấu trúc chương trình OOP Chương trình = tập các đối tượng tương tác nhau đối tượng (object) local data of object entry local data of operation
Phương pháp phân tích từ-trên-xuống • Top-down analysis được dùng phổ biến. • Nội dung phương pháp : • Xem xét, thay công việc lớn bằng các công việc nhỏ hơn. • Tiếp tục chia nhỏ các công việc nhỏ hơn thành nhỏ hơn nữa. • Lặp lại quá trình trên cho đến khi có thể trực tiếp giải quyết các công việc nhỏ thì không chia nữa.
Phương pháp phân tích từ-trên-xuống (tt.) Vấn đề Công việc 1 Công việc 2 Công việc 3 Công việc 4 Công việc 5 Công việc 6 Công việc 7 Công việc 8 Công việc 9 Công việc 10 Công việc 11 Công việc 12
? ? ? Cộng tử số Cộng hai phân số đã qui đồng mẫu số Ước lược phân số Ước lược phân số Tìm ƯSCLN Tìm ƯSCLN Tìm BSCNN X × Y BSCNN của X và Y = ƯSCLN của X và Y Ví dụ Cộng 2 phân số Qui đồng mẫu số Tìm ƯSCLN
Phương pháp phân tích từ-trên-xuống (tt.) Công việc cần giải quyết ≡ đối tượng phức hợp A Đối tượng A1 Đối tượng A2 Đối tượng An Đối tượng A11 Đối tượng A12 Đối tượng A1n Đối tượng An1 Đối tượng An2 Đối tượng Ann
Chương 2 Thể hiện dữ liệu trong máy tính số
Biểu diễn dữ liệu trong máy tính BIT ( BInary digiT ) : 0 1 BYTE = tổ hợp 8 bit : 01001101 11111111 (BYTE được chọn làm đơn vị tổ chức thông tin trong máy tính) WORD = tổ hợp nhiều bit : 1011 0101 1100 1011 1 số dài n bit thì biểu diễn được 2n giá trị
Ký số 0 1 2 3 4 5 6 7 8 9 Hệ thống số đếm • Trước khi có máy tính, con người dùng hệ số đếm thập phân (10). Thập phân (decimal) Quy tắc đếm 0 1 2 . . . 9 10 11 12 . . . 19 20 21 22 . . . 29 . . . 90 91 92 . . . 99 100 101 . . . 109 . . . 990 991 . . . 999 1000 1001 1002 . . . 1009 . . .
Ký số 0 1 Hệ thống số đếm (tt.1) • Sau khi máy tính số ra đời, các hệ số mới hình thành. Hệ nhị phân (Binary) Quy tắc đếm 0 1 10 11 100 101 110 111 1000 1001 . . . 1110 1111 10000 10001 . . .
Ký số 0 1 2 3 4 5 6 7 Hệ thống số đếm (tt.2) • Số ở hệ nhị phân dài, khó nhớ chỉ dùng cho máy. • Con người dùng số hệ bát phân (8) và thập lục phân (16) thay cho hệ nhị phân. Hệ bát phân (Octal) Quy tắc đếm 0 1 2 . . . 7 10 11 12 . . . 17 20 21 22 . . . 77 100 101 102 . . . 107 . . . 777 1000 1001 1002 . . . 1007 . . .
Ký số 0 1 2 3 4 5 6 7 8 9 A B C D E F Hệ thống số đếm (tt.3) • Một ký số hệ 8 bằng 3 ký số hệ 2. • Một ký số hệ 16 bằng 4 ký số hệ 2. Hệ thập lục phân (hexadecimal) Quy tắc đếm 0 1 2 . . . 9 A B . . . F 10 11 12 . . . 19 1A . . . 1F 20 . . . 9F A0 A1 A2 . . . AF . . . F0 F1 F2 . . . FF 100 101 102 . . . 10F . . . FFF 1000 1001 1002 . . . 100F . . .
vnvn-1...v0.v-1...v-m Công thức tính trị số • Nếu B là cơ số, vi là ký số ở hàng i (0 là hàng đơn vị, 1 là hàng "chục", 2 là hàng "trăm", ...) thì giá trị Q của số tính trong hệ 10 theo công thức sau : Chấm B phân Q = vnBn + vn-1Bn-1 + . . . + v0B0+ v-1B-1 + . . . + v-mB-m n å i v B ´ hay i i = -m
Ví dụ số nguyên 1011 2 173 8 123 + 022 + 121 + 120 = 8+0+2+1 = 11 10 182 + 781 + 380 = 64+56+3 = 12310 A4B5 16 A163 + 4162 + B161 + 5160 104096+ 4256+ 1116+ 51 = 40960+1024+176+5 = 42165
Ví dụ số lẻ 1011.01 2 123 + 022 + 121 + 120 + 02-1 + 12-2 18+ 04+ 12+ 11+ 00.5+ 10.25 = 11.2510 10.4 8 181 + 080 + 48-1 18+ 01+ 40.125 = 8.510
Học thuộc lòng Mã 8421 (0+4+2+0) 0110 (8+0+2+1) 1011 (8+4+0+1) 1101
10 Dec2Bin Dec2Oct Bin2Dec Oct2Dec 8 Hex2Dec Oct2Bin Bin2Oct 2 Dec2Hex Hex2Bin 16 Bin2Hex Chuyển đổi hệ số
Số dư Số dư Số dư Số dư . . . Phương pháp chuyển đổi số Số hệ 10 Xxx2Dec Định nghĩa Chia cơ số Dec2Xxx Kết quả Chia cơ số Phương pháp Kết quả Chia lấy số dư Chia cơ số Kết quả Số hệ Xxx Chia cơ số kq = 0 : dừng
Ví dụ Dec2Bin 35 Số hệ 10 2 17 2 8 4 2 2 2 1 2 2 = 0 1 0 0 0 1 1 Số hệ 2 32 0 0 0 2 1 Số hệ 10 : 35 =
Ví dụ Dec2Hex 2004 Số hệ 10 16 125 16 7 16 = 0 7 D 4 Số hệ 16 7 x 256 13 x 16 4 Số hệ 10 : 2004 =
Đổi hệ 2 ra hệ 8, 16 Ghép nhóm + bảng thuộc lòng Bin2Oct 1 0 1 0 0 0 1 1 Số hệ 2 3 bit 3 bit 3 bit Bin2Hex (010) (100) (011) Mã 8421 2 4 3 Số hệ 8 1 0 1 0 0 0 1 1 Số hệ 2 4 bit 4 bit Mã 8421 (1010) (0011) A 3 Số hệ 16
0 1 1 0 1 1 1 0 0 1 + Phép toán trên hệ nhị phân • Phép cộng 1 1 nhớ 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 nhớ 1 (1 + 1 = 10)
0 1 1 0 1 1 0 0 0 1 - - 0 0 1 1 Phép toán trên hệ nhị phân (tt.) • Phép trừ 0 - 0 = 0 0 - 1 = 1 mượn 1 1 - 0 = 1 1 - 1 = 0 1 1 mượn phép trừ = phép cộng số bù 2
1 0 0 1 × 1 0 1 Phép toán trên hệ nhị phân (tt.) • Phép nhân. 1 0 0 1 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 + 0 0 0 0 1 0 0 1 1 0 1 1 0 1
Phép toán trên hệ nhị phân (tt.) ’ • Phép chia. 1 0 1 0 0 1 - 1 0 1 0 0 0 0 ’ 1 0 1 0 0 1 0 0 - 1 0 1 0 0 ’ 1 0 1 0 0 1 kết quả 100 - 1 0 1 0 0 0 0 0 0 0 1 số dư 01 0 1
Phép toán trên hệ nhị phân (tt.) • Phép dịch trái. chỉ thực hiện trên số có kích thước cụ thể Dịch trái luận lý 0 CF
Phép toán trên hệ nhị phân (tt.) • Phép dịch phải chỉ thực hiện trên số có kích thước cụ thể Dịch phải CF 0
Các phép toán trên đại số Boole Not Phép luận lý And Or Ex-Nor Xor Nor (Not Xor) Nand (Ex-Or) (Not Or) (Not And)
Phép Not Ký hiệu dấu gạch ngang trên đầu Bảng sự thật x = 1011 x = 0100 x = 1011 = x
Phép And Ký hiệu dấu chấm như phép nhân Bảng sự thật Nhận xét y . 0 = 0 y . 1 = y
Phép Or Ký hiệu dấu cộng như phép cộng Bảng sự thật Nhận xét y + 0 = y y + 1 = 1
x y x y x . y x . y f(x,y) 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 Ví dụ phép luận lý Tính hàm f(x,y) = x . y + x . y
Phép Xor (Ex-Or) Ký hiệu dấu cộng trong vòng tròn như phép modulo Bảng sự thật Nhận xét y 0 = y y 1 = y
Bảng tóm tắt Bảng sự thật y and 0 = 0 y and 1 = y y or 0 = y y or 1 = 1 y xor 0 = y y xor 1 = not y
Các đơn vị nhớ thường dùng • BYTE (8 bit) : có 28 = 256 giá trị • WORD (16 bit) : có 216 = 65536 giá trị • DOUBLE WORD (32 bit) : có 232 = 4.294.967.296 giá trị • 1 KB = 210 = 1024byte • 1 MB = 220 =1.048.576byte • 1 GB = 230 = 1.073.741.824 byte • 1 TB = 240 = 1.099.511.627.776 byte
Hàm Boole Một hàm Boole theo n biến boole (hàm n ngôi) là 1 biểu thức boole cấu thành từ các phép toán Boole trên các biến boole. Thay vì miêu tả hàm boole bằng biểu thức boole, ta có thể miêu tả hàm boole bằng bảng thực trị. Bảng thực trị của hàm boole n biến có 2n hàng, mỗi hàng miêu tả 1 tổ hợp trị cụ thể của các biến và giá trị cụ thể của hàm tương ứng với tổ hợp trị này (xem slide ngay trước). Như vậy 1 hàm boole n biến được miêu tả như 1 chuỗi 2n bit có chính xác hàm boole n ngôi khác nhau. Cụ thể có : hàm boole 1 ngôi khác nhau hàm boole 2 ngôi khác nhau hàm boole 3 ngôi khác nhau Chương 2 : Thể hiện dữ liệu trong máy tính số