Tập bài giảng Thực hành kỹ thuật lập trình

Tập bài giảng Thực hành kỹ thuật lập trình  
MỤC LỤC  
i
Tập bài giảng Thực hành kỹ thuật lập trình  
DANH MỤC HÌNH VẼ  
iii  
 
Tập bài giảng Thực hành kỹ thuật lập trình  
Tập bài giảng Thực hành kỹ thuật lập trình  
v
Tập bài giảng Thực hành kỹ thuật lập trình  
vi  
Tập bài giảng Thực hành kỹ thuật lập trình  
BÀI 1. LẬP TRÌNH TRÊN FORM LÀM VIỆC VỚI CÁC CẤU TRÚC DỮ LIỆU  
ĐƠN GIẢN  
Mục tiêu  
Sau bài học, sinh viên có khả năng:  
- Kiến thức: Biết thiết kế Form và sử dụng C# lập trình trên form để xử lý các  
cấu trúc dữ liệu đơn giản và thao tác trên mảng, xâu ký tự.  
- Kỹ năng: Vận dụng đƣợc kiến thức thiết kế và lập trình trên form thực hiện  
giải các bài toán trong tin học.  
- Thái độ:  
+ Nghiêm túc, sáng tạo  
+ Tích cực tập luyện  
Chuẩn bị dụng cụ, vật tƣ, thiết bị  
Chuẩn bị máy tính có hệ điều hành Windows XP hoặc cao hơn, phần mềm  
Microsoft Office, bộ gõ Tiếng Việt, phần mềm Visual Studio 2008 hoặc cao hơn.  
1.1. Làm việc với các cấu trúc dữ liệu đơn giản  
1.1.1 Tóm tắt kiến thức cần nhớ  
1. Một số điều khiển cơ bản trên Form  
a. Form  
Form là một đối tƣợng đƣợc sử dụng làm giao diện để thực hiện các tƣơng tác  
với cơ sở dữ liệu trong đó có các thao tác cập nhật dữ liệu.  
Form để cập nhật dữ liệu có nhiều dạng trong đó có một số dạng thông dụng.  
Chẳng hạn nhƣ:  
- Dạng bản ghi  
Hình 1. 1. Form dạng bản ghi  
- Dng form mt - nhiu  
1
       
Tập bài giảng Thực hành kỹ thuật lập trình  
Hình 1. 2. Form dạng một nhiều  
Đôi khi còn phối hợp các dạng này với nhau để tạo thành một dạng mới.  
b. Cửa sổ Solution Explorer:  
- Hiển thị các Project trong Solution, Project đậm đƣợc chạy đầu tiên  
- Hiển thị tất cả các tệp trong Project  
- Thanh công cụ  
+ Show All files: Hiển thị các tệp  
+ Refresh: Đọc lại các tệp  
+ View Code: Hiển thị mã lệnh  
+ View Design: Hiển thị thiết kế  
+ Class Diagram: Hiển thị lƣợc đồ lớp  
c. Cửa sổ Toolbox  
Hình1.3CasSolotion
- Chứa các điều khiển Lập trình trực quan  
- Nhóm theo các chức năng  
Hình 1. 4 Cửa sổ Toolbox  
d. Một số điều khiển cơ bản:  
Lable (Nhãn): là điều khiển cho phép ngƣời sử dụng hiển thị chuỗi ký tự trên  
biểu mẫu nhƣng không thể thay đổi chuỗi ký tự đó một cách trực tiếp.  
2
   
Tập bài giảng Thực hành kỹ thuật lập trình  
Textbox (Ô nhập liệu) là một điều khiển cho phép nhận thông tin do ngƣời sử  
dụng nhập vào. Đối với ô nhập liệu ta cũng có thể dùng để hiển thị thông tin, thông tin  
này đƣợc đƣa vào tại thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng.  
Button: Nút lệnh là một điều khiển dùng để bắt đầu, ngắt hoặc kết thúc một quá  
trình. Ngƣời sử dụng luôn có thể chọn một nút lệnh nào đó bằng cách nhấn chuột trên  
nútlệnh đó. Hoặc có thể nhấn Enter để chọn nút lệnh khi nút đó đang có Focus.  
Checkbox: Hộp kiểm hay còn gọi là hộp đánh dấu (Checkbox) là một điều  
khiển đƣợc hiểnthị dƣới dạng một ô vuông. Ô vuông này hiển thị dấu lựa chọn nếu  
nhƣ đƣợc chọn và để trắng nếu ô không đƣợc chọn. Điều khiển Check box đƣợc dùng  
khi muốn nhận thôngtin từ ngƣời sử dụng theo kiểu Yes/No hoặc True/False. Ta cũng  
có thể gom nhiềuđiều khiển lại một nhóm (dùng công cụ Group box) để hiển thị nhiều  
khả năng lựachọn. Khi một check box đƣợc chọn thì giá trị của nó là 1; ngƣợc lại là 0.  
Radio button: Công dụng của Radio button cũng tƣơng tự nhƣ Checkbox. Điểm  
khác nhau chủ yếu giữa hai loại điều khiển này đó là trong cùng một nhóm (đƣợc tạo  
bởi groupbox hay picturebox) tại mỗi thời điểm ta chỉ có thể chọn một radio button  
nhƣng có thể đánh dấu chọn nhiều checkbox.  
Listbox: Điều khiển này hiển thị một danh sách các đề mục mà ở đó ngƣời sử  
dụng có thể chọn lựa một hoặc nhiều đề mục. ListBox giới thiệu với ngƣời sử dụng  
một danh sách các lựa chọn. Một cách mặc định các lựa chọn hiển thị theo chiều dọc  
trên một cột và bạn có thể thiết lập là hiển thị theo nhiều cột. Nếu số lƣợng các lựa  
chọn nhiều và không thể hiển thị hết trong danh sách thì một thanh trƣợt sẽ tự động  
xuất hiện trên điều khiển.  
Combobox: Điều khiển Combobox có thể đƣợc xem là tích hợp giữa hai điều  
khiển Textbox và ListBox. Ngƣời sử dụng có thể chọn một đề mục bằng cách đánh  
chuỗi văn bản vào Combobox hoặc chọn một đề mục trong danh sách.  
ListView: Là điều khiển dùng cho việc hiển thị dữ liệu dƣới dạng bảng.  
Menu: Là một cách tổ chức để lựa chọn các chức năng nào đó cần thực hiện của  
một ứng dụng. Có thể trình bày menu dƣới dạng đồ họa kiểu các button hoặc trình bày  
dƣới dạng thanh menu có phân cấp. Với dạng menu có phân cấp thì cấp đầu tiên là  
menu bar nó gồm một số mục chọn chính gọi là menu pad. Khi một menu pad đƣợc  
chọn thì hoặc thực thi công việc đƣợc gắn với sự kiện của nó hoặc sẽ thả xuống một  
menu con gồm nhiều mục chọn cấp thấp hơn gọi là menu pulldown hoặc menu popup.  
Khi một mục của menu này đƣợc chọn thì nó thực thi một công việc gắn với mục chọn  
này hoặc tiếp tục mở ra một menu con cấp thấp hơn nữa…Ngƣời ta thƣờng tổ chức  
menu trên một form quản lý chung của ứng dụng.  
Ngoài ra có thể còn có nhiều điều khiển khác cũng hay đƣợc sử dụng.  
3
Tập bài giảng Thực hành kỹ thuật lập trình  
Muốn điều khiển đƣợc các đối tƣợng trên form để thực hiện yêu cầu nào đó,  
ngƣời sử dụng phải viết các đoạn mã lệnh nhằm thực hiện các thao tác tƣơng ứng  
mong muốn.  
2. Một số kiểu dữ liệu dựng sẵn trong C#  
Kiểu C#  
Byte  
Kiểu .Net  
Byte  
Char  
Char  
Bool  
Boolean  
Sbyte  
sbyte  
short  
ushort  
Int  
Int16  
Uint16  
Int32  
Uint  
Uint32  
Single  
Double  
Decimal  
Int64  
float  
double  
decimal  
Long  
Ulong  
Uint64  
3. Cấu trúc điều khiển  
a. Lệnh rẽ nhánh  
- Lệnh rẽ nhánh if  
Cú pháp :  
if (biểu thức điều kiện)  
{
// câu lệnh thực thi nếu biểu thức điều kiện đúng  
}
- Lệnh rẽ nhánh if… else  
Cú pháp:  
if (biểu thức điều kiện)  
{
// câu lệnh thực thi nếu biểu thức điều kiện đúng  
}
{
// câu lệnh thực thi nếu biểu thức điều kiện sai  
}
- Lệnh if…else lồng nhau  
Cú pháp:  
4
Tập bài giảng Thực hành kỹ thuật lập trình  
if(điều_kiện_1)  
{
// nhóm lệnh 1  
}
else if(điều_ kiện_2)  
{
// nhóm lệnh 2;  
}
}
b. Lệnh switch  
Cú pháp:  
switch (biểu thức điu kiện)  
{
case <giá trị 1>: < Khối lệnh 1>; break;  
case <giá trị 2>: < Khối lệnh 2>; break;  
...  
[default: <Khối lệnh>;]  
}
c. Lệnh lặp  
- Lệnh do…while  
Cú pháp:  
do {  
//Dãy_câu_lệnh;  
}while (biểu_thức_điều_kiện);  
- Lệnh for  
Cú pháp:  
for(e1; e2; e3) công_việc;  
Trong đó:  
công_việc: đƣợc thực hiện bởi một lệnh đơn hoặc khối lệnh.  
e1: thƣờng là biểu thức gán để tạo giá trị ban đầu cho biến điều khiển.  
e2: là biểu thức quan hệ logic biểu thị điều kiện để tiếp tục chu trình.  
e3: là một toán tử gán dùng để thay đổi giá trị biến điều khiển.  
Có thể sử dụng câu lệnh break để thoát và continue để tiếp tục vòng lặp for.  
- Lệnh foreach ... in  
Cú pháp:  
foreach ( <kiểu tập hp> <tên truy cập thành phần > in < tên tập hp>)  
<Các câu lệnh thực hiện>  
- Lệnh while  
Cú pháp:  
5
Tập bài giảng Thực hành kỹ thuật lập trình  
while (Biểu_thức_điều_kiện)  
<Câu_lệnh_thực_hiện>;  
d. Lệnh nhảy  
- Lệnh break: Dùng để kết thúc hay chuyển hƣớng của câu lệnh rẽ nhánh  
switch hay lệnh lặp khi chƣơng trình thực thi gặp nó.  
- Lệnh continue: Cho phép chuyển việc thực hiện xử lý đến lần lặp kế tiếp  
cho đến khi kết thúc vòng lặp.  
- Lệnh nhảy goto: Chuyển điều khiển của chƣơng trình thực hiện trực tiếp đến  
nhãn. Thông thƣờng lệnh nhảy goto đƣợc sử dụng để chỉ định đến lệnh case trong lệnh  
rẽ nhiều nhánh switch. Ngoài ra lệnh nhảy goto còn đƣợc sử dụng để chuyển điều  
khiển trong các vòng lặp lồng nhau.  
e. Cấu trúc kiểm soát ngoại lệ try ... catch  
Khi cần kiểm soát lỗi phát sinh của một đoạn mã do quá trình xử lý trong khi  
thi hành, ta sử dụng cấu truc try..catch  
Cú pháp:  
try {  
// Các lệnh có khả năng gây lỗi  
}
catch ( TypeException1 ex){  
// Mã đựơc thực thi khi một ngoại lệ TypeException1 đựơc phát sinh trong  
khối try  
}
catch ( TypeException2 ex){  
// Mã đựơc thực thi khi một ngoại lệ TypeException2 đựơc phát sinh trong  
khối try  
}
...  
catch ( TypeExceptionN ex){  
// Mã đựơc thực thi khi một ngoại lệ TypeExceptionN đựơc phát sinh trong  
khối try  
}
finally  
{
// dọn dẹp  
}
Nếu không có một ngoại lệ nào phát sinh trong khối try thì các mệnh đề catch  
sẽ bị bỏ qua, trong trƣờng hợp một trong các câu lệnh bên trong khối try gây ra một  
ngoại lệ thì, thì C# sẽ bỏ qua các câu lệnh còn lại trong khối try để đi tìm mã xử lý  
ngoại lệ, nếu kiểu ngoại lệ so khớp với kiểu ngoại lệ trong mệnh đề catch, thì mã lệnh  
trong khối catch đó sẽ đƣợc thực thi, nếu không tìm thấy một kiểu ngại lệ nào đƣợc so  
khớp C# sẽ kết thúc phƣơng thức đó và chuyển biệt lệ đó ra phƣơng thức đã gọi  
6
Tập bài giảng Thực hành kỹ thuật lập trình  
phƣơng thức này quá trình này đƣợc tiếp tục cho đến khi tìm thấy mã xử lý biệt lệ, nếu  
không tìm thấy mã xử lý biệt lệ trong chuỗi các phƣơng thức gọi nhau, chƣơng trình có  
thể chấm dứt và in thông báo lỗi…  
Khối finally chứa đựng đoạn mã mà dọn dẹp tài nguyên hoặc làm bất kì hành  
động nào muốn thực hiện vào cuối khối try hay catch. Khối finally đƣợc thực thi dù  
có hay không có bất kì ngoại lệ nào đƣợc ném ra bởi vì mục tiêu chính của  
khối finally là chứa đựng đoạn mã luôn đƣợc thực thi. trình biên dịch sẽ báo lỗi nếu đặt  
một lệnh return bên trong khối finally.  
1.1.2. Bài tập mẫu  
Bài tập 1: Viết chƣơng trình tính tổng T = 1 + 2 + 3 + … + n (n nguyên dƣơng nhập từ  
bàn phím) với Form mẫu nhƣ sau:  
Hình 1. 5. Giao diện mẫu  
Hướng dẫn thực hiện  
Phân tích yêu cầu:  
- Trên Form có các đối tƣợng:  
o Hai label có các thuộc tính:  
Text: “Nhập n”, “Tổng”  
Font: Time New Roman  
Size: 16  
Font style: True  
ForeColor: Blue  
o Hai textbox có các thuộc tính  
Name: txtN, txtTong  
Font: Time New Roman  
Size: 16  
o Hai Button có các thuc tính  
Name: btnTinh, btnThoat  
Text: “Tính”, “Thoát”  
Font: Time New Roman  
Size: 14  
- Các skin:  
7
   
Tập bài giảng Thực hành kỹ thuật lập trình  
o Khi nhấn nút “Tính” chƣơng trình thực hin tính giá trbiu thc T =  
1 + 2+ 3 +…+ n với n đã đƣợc nhp vào textbox txtN  
o Khi nhấn nút “Thoát thì thoát khỏi chƣơng trình”  
Các bƣớc thực hiện  
1. Tạo Form mới  
Trên thanh menu, chọn File/New/Project.  
Hình 1. 6. Cửa sổ tạo mới một Project  
Trên màn hình xuất hiện cửa sổ New Project, chọn ứng dụng Windows Form  
Appication, sau đó nhập tên của Project vào ô Name, kích vào Browse để chọn thƣ  
mục lƣu trữ Project, sau đó chọn OK.  
Hình 1. 7. Tạo mới một ứng dụng Windows Forms  
2. Đổi tên Form thành BaiTap01  
Click lên Form1 ở cửa sổ Design, trên cửa sổ Properties tìm thuộc tính Text  
(giá trị mặc định là Form1), đổi thành BaiTap01.  
8
   
Tập bài giảng Thực hành kỹ thuật lập trình  
Hình 1. 8. Hộp thoại Properties  
Kết quả:  
Hình 1. 9. Kết quả đổi tên Form  
3. Kéo thả các control từ Toolbox vào Form  
Từ thanh Toolbox, kéo thả một Label bỏ vào Form, sau đó di chuyển chuột đến cửa sổ  
Properties, chọn thuộc tính Text, đổi từ label1 sang Nhập n.  
9
   
Tập bài giảng Thực hành kỹ thuật lập trình  
Hình 1. 10 Kéo thả Label vào Form  
Tiếp theo kéo thả một Textbox bỏ vào form.  
Hình 1. 11 Kéo thả Textbox vào Form  
Trong cửa sổ Properties của textbox này, đổi tên thuộc tính Name từ textBox1 thành txtN.  
10  
 
Tập bài giảng Thực hành kỹ thuật lập trình  
Hình 1. 12 Thay đổi thuộc tính Textbox  
Tƣơng tự thêm vào form một label có thuộc tính Text đổi thành Tổng và một  
textbox có thuộc tính Name đổi thành txtTong.  
Hình 1. 13. Thay đổi thuộc tính Label  
Tiếp theo, kéo một Button từ Toolbox và thả vào Form, đổi thuộc tính Name của  
button này là btnTinh, text là Tính.  
Kéo thả thêm một Button nữa tƣơng tự trên, Name = btnThoat, Text = Thoát.  
Hình 1. 14 Kết quả thiết kế Form  
Đƣa chuột về các góc của Form để thay đổi kích thƣớc cửa sổ.  
4. Xử lý sự kiện click chuột lên button  
11  
     
Tập bài giảng Thực hành kỹ thuật lập trình  
Double click vào button Tính (btnTinh), một cửa sổ soạn thảo xuất hiện với nội dung:  
Chú ý: Cửa sổ này là Form1.cs tƣơng ứng với Form1.cs[Design].  
Phƣơng thức btnTinh_Click đƣợc phát sinh do ta vừa double click vào btnTinh.  
private void btnTinh_Click(object sender, EventArgs e)  
{
int n = int.Parse(txtN.text);  
long s = 0;  
for (i=1; i<n; i++) s += i;  
txtTong.Text = s.Tostring();  
}
- Xử lý sự kiện click chuột cho button btnThoat.  
Quay lại Form1.cs[Design], double click lên button Thoát  
Phƣơng thức btnThoat_Click đƣợc phát sinh do ta vừa double click vào btnThoat  
private void btnThoat_Click(object sender, EventArgs e)  
{
Close();  
}
Chạy thử chƣơng trình (F5):  
Hình 1. 15 Chạy thử chƣơng trình  
Nhập n = 4 và click vào button Tính. Kết quả xuất hiện ở txtTong:  
12  
 
Tập bài giảng Thực hành kỹ thuật lập trình  
Hình 1. 16. Kết quả chạy chƣơng trình  
Click vào button Thoát để kết thúc chƣơng trình.  
Yêu cầu mở rộng: Xây dựng thêm các chức năng cho chƣơng trình:  
- Kiểm tra điều kiện: textbox txtN không đƣợc phép để trống, dữ liệu nhập vào phải  
là số nguyên  
- Khi nhập nút “Thoát” chƣơng trình hiện ra hộp thoại hỏi ngƣời sử dụng có thực sự  
muôn thoát khỏi chƣơng trình hay không.  
Bài tập 2. Viết chƣơng trình tính ƣớc số chung lớn nhất và bội số chung nhỏ nhất của  
2 số nguyên dƣơng nhập từ bàn phím với giao diễn mẫu nhƣ sau:  
Hình 1. 17. Chƣơng trình tìm UCLN và BCNN  
Yêu cầu thiết kế:  
- Nhãn Chƣơng trình tìm UCLN và BCNN: Font Time New Roman, chữ hoa,  
in đậm, size 16, căn giữa Form, màu xanh  
- Các nhãn nhập số thứ nhất, nhập số thứ hai: Font Time New Roman, size 14,  
màu đen.  
- Các điều khiển để nhập số thứ nhất, số thứ hai, điều khiển để hiển thị UCLN,  
BCNN của hai số nguyên dƣơng là các textbox.  
- Các điều khiển “Nhập”, “Tìm UCLN”, “Tìm BCNN”, “Thoát” là các button.  
Lập trình cho các sự kiện:  
- Khi Load Form:  
+ Các textbox để nhập số thứ nhất, số thứ hai, textbox để hiển thị ƣớc chung lớn  
nhất và bội chung nhỏ nhất của hai số nguyên dƣơng vô hiệu hóa.  
+ Các điều khiển “Tìm UCLN”, “Tìm BCNN” vô hiệu hóa.  
+ Các điều khiển “Nhập”, “Thoát” sáng (cho phép hoạt động).  
13  
   
Tập bài giảng Thực hành kỹ thuật lập trình  
- Khi ngƣời dùng kích vào nút “Nhập”:  
+ Các textbox để nhập số thứ nhất, số thứ hai sáng.  
+ Con trỏ đặt tại textbox nhập số thứ nhất, đồng thời các điều khiển “Tìm  
UCLN” và “BCNN” sáng lên (cho phép hoạt động).  
- Khi ngƣời dùng kích vào nút “Tìm UCLN”:  
+ Nút “Nhập” vô hiệu hóa.  
+ Thực hiện kiểm tra xem ngƣời dùng đã nhập số thứ nhất và số thứ hai vào các  
textbox tƣơng ứng chƣa? Nếu chƣa thì hiện lên hộp thoại thông báo và cho phép nhập  
lại. Nếu dữ liệu đã nhập đủ thì thực hiện kiểm tra xem dữ liệu nhập vào có hợp lệ  
không? (giá trị nhập vào phải là số nguyên). Nếu giá trị nhập vào không hợp lệ thì hiện  
lên hộp thoại thông báo và yêu cầu nhập lại.  
+ Thực hiện tìm ƣớc chung lớn nhất của hai số nguyên dƣơng và hiển thị kết  
quả ra textbox ƣớc chung lớn nhất.  
- Khi ngƣời dùng kích vào nút “Tìm BCNN”:  
+ Nút “Nhập” vô hiệu hóa.  
+ Thực hiện kiểm tra xem ngƣời dùng đã nhập số thứ nhất và số thứ hai vào các  
textbox tƣơng ứng chƣa? Nếu chƣa thì hiện lên hộp thoại thông báo và cho phép nhập  
lại. Nếu dữ liệu đã nhập đủ thì thực hiện kiểm tra xem dữ liệu nhập vào có hợp lệ  
không? (giá trị nhập vào phải là số nguyên). Nếu giá trị nhập vào không hợp lệ thì hiện  
lên hộp thoại thông báo và yêu cầu nhập lại.  
+ Thực hiện tìm bội chung nhỏ nhất của hai số nguyên dƣơng và hiển thị kết  
quả ra textbox bội chung nhỏ nhất.  
- Khi ngƣời dùng kích vào nút “Thoát”: thực hiện kết thúc chƣơng trình.  
Hướng dẫn thực hiện:  
1. Thiết kế Form theo yêu cầu đề bài  
2. Phân tích yêu cầu:  
Theo yêu cầu trên thì phải có một form chứa:  
- Các đối tƣợng có nội dung “CHƢƠNG TRÌNH TÌM UCLN VÀ BCNN”,  
“Nhập số thứ nhất”, “Nhập số thứ hai” là các Label.  
- Các đối tƣợng ô nhập số thứ nhất, nhập số thứ hai, đối tƣợng ô để hiển thị ƣớc  
chung lớn nhất và bội chung nhỏ nhất là các Textbox.  
- Các nút “Nhập”, “Tìm UCLN”, “BCNN”, “Thoát” là các Button  
3. Các bƣớc thực hiện:  
Thiết kế Form theo mẫu và gắn các điều khiển  
- Để tạo điểu khiển CHƢƠNG TRÌNH TÌM UCLN VÀ BCNN theo yêu cầu cần  
thực hiện:  
+ Kéo điều khiển Label từ cửa sổ Toolbox  
14  
Tải về để xem bản đầy đủ
pdf 303 trang baolam 10/05/2022 4360
Bạn đang xem 20 trang mẫu của tài liệu "Tập bài giảng Thực hành kỹ thuật lập trình", để 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:

  • pdftap_bai_giang_thuc_hanh_ky_thuat_lap_trinh.pdf