TIN HỌC ĐẠI CƯƠNG

TỔNG QUAN MÔN HỌC VÀ GIỚI THIỆU CHUNG

Nguyễn Thị Phương Thảo Bộ môn KTMT và M, Khoa CNTT Trường Đại học Thủy Lợi Email: thaont@tlu.edu.vn

1

GIỚI THIỆU MÔN HỌC

 Tên môn học: Tin đại cương

 Thời lượng: 3 TC (30 giờ Lý thuyết, 15 giờ thực hành)

 Cách đánh giá:

 Điểm quá trình: 50% (thi giữa kỳ + bài tập thực hành +

chuyên cần)

 Điểm thi cuối kỳ: 50% (thi viết, 90’)

2

Nội dung môn học

Máy tính và chương trình máy tính

Các lệnh lựa chọn và lặp

Dữ liệu Mảng

File và struct

3

Nội dung môn học

 Khái niệm cơ bản của lập trình C++

 Các lệnh cơ bản

 Câu cấu trúc điều khiển

 Chương trình con

 Mảng và vector

 Xâu ký tự (string)

 Tập tin (file) và Cấu trúc (struct)

 Bài tập tổng hợp

4

MỤC TIÊU MÔN HỌC

 Hiểu biết cơ bản về lập trình C++

 Nắm được các kỹ năng viết, dịch, sửa lỗi và chạy một

chương trình C++

 Biết cách giải một số bài toán bằng lập trình C++

 Biết ứng dụng kiến thức về thuật toán và lập trình vào

công việc sau này

5

TÀI LIỆU MÔN HỌC

 Giáo trình chính:

6

Bản tiếng Anh: Introduction to Engineering Programming: Solving Problems with Algorithms, James Paul Holloway, John Wiley & Sons, 2005... Bản dịch: Giới thiệu Lập trình Kỹ thuật, Khoa CNTT, Trường ĐH Thủy Lợi  Tài liệu tham khảo khác: C++ Language Tutorial, http://www.cplusplus.com/doc/tutorial/ Teach Yourself C++ in 21 Days, Second Edition, http://newdata.box.sk/bx/c/

TỔNG QUAN VỀ MÁY TÍNH

 Các khái niệm cơ bản

 Biểu diễn thông tin trong máy tính

 Các hệ đếm thông dụng

 Bảng mã ASCII

 Phần cứng và phần mềm

 Thuật toán

 Ngôn ngữ lập trình

7

CÁC KHÁI NIỆM CƠ BẢN

 Thông tin (information): Tất cả những gì mang lại sự hiểu

biết, nhận thức cho con người.

 Dữ liệu (data) là sự biểu diễn của thông tin và được thể

hiện bằng các tín hiệu vật lý.

Ví dụ: Dữ liệu có thể ở dạng: số, văn bản, âm thanh,

hình ảnh, …

 Thông tin chứa đựng ý nghĩa còn dữ liệu không có ý 8

nghĩa nếu chúng không được tổ chức và xử lý.

CÔNG NGHỆ THÔNG TIN VÀ MÁY TÍNH

… …

9

CÁC KHÁI NIỆM CƠ BẢN

 Máy tính điện tử là công cụ xử lý thông tin.

 Về cơ bản máy tính có 4 thao tác chính:

 Nhận thông tin: Thu nhận thông tin từ thế giới bên ngoài

vào máy tính

 Xử 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 để có được thông tin mong muốn

 Xuất thông tin: Đưa các thông tin kết quả ra bên ngoài

 Lưu trữ thông tin: Ghi nhớ lại các thông tin đã được

ghi nhận

10

CÁC KHÁI NIỆM CƠ BẢN

 Để được lưu trữ và xử lý trong MTĐT, dữ liệu được mã

hoá bằng các mã nhị phân. Mọi dữ liệu dù bản chất

khác nhau nhưng đều được số hoá

 Lí do: Trong máy tính chỉ có 2 tín hiệu là bật và tắt

 0: mô phỏng trạng thái ngắt của mạch điện (đèn tắt)

 1: mô phỏng trạng thái đóng của mạch điện (đèn sáng)

 Bit (binary digit): Đơn vị nhỏ nhất của thông tin chỉ có

thể có giá trị là 0 hoặc là 1

11

ĐƠN VỊ ĐO THÔNG TIN

Các đơn vị đo thông tin được dùng để đo dung lượng của bộ nhớ.

Bảng quy đổi các đơn vị đo thông tin bao gồm:

12

PHẦN CỨNG VÀ PHẦN MỀM

 Quá trình xử lí thông tin bằng máy tính được thực

hiện theo quy trình sau:

 Để thực hiện được quá trình trên, máy tính cần phải có

phần cứng và phần mềm hỗ trợ  Phần cứng (Hardware) là toàn bộ các thiết bị vật lý của

máy tính

13

 Phần mềm (Software) là thuật ngữ chuyên môn được dùng để chỉ các chương trình máy tính được lập sẵn và ghi trên đĩa.

PHẦN MỀM

Thông thường, phần mềm được chia làm 3 loại chính:

 Hệ điều hành (OS: Operating System): Là phần mềm cơ

bản, gồm tập hợp các chương trình điều khiển hoạt động

của máy tính cho phép người dùng khai thác dễ dàng và

hiệu quả các thiết bị của hệ thống.

 Ngôn ngữ lập trình (Programming Language): Dùng lập

chương trình cho máy tính hoạt động. Một số ngôn ngữ

lập trình: Pascal, C, C++, Visual Basic

 Phần mềm ứng dụng (Application): Là các chương trình

ứng dụng cụ thể vào một lĩnh vực.

14

PHẦN CỨNG

Các thành phần phần cứng cơ bản của một hệ thống máy tính:

 Khối xử lý trung tâm (CPU): xử lý, tính toán các kết

quả, điều hành hoạt động tính toán của máy tính

 Thiết bị lưu trữ: dùng để cất giữ thông tin bao gồm

Bộ nhớ trong (ROM, RAM) và Bộ nhớ ngoài (Đĩa

cứng, đĩa mềm, CD, VCD, USB)

 Thiết bị nhập: đưa dữ liệu từ thế giới bên ngoài vào

 Thiết bị xuất: gửi thông tin ra bên ngoài

15

PHẦN CỨNG - CPU

16

PHẦN CỨNG – BỘ NHỚ CHÍNH

Bộ nhớ trong:

 ROM

 Bộ nhớ chỉ đọc  Ghi một lần duy nhất

 RAM

 Bộ nhớ truy xuất ngẫu

nhiên

 Bộ nhớ đọc, ghi  Thông tin lưu tạm thời, mất khi mất nguồn điện cung cấp

17

PHẦN CỨNG – BỘ NHỚ CHÍNH

Bộ nhớ ngoài:

Ổ đĩa cứng Đĩa mềm, đĩa CD/DVD

18

Đĩa ngoài USB

CÁC THIẾT BỊ ĐẦU VÀO

Bàn phím

Chuột

19

Microphone Webcam Máy quét

CÁC THIẾT BỊ ĐẦU RA

Máy in

Màn hình

Loa

Máy chiếu

20

PHẦN MỀM

Thông thường, phần mềm được chia làm 3 loại chính:

 Hệ điều hành (OS: Operating System): Là phần mềm cơ

bản, gồm tập hợp các chương trình điều khiển hoạt động

của máy tính cho phép người dùng khai thác dễ dàng và

hiệu quả các thiết bị của hệ thống.

 Ngôn ngữ lập trình (Programming Language): Dùng lập

chương trình cho máy tính hoạt động. Một số ngôn ngữ

lập trình: Pascal, C, C++, Visual Basic

 Phần mềm ứng dụng (Application): Là các chương trình

ứng dụng cụ thể vào một lĩnh vực.

21

PHẦN MỀM

22

BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH

 Thông tin là gì?

Là sự phản ánh sự vật hiện tượng của thế giới khách quan và các hoạt động của con người.

 Dữ liệu là hình thức biểu diễn thông tin

Dữ liệu

Tri thức

DL Phi số

Dữ liệu Số

Văn bản

Luật

Logic

Sự kiện

Hình ảnh

23

Âm thanh

BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH

 Dữ liệu được mã hóa dưới và lưu vào bộ nhớ.

 Các số -> mã hóa -> số  Các chữ cái -> mã hóa -> số  Âm thanh -> mã hóa -> số  Hình ảnh -> mã hóa -> số

 Các hệ đếm

 Hệ đếm nhị phân (cơ số 2)

 Hệ đếm bát phân (cơ số 8)

 Hệ đếm thập phân (cơ số 10)

 Hệ đếm thập lục phân (cơ số 16)

24

BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH

 Đơn vị đo thông tin

 Bit: đơn vị nhỏ nhất của thông tin, gồm1 chữ số nhị

phân 0 hoặc 1

 Byte: 1Byte = 8 bits

 KiloByte:

1KB = 210 Bytes = 1024 Bytes

 MegaByte: 1MB = 210 KBs = 1024 KBs

 GigaByte:

1GB =210 MBs = 1024 MBs

 TetaByte:

1TB =210 GBs = 1024 GBs

25

BẢNG MÃ ASCII

 Bảng mã ASCII

 Là bảng ký tự và bảng mã ký tự dựa trên bảng chữ La Tinh

 Dùng để hiển thị văn bản trong máy tính

 Cấu trúc bảng mã

 32 ký tự đầu tiên (từ 0 -31) là các ký tự điều khiển: #27:

Esc, #13:Enter…

 Mã ASCII từ 48 – 57: là 10 chữ số

 Mã ASCII từ 65 – 90: là các chữ cái hoa A->Z

 Mã ASCII từ 97 – 122: là các chữ cái thường a->z

 Mã ASCII từ 128-255: là các ký tự đồ họa

 Mã ASCII còn lại là các ký tự đặc biệt

26

BẢNG MÃ ASCII

27

HỆ ĐẾM NHỊ PHÂN – THẬP PHÂN

 Hệ nhị phân

 Là một hệ đếm dùng 2 ký tự để biểu đạt một giá trị số

 2 ký tự là 0 và 1

 Hệ thập phân

 Dùng 10 ký tự để biểu đạt 10 giá trị

28

ĐỔI SỐ THẬP PHÂN SANG NHỊ PHÂN

 Quy tắc: chia số thập phân liên tiếp cho 2 cho đến khi thương bằng 0 và lấy các số dư từ dưới lên.

Số thập phân:

43 2 1 21

2

1

10 0

2 5 2 1

22 0

1 2 1

0

29

Số nhị phân: 101011

ĐỔI SỐ NHỊ PHÂN SANG THẬP PHÂN

 Quy tắc: Lấy các số ở từng vị trí nhân với 2^[vị trí]

rồi cộng lại được số thập phân

Số nhị phân:

101011 = 1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 1x20

= 32 + 0 + 8 + 0 + 2 + 1 = 43

= (43)10

(101011)2

30

HỆ ĐẾM THẬP LỤC PHÂN

 Là hệ đếm có 16 ký tự, từ 0 đến 9 và từ A đến F

 Ví dụ: (15)10 = (1111)2 = (F)16

Hệ 10 Hệ 2 Hệ 8 Hệ 16 Hệ 10 Hệ 2 Hệ 8 Hệ 16

0 0 8 8 0000 0 1000 10

1 1 9 9 0001 1 1001 11

2 2 10 A 0010 2 1010 12

3 3 11 B 0011 3 1011 13

4 4 12 C 0100 4 1100 14

5

5

13

D

0101

5

1101

15

6 6 14 E 0110 6 1110 16

31

7 7 15 F 0111 7 1111 17

SỬ DỤNG WINDOWS EXPLORER

 Windows Explorer là một ứng dụng hiển thị nội dung ổ cứng

và các thư mục

 Cách chạy Windows Explorer (trên Windows 7)

Computer trên màn

 Click đúp chuột vào biểu tượng

hình

 Click chọn Start  All Programs Accessories Windows

Explorer

 Click chọn vào biểu tượng

dưới thanh công cụ, góc dưới

trái

32

Ổ ĐĨA, THƯ MỤC VÀ TỆP TIN

 Ổ đĩa: Đặt tên bằng các chữ cái hoa + dấu hai chấm

VD: C:, D:

 Thư mục: Nằm trong ổ đĩa, chứa các tệp tin và thư mục

khác

 Tệp tin: (file) chứa dữ liệu (văn bản, hình ảnh, âm thanh…)

 Tên tệp tin: .

 Ví dụ: teptin.docx -> tệp tin văn bản word

33

 Tệp tin luôn có đường dẫn, ví dụ: D:\Tailieu\teptin.docx

TẠO THƯ MỤC MỚI

 Chọn vị trí để đặt thư mục

 Kích chuột phải vào vùng trống, di chuyển đến mục

New, chọn Folder

 Nhập tên thư mục sau đó nhấn Enter

34

SAO CHÉP, DI CHUYỂN THƯ MỤC/TỆP TIN

 Chọn tệp tin hoặc thư mục cần thao tác

 Kích chuột phải vào biểu tượng của tệp tin, thư mục

 Chọn Cut để di chuyển, chọn Copy để sao chép

 Chọn vị trí muốn di chuyển đến, kích chuột vào

vùng trống, chọn Paste

35

XÓA THƯ MỤC/TỆP TIN

 Chọn tệp tin hoặc thư mục cần xóa

 Kích chuột phải vào biểu tượng của tệp tin, thư mục

 Chọn Delete, dòng thông báo hỏi người dùng có chắc chắn xóa hay không, nếu đồng ý chọn Yes

36

KHÔI PHỤC THƯ MỤC/TỆP TIN ĐÃ XÓA

 Thư mục/tệp tin sau khi xóa được đưa tạm vào

thùng rác Recycle Bin

 Để xóa vĩnh viễn, vào Recycle Bin, chọn file, kích

chuột phải và chọn Delete

 Để khôi phục thư mục/tệp tin đã xóa, vào Recycle Bin, chọn file cần khôi phục, kích chuột phải rồi chọn Restore.

 Xóa toàn bộ thư mục/tệp tin trong Recycle Bin, chọn Empty the Recyle Bin trên thanh công cụ

37

KHÁI NIỆM THUẬT TOÁN

Ví dụ: Để giải phương trình bậc nhất P(x): ax + b = 0

(a, b, c là các số thực) có thể gồm các bước sau đây:

1. Nếu a

= 0

0 thì P(x) có nghiệm bất kì 0 thì P(x) vô nghiệm

Nếu b = Nếu b ≠ ≠ 0

2. Nếu a

P(x) có duy nhất một nghiệm x = (-b)/a

38

KHÁI NIỆM THUẬT TOÁN

 Thuật toán (algorithm): là một danh sách hữu hạn

các chỉ thị, khi đư ợc thi hành sẽ biến đổi thông tin

đầu vào thành thông tin đầu ra

 Đầu vào (input): là dữ liệu đ ư ợ c cung cấp cho thuật toán để

thuật toán thực hiện chức năng của nó

 Đầu ra (output): là dữ liệu mà thuật toán đư a ra môi

trường bên ngoài

39

CÁC TÍNH CHẤT CỦA THUẬT TOÁN

 Tính chính xác: để đảm bảo kết quả tính toán hay các thao tác

mà máy tính thực hiện đượ c là chính xác.

 Tính rõ ràng: Thuật toán phải được thể hiện bằng các câu lệnh minh bạch; các câu lệnh được sắp xếp theo thứ tự nhất định.

 Tính khách quan: Một thuật toán dù được viết bởi nhiều người trên nhiều máy tính vẫn phải cho kết quả như nhau.  Tính phổ dụng: Thuật toán không chỉ áp dụng cho một bài toán nhất định mà có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau.

 Tính kết thúc: Thuật toán phải gồm một số hữu hạn các bước

tính toán.

40

Viết chương trình cho máy tính

 Mỗi máy tính có một tập hợp hữu hạn các lệnh máy

 Lệnh máy: là dãy các bit 0 & 1, được sử dụng để thực hiện

nhữngthaotácrấtcơ bản,vídụ :đọc/ghisố,cộng/trừhaisố.. .

 Mỗi dòng máy khác nhau (Intel, AMD, . . .) có các tập

hợp lệnh máy khác nhau

 Chương trình máy tính là dãy các lệnh máy để chỉ thị

làm từng bước

41

NGÔN NGỮ MÁY

 Là ngôn ngữ được viết với các lệnh can thiệp trực tiếp vào thanh ghi

(Assembly) với nhược điểm:

 Không trực quan

 Dễ phát sinh lỗi

 Mỗi dòng máy khác nhau (Intel, AMD,...) có các tập hợp

lệnh máy khác nhau

 Giải pháp: sử dụng các ngôn ngữ bậc cao

42

NGÔN NGỮ LẬP TRÌNH BẬC CAO

 Các lệnh trực quan, dễ hiểu

 Sử dụng trình biên dịch để dịch các lệnh này thành các

lệnh máy

int a = 3; int b = a + 1;

Trình Biên Dịch

Tập hợp lệnhmáy cho Intel

Tập hợp lệnhmáy cho AMD

43

NGÔN NGỮ LẬP TRÌNH BẬC CAO

 Phải tuân thủ tuyệt đối cú pháp của ngôn ngữ, nếu

không trình biên dịch sẽ không hiểu và báo lỗi

 Phân loại :

 Ngôn ngữ lập trình thủ tục (Pascal, C. . .)

 Ngôn ngữ lập trình hướng đối tượng (Java,

C + + , . . )

. . .

44

CÁC BƯỚC VIẾT CHƯƠNG TRÌNH MÁY TÍNH

 Bước 1 : Mô tả / xác định bài toán / vấn đề cần giải

quyết (xác định Input, output của bài toán)

 Bước 2 : Xây dựng thuật toán / lời giải (có thể viết dưới

dạng mã giả pseudo code)

 Bước 3 : Triển khai lời giải trên bằng một ngôn ngữ lập

trình (chẳng hạn dùng ngôn ngữ lập trình C++)

 Bước 4 : Dịch chương trình thành dạng mã máy để máy

tính hiểu và thực hiện được

Ví dụ: Biết giá trị 3 tham số a, b, c. Viết chương trình

45

giải phương trình bậc hai: ax2 + bx + c = 0.

MÔI TRƯỜNG LẬP TRÌNH DEV-C++

Các thao tác cơ bản

 Tạo một tệp (file) mới, lưu (save) dưới dạng .cpp

 Viết mã (code)

 Dịch mã

 Chạy chương trình

 Sửa lỗi (debug) nếu có

46

Cấu trúc một chương trình C++

- Soạn thảo ví dụ đơn giản sau trong Dev-C++

Hàm chính: Chương trình sẽ bắt đầu từ hàm này

Nội dung hàm được viết trong cặp dấu { }

- Lưu và đặt tên cho ví dụ

- Ấn F9 để biên dịch (compile) , ấn F10 để chạy

(run), F11: Compile & Run

47

Chương trình C++ đơn giản

Nhập giá trị thực cho x, tính và in ra màn hình giá trị bình phương của nó.

48