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