Giáo trình Tin học đại cương - Trường Đại học Hàng Hải

BỘ GIAO THÔNG VẬN TẢI  
TRƢỜNG ĐẠI HỌC HÀNG HẢI  
BỘ MÔN: TIN HỌC ĐẠI CƢƠNG  
KHOA:CÔNG NGHỆ THÔNG TIN  
BÀI GIẢNG  
TIN HỌC ĐẠI CƢƠNG  
TÊN HỌC PHẦN  
MÃ HỌC PHẦN  
: TIN HỌC ĐẠI CƢƠNG  
: 17101  
TRÌNH ĐỘ ĐÀO TẠO  
DÙNG CHO SV NGÀNH  
: ĐẠI HỌC CHÍNH QUY  
: TẤT CẢ CÁC NGÀNH  
HẢI PHÒNG – 2011  
Bài giảng Tin học Đại cương  
MỤC LỤC  
STT  
NỘI DUNG  
NHẬP MÔN TIN HỌC ĐẠI CƢƠNG  
Một vài nét về tin học và máy tính  
Thông tin và xử lý thông tin  
Thành phần của máy tính  
TRANG  
CHƢƠNG I  
4
4
1.1  
1.2  
4
1.3  
1.4  
Các hệ đếm  
5
Phân loại máy tính  
9
1.5  
Các bộ phận chính của máy tính PC  
TỔNG QUAN VỀ LẬP TRÌNH  
Vấn đề giải quyết bài toán bằng máy tính  
Một số ví dụ  
10  
1.6  
CHƢƠNG II  
12  
13  
2.1  
2.2  
CHƢƠNG III NGÔN NGỮ LẬP TRÌNH VISUAL BASIC  
Khởi động Visual Basic  
20  
20  
20  
21  
23  
29  
30  
3.1  
3.2  
3.3  
3.4  
3.5  
3.6  
3.7  
Thoát khỏi Visual Basic  
Tạo, mở và lƣu một dự án (Project)  
Các bƣớc xây dựng chƣơng trình  
Một số đối tƣợng cơ bản trong Visual Basic  
Một số ví dụ về thiết kế giao diện và lập bảng thuôc tính  
Các kiểu dữ liệu cơ bản  
CHƢƠNG IV KHAI BÁO HẰNG BIẾN BIỂU THỨC CÂU LỆNH  
Các hằng trong Visual Basic  
36  
36  
37  
37  
37  
37  
38  
38  
4.1  
4.2  
4.3  
4.4  
4.5  
4.6  
4.7  
4.8  
Biến  
Biểu thức  
Quy định về viết dòng lệnh trong Visual Basic  
Cách viết dòng chú thích trong chƣơng trình  
Câu lệnh gán  
Câu lệnh End  
Lệnh in dữ liệu  
_2_  
Bài giảng Tin học Đại cương  
4.9  
Lệnh nhập dữ liệu  
39  
4.10  
Chuyển đổi kiểu dữ liệu trong quá trình tính giá trị biểu  
thức  
40  
4.11  
4.12  
Cấu trúc điều kiện  
41  
43  
45  
48  
Câu lệnh lựa chọn Select  
Cấu trúc lặp  
4.13  
4.14  
Một số ví dụ  
CHƢƠNG V  
5.1  
HÀM VÀ THỦ TỤC  
Khái niệm chƣơng trình con  
Hàm và thủ tục  
51  
51  
53  
56  
5.2  
Truyền tham số cho chƣơng trình con  
Biến toàn cục, biến địa phƣơng, khái niệm tầm tác dụng  
5.3  
5.4  
CHƢƠNG VI DỮ LIỆU CÓ CẤU TRÚC, KIỂU MẢNG  
Khái niệm về mảng  
59  
59  
61  
62  
6.1  
6.2  
6.3  
6.4  
Khai báo mảng tĩnh  
Khai báo mảng động (Dynamic Array)  
Một số thuật toán về mảng  
_3_  
Bài giảng Tin học Đại cương  
CHƢƠNG 1  
NHẬP MÔN TIN HỌC ĐẠI CƢƠNG  
1.1. Một vài nét về tin học và máy tính  
Có rất nhiều khái niệm về Tin học, song có thể hiểu Tin học là ngành khoa học nghiên  
cứu các quá trình có tính chất thuật toán nhằm mô tả và biến đổi thông tin. Các quá trình này  
đƣợc nghiên cứu một cách hệ thống về mọi phƣơng diện: Lý thuyết phân tích, thiết kế, tính  
hiệu quả, việc cài đặt và các ứng dụng.  
1.2. Thông tin và xử lý thông tin  
1.2.1. Thông tin và dữ liệu  
Thông tin (Information): Những hiện tƣợng sự vật phản ánh về một sự kiện, một vấn  
đề nào đó trong thế giới khách quan. Dựa vào đó con ngƣời có thể hiểu biết và nhận thức  
đƣợc thế giới khách quan. Thông tin có thể ghi lại và truyền đi.  
Dữ liệu (Data): Là dạng thông tin khi đƣợc lƣu trữ.  
1.2.2. Đơn vị đo thông tin  
Đơn vị đo thông tin là bit. Đây chính là tin về hệ thống chỉ có hai trạng thái đồng  
khả năng: bằng 0 hoặc bằng 1 (Điều này rất phù hợp với các máy tính điện tử bởi trong  
một thời điểm, mạch điện chỉ có một trong hai trạng thái đóng hoặc mở tƣơng ứng với  
hai giá trị 1 hoặc 0).  
Đơn vị đo thông tin bao gồm: Bit, Byte, KiloByte, MegaByte, GigaByte.  
Qui đổi giữa các đơn vị nhƣ sau:  
Byte (B):  
1 Byte = 8 bit (b)  
1 KB = 1024 Byte  
KiloByte (KB):  
MegaByte (MB): 1 MB = 1024 KB  
GigaByte (GB): 1 GB = 1024 MB  
Trong đó:  
b là viết tắt của bit  
B là viết tắt của Byte  
1.3. Thành phần của máy tính  
1.3.1. Phần cứng (Hardware)  
Là các thành phần vật lý cấu tạo nên máy tính. Các thành phần vật lý ở đây bao gồm  
các thiết bị điện tử và cơ khí.  
Ví dụ: về các phần cứng máy tính nhƣ màn hình, bàn phím, chuột, bộ vi xử lý…  
1.3.2. Phần mềm (SoftWare)  
_4_  
Bài giảng Tin học Đại cương  
Là tập hợp các chỉ thị cho máy tính làm việc. Nói cách khác, toàn bộ các chƣơng trình  
chạy trên máy tính gọi là phần mềm máy tính. Sự ra đời của phần mềm khiến cho hiệu quả  
sử dụng phần cứng đƣợc nâng cao, rất nhiều công việc của con ngƣời đƣợc tự động hoá, vận  
hành nhanh chóng.  
Ví dụ: Phần mềm soạn thảo văn bản, bảng tính, trình diễn, đồ hoạ…  
1.4. Các hệ đếm  
1.4.1. Hệ đếm thập phân (Decimal)  
Hệ thập phân là hệ đếm dựa vào vị trí với cơ số 10. Hệ này dùng các số từ 0 đến 9  
để biểu diễn. Giá trị của hệ thập phân đƣợc đánh giá bằng vị trí các con số.  
Cách viết: 127 hoặc (127)10  
Khai triển một số hệ 10:  
(123.78)10= 1 x 102 + 2 x 101 + 3 x 100 +7 x 10-1 + 8 x 10-2  
1.4.2. Hệ đếm nhị phân (Binary)  
Hệ nhị phân hay hệ đếm cơ số 2 chỉ có hai con số 0 và 1. Đó là hệ đếm theo vị trí.  
Giá trị của một số bất kỳ nào đó phụ thuộc vào vị trí của nó. Các vị trí có trọng số. Các vị  
trí của trọng số bằng bậc luỹ thừa của cơ số 2.  
Chấm cơ số đƣợc gọi là chấm nhị phân trong hệ đếm cơ số 2. Mỗi một con số nhị  
phân đƣợc gọi là một bit (Binary digit). Bit ngoài cùng bên trái là bít có trọng số lớn  
nhất(MSB) và bit ngoài cùng bên phải là bit có trọng số nhỏ nhất (LSB) nhƣ dƣới đây:  
23  
22  
21  
20  
2-1  
2-2  
MSB  
1
0
1
0
1
1
LSB  
Cách viết: (1011)2  
1.4.3. Hệ thập lục phân (HEXADECIMAL)  
Các máy tính hiện đại thƣờng dùng hệ đếm khác là hệ thập lục phân. Hệ thập lục  
phân là hệ đếm dựa vào vị trí với cơ số 16.  
Hệ này dùng 10 chữ số từ 0 đến 9 và 6 ký tự từ A đến F để biểu diễn.  
Hệ này thƣờng dùng để viết gọn các số hệ nhị phân  
Hệ này đƣợc biểu diễn nhƣ trong bảng sau:  
Thập lục  
Thập phân  
Nhị phân  
phân  
0
1
2
0
1
2
0000  
0001  
0010  
_5_  
Bài giảng Tin học Đại cương  
3
3
4
0011  
0100  
0101  
0110  
0111  
1000  
1001  
1010  
1011  
1100  
1101  
1110  
1111  
4
5
5
6
6
7
7
8
8
9
9
A
10  
11  
12  
13  
14  
15  
B
C
D
E
F
Cách viết : (2BC)H  
1.4.4. Chuyển đổi giữa các hệ đếm  
* Chuyển từ hệ nhị phân sang hệ mƣời  
Muốn đổi từ hệ nhị phân sang hệ mƣời chỉ cần tính các giá trị 2i tƣơng ứng với các  
chữ số khác không thứ i của hệ số nhị phân rồi cộng lại :(vị trí i tính từ phải qua trái)  
Ví dụ1: Ta muốn đổi một số hệ nhị phân (101001)2 sang hệ mƣời, tiến hành nhƣ sau:  
(101001)2= 1 x 25 + 0 x 24 + 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20  
=
32 +  
0
+
8 + 0 + 0 + 1 = (41)10  
Kết quả ta đƣợc số 41 ở hệ 10  
Ví dụ 2: Ta muốn đổi một số hệ nhị phân (101.001)2 sang hệ mƣời, tiến hành nhƣ sau:  
(101.001)2 = 1 x 22 + 0 x 21 + 1 x 20 + 0 x 2-1 + 0 x 2-2 + 1 x 2-3  
=
4 + 0 + 2 +  
Chú ý: Trong các ví dụ trên quá trình biến đổi có thể đơn giản hoá bằng cách loại bỏ  
các con số không.  
0 + 0  
+
0.125= (6.125)10  
*Chuyển từ hệ thập phân sang hệ nhị phân:  
Lấy phần nguyên của số cần đổi chia cho 2 và ghi nhớ phần dƣ, tiếp theo lấy thƣơng  
của phép chia trƣớc đó chia cho 2 và ghi nhớ phần dƣ. Cứ làm nhƣ vậy cho đến khi  
thƣơng bằng 0 thì dừng lại và viết phần dƣ ngƣợc từ dƣới lên trên. Lấy phần lẻ thập phân  
của số cần đổi nhân với 2, tích nhận đƣợc gồm phần nguyên và phần lẻ nhị phân, lấy  
phần lẻ nhị phân của tích thu đƣợc nhân với 2. Cứ làm nhƣ vậy cho đến khi không còn  
_6_  
Bài giảng Tin học Đại cương  
phần lẻ thập phân hoặc đến một độ chính xác nhất định nào đó thì dừng lại. Viết phần  
nguyên từ trên xuống dƣới. Sau đó ghép kết quả của chúng lại với nhau.  
Ví dụ 1: Đổi số (41)10 từ hệ 10 sang hệ nhị phân:  
41 2  
1 20 2  
0
10 2  
5 2  
0
1
2 2  
0
1 2  
1 0  
Sau khi chia đến thƣơng bằng 0 và viết ngƣợc phần dƣ từ dƣới lên trên ta đƣợc số  
(101001)2 ở nhị phân.  
Ví dụ 2: Biến đổi số thập phân (41.625)10 thành số nhị phân:  
Trƣớc hết biến đổi phần nguyên thành số nhị phân theo ví dụ 1 đƣợc số (101001)2  
Sau đó biến đổi phần lẻ thành số nhị phân bằng cách:Lấy số cần đổi nhân với 2, tích  
nhận đƣợc gồm phần nguyên và phần lẻ nhị phân, lấy phần lẻ nhị phân của tích thu đƣợc  
nhân với 2. Cứ làm nhƣ vậy cho đến khi đƣợc tích chẵn bằng 1. Chọn riêng các phần  
nguyên (phần trƣớc dấu phẩy) của các tích thu đƣợc và sắp xếp lại sẽ đƣợc các chữ số sau  
dấu phẩy cần tìm.  
0.625 x 2 =  
1.250 x 2 =  
0.5 x 2 =  
1.250  
0.500  
1.000  
phần lẻ (0.625)10 đƣợc chuyển thành (101)2 hệ 2  
Vậy số (41.625)10 ở hệ 10 sang hệ nhị phân là (101001.101)2  
*Chuyển từ hệ thập lục phân sang hệ thập phân:  
Các số thập lục phân có thể đƣợc biến đổi thành thập phân bằng cách tính tổng của  
các con số nhân với giá trị vị trí của nó.  
Ví dụ1: Đổi số (5B)16 thành số thập phân  
(5B)16 = 5 x 161 + B x 160  
= 5 x 161 + 11 x 160  
= 80  
+ 11 = (91)10  
Kết quả là số (91)10 hệ 10  
_7_  
Bài giảng Tin học Đại cương  
Ví dụ 2: Đổi số (2AF)16 thành số thập phân  
(2AF)16 = 2 x 162 + A x 161 + F x 160  
= 2 x 162 + 10 x 161 + 15 x 160  
= 2 x 256 + 10 x 16 + 15 x 1  
= 512 + 160 + 15  
Kết quả là số (687)10 hệ 10  
*Chuyển từ hệ thập phân sang hệ thập lục phân:  
= (687)10  
Lấy số thập phân cần đổi chia cho 16 và ghi nhớ phần dƣ, tiếp theo lấy thƣơng của  
phép chia trƣớc đó chia cho 16 và ghi nhớ phần dƣ. Cứ làm nhƣ vậy cho đến khi thƣơng  
bằng 0 thì dừng lại và viết phần dƣ ngƣợc từ dƣới lên trên.  
Ví dụ: Đổi số (93)10 thành hệ thập lục phân:  
Thƣơng số +  
số dƣ  
93  
16  
5
=
=
5
+
+
13 tƣơng ứng là D  
0
5
16  
Vậy kết quả là số (93)10 đổi thành số (5D)16 hệ thập lục phân  
*Chuyển từ hệ thập lục phân sang hệ nhị phân:  
Thực chất các số thập lục phân cũng chỉ là cách biểu diễn các số nhị phân thuận lợi  
hơn. Muốn đổi từ số thập lục phân sang số hệ nhị phân ta chỉ cần thay thế từ con số thập  
lục phân bằng 4 bit nhị phân tƣơng ứng:  
Ví dụ: Đổi số (C5)16 thành hệ nhị phân  
C
5
1100  
0101  
Kết quả số (C5)16 thành số (11000101)2  
*Chuyển từ hệ nhị phân sang hệ thập lục phân:  
Để biến đổi một số nhị phân thành số thập lục phân tƣơng đƣơng chỉ cần nhóm 4 bít  
tính từ phải qua trái sau đó chuyển từng nhóm 4 bit thành hệ thập lục phân và ghép lại  
với nhau sẽ đƣợc số hệ thập lục phân.  
Ví dụ: Đổi số (01011111)2 thành số thập lục phân  
0101  
1111  
5
F
Kết quả số (01011111)2 thành số (5F)16  
_8_  
Bài giảng Tin học Đại cương  
1.5. Phân loại máy tính  
Theo góc độ ngƣời sử dụng thì máy tính đƣợc phân làm bốn loại sau:  
* Máy tính lớn (Mainframe)  
Máy tính lớn là máy có công suất cao, tốc độ xử lý nhanh và rất lớn thƣờng đóng  
vai trò trong các hệ tin học phân tán có qui mô lớn.  
Các máy tính lớn là các cỗ máy kích thƣớc lớn, mạnh và rất đắt tiền, đƣợc sử dụng  
trong hầu hết các cơ quan, tổ chức lớn (ví dụ nhƣ các ngân hàng, các cơ quan trọng yếu  
của Chính phủ, các công ty đa quốc gia…).  
Cần chú ý phân biệt máy tính lớn với máy tính cá nhân có kích thƣớc lớn.  
* Máy tính PC (Personal Computer-PC)  
Máy tính điện tử có nguồn gốc ra đời từ khá sớm và có rất nhiều chủng loại. Tuy  
nhiên chiếc máy tính PC theo mô hình của IBM đầu tiên đƣợc ra đời vào năm 1981. Từ  
đó trở đi, tất cả các máy tính PC đƣợc sản xuất, qua nhiều lần mở rộng đều tƣơng thích  
với thiết kế ban đầu. Thuật ngữ máy tính tƣơng thích liên quan đến các máy tính đƣợc  
sản xuất bởi các công ty khác không phải IBM nhƣng vẫn tƣơng thích với các đặc điểm  
kỹ thuật truyền thống.  
IBM – PC  
IBM – PC  
(1981)  
Tƣơng thích  
* Máy Mac(Apple MAC)  
Máy Mac là một máy tính, nhƣng không phải là một máy PC theo mô hình IBM.  
Máy Mac là dòng máy tính do hãng Apple sản xuất và chạy Hệ điều hành Macintosh của  
Apple có giao diện đồ hoạ GUI và tƣơng thích với nó là các phiên bản đặc biệt của các  
chƣơng trình ứng dụng ( nhƣ bộ xử lý văn bản và  
các bảng tính). Thậm chí để có thể kết nối với một  
Mac, ngƣời ta cần phải lựa chọn thêm các thiết bị  
phần cứng mở rộng.  
Thời kỳ đầu, điều giúp cho việc phân biệt máy  
Mac và PC chính là việc MAC sử dụng giao diện  
đồ hoạ cho ngƣời dùng (GUI – Graphic User  
Interface ), hay nói cách khác, chính là cách mà ta  
có thể dùng chuột để điều khiển máy tính. Khi PC mới xuất hiện, ngƣời dùng phải là một  
nhà chuyên môn mới có thể sử dụng đƣợc chiếc PC đó. Tuy nhiên, gần đây sự khác biệt  
_9_  
Bài giảng Tin học Đại cương  
cơ bản giữa máy MAC và máy PC đã không còn rõ rệt nhƣ trƣớc, nhất là khi Microsoft  
đã sử dụng Graphic User Interface nhƣ là công cụ trợ giúp ngƣời dùng máy tính PC.  
(Chú ý: Ý tƣởng sử dụng các giao diện đồ hoạ và tƣơng tác ngƣời – máy thông qua  
thao tác chuột là do Apple đề xuất, không phải do Microsoft)  
* Máy tính xách tay (Laptop)  
Laptop, tiếng Anh có nghĩa là đặt trong lòng, phân  
biệt với máy tính đặt trên mặt bàn là desktop. Ở Việt  
Nam, ta hay gọi Laptop là máy tính xách tay bởi đây là  
một loại máy tính nhỏ có thể mang đi theo, có thể chạy  
bằng pin. Ngoài ra, ngƣời ta còn sử dụng tên gọi  
“Notebooks” (quyển vở/quyển sổ) để chỉ các máy tính  
xách tay có kích thƣớc nhỏ hơn.  
Cả hai dòng máy tính PC và MAC đều có những sản phẩm máy tính xách tay cho  
ngƣời dùng của mình. Do đặc điểm nhỏ gọn và năng lực xử lý khá tốt nên máy tính xách  
tay rất đƣợc ƣa chuộng, đặc biệt là những ngƣời hay phải di chuyển hoặc phải thuyết  
trình trƣớc đám đông. Những ngƣời thƣờng xuyên sử dụng máy tính xách tay có thể kể  
đến những ngƣời làm công tác kinh doanh ( chuyên đi thuyết trình sản phẩm), những  
ngƣời làm trong ngành giáo dục (giảng bài bằng máy tính xách tay kết nối máy chiếu)…  
Chú ý: Thực chất máy tính xách tay cũng là dòng máy PC hay máy Mac là dòng  
máy PC nhƣng do hãng Apple sản xuất.  
1.6. Các bộ phận chính của máy tính PC  
1.6.1. Sơ đồ các khối chức năng và bộ phận chính trong máy tính  
Về cơ bản, thành phần chính của một máy tính bao gồm các khối nhƣ: Khối thiết bị  
vào/ Khối xử lý/ Khối thiết bị ra/ Khối thiết bị lƣu trữ.  
KHỐI XỬ LÝ (CPU)  
THIẾT BỊ VÀO  
+ Khối điều khiển (CU)  
+ Khối tính toán số học  
+ Các thanh ghi  
THIẾT BỊ RA  
Màn hình, máy in, loa  
Bàn phím, chuột…  
…
CÁC THIẾT BỊ LƢU TRỮ  
Các thiết bị lƣu trữ trong  
+ ROM: Bộ nhớ chỉ đọc  
+ RAM: Bộ nhớ truy cập ngẫu nhiên  
Các thiết bị lƣu trữ ngoài  
+ Đĩa mềm  
+ Đĩa cứng  
+ Đĩa CD, DVD + USB  
_10_  
Bài giảng Tin học Đại cương  
1.6.2. Khối xử lý trung tâm (Central Processing Unit – CPU)  
Khối xử lý trung tâm, hay còn gọi là một bộ vi xử lý hoặc con chip, là bộ não của  
máy tính. Công việc chính của khối xử lý trung tâm là tính toán và điều khiển mọi hoạt  
động trong máy tính.  
1.6.3. Bộ nhớ trong (Internal Memory)  
Bộ nhớ trong máy tính dùng để chứa các lệnh và dữ liệu phục vụ cho quá trình thực  
hiện các chƣơng trình.  
Bộ nhớ ROM (Read Only Memory): Dữ liệu đƣợc đƣa vào từ nhà sản xuất, thông tin  
trong ROM sẽ không bị mất khi tắt máy. Bộ nhớ ROM không thể nâng cấp hoặc thay thế.  
Bộ nhớ RAM (Radom Access Memory): Là nơi lƣu trữ tạm thời dữ liệu của ngƣời sử  
dụng trong quá trình xử lý. Dữ liệu trên RAM sẽ bị mất khi tắt máy. Bộ nhớ Ram có thể đƣợc  
nâng cấp hoặc thay thế.  
1.6.4. Bộ nhớ ngoài (External Memory)  
Bộ nhớ ngoài hay các thiết bị lƣu trữ ngoài bao gồm đĩa cứng, đĩa mềm, đĩa CD,  
DVD, đĩa Zip…  
1.6.5. Các thiết bị vào (Input device)  
Các thiết bị vào cho phép thông tin hay dữ liệu đƣợc nhập vào máy tính, ví dụ nhƣ  
bàn phím, chuột, máy quét…  
1.6.6. Các thiết bị ra(Output device)  
Các thiết bị ra cho phép thông tin có thể đƣợc xuất ra từ máy tính, ví dụ nhƣ máy in,  
màn hình, loa…  
1.6.7. Các thiết bị ngoại vi (Peripheral device)  
Thiết bị ngoại vi là thiết bị mà nó có thể gắn/cắm vào máy tính. Nhƣ vậy toàn bộ các  
thiết bị nhƣ máy quét, máy in, bàn phím, chuột, loa… đều là các thiết bị ngoại vi.  
_11_  
Bài giảng Tin học Đại cương  
CHƢƠNG 2  
TỔNG QUAN VỀ LẬP TRÌNH  
2.1. Vấn đề giải quyết bài toán bằng máy tính  
2.1.1. Lập trình (Programming)  
Lập trình dùng để chỉ thao tác của con ngƣời nhằm kiến tạo, xây dựng một kịch bản  
bằng các thuật toán để giải quyết một bài toán Tin học trên máy tính thông qua các ngôn  
ngữ lập trình.  
2.1.2. Ngôn ngữ lập trình (Programming language)  
Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính. Đây là một dạng ngôn  
ngữ đƣợc chuẩn hóa (đối lập với ngôn ngữ tự nhiên). Nó là một hệ thống đƣợc ký hiệu  
hóa để miêu tả những tính toán (qua máy tính) trong một dạng mà cả con ngƣời và máy  
đều có thể đọc và hiểu. Ngôn ngữ lập trình cũng chính là một chƣơng trình, nhƣng có thể  
đƣợc dùng để tạo nên các chƣơng trình khác. Một chƣơng trình máy tính đƣợc viết bằng  
một ngôn ngữ lập trình thì những chỉ thị (của riêng ngôn ngữ ấy) góp phần tạo nên  
chƣơng trình đƣợc gọi là mã nguồn của chƣơng trình ấy.  
2.1.3. Bài toánTin học  
Bài toán tin học không dùng để chỉ một bài toán cụ thể, mà dùng để chỉ một lớp các  
bài toán cụ thể thuộc cùng một loại. Một bài toán tin học đƣợc cấu tạo bởi hai yếu tố sau:  
+ Thông tin đầu vào(Input): Là những thông tin bài toán đã cho  
+ Thông tin đầu ra (Output): Là các thông tin cần tìm hoặc câu trả lời cần thiết.  
Ví dụ: Giải bài toán tính diện tích tam giác bằng công thức s=a*h/2  
+ Thông tin đầu vào: Là cạnh đáy a và đƣờng cao h  
+ Thông tin đầu ra: Là diện tích tam giác S hoặc dòng thông báo dữ liệu không hợp lệ.  
2.1.4. Thuật toán  
Thuật toán là tập hợp hữu hạn các bƣớc, các phép toán cơ bản nhất đƣợc sắp xếp  
theo một trình tự nhất định để từ thông tin đầu vào của bài toán sau một tập hữu hạn các  
bƣớc đó sẽ đạt đƣợc kết quả ở đầu ra nhƣ mong muốn.  
Ví dụ: Trở lại bài toán tính diện tích tam giác, thuật toán nhƣ sau:  
+ Bƣớc 1: Cho giá trị của cạnh đáy a và đƣờng cao h  
+ Bƣớc 2: Kiểm tra  
- Nếu a>0 và h>0 thì tính diện tích theo công thức s=a*h/2 sau đó xuống bƣớc 3.  
- Ngƣợc lại thông báo dữ liệu không hợp lệ và quay về bƣớc 1  
+ Bƣớc 3: In diện tích S  
_12_  
Bài giảng Tin học Đại cương  
2.1.5. Biểu diễn thuật toán qua sơ đồ khối (A.Flow Chart)  
Biểu diễn thuật toán: Là sơ đồ dùng các ký hiệu và các đƣờng nối với nhau để diễn tả  
các quan hệ logic và trình tự thực hiện các phép toán của một chƣơng trình máy tính.  
Để thể hiện trực quan về thuật toán ngƣời ta dùng sơ đồ khối. Qua sơ đồ khối ngƣời  
lập trình có thể quan sát các bƣớc của thuật toán cũng nhƣ dòng thông tin hình thành và  
biến đổi trong quá trình thuật toán làm việc.  
Việc thể hiện thuật toán ngƣời ta qui ƣớc dùng các khối sau để thể hiện.  
-Thể hiện sự bắt đầu và kết thúc chƣơng trình  
- Thể hiện việc nhập, xuất dữ liệu  
- Chứa các công thức tính toán  
- Chứa các biểu thức kiểm tra điều kiện và rẽ nhánh  
chƣơng trình  
- Gọi chƣơng trình con  
- Chỉ ra hƣớng đi của thuật toán và kết nối giữa các  
hình  
2.2. Một số ví dụ  
Ví dụ 1:  
Lập thuật toán và vẽ sơ đồ thuật toán để giải và biện luận phƣơng trình ax +b =0  
Bài giải:  
Xây dựng thuật toán:  
- Dữ liệu đầu vào là giá trị hai số a và b (trong lập trình thƣờng gọi tắt là  
nhập giá trị a và b)  
- Kiểm tra điều kiện của a:  
Nếu a = 0 thì  
+ Nếu b=0 thì  
Phƣơng trình vô số nghiệm  
Ngƣợc lại  
Phƣơng trình vô nghiệm  
Ngƣợc lại  
Phƣơng trình có nghiệm x=-b/a  
_13_  
Bài giảng Tin học Đại cương  
Sơ đồ thuật toán:  
Bắt đầu  
(BEGIN)  
Nhập a,b  
Đ
Đ
S
a=0  
PT có nghiệm x=-b/a  
b=0  
PT VSN  
S
PT Vô nghiệm  
Kết thúc  
(END)  
Ví dụ 2:  
Cho ba số bất kỳ a,b,c hãy tìm giá trị lớn nhất trong ba số này  
Bài giải:  
Xây dựng thuật toán:  
- Nhập giá trị cho ba biến a,b,c  
- Coi một trong ba số là số lớn nhất (giả sử số a) đƣa giá trị của a vào một biến  
max  
Mô tả trên đƣợc viết nhƣ sau max=a  
- Kiểm tra giá trị của biến max với từng số còn lại  
Nếu max <b thì max=b  
Nếu max<c thì max=c  
- In giá trị lớn nhất trong max ra màn hình  
Sơ đồ thuật toán:  
_14_  
Bài giảng Tin học Đại cương  
BEGIN  
Nhập a,b,c  
Max=a  
Đ
Max<b  
S
Max=b  
Đ
Max<c  
S
Max=c  
In max  
END  
Ví dụ 3: Hãy tính Tổng S=1+1/2+1/3+…….+1/(n-1)+1/n với n là một số tự nhiên.  
Bài giải:  
Xây dựng thuật toán:  
Bƣớc 1: Nhập giá trị cho n  
Bƣớc 2: Kiểm tra giá trị của n>0  
+ Nếu sai: Trở về bƣớc 1  
+ Nếu đúng: Chuyển sang bƣớc 3  
Bƣớc 3: Cho S=0  
Khởi tạo biến chạy i và cho i=1  
Bƣớc 4: Kiểm tra điều kiện của i  
- Nếu i<=n thì:  
+ Tính S=S+1/i  
+ Tăng i: i=i+1  
+ Quạy trở về đầu bƣớc 4  
_15_  
Bài giảng Tin học Đại cương  
- Nếu i>n: Chuyển sang bƣớc 5  
Bƣớc 5: In giá trị của S  
Sơ đồ thuật toán:  
BEGIN  
Nhập n  
S
n>0  
Đ
S=0  
i=1  
Đ
i<=n  
S
S=S+1/i  
i=i+1  
In S  
END  
Ví dụ 4:  
Nhập vào một dãy số nguyên gồm n phần tử. Sau đó tính trung bình cộng các số chia  
hết cho 3.  
Phân tích bài toán:  
Dữ liệu đầu vào:  
- Số phần tử của dãy n (n là số nguyên dƣơng)  
- Dãy số có n phần tử bất kỳ  
Dữ liệu đầu ra: - Trung bình cộng của các số chia hết cho 3  
Để tính đƣợc trung bình cộng ta cần phải tính Tổng và số lƣợng các số chia hết cho 3.  
Theo dữ liệu đầu vào của bài toán ta có thể giải quyết theo hai hƣớng sau:  
_16_  
Bài giảng Tin học Đại cương  
Hƣớng 1:Lƣu trữ dãy số bằng một ô nhớ Hƣớng 2:Lƣu trữ dãy số bằng n ô nhớ  
Bƣớc 1: - Xác định số phần tử của dãy,  
Bƣớc 1: - Xác định số phần tử của dãy,  
nhập giá trị cho n.  
nhập giá trị cho n.  
Bƣớc 2:  
Bƣớc 2:  
- Kiểm tra điều kiện n  
- Kiểm tra điều kiện n  
+ Nếu n<=0: Quay về bƣớc 1  
+ Nếu n>0 : Chuyển sang bƣớc 3  
Bƣớc 3:  
+ Nếu n<=0: Quay về bƣớc 1  
+ Nếu n>0 : Chuyển sang bƣớc 3  
Bƣớc 3:  
Để tính TBC trƣớc hết ta phải tính:  
Để tính TBC trƣớc hết ta phải tính:  
+Tổng các số thoả mãn, gọi tổng đó là T, +Tổng các số thoả mãn, gọi tổng đó là T,  
khởi tạo giá trị ban đầu T=0 khởi tạo giá trị ban đầu T=0  
+ Số lƣợng các phần tử thoả mãn, gọi là + Số lƣợng các phần tử thoả mãn, gọi là  
d, khởi tạo giá trị ban đầu d=0  
d, khởi tạo giá trị ban đầu d=0  
- Khởi tạo biến chạy i=1 (coi nhƣ khi  
- Khởi tạo biến chạy i=1 (coi nhƣ khi  
i=1 ta tiến hành nhập giá trị cho phần tử i=1 ta tiến hành nhập giá trị cho phần tử  
thứ nhất)  
thứ nhất)  
Bƣớc 4:  
Bƣớc 4:  
Kiểm tra điều kiện của i.  
- Nếu i<=n  
„Nhập giá trị liền một lúc cho n phần  
tử chứa vào n ô nhớ a1, a2…….an  
Kiểm tra điều kiện của i.  
- Nếu i<=n  
+ Nhập giá trị cho a  
+ Kiểm tra: Nếu a chia hết cho 3  
thì  
+ Nhập giá trị cho phần tử ai  
+ Tăng biến ilên một đơn vị:  
T=T+a  
d=d+1  
i=i+1  
+ Quay về bƣớc 4  
+ Tăng biến i lên một đơn vị:  
- Nếu i>n: Chuyển sang bƣớc 5  
i=i+1  
+ Quay về bƣớc 4  
Bƣớc 5:  
„ Tính toán TBC  
- Nếu i>n: Chuyển sang bƣớc 5  
Bƣớc 5:  
- Khởi tạo biến chạy i=1  
Bƣớc 6:  
- Sau khi tính đƣợc T và d ta cần kiểm  
tra lại d vì có thể xảy ra trƣờng hợp  
trong n phần tử không có phần tử nào  
chia hết cho 3 (tƣơng ứng với d=0) thì  
không thể tính đƣợc TBC.  
Kiểm tra điều kiện của i.  
- Nếu i<=n  
+ Kiểm tra: Nếu a chia hết cho 3 thì  
T=T+a  
d=d+1  
- Nếu d=0 thì  
Dãy số không có phần tử thoả mãn  
+ Tăng biến i lên một đơn vị: i=i+1  
_17_  
Bài giảng Tin học Đại cương  
điều kiện chia hết cho 3  
ngƣợc lại  
+ Quay về bƣớc 6  
- Nếu i>n: Chuyển sang bƣớc 7  
Bƣớc 7:  
Tính trung bình cộng:TBC=T/d  
- Sau khi tính đƣợc T và d ta cần kiểm  
tra lại d vì có thể xảy ra trƣờng hợp  
trong n phần tử không có phần tử nào  
chia hết cho 3 (tƣơng ứng với d=0) thì  
không thể tính đƣợc TBC.  
In giá trị của TBC ra  
Bƣớc 6: Kết thúc  
- Nếu d=0 thì  
Dãy số không có phần tử thoả mãn  
điều kiện chia hết cho 3  
ngƣợc lại  
Tính trung bình cộng:TBC=T/d  
In giá trị của TBC ra  
Bƣớc 8: Kết thúc  
Sơ đồ thuật toán theo hƣớng 1:  
BEGIN  
Nhập n  
S
n>0  
Đ
T=0  
d=0  
i=1  
S
Đ
i<=n  
a 3  
i=i+1  
Nhập a  
Đ
S
không có số  
Thoả Mãn  
S
Đ
T=T+a  
D=d+1  
d=0  
In T/d  
END  
_18_  
Bài giảng Tin học Đại cương  
Sơ đồ thuật toán theo hƣớng 2:  
BEGIN  
Nhập n  
S
n>0  
Đ
T=0  
d=0  
i=1  
Đ
i<=n  
S
i=i+1  
Nhập ai  
i=1  
S
Đ
Đ
i<=n  
ai 3  
i=i+1  
Đ
S
không có số  
Thoả Mãn  
S
T=T+a  
D=d+1  
In T/d  
d=0  
END  
_19_  
Bài giảng Tin học Đại cương  
CHƢƠNG 3  
NGÔN NGỮ LẬP TRÌNH VISUAL BASIC  
3.1. Khởi động Visual Basic  
Kích chuột vào nút Start\Programs\MiscoSoft Visual Studio 6.0\MicroSoft  
Visual Basic 6.0  
3.2. Thoát khỏi Visual Basic  
Để thoát khỏi Visual Basic ta làm theo cách sau:  
Vào menu File\Exit. Khi thoát khỏi Visual Basic nếu ta chƣa ghi lại chƣơng trình  
và các thành phần liên quan đến chƣơng trình Visual Basic sẽ nhắc nhở chúng ta ghi lại.  
3.3. Tạo, mở và lƣu một dự án (Project)  
Bƣớc 1: Trên thƣ mục gốc của ổ đĩa C tạo thƣ mục có tên là VIDU  
Lý do cần phải tạo riêng ra một thƣ mục cho chƣơng trình vì một chƣơng trình viết  
bằng Visual Basic bao gồm nhiều thành phần nhƣ: Các màn hình giao diện (Form), các  
đơn thể chƣơng trình (Modul), các báo cáo (Report).... mỗi một thành phần sẽ đƣợc tạo  
các file tƣơng ứng trên ổ đĩa; chính vì vậy để quản lý chƣơng trình cho tốt phong cách lập  
trình tốt là hãy tạo riêng cho mỗi chƣơng trình một thƣ mục riêng.  
Bƣớc 2: Khởi động VB khi đó hộp hội thoại New Project xuất hiện:  
Trong hộp hội thoại này chọn tab New sau đó chọn loại Project muốn tạo, ở đây ta  
sẽ chọn StandardEXE. Hai tab còn lại có ý nghĩa sau:  
- Existing: Mở Project đã có  
- Recent: Mở Project đã làm việc trong thời gian gần đây nhất.  
_20_  
Tải về để xem bản đầy đủ
pdf 68 trang Thùy Anh 13820 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Tin học đại cương - Trường Đại học Hàng Hải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_tin_hoc_dai_cuong_truong_dai_hoc_hang_hai.pdf