TIN HỌC ĐẠI CƯƠNG TIN HỌC ĐẠI CƯƠNG
GiảngGiảng viên:Nguyễn
Dương viên:Nguyễn HữuHữu Nam Nam Dương
Thuật MáyMáy TínhTính BộBộ mônmôn KỹKỹ Thuật CNTT&TT, ĐHBKHN ViệnViện CNTT&TT, ĐHBKHN
Email: Email:
duongnhn fit@mail.hut.edu.vn duongnhn--fit@mail.hut.edu.vn ftp://dce.hut.edu.vn/duongnhn/ ftp://dce.hut.edu.vn/duongnhn/
ĐiệnĐiện thoại
: 0953 909090 thoại: 0953 909090
11
Giới thiệu về môn học Giới thiệu về môn học
nhất Trình độđộ:: SV SV nămnăm thứthứ nhất Trình SốSố đơnđơn vịvị họchọc trình thuyết: 3
trình: 4: 4 đơnđơn vịvị tiết = 45 tiết
: 3 đvhtđvht = 45 : 1 đvhtđvht
hành: 1
1: Tin họchọc căncăn bảnbản (15
tiết)) (15 tiết
LýLý thuyết ThựcThực hành dung: NộiNội dung: PhầnPhần 1: Tin PhầnPhần 2: 2: LậpLập trình
C (30 trình bằngbằng ngônngôn ngữngữ C (30
) (Turbo C 3.0) tiết) (Turbo C 3.0) tiết
1
22
Phần I Phần I
BÀI 1: CÁC KHÁI NIỆM VỀ THÔNG TIN-DỮ LIỆU VÀ TIN HỌC BÀI 2: BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH BÀI 3: HỆ THỐNG MÁY TÍNH BÀI 4: MẠNG MÁY TÍNH BÀI 5: GIỚI THIỆU HỆ ĐIỀU HÀNH
33
Phần II Phần II TỔNG QUAN VỀ NGÔN NGỮ C BÀI 1BÀI 1: : TỔNG QUAN VỀ NGÔN NGỮ C BÀI 2 : KIỂU DỮ LIỆU VÀ BIỂU THỨC BÀI 2 : KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C TRONG C BÀI 3: CÁC CẤU TRÚC LẬP TRÌNH BÀI 3: CÁC CẤU TRÚC LẬP TRÌNH TRONG C TRONG C ) VÀ MẢNG BÀI 4: CON TRỎ(BỏBỏ) VÀ MẢNG BÀI 4: CON TRỎ( BÀI 5: XÂU KÍ TỰ BÀI 5: XÂU KÍ TỰ BÀI 6: HÀM BÀI 6: HÀM BÀI 7: CẤU TRÚC BÀI 7: CẤU TRÚC BÀI 8: TỆP DỮ LIỆU (BỏBỏ) ) BÀI 8: TỆP DỮ LIỆU (
2
44
TIN HỌC ĐẠI CƯƠNG TIN HỌC ĐẠI CƯƠNG Phần I: Tin Học Căn Bản Phần I: Tin Học Căn Bản
Bài 01: CÁC KHÁI NIỆM VỀ Bài 01: CÁC KHÁI NIỆM VỀ
THÔNG TIN, DỮ LIỆU VÀ TIN HỌC THÔNG TIN, DỮ LIỆU VÀ TIN HỌC
55
Sách tham khảo Sách tham khảo
học căn bản: :
TinTin học căn bản Tin học căn bản, Quách Tuấn Ngọc , Quách Tuấn Ngọc Lập trình C: Lập trình C: 1. 1. Nhập môn lập trình ngôn ngữ C, (chủ biên) Nguyễn Thanh Thủy (chủ biên) có cả quyển bài tập có cả quyển bài tập 2. 2. Ngôn ngữ lập trình C, Quách Tuấn Ngọc
3
66
Bài 01: Nội dung Bài 01: Nội dung
1.1:1.1: Thông tin Thông tin Dữ liệu Dữ liệu Xử lý thông tin Xử lý thông tin 1.2: 1.2: Máy tính, lịch sử phát triển Máy tính, lịch sử phát triển Phân loại máy tính Phân loại máy tính 1.3:Tin học 1.3:Tin học
77
I.1: Thông Tin I.1: Thông Tin
Thông tintin (Information) Thông LàLà khái
(Information) làlà gì?gì? khái niệmniệm trừutrừu tượng những gìgì đemđem lại
tượng mômô tảtả tất tất lại chocho concon thức tốt tốt trong đờiđời
trong thiên
cảcả những người sựsự hiểuhiểu biết,biết, nhậnnhận thức người tượng trong những đốiđối tượng hơnhơn vềvề những sống xãxã hội,hội, trong thiên nhiên, sống GiúpGiúp chocho concon người
người thực
nhiên,...... thực hiệnhiện hợphợp tới tới
công việcviệc cầncần làmlàm đểđể đạtđạt
lýlý công mụcmục đíchđích mộtmột cáchcách tốt
nhất.. tốt nhất
4
88
1.1: Dữ Liệu 1.1: Dữ Liệu
(Data) làlà gì?gì? DữDữ liệuliệu (Data) BiểuBiểu diễndiễn củacủa thông
được thông tintin được bằng cáccác tíntín hiệuhiệu vậtvật
thểthể hiệnhiện bằng lýlý..
LàLà vậtvật mangmang tin,dữ
tin,dữ liệuliệu sausau khikhi được được tậptập hợphợp vàvà xửxử lýlý sẽsẽ chocho tata thông
thông tintin..
99
1.1: Dữ Liệu (tiếp) 1.1: Dữ Liệu (tiếp)
Dữ liệu trong thực tế có thể Dữ liệu trong thực tế có thể là:là:
Các số liệu: Mô tả bằng số Các số liệu: Mô tả bằng số như trong các bảng biểu như trong các bảng biểu Các ký hiệu qui ước như chữ Các ký hiệu qui ước như chữ viết viết Các tín hiệu vật lý như ánh Các tín hiệu vật lý như ánh sáng, âm thanh, nhiệt độ,… sáng, âm thanh, nhiệt độ,…
5
1010
1.1: Xử Lý Thông Tin 1.1: Xử Lý Thông Tin
QuyQuy trình
trình xửxử lýlý thông
thông tintin
NHẬP DỮ LIỆU (INPUT)
XỬ LÝ (PROCESSING)
XUẤT DỮ LIỆU (OUTPUT)
LƯU TRỮ (STORAGE)
thông tintin bằngbằng máymáy tínhtính điệnđiện tửtử
XửXử lýlý thông LợiLợi íchích::
thời gian,
nhiều thời
gian, công
công sứcsức TiếtTiết kiệmkiệm rấtrất nhiều TăngTăng độđộ chính trong việcviệc tựtự chính xácxác caocao trong độngđộng hóahóa mộtmột phầnphần hayhay toàntoàn phầnphần củacủa quáquá trình
trình xửxử lýlý dữdữ liệuliệu hayhay thông
thông tintin..
1111
I.2: Lịch sử phát triển máy tính I.2: Lịch sử phát triển máy tính
thực sựsự bắtbắt đầuđầu hìnhhình
MáyMáy tínhtính điệnđiện tửtử thực thành thành từtừ thậpthập niênniên 19501950.. 55 thếthế hệhệ:: Thế hệ 1 (1950
Thế hệ 1 (1950 -- 1958): Von Neumann 1958): Von Neumann Machine Machine
bóng đènđèn điệnđiện tửtử chân
dụng cáccác bóng
không chân không phiếu đụcđục lỗlỗ
bằng tay,
bằng phiếu thước rấtrất lớnlớn
tốctốc độđộ tínhtính chậmchậm
SửSử dụng riêng rẽ,rẽ, vàovào sốsố liệuliệu bằng MạchMạch riêng tay, kíchkích thước ĐiềuĐiều khiển khiển bằng nhiều, lượng nhiều, TiêuTiêu thụthụ năngnăng lượng tính/s.. phép tính/s khoảng 300300 -- 33..000000 phép khoảng
6
1212
Bóng đèn chân không Bóng đèn chân không
Máy tính đầu tiên: Máy tính đầu tiên:
ENIAC (Electronic ENIAC (Electronic Numerical Numerical Integrator And Integrator And Computer) Computer)
Von Neumann với máy tính Institute đầu tiên năm 1952
1313
7
1414
Thế hệ 1 (tiếp): Thế hệ 1 (tiếp):
IBM 701 IBM 701 (1953 ) (1953 )
1515
Thế hệ 1 (tiếp): Thế hệ 1 (tiếp):
EDVAC (Mỹ) EDVAC (Mỹ)
8
1616
Thế hệ 1 (tiếp): Thế hệ 1 (tiếp):
UNIVAC I UNIVAC I
1717
Thế hệ 1 (tiếp): Thế hệ 1 (tiếp):
UNIVAC UNIVAC IIII
9
1818
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
Transistors ThếThế hệhệ 22 ((19581958 -- 19641964)):: Transistors SửSử dụngdụng bộbộ xửxử lýlý bằngbằng đènđèn bánbán dẫn,dẫn, mạchmạch inin Cobol, Fortran ĐãĐã cócó chương
trình dịchdịch nhưnhư Cobol,
Fortran vàvà hệhệ
chương trình hành đơnđơn giảngiản.. thước máymáy còncòn lớnlớn
khoảng 1010..000000 -- 100100..000000 phép
tính/s phép tính/s
điềuđiều hành KíchKích thước TốcTốc độđộ tínhtính khoảng ĐiểnĐiển hìnhhình::
(Mỹ) series (Mỹ)
IBMIBM 70007000 series MINSK (Liên MINSK
(Liên XôXô cũ)cũ)
1919
Thế hệ 2 (tiếp): Thế hệ 2 (tiếp):
IBM 7030 IBM 7030 (1961) (1961)
10
2020
Thế hệ 2 (tiếp): Thế hệ 2 (tiếp):
MINSK MINSK (Liên Xô cũ) (Liên Xô cũ)
2121
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
1965 -- 1974
1974)):: Integrated
Circuits Integrated Circuits được gắngắn vivi mạchmạch điệnđiện tửtử cỡcỡ nhỏnhỏ tính/s.. triệu phépphép tính/s
chương trình,
ThếThế hệhệ 33 ((1965 CácCác bộbộ vivi xửxử lýlý được TốcTốc độđộ tínhtính khoảng CóCó cáccác hệhệ điềuđiều hành thời hoặc
đồng thời
khoảng 100100..000000 -- 11 triệu hành đađa chương hoặc theo
theo kiểukiểu phân
trình, nhiều nhiều thời phân chiachia thời
người người đồng giangian..
KếtKết quảquả từtừ máymáy tínhtính cócó thểthể inin trựctrực tiếptiếp từtừ máymáy inin.. ĐiểnĐiển hìnhhình::
(Mỹ) IBMIBM--360360 (Mỹ) DEC PDP-8
11
2222
Thế hệ 3 (tiếp): Thế hệ 3 (tiếp):
IBMIBM--360360 (Mỹ) (Mỹ)
2323
360 (Mỹ) Thế hệ 3 (tiếp): IBMIBM--360 (Mỹ) Thế hệ 3 (tiếp):
12
2424
Thế hệ 3 (tiếp) Thế hệ 3 (tiếp)
DEC PDP--1 1 DEC PDP (1960) (1960)
2525
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
1990): LSI (Large Scale
chục triệu
triệu đếnđến hàng
hàng tỷtỷ phép
tính/s.. phép tính/s
Thế hệ 4 (1974 Thế hệ 4 (1974 –– 1990): Integration), , Multiprocessors Có các vi mạch đa xử lý Có các vi mạch đa xử lý TốcTốc độđộ tínhtính hàng 22 loại
Computer -- PC)PC) hoặchoặc
(Laptop hoặchoặc Notebook
loại máymáy tínhtính chuyên
chuyên nghiệp
(Personal Computer computer) Notebook computer) nghiệp thực
thực hiệnhiện đađa chương
trình, chương trình,
thành cáccác hệhệ thống
(Computer thống mạngmạng máymáy tínhtính (Computer
hàng chục chính:: loại máymáy tínhtính chính MáyMáy tínhtính cácá nhânnhân đểđể bànbàn (Personal xáchxách taytay (Laptop CácCác loại đađa xửxử lý,lý,...... HìnhHình thành Networks) Networks).. CácCác ứngứng dụngdụng phong
phong phúphú đađa phương
phương tiệntiện
13
2626
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
Intel Intel 4004 (1971): Bộ vi xử lý đầu tiên, tất cả các thành 4004 (1971): Bộ vi xử lý đầu tiên, tất cả các thành phần CPU đều nằm trên một chip đơn, 4 bit. phần CPU đều nằm trên một chip đơn, 4 bit. 8008 (1972): 8 bit. 8008 (1972): 8 bit. 8080 (1974 ): Bộ vi xử lý đa năng đầu tiên của Intel, 8 8080 (1974 ): Bộ vi xử lý đa năng đầu tiên của Intel, 8 bit, được sử dụng trong máy tính cá nhân đầu tiên bit, được sử dụng trong máy tính cá nhân đầu tiên –– Altair. Altair. 8086: Mạnh hơn rất nhiều, 16 bit 8086: Mạnh hơn rất nhiều, 16 bit 8088: 8 bit external bus, được sử dụng trong IBM PC 8088: 8 bit external bus, được sử dụng trong IBM PC đầu tiên đầu tiên 80286: 16 Mbyte memory addressable, up from 1Mb 80286: 16 Mbyte memory addressable, up from 1Mb
2727
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
Intel (tiếp) Intel (tiếp) 80386: 32 bit, hỗ trợ chế độ đa nhiệm 80386: 32 bit, hỗ trợ chế độ đa nhiệm 80486: Sophisticated powerful cache and instruction 80486: Sophisticated powerful cache and instruction processor. pipelining, built in maths co--processor. pipelining, built in maths co Pentium: Superscalar, multiple instructions executed Pentium: Superscalar, multiple instructions executed in parallel in parallel Pentium Pro: Pentium Pro:
Increased superscalar organization Increased superscalar organization Aggressive register renaming Aggressive register renaming Branch prediction Branch prediction Data flow analysis Data flow analysis Speculative execution Speculative execution
14
2828
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 4004 INTEL 4004
2929
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 8008 INTEL 8008
15
3030
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 8080 INTEL 8080
3131
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 80286 INTEL 80286
16
3232
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 80386 INTEL 80386
3333
I.2: Lịch sử phát triển (tiếp) I.2: Lịch sử phát triển (tiếp)
INTEL 80486 INTEL 80486
17
3434
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
Pentium Pentium
Pro
III
IV
3535
More More Pentium Pentium
18
3636
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
Itanium Itanium
bit Intel 6464--bit Intel
Microprocessors Microprocessors
3737
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
nay): VLSI (Very
Very Large Scale Thế hệ 5 (1990 Thế hệ 5 (1990 -- nay): Integration), , ULSI (Ultra), Artificial Intelligence Artificial Intelligence (AI) (AI) Microelectronic technologies with high computing Microelectronic technologies with high computing speeds and parallel processing. speeds and parallel processing. Mô phỏng các hoạt động của não bộ và hành vi con Mô phỏng các hoạt động của não bộ và hành vi con người người Có trí khôn nhân tạo với khả năng tự suy diễn phát Có trí khôn nhân tạo với khả năng tự suy diễn phát triển các tình huống nhận được triển các tình huống nhận được Hệ quản lý kiến thức cơ bản để giải quyết các bài Hệ quản lý kiến thức cơ bản để giải quyết các bài toán đa dạng.. toán đa dạng
19
3838
I.2.1. Lịch sử phát triển (tiếp) I.2.1. Lịch sử phát triển (tiếp)
Thế hệ 5 (tiếp) Thế hệ 5 (tiếp)
3939
Phân loại máy tính I.2.2. Phân loại máy tính I.2.2.
Máy Vi tính (Microcomputer) Được thiết kế cho một người dùng Được thiết kế cho một người dùng Giá thành rẻ. Giá thành rẻ. Được sử dụng phổ biến: máy để bàn (Desktop), máy Được sử dụng phổ biến: máy để bàn (Desktop), máy trạm (Workstation), máy xách tay (Notebook),… trạm (Workstation), máy xách tay (Notebook),…
Máy tính tầm trung (Mini Computer) Máy tính tầm trung (Mini Computer) Tốc độ và hiệu năng tính toán mạnh hơn Tốc độ và hiệu năng tính toán mạnh hơn Được thiết kế cho các ứng dụng phức tạp. Được thiết kế cho các ứng dụng phức tạp. Giá ~ hàng vài chục nghìn USD Giá ~ hàng vài chục nghìn USD Máy tính lớn (Mainframe Computer) và Siêu máy Máy tính lớn (Mainframe Computer) và Siêu máy tính (Super Computer). tính (Super Computer).
20
4040
Phân loại máy tính (tiếp) I.2.2. Phân loại máy tính (tiếp) I.2.2.
Máy tính lớn và siêu máy tính (tiếp) Máy tính lớn và siêu máy tính (tiếp) Phức tạp, có tốc độ siêu nhanh Phức tạp, có tốc độ siêu nhanh Hiệu năng tính toán cao, cỡ hàng tỷ phép tính/giây Hiệu năng tính toán cao, cỡ hàng tỷ phép tính/giây Nhiều người dùng đồng thời Nhiều người dùng đồng thời Được sử dụng tại các Trung tâm tính toán/ Viện Được sử dụng tại các Trung tâm tính toán/ Viện nghiên cứu để giải quyết các bài toán cực kỳ phức nghiên cứu để giải quyết các bài toán cực kỳ phức tạp, yêu cầu cao về tốc độ. tạp, yêu cầu cao về tốc độ. Giá thành rất đắt ~ hàng trăm ngàn, thậm chí hàng Giá thành rất đắt ~ hàng trăm ngàn, thậm chí hàng triệu USD triệu USD
4141
Chương 01: Mở đầu Chương 01: Mở đầu
Tri thức Thông tin -- Tri thức
I.1. Thông tin và xử lý thông tin I.1. Thông tin và xử lý thông tin I.1.1. Dữ liệu -- Thông tin I.1.1. Dữ liệu I.1.2. Xử lý thông tin Dữ liệu (Data) là gì? I.1.2. Xử lý thông tin Dữ liệu (Data) là gì? I.2. Máy tính và phân loại I.2. Máy tính và phân loại I.2.1. Lịch sử phát triển của máy tính I.2.1. Lịch sử phát triển của máy tính I.2.2. Phân loại máy tính I.2.2. Phân loại máy tính I.3. Tin học I.3. Tin học
21
4242
1.3 Tin học 1.3 Tin học
Thuật ngữ Tin học có nguồn gốc từ tiếng Thuật ngữ Tin học có nguồn gốc từ tiếng Karl Steinbuch Đức vào năm 1957 do do Karl Steinbuch Đức vào năm 1957 Sau đó vào năm 1962, Philippe Dreyfus Sau đó vào năm 1962, Philippe Dreyfus người Pháp gọi là “informatique”, tiếp theo người Pháp gọi là “informatique”, tiếp theo là là Walter F.Bauer cũng sử dụng tên này Walter F.Bauer cũng sử dụng tên này Phần lớn các nước Tây Âu, trừ Anh đều Phần lớn các nước Tây Âu, trừ Anh đều chấp nhận. Nga cũng chấp nhận tên chấp nhận. Nga cũng chấp nhận tên informatika informatika (1966). (1966). Ở Anh, Mỹ người ta sử dụng thuật ngữ Ở Anh, Mỹ người ta sử dụng thuật ngữ ‘computer science’ ‘computer science’
4343
I.3. Tin học I.3. Tin học
Tin học (Informatics) Tin học (Informatics) Ngành khoa học nghiên cứu các phương pháp, công Ngành khoa học nghiên cứu các phương pháp, công nghệ và kỹ thuật xử lý thông tin một cách tự động.. nghệ và kỹ thuật xử lý thông tin một cách tự động Công cụ: Máy tính điện tử và các thiết bị truyền tin. Công cụ: Máy tính điện tử và các thiết bị truyền tin. Nội dung nghiên cứu: Nội dung nghiên cứu: (Hardware engineering) Kỹ thuật phần cứng (Hardware engineering) Kỹ thuật phần cứng
Thiết bị, linh kiện điện tử, công nghệ vật liệu mới... hỗ trợ cho Thiết bị, linh kiện điện tử, công nghệ vật liệu mới... hỗ trợ cho máy tính và mạng máy tính, đẩy mạnh khả năng xử lý toán học máy tính và mạng máy tính, đẩy mạnh khả năng xử lý toán học và truyền thông thông tin.. và truyền thông thông tin
(Software engineering) Kỹ thuật phần mềm (Software engineering) Kỹ thuật phần mềm Các hệ điều hành, ngôn ngữ lập trình cho các bài toán khoa học Các hệ điều hành, ngôn ngữ lập trình cho các bài toán khoa học kỹ thuật, mô phỏng, điều khiển tự động, tổ chức dữ liệu và quản kỹ thuật, mô phỏng, điều khiển tự động, tổ chức dữ liệu và quản lý hệ thống thông tin lý hệ thống thông tin
22
4444
I.3. Tin học (tiếp) I.3. Tin học (tiếp)
Information Technology Information Technology –– ITIT Ngành nghiên cứu các hệ thống thông tin dựa vào Ngành nghiên cứu các hệ thống thông tin dựa vào máy tính, đặc biệt là các phần mềm ứng dụng và máy tính, đặc biệt là các phần mềm ứng dụng và phần cứng máy tính. phần cứng máy tính. IT xử lý với các máy tính điện tử và các phần mềm IT xử lý với các máy tính điện tử và các phần mềm máy tính nhằm chuyển đổi, lưu trữ, bảo vệ, truyền tin máy tính nhằm chuyển đổi, lưu trữ, bảo vệ, truyền tin và trích rút thông tin một cách an toàn. và trích rút thông tin một cách an toàn.
Các ứng dụng ngày nay của IT Các ứng dụng ngày nay của IT Quản trị dữ liệu Quản trị dữ liệu Thiết kế hệ thống cơ sở dữ liệu Thiết kế hệ thống cơ sở dữ liệu Quản lý hệ thống thông tin Quản lý hệ thống thông tin Quản lý hệ thống Quản lý hệ thống
4545
I.3. Tin học (tiếp) I.3. Tin học (tiếp)
Công nghệ thông tin và truyền thông: Information Công nghệ thông tin và truyền thông: Information and Communication Technology (ICT). and Communication Technology (ICT). Kết nối một số lượng máy tính với nhau Kết nối một số lượng máy tính với nhau Mạng máy tính toàn cầu Internet -- Mạng máy tính toàn cầu Internet
23
4646
Câu hỏi Câu hỏi
24
4747