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