bÀi tẬp thỰc hÀnh -...
TRANSCRIPT
Bài tập thực hành Lập trình trên Windows
Trang 1
BÀI TẬP THỰC HÀNH
LẬP TRÌNH TRÊN
WINDOWS
BUỔI 1: XUẤT NHẬP DỮ LIỆU CƠ BẢN.................................................................................. 2
BUỔI 2: THIẾT KẾ LỚP {1} ........................................................................................................ 3
BUỔI 3: THIẾT KẾ LỚP {2} ........................................................................................................ 4
BUỔI 4: THIẾT KẾ LỚP {3} ........................................................................................................ 5
BUỔI 5: Windows Form {1} .......................................................................................................... 6
BUỔI 6: Windows Form {3} ........................................................................................................ 12
BUỔI 7: TRUY CẤP CSDL THEO CÁCH CONNECTED ........................................................ 14
BUỔI 8: TRUY CẬP CSDL THEO CÁCH DISCONNECTED ................................................. 19
BUỔI 9: TÌM KIẾM VÀ CẬP NHẬT DƯ LIỆU ........................................................................ 21
BUỔI 10: Ôn tập
BUỔI 11: Kiểm tra
Bài tập thực hành Lập trình trên Windows
Trang 2
BUỔI 1: XUẤT NHẬP DỮ LIỆU CƠ BẢN
Mục tiêu Xuất dữ liệu ra màn hình, nhập dữ liệu từ bàn phím (Nhập chuỗi, số nguyên, số thực)
Tham số của phương thức: tham trị, ref, out, params
Xây dựng lớp cơ bản: Field, Constructor, Method (Nhập, xuất, tính toán)
Nhập xuất cơ bản: Console.WriteLine(), Console.ReadLine() Bài 1. Xuất và nhập chuỗi
Dùng chương trình Visual Studio.Net viết chương trình nhập họ tên và xuất họ tên đã nhập ra
màn hình console theo định dạng sau:
Nhap ho ten cua ban: Tran Anh Minh
Chao ban Tran Anh Minh!
Bài 2. Nhập số nguyên Viết chương trình nhập hai số nguyên x, y. Tính xy và xuất theo định dạng sau:
Nhap so nguyen x: 7
Nhap so nguyen y: 3
Ket qua 7 mu 3 la: 343
Viết phương thức: truyền tham số bằng tham trị, tham chiếu: ref, out
Bài 3. return giá trị
Xây dựng lớp có phương thức tìm giá trị lớn nhất của ba số nguyên.
Bài 4. Phương thức bool
Xây dựng lớp có phương thức kiểm tra n có phải là số nguyên tố hay không.
Bài 5. Tham chiếu ref
Xây dựng lớp có phương thức hoán vị hai số thực.
Bài 6. Tham chiếu out Xây dựng lớp có phương thức tìm giá trị lớn nhất và giá trị nhỏ nhất của ba số thực.
Xây dựng lớp cơ bản
Bài 7. Nhập xuất thông tin sinh viên
Xây dựng lớp sinh viên để lưu trữ 1 sinh viên (mã sinh viên, họ tên, địa chỉ, sinh viên năm thứ
mấy). Hãy nhập xuất 1 sinh viên.
Bài 8. Tính lương 1 nhân viên
Viết chương trình nhập thông tin một nhân viên (họ tên, mức lương, số ngày vắng). Tính và xuất
lương của nhân viên, biết rằng một ngày vắng sẽ bị trừ 100.000 VNĐ.
Bài tập thực hành Lập trình trên Windows
Trang 3
BUỔI 2: THIẾT KẾ LỚP {1}
Mục tiêu Hiểu các thành phần trong lớp: Field, Constructor (default, copy, parameter), Property,
Method
Đa năng toán tử
Phương thức tĩnh
Thiết kế và xây dựng lớp đơn giản để giải một số bài toán
Xây dựng các lớp có đầy đủ các thành phần: Field, Constructor, Property,
Method
Bài 1. Giá trị đơn thức
Viết chương trình tính giá trị của đơn thức P(x) = . na x (a là số thực, n là số nguyên không âm)
với giá trị x cho trước
Bài 2. Khoảng cách giữa 2 điểm
Viết chương trình tính khoảng cách giữa 2 điểm A và B trong mặt phẳng tọa độ theo 2 cách:
Phương thức thành viên
Phương thức tĩnh
Bài 3. Trung điểm của 2 điểm
Viết chương xác định trung điểm I của 2 điểm A và B theo 2 cách:
Phương thức thành viên
Phương thức tĩnh
Bài 4. Đạo hàm đơn thức
Viết chương trình tính đạo hàm của đơn thức P(x) = . na x theo qui tắc đạo hàm 1( ) '( ) . . nQ x P x a n x
Bài 5. Tính tuổi 1 sinh viên
Viết chương trình nhập thông tin sinh viên (họ tên, năm sinh). Tính và xuất tuổi sinh viên này.
Bài 6. Đa năng toán tử Thiết kế lớp phân số có chức năng +, -, *, / và so sánh >, <, >=, <=, ==, != giữa 2 phân số
Bài tập thực hành Lập trình trên Windows
Trang 4
BUỔI 3: THIẾT KẾ LỚP {2}
Mục tiêu Lớp chứa mảng, List
Indexer
Thiết kế và xây dựng lớp phức tạp để giải một số bài toán
Lớp phức Bài 1. Lớp chứa mảng 1 chiều
Xây dựng lớp dãy số chứa n số nguyên. Hãy viết các phương thức
a. Các loại Constructor
b. Indexer để truy cập phần tử thứ i trong dãy
c. Nhập / Xuất dãy số
d. Tìm các số chẵn
Bài 2. Lớp chứa mảng 2 chiều
Xây dựng lớp mảng 2 chiều có kích thước nxm. Hãy viết các phương thức
a. Các loại constructor
b. Indexer để truy cập phần tử tại (i, j)
c. Nhập / Xuất
d. Tìm các số nguyên tố trong mảng
Bài 3. Đa thức
Xây dựng lớp đa thức gồm n+1 đơn thức 0 1 2
0 1 2( ) . . . ... . n
nP x a x a x a x a x
Viết các phương thức sau:
a. Các loại constructor
b. Indexer để truy cập đơn thức thứ i
c. Nhập / Xuất
d. Tính giá trị của đa thức với giá trị x được nhập từ bàn phím
Bài 4. Dãy phân số
Xây dựng lớp chứa n phân số. Hãy tính tổng của n phân số đó.
Bài 5. Tính lương nhân viên
Một phòng ban có n nhân viên (họ tên, mức lương, số ngày vắng). Biết rằng một ngày vắng sẽ bị
trừ 100.000 VNĐ. Hãy tổng lương của phòng ban.
Bài tập thực hành Lập trình trên Windows
Trang 5
BUỔI 4: THIẾT KẾ LỚP {3}
Mục tiêu Thừa kế, đa hình
Thiết kế và xây dựng lớp phức tạp để giải một số bài toán
Bài 1. Tính lương nhân viên
Trong một công ty X, các nhân viên trong công thuộc một trong 2 bộ phân và gọi là: nhân viên
kinh doanh và nhân viên sản xuất. Thông tin cơ bản của nhân viên gồm: Mã nhân viên, họ tên.
Cách tính lương cho nhân viên mỗi bộ phận như sau:
Nhân viên kinh doanh: Ngoài mức lương cơ bản hàng tháng, nhân viên còn nhận được
khoảng tiền 500.000 trên 1 hợp đồng được ký kết.
Nhân viên sản xuất: Lương nhân viên sản xuất tính theo số lượng sản phẩm x 1000. Nếu
làm trên 3000 sản phẩm sẽ được thương thêm 5% lương.
Viết chương trình tính lương cho các nhân viên.
Bài 2. Tính điểm thí sinh Phân tích, thiết kế và hiện thực theo hướng đối tượng chương trình tính điểm thi cho các thí sinh
trong một cuộc thi tin học, thông tin Cuộc thi: danh sách thí sinh. Cuộc thi giành cho hai đối
tượng thí sinh:
Chuyên (giành cho những thí sinh chưa có giải trước đây)
Siêu cúp (giành cho những thí sinh đã đoạt giải trước đây).
Biết rằng các thí sinh phải làm 3 bài thi lập trình, riêng đối tượng Chuyên làm thêm bài thi tiếng
Anh (để cộng điểm thêm), đối tượng Siêu cúp phải làm thêm bài cơ sở dữ liệu (CSDL).
Thông tin chung của các thí sinh: sbd (số báo danh), hoten (họ tên), bai1, bai2, bai3
(điểm của bài 1, 2, 3), tongdiem (tổng điểm cuối cùng của từng thí sinh)
Thông tin riêng cho đối tượng Chuyên: tiengAnh (điểm tiếng Anh)
Thông tin riêng cho đối tượng Siêu cúp: csdl (điểm CSDL)
Kết quả được xét như sau:
Thí sinh Chuyên: Tổng 3 bài thi lập trình + điểm thưởng tiếng Anh được xét như sau:
o 7≤tiengAnh≤8: cộng 1 điểm
o 9≤tiengAnh≤10: cộng 2 điểm
Thí sinh Siêu cúp: Tổng điểm của 4 bài thi
Yêu cầu: Viết chương trình nhập thông tin cuộc thi và xuất tổng điểm thi của từng thí sinh.
Bài tập thực hành Lập trình trên Windows
Trang 6
BUỔI 5: Windows Form {1}
Mục tiêu Ứng dụng 1 Form
Common Control: Label, Button, TextBox, GroupBox
Xử lý sự kiện cơ bản
Bài 1: Xác nhận khi đóng Form
Hình 1
Yêu cầu:
1. Thiết kế giao diện như hình trên
2. Đặt tên các control hợp lý
3. TexBox của “Kết quả” không cho phép nhập dữ liệu
4. Xử lý các phép toán
5. TextBox “Số” chỉ được nhập số, nếu nhập sai hiện MessageBox báo lỗi
Hình 2
6. Khi user thoát chương trình, chương trình phải xác nhận lại bằng MessageBox
Bài tập thực hành Lập trình trên Windows
Trang 7
Hình 3
7. Thiết lập nút Enter cho button “Bình phương”, nút ESC cho button “Thoát”
8. Hiện Form chính ở giữa màn hình
Bài 2: Modal Form
Hình 1
Yêu cầu:
1. Thiết kế giao diện như hình trên
2. Khi nhấn nút “Nhập phân số 1”, “Nhập phân số 2” sẽ hiện ra form nhập sau (hiển thị
dạng Modal Form)
Hình 2
3. Chỉ có một form hiện trong Taskbar
4. Thực hiện các phép tính dựa trên lớp PhanSo
5. Xác nhận khi nhấn nút “Thoát”
Bài tập thực hành Lập trình trên Windows
Trang 8
Bài 3: Modeless Form
Hình 1
Yêu cầu:
1. Thiết kế giao diện như hình trên
2. Khi nhấn nút “Thêm” sẽ hiện ra form thêm thí sinh sau (hiển thị dạng Modeless
Form)
Bài tập thực hành Lập trình trên Windows
Trang 9
Hình 2
3. Thay đổi màu các TextBox khi chúng được active
4. Khi nhấn nút “Chấp nhận” sẽ thêm thí sinh vào danh sách thí sinh trong MainForm
5. Khi nhấn nút “Cập nhật” sẽ hiện form cho phép chỉnh sửa thong tin thí sinh đã chọn
danh sách thí sinh (SV tự thiết kế form này)
6. Khi nhấn nút “Xóa” chương trình phải xác nhận trước khi xóa thí sinh đang được
chọn trong danh sách thí sinh
Bài 4: NotePad
Mô phỏng chương trình NotePad
Hình 1
Yêu cầu: Một số chức năng quan trọng
1. New, Open, Save, SaveAs, Exit
2. Undo, Cut, Copy, Paste, Delete
Bài tập thực hành Lập trình trên Windows
Trang 10
3. Find, Replace
4. WordWrap
5. Font,
6. About Form
Bài 5: Minesweep
Thông tin ban đầu (Hình 1)
Kích thước bảng: 9x9
Số mìn: 10
Hình 1. 10 trái mìn
Quy luật chơi:
1. Nếu lật tất cả các ô không có mìn thì thắng (Hình 2)
2. Nếu lật một ô có chứa mìn thì thua (Hình 1)
3. Khi lật một ô không có mìn, nếu được đánh số n (18) thì xung quanh ô đó có đúng
n trái mìn
4. Khi lật một ô không có mìn và xung quanh ô đó cũng không có mìn thì nó lật một loạt
các ô liên tiếp không có mìn như hình 3
Bài tập thực hành Lập trình trên Windows
Trang 11
Hình 2. Đã lật hết các ô không có mìn (Thắng)
Hình 3. Lật một số ô liên tiếp
Bài tập thực hành Lập trình trên Windows
Trang 12
BUỔI 6: Windows Form {3}
Mục tiêu Sử dụng ListView: Thêm, Xóa, Cập nhật dữ liệu trên listview
Bài 1.
Thiết kế form dùng để thêm nhân viên vào danh sách nhân viên như sau
Khi nhấn nút Thêm, chương trình sẽ thêm thông tin mới nhập vào listview
Bài 2.
Thêm button Xóa để xóa nhân viên đã chọn trong ListView
Bài tập thực hành Lập trình trên Windows
Trang 13
Bài 3.
Thêm button Cập nhật vào form.
Khi người dùng chọn 1 dòng nhân viên thì thông tin nhân viên đó sẽ hiện lên các TextBox.
Người dùng có thể chỉnh sửa thông tin đó. Sau khi chỉnh sửa trên TextBox, người dùng nhấn
button Cập nhật thì thông tin đó sẽ lưu vào ListView
Bài tập thực hành Lập trình trên Windows
Trang 14
BUỔI 7: TRUY CẤP CSDL THEO CÁCH CONNECTED
Mục tiêu Ôn tập tạo CSDL trong SQL Server (Sinh viên ở nhà làm trước)
Kết nối đến CSDL
Lấy dự liệu theo cách Connected
Tạo CSDL với tên CSDL: QLXe
Xe (Bảng Xe)
Field Name Data Type Giải thích
BangSo nvarchar(10) Bảng số xe
HangXe nvarchar (20) Hãng xe
NgaySuDung DateTime Ngày đầu tiên sử dụng
NgaySuaChua DateTime Ngày sửa chữa gần nhất
NhanVien (Bảng Nhân viên)
Field Name Data Type Giải thích
MaNV nvarchar (5) Mã nhân viên
Ho nvarchar (20) Họ
Ten nvarchar (20) Tên
NgayVaoLam DateTime Ngày vào làm
PhanCong (Bảng Phân công)
Field Name Data Type Giải thích
BangSo nvarchar (10)
MaNV nvarchar (5)
NgayLamViec DateTime Ngày làm việc
DoanhSo int Doanh số nộp trong ca làm việc
Thiết lập quan hệ giữa các bảng
Dữ liệu mẫu
Bài tập thực hành Lập trình trên Windows
Trang 15
LẤY DỮ LIỆU THEO CÁCH CONNECTED
Bài 1: [Kết nối đến Data Source]
Giao diện
Yêu cầu:
1. Đặt tên các menuitem hợp lý
2. Lưu chuỗi kết nối trong file: app.config
3. Khi click vào menu “Đọc chuỗi kết nối”, chương trình sẽ đọc chuỗi kết nối đã lưu
trong file app.config và hiện ra màn hình như sau
Bài tập thực hành Lập trình trên Windows
Trang 16
4. Khi click vào menu “Mở kết nối”, chương trình mở kết nối và thông báo kết nối đã
được mở thành công hay thất bại
5. Khi click vào menu “Đóng kết nối”, chương trình đóng kết nối lại
6. Khi click vào menu “Trạng thái Kết nối”, chương trình sẽ cho biết kết nối đang mở
hay đóng
7. Bắt ngoại lệ SqlException
Bài 2: [Lấy 1 giá trị đơn] Tên Project: ThucNghiemCSDL
Giao diện:
Yêu cầu:
Tính tổng doanh số
Tổng doang số theo từng quý
Bài 3: [Lấy tập giá trị - Đăng nhập] Tên Project: ThucNghiemCSDL
Giao diện:
Yêu cầu:
1. Thêm cột matkhau (mật khẩu) vào trong bảng NhanVien
2. Form Đăng nhập hiện thị trước các form khác
3. Khi nhấn nút “Đăng nhập”, chương trình sẽ kiểm tra xem có nhân viên trong csdl không.
Nếu có thì hiện form chính
4. Khi nhấn nút “Đăng nhập”, chương trình sẽ thoát ứng dụng
Bài tập thực hành Lập trình trên Windows
Trang 17
Bài 4: [Lấy tập giá trị - Tra cứu xe] Tên Project: ThucNghiemCSDL
Giao diện:
Yêu cầu:
1. Combobox “Nhập Bảng số”: Dữ liệu lấy từ cột “BangSo” trong bảng Xe
2. Nút “Chi tiết xe”: Tìm thông tin xe có bảng số được nhập/chọn trong Combobox. Nếu
không tìm thấy thông tin xe sẽ hiện message
Bài tập thực hành Lập trình trên Windows
Trang 18
Bài tập thực hành Lập trình trên Windows
Trang 19
BUỔI 8: TRUY CẬP CSDL THEO CÁCH DISCONNECTED
Mục tiêu Sự Adapter để truy vấn CSDL
Truy vấn trên 1 và nhiều bảng trong CSDL
Bài 1: [Truy vấn 1 bảng] Tên Project: ThucNghiemCSDL
Giao diện:
Yêu cầu:
1. Lấy danh sách nhân viên và hiện lên lưới bằng DataAdapter
Bài tập thực hành Lập trình trên Windows
Trang 20
Bài 2: [Truy vấn nhiều bảng] Tên Project: ThucNghiemCSDL
Giao diện:
Yêu cầu:
1. Hiện tên bảng trong Combobox
2. Khi chọn bảng nào thì thông tin bảng đó hiện trong lưới
Bài tập thực hành Lập trình trên Windows
Trang 21
BUỔI 9: TÌM KIẾM VÀ CẬP NHẬT DỮ LIỆU
Mục tiêu Tìm kiếm dữ liệu
Cập nhật dư liệu
Bài 1: [Tìm kiếm dữ liệu]
Giao diện:
Bài tập thực hành Lập trình trên Windows
Trang 22
Yêu cầu:
1. Nút “Xem tất cả” hiện tất cả dữ liệu doanh số trong bảng “PhanCong”
2. Nút “Tìm” chỉ hiện doanh số của nhân viên đã chọn
3. Lưới phân công có thêm cột “doanh số sau thuế”
Bài 2. CẬP NHẬT DỮ LIỆU
Giao diện:
Bài tập thực hành Lập trình trên Windows
Trang 23
Yêu cầu:
1. Nút “Thêm” sẽ thêm nhân viên vào CSDL rồi hiện form “ThongTinNhanVienForm” để
kiểm tra xem nhập đúng chưa
2. Nút “Thay đổi nhân viên” quay về form “ThemNhanVien” với các ô dữ liệu là những dữ
liệu đã nhập và sửa lại nút “Thêm” thành nút “Cập nhật”
3. Nút “Thêm nhân viên mới” vẽ quay về “ThemNhanVien” với các ô dữ liệu đều trống