Xem mẫu

  1. Tập bài giảng Thực hành kỹ thuật lập trình MỤC LỤC DANH MỤC HÌNH VẼ ................................................................................................ iii 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...................................................................................................................... 1 1.1. Làm việc với các cấu trúc dữ liệu đơn giản .......................................................... 1 1.1.1 Tóm tắt kiến thức cần nhớ............................................................................... 1 1.1.2. Bài tập mẫu .................................................................................................... 7 1.1.3. Bài tập thực hành ......................................................................................... 35 1.2.4. Bài tập về nhà ............................................................................................... 50 1.2. Làm việc với mảng 1 chiều .................................................................................... 53 1.2.1. Tóm tắt các kiến thức cần nhớ ..................................................................... 53 1.2.2. Bài tập mẫu .................................................................................................. 53 1.2.3. Bài tập thực hành ......................................................................................... 59 1.2.4. Bài tập về nhà ............................................................................................... 74 1.3. Làm việc với mảng hai chiều .............................................................................. 77 1.3.1. Tóm tắt các kiến thức cần nhớ ..................................................................... 77 1.3.2. Bài tập mẫu .................................................................................................. 77 1.3.3 Bài tập thực hành .......................................................................................... 83 1.3.4. Bài tập về nhà ............................................................................................... 99 1.4. Làm việc với xâu ký tự .....................................................................................101 1.4.1. Tóm tắt các kiến thức cần nhớ ...................................................................101 1.4.2. Bài tập mẫu ................................................................................................ 102 1.4.3. Bài tập thực hành ....................................................................................... 107 1.4.4. Bài tập về nhà ............................................................................................. 116 BÀI 2. LẬP TRÌNH TRÊN FORM XỬ LÝ CÁC CẤU TRÚC DỮ LIỆU NÂNG CAO ............................................................................................................................ 118 2.1. Làm việc với cấu trúc ....................................................................................... 118 2.1.1. Tóm tắt các kiến thức cần nhớ ...................................................................118 2.1.2. Bài tập mẫu ................................................................................................ 119 2.1.3. Bài tập thực hành ....................................................................................... 128 2.1.4. Bài tập về nhà ............................................................................................. 156 2.2. Làm việc với tệp tin .......................................................................................... 158 2.2.1. Tóm tắt các kiến thức cần nhớ ...................................................................158 2.2.2. Bài tập mẫu ................................................................................................ 160 2.2.3. Bài tập thực hành ....................................................................................... 168 2.2.4. Bài tập về nhà ............................................................................................. 203 i
  2. Tập bài giảng Thực hành kỹ thuật lập trình BÀI 3. LẬP TRÌNH TRÊN FORM BƢỚC ĐẦU THAO TÁC VỚI CƠ SỞ DỮ LIỆU .206 3.1. Tóm tắt lý thuyết liên quan ...............................................................................206 3.2. Bài tập mẫu .......................................................................................................209 3.3. Bài tập thực hành .............................................................................................. 284 3.4. Bài tập về nhà ...................................................................................................287 ii
  3. Tập bài giảng Thực hành kỹ thuật lập trình DANH MỤC HÌNH VẼ Hình 1. 1. Form dạng bản ghi .......................................................................................... 1 Hình 1. 2. Form dạng một nhiều...................................................................................... 2 Hình 1. 3 Cửa sổ Solotion ............................................................................................... 2 Hình 1. 4 Cửa sổ Toolbox .............................................................................................. 2 Hình 1. 5. Giao diện mẫu................................................................................................. 7 Hình 1. 6. Cửa sổ tạo mới một Project ........................................................................... 8 Hình 1. 7. Tạo mới một ứng dụng Windows Forms ....................................................... 8 Hình 1. 8. Hộp thoại Properties ....................................................................................... 9 Hình 1. 9. Kết quả đổi tên Form ...................................................................................... 9 Hình 1. 10 Kéo thả Label vào Form .............................................................................. 10 Hình 1. 11 Kéo thả Textbox vào Form .......................................................................... 10 Hình 1. 12 Thay đổi thuộc tính Textbox ....................................................................... 11 Hình 1. 13. Thay đổi thuộc tính Label........................................................................... 11 Hình 1. 14 Kết quả thiết kế Form .................................................................................. 11 Hình 1. 15 Chạy thử chƣơng trình ................................................................................. 12 Hình 1. 16. Kết quả chạy chƣơng trình ........................................................................ 13 Hình 1. 17. Chƣơng trình tìm UCLN và BCNN ........................................................... 13 Hình 1. 18. Kết quả thiết kế Form tìm UCLN và BCNN .............................................. 15 Hình 1. 19. Kết quả chạy chƣơng trình tìm UCLN và BCNN ...................................... 17 Hình 1. 20. Chƣơng trình tính diện tích và chu vi tam giác .......................................... 18 Hình 1. 21. Kết quả thiết kế Form tính diện tích và chu vi tam giác ............................ 20 Hình 1. 22. Kết quả chạy chƣơng trình tính diện tích và chu vi tam giác ..................... 23 Hình 1. 23. Form chƣơng trình tính tổng ...................................................................... 23 Hình 1. 24 - Kết quả thiết kế Form tính tổng ................................................................ 25 Hình 1. 25. Kết quả chạy chƣơng trình tính tổng .......................................................... 27 Hình 1. 26. Làm việc với Listbox .................................................................................. 27 Hình 1. 27. Kết quả thiết kế Form làm việc với Listbox ............................................... 30 Hình 1. 28. Kết quả chạy chƣơng trình làm việc với Listbox ....................................... 32 Hình 1. 29. Form đăng nhập .......................................................................................... 32 Hình 1. 30. Kết quả thiết kế Form đăng nhập ............................................................... 34 Hình 1. 31. Kết chạy chƣơng trình đăng nhập............................................................... 35 Hình 1. 32. Form thực hiện các phép toán cơ bản với hai toán hạng ............................ 36 iii
  4. Tập bài giảng Thực hành kỹ thuật lập trình Hình 1. 33. Kết quả thiết kế Form thực hiện phép tính ................................................. 37 Hình 1. 35. Form giải hệ phƣơng trình bậc nhất ........................................................... 39 Hình 1. 36. Kết quả chạy chƣơng trình giải hệ phƣơng trình bậc nhất ......................... 43 Hình 1. 37. Giải bất phƣơng trình ................................................................................. 43 Hình 1. 38. Kết quả chạy chƣơng trình giải bất phƣơng trình ...................................... 45 Hình 1. 39. Chƣơng trình giải bất phƣơng trình ............................................................ 45 Hình 1. 40. Chƣơng trình giải phƣơng trình .................................................................. 46 Hình 1. 41. Chƣơng trình giải phƣơng trình bậc 2 ....................................................... 47 Hình 1. 42. Giao diện mẫu............................................................................................. 47 Hình 1. 44. Giao diện mẫu............................................................................................. 49 Hình 1. 45. Giao diện mẫu............................................................................................. 50 Hình 1. 46. Giao diện mẫu............................................................................................. 50 Hình 1. 47. Giao diện mẫu............................................................................................. 51 Hình 1. 49 Giao diện mẫu.............................................................................................. 52 Hình 1. 50 Bài tập về mảng một chiều .......................................................................... 53 Hình 1. 51. Thiết kế Form các thao tác trên mảng một chiều ....................................... 55 Hình 1. 52. Kết quả chạy chƣơng trình các thao tác trên mảng một chiều ................... 59 Hình 1. 53. Bài tập mảng một chiều .............................................................................. 59 Hình 1. 54. Kết quả thiết kế Form bài tập mảng một chiều .......................................... 63 Hình 1. 55 Kết quả chạy chƣơng trình khi kích vào nút bổ sung ................................. 68 Hình 1. 56. Kết quả chạy chƣơng trình khi kích vào nút loại bỏ .................................. 69 Hình 1. 57. Kết quả chạy chƣơng trình khi kích vào nút tìm kiếm ............................... 69 Hình 1. 58. Chƣơng trình đổi hệ đếm ............................................................................ 69 Hình 1. 59. Kết quả thiết kế Form chƣơng trình đổi hệ đếm ........................................ 71 Hình 1. 60. Kết quả chạy chƣơng trình đổi hệ đếm ...................................................... 73 Hình 1. 61. Chƣơng trình nhập danh bạ ........................................................................ 75 Hình 1. 62. Chƣơng trình danh sách sinh viên .............................................................. 75 Hình 1. 64. Kết quả chọn một sinh viên ........................................................................ 76 Hình 1. 65. Bài tập về mảng hai chiều .......................................................................... 77 Hình 1. 66. Kết quả thiết kế Form bài tập mẫu về mảng hai chiều ............................... 79 Hình 1. 67. Kết quả chạy chƣơng trình bài tập mẫu về mảng hai chiều ....................... 83 Hình 1. 68. Các thao tác trên mảng hai chiều ................................................................ 83 Hình 1. 69. Kết quả chạy chƣơng trình ......................................................................... 89 Hình 1. 70. Tổng hai ma trận ......................................................................................... 89 Hình 1. 71. Kết quả chạy chƣơng trình ......................................................................... 93 iv
  5. Tập bài giảng Thực hành kỹ thuật lập trình Hình 1. 72. Form nhập ma trận vuông........................................................................... 94 Hình 1. 73. Form Ma trận vuông ................................................................................... 95 Hình 1. 74. Kết quả chạy chƣơng trình ......................................................................... 99 Hình 1. 75. Form kiểm tra xâu đối xứng .....................................................................103 Hình 1. 76. Kết quả chạy chƣơng trình kiểm tra xâu đối xứng ...................................104 Hình 1. 77. Chuẩn hóa và đếm từ trong xâu ................................................................ 105 Hình 1. 78. Kết quả chạy chƣơng trình chuẩn hóa và đếm từ trong xâu .....................107 Hình 1. 79. Chƣơng trình xử lý chuỗi .........................................................................107 Hình 1. 80. Kết quả thiết kế Form chƣơng trình xử lý xâu .........................................109 Hình 1. 81. Kết quả chạy chƣơng trình xử lý xâu ....................................................... 112 Hình 1. 82. Chƣơng trình định giá biểu thức hậu tố ....................................................112 Hình 1. 83.Kết quả thiết kế Form định giá biểu thức hậu tố .......................................114 Hình 1. 84. Kết quả chạy chƣơng trình định giá biểu thức hậu tố .............................. 116 Hình 1. 88. Form chuyển biểu thức trung tố đầy đủ ngoặc sang hậu tố .....................116 Hình 2. 1. Form quản lý giáo viên tiểu học .................................................................119 Hình 2. 2 - Kết quả thiết kế Form quản lý giáo viên tiểu học .....................................123 Hình 2. 3. Kết quả chạy chƣơng trình quản lý giáo viên tiểu học ............................... 128 Hình 2. 4. Form quản lý bán xe mô tô .........................................................................128 Hình 2. 5. Kết quả chạy chƣơng trình quản lý bán xe mô tô .......................................135 Hình 2. 6. Form danh sách sinh viên ...........................................................................135 Hình 2. 7. Kết quả thiết kế Form quản lý sinh viên ....................................................139 Hình 2. 8. Kết quả chạy chƣơng trình quản lý sinh viên .............................................145 Hình 2. 9. Chƣơng trình quản lý lƣơng nhân viên....................................................... 145 Hình 2. 10. Kết quả thiết kế Form quản lý lƣơng nhân viên .......................................149 Hình 2. 11.Kết quả chạy chƣơng trình quản lý lƣơng nhân viên ................................ 155 Hình 2. 12. Form lớp sinh viên công nghệ thông tin ...................................................156 Hình 2. 13. Form Thông tin mặt hàng .........................................................................160 Hình 2. 14. Form Thông tin mặt hàng .........................................................................168 Hình 2. 15. Form Quản lý giáo viên ............................................................................168 Hình 2. 16. Kết quả thiết kế Form quản lý giáo viên ..................................................172 Hình 2. 19. Kết quả thiết kế Form quản lý lƣơng nhân viên .......................................182 Hình 2. 20. Kết quả chạy chƣơng trình quản lý lƣơng nhân viên ............................... 190 Hình 2. 21. Chƣơng trình quản lý lƣơng nhân viên.....................................................191 Hình 2. 22. Kết quả thiết kế Form sinh viên khoa cơ khí............................................194 v
  6. Tập bài giảng Thực hành kỹ thuật lập trình Hình 2. 23. Kết quả chạy chƣơng trình sinh viên khoa cơ khí ....................................203 Hình 2. 24. Quản lý nhân viên nghành mỏ ..................................................................203 Hình 2. 25. Quản lý thuê xe ......................................................................................... 205 Hình 3. 1. Fom thông tin khách hàng ..........................................................................211 Hình 3. 2. Form thông tin mặt hàng ............................................................................211 Hình 3. 3. Form chi tiết bán hàng ................................................................................212 Hình 3. 4. Form tìm kiếm thông tin khách hàng ......................................................... 213 Hình 3. 5. Fom tìm kiếm thông tin mặt hàng .............................................................. 214 Hình 3. 6. Form tìm kiếm thông tin bán hàng ............................................................. 215 Hình 3. 7. Form MDI ...................................................................................................217 Hình 3. 8. Kết quả thiết kế Form thông tin khách hàng ..............................................219 Hình 3. 9. Kết quả chạy Form Thông tin khách hàng .................................................226 Hình 3. 10. Form Thông tin mặt hàng .........................................................................227 Hình 3. 11. Kết quả thiết kế Form Thông tin mặt hàng ..............................................227 Hình 3. 12. Kết quả chạy Form Thông tin mặt hàng ...................................................234 Hình 3. 13. Kết quả thiết Form Chi tiết bán hàng ....................................................... 235 Hình 3. 14. Kết quả chạy Form Chi tiết bán hàng ....................................................... 242 Hình 3. 15. Kết quả thiết kế Form tìm kiếm khách hàng ............................................243 Hình 3. 16. Kết quả chạy Form Tìm kiếm khách hàng ...............................................244 Hình 3. 17. Kết quả thiết kế Form Tìm kiếm mặt hàng ..............................................245 Hình 3. 18. Kết quả chạy Form Tìm kiếm mặt hàng ...................................................246 Hình 3. 19. Cửa sổ Add New Item ..............................................................................247 Hình 3. 20. Form frmMain .......................................................................................... 247 Hình 3. 21. Cửa sổ Items Collection Editor ................................................................ 248 Hình 3. 22. Kết quả Form Menu chính ........................................................................248 vi
  7. 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 - Dạng form một - nhiều 1
  8. 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ình Hình 1. 3sổCửa 1 Cửa sổ Solotion Solution Explorer - 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
  9. 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
  10. 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# Kiểu .Net Byte Byte Char Char Bool Boolean sbyte Sbyte short Int16 ushort Uint16 Int Int32 Uint Uint32 float Single double Double decimal Decimal Long Int64 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 } else { // 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
  11. 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; } else{ … } b. Lệnh switch Cú pháp: switch (biểu thức điều kiện) { case : < Khối lệnh 1>; break; case : < Khối lệnh 2>; break; ... [default: ;] } 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 ( in < tên tập hợp>) - Lệnh while Cú pháp: 5
  12. 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) ; 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
  13. 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 thuộc tính Name: btnTinh, btnThoat Text: “Tính”, “Thoát” Font: Time New Roman Size: 14 - Các sự kiện: 7
  14. 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 hiện tính giá trị biểu thức T = 1 + 2+ 3 +…+ n với n đã đƣợc nhập 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
nguon tai.lieu . vn