Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,33 MB
Nội dung
TRUNG TÂM TIN HỌC – AN QUỐC VIỆT 318 Thống Nhất P.16 - Quận Gò Vấp - Tp.Hồ Chí Minh Tel: 3996.1590 – 0913.681856 BÀI TẬP NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C# GV: PHẠM ÁNH THIỀU TRUNG TÂM TIN HỌC – AN QUỐC VIỆT BÀI 1: Các khái niệm tổng quan Giúp học viên nắm rõ một số thao tác cơ bản trong môi trường C# và ứng dụng dạng Console Application. 1.1. Làm quen môi trường phát triển ứng dụng Mục đích: Tạo Project, tổ chức cây thư mục Làm quen với các đối tượng trong ứng dụng Console Thực hiện các thao tác: tạo, thêm, xoá các đối tượng Thực thi một ứng dụng Yêu cầu: Tạo một ứng dụng dạng Console có tên NhapMon lưu tại thư mục làm việc Làm quen với các thành phần trong môi trường C# Thực hiện thêm và xóa một đối tượng trong ứng dụng (Trên cửa sổ Solution Explorer, nhấn chuột phải trên Project chọn Add để thêm một đối tượng, nhấn chuột phải trên đối tượng cần xóa và chọn Delete) Thực thi ứng dụng (nhấn phím F5 hoặc nhấn nút Start Debugging) 1.2. Xuất thông báo chào Mục đích: Làm quen với các lệnh nhập xuất thông tin trong C# Yêu cầu: Tạo một ứng dụng dạng Console có tên Chao_hoi lưu tại thư mục làm việc Trong phương thức Main của tập tin Program.cs, sử dụng lệnh Console.Write hoặc Console.WriteLine để xuất dữ liệu và Console.Read hoặc Console.ReadLine để đọc dữ liệu Cho phép nhập vào họ tên sau đó xuất ra câu chào: Chào mừng bạn đến với ngôn ngữ lập trình C# Thực thi ứng dụngg. (hình 1.1) GV : PHẠ M Á NH THI Ề U Trang 2/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT BÀI 2: Các khái niệm và nguyên tắc cơ bản của .NET Framework Giúp học viên hiểu rõ về các kiểu dữ liệu trong C#, ứng dụng các kiểu dữ liệu để khai báo biến và cách sử dụng các toán tử trong C# 2.1. Using Value Types Mục tiêu: Giúp học viên nắm bắt việc sử dụng kiểu dữ liệu dạng tham trị dựa trên kiểu cấu trúc Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là CreateStruct 2. Tạo cấu trúc NHAN_VIEN với các thành phần được khai báo Public Họ tên nhân viên: string Tuổi: int Lương cơ bản: int Số con: int (cho phép chứa giá trị NULL) 3. Xây dựng phương thức khởi tạo cho cấu trúc NHAN_VIEN, trong đó khởi tạo giá trị cho các thành phần được khai báo ở trên. 4. Xây dựng phương thức tính tiền lương cho Nhân viên theo quy ước: Tiền lương = Lương cơ bản + ( Số con * 100000) 5. Xây dựng phương thức ToString để hiển thị thông tin của nhân viên theo dạng: Họ tên - Tuổi - Số con - Tiền lương Ví dụ: “Nguyễn Thanh Thúy - 32 tuổi - Số con: 2 - Tiền lương: 2500000 6. Trong thủ tục Main của ứng dụng dạng Console, định nghĩa và khởi tạo một thể hiện của cấu trúc NHAN_VIEN sau đó xuất ra thông tin của thể hiện bằng lệnh Console.WriteLine 7. Thực thi chương trình và ghi nhận kết quả 8. Trong cấu trúc NHAN_VIEN, định nghĩa kiểu Enum với tên GIOI_TINH với hai giá trị “Nam” và “Nữ”. 9. Bổ sung vào cấu trúc NHAN_VIEN thành phần Phái được khai báo với kiểu GIOI_TINH. 10. Chỉnh sửa lại các lệnh trong phương thức khởi tạo và phương thức ToString để hiển thị giá trị của thành phần Phái Ví dụ: “Nguyễn Thanh Thúy (Nữ) - 32 tuổi - Số con: 2 - Tiền lương: 2500000 11. Thực thi chương trình và ghi nhận kết quả 2.2. Using Common Reference Types Mục tiêu: Giúp học viên phân biệt các kiểu dữ liệu dạng tham chiếu Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là TestType 2. Khai báo các đối tượng từ các lớp: Sbyte, Byte, Int16, Int32, Int64, String, Exception. SByte a = 0; Byte b =0; GV : PHẠ M Á NH THI Ề U Trang 3/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT Int16 c = 0; Int32 d = 0; Int64 e = 0; string s = ""; Exception ex = new Exception(); 3. Khai báo mảng có kiểu dữ object với các phần tử là các đối đượng được khai báo ở trên object[] types = { a, b, c, d, e, s, ex }; 4. Sử dụng vòng lặp foreach để duyệt qua từng phần tử trong mảng, ứng với từng phần tử, kiểm tra xem kiểu dữ liệu tương ứng của phần tử đó là Value hay Reference foreach ( object o in types ) { string type; if (o.GetType().IsValueType) type = "Value type"; else type = "Reference Type"; Console.WriteLine("{0}: {1}", o.GetType(), type); } (hình 2.1) 2.3. Chuyển đổi giữa các kiểu dữ liệu Mục tiêu: Giúp cho học viên hiểu được cơ chế chuyển đổi giữa các kiểu dữ liệu. Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là ConvertType 2. Khai báo các biến với kiểu dữ liệu tương ứng là: Int16, Int32 và double Int16 i16 = 1; Int32 i32 = 1; double db = 1; 3. Lần lượt gán giá trị giữa các biến, ví dụ: i16 = i32; i16 = db; i32 = i16; i32 = db; db = i16; db = i32; GV : PHẠ M Á NH THI Ề U Trang 4/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT 4. Thực thi ứng dụng và ghi nhận các lỗi xảy ra (nếu có) và tìm cách khắc phục 2.4. Tính diện tích hình chữ nhật Mục tiêu: Giúp cho học viên thông thạo trong việc lựa chọn kiểu dữ liệu cần sử dụng Yêu cầu thực hiện: 1. Nhập vào chiều dài vào chiều rộng của hình chữ nhật 2. Xuất ra diện tích của hình chữ nhật (hình 2.2) 2.5. Tính diện tích và chu vi hình tròn Mục tiêu: Giúp cho học viên thông thạo trong việc lựa chọn kiểu dữ liệu cần sử dụng Yêu cầu thực hiện: 1. Nhập vào bán kính của hình tròn 2. Xuất ra diện tích và chu vi của hình tròn (hình 2.3) 2.6. Tính chiều dài của cạnh huyền trong tam giác vuông Mục tiêu: Giúp cho học viên thông thạo trong việc lựa chọn kiểu dữ liệu cần sử dụng Yêu cầu thực hiện: 1. Nhập vào chiều dài của hai cạnh góc vuông của hình tam giác 2. Xuất ra chiều dài của cạnh huyền (hình 2.4) GV : PHẠ M Á NH THI Ề U Trang 5/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT BÀI 3: Các cấu trúc điều khiển cơ bản Giúp học viên hiểu rõ về các cấu trúc điều khiển cơ bản, cách khai báo và sử dung mảng cũng như cách bẫy lỗi và xử lý lỗi trong C#. 3.1. Xếp loại học tập Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc IF Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là Xep_loai_hoc_tap 2. Khai báo các biến HK1 (điểm thi học kỳ 1) và HK2 (điểm thi học kỳ 2) để lưu thông tin về điểm thi của 2 học kỳ. float HK1; float HK2; 3. Xử lý để nhập vào điểm thi của học kỳ 1 và học kỳ 2 Console.Write(“Xin nhập vào điểm thi học kỳ 1: ”); HK1 = float.Parse(Console.ReadLine()); Console.Write(“Xin nhập vào điểm thi học kỳ 2: ”); HK2 = float.Parse(Console.ReadLine()); 4. Xử lý tính điểm trung bình (DTB) dựa vào điểm học kỳ 1 (HK1) và điểm học kỳ 2 (HK2) theo công thức: DTB = (HK1 + HK2*2)/3 và làm tròn 2 số lẻ float DTB = (HK1 + HK2*2)/3; DTB = (float)Math.Round(DTB, 2); 5. Xử lý xếp loại học lực cho học sinh dựa vào điểm trung bình với quy ước: DTB < 5 : loại yếu 5 <= DTB < 6.5 : loại trung bình 6.5 <= DTB < 8 : loại khá DTB >=8 : loại giỏi string xep_loai; if (DTB < 5 ) xep_loai = "Yếu"; else if (DTB < 6.5) xep_loai = "Trung bình"; else if (DTB < 8) xep_loai = "Khá"; else xep_loai = "Giỏi"; 6. Xuất thông tin điểm trung bình và xếp loại ra màn hình Console.WriteLine(“Điểm trung bình: {0}“, DTB); Console.WriteLine(“Xếp loại học lực: {0}”, xep_loai); Console.ReadLine(); GV : PHẠ M Á NH THI Ề U Trang 6/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT (hình 3.1) 3.2. Nhận dạng tam giác Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc IF Yêu cầu thực hiện: 1. Nhập vào 3 cạnh bất kỳ (canh_1, canh_2, canh_3) 2. Kiểm tra xem 3 cạnh này có tạo thành được một tam giác hay không, nếu được thì đó là tam giác gì (tam giác thường, tam giác cân, tam giác đều, tam giác vuông, tam giác vuông cân). Sau đó xuất kết quả ra màn hình theo dạng sau: (hình 3.2) 3.3. Giải phương trình bậc nhất Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc IF Yêu cầu thực hiện: 1. Nhập vào hệ số a (he_so_a) và hệ số b (he_so_b) của phương trình: Ax + B = 0 2. Giải phương trình Ax + B = 0 với hệ số A (he_so_a) và hệ số B (he_so_b) được nhập vào. Sau đó xuất kết quả ra màn hình theo dạng sau: GV : PHẠ M Á NH THI Ề U Trang 7/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT (hình 3.3) 3.4. Giải phương trình bậc hai Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc IF Yêu cầu thực hiện: 1. Nhập vào hệ số a (he_so_a), hệ số b (he_so_b) và hệ số b (he_so_b) của phương trình bậc hai: Ax 2 + Bx + C = 0 2. Giải phương trình Ax 2 + Bx + C = 0 với hệ số A (he_so_a), hệ số B (he_so_b) và hệ số C (he_so_c) được nhập vào. Sau đó xuất kết quả ra màn hình theo dạng sau: (hình 3.4) 3.5. Tìm thứ trong tuần Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc switch Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là Tim_thu_trong_tuan 2. Khai báo biến ngay để lưu thông tin ngày tháng và năm được nhập vào. DateTime ngay; Console.Write(“Xin nhập giá trị ngày tháng năm (mm/dd/yyyy): ”); Ngay = DateTime.Parse(Console.ReadLine()); 3. Xử lý tìm thứ trong tuần ứng với ngày được nhập vào: string thu_trong_tuan = “”; switch (ngay.DayOfWeek) { case DayOfWeek.Monday: thu_trong_tuan = "Thu hai"; break; case DayOfWeek.Tuesday: thu_trong_tuan = "Thu ba"; break; case DayOfWeek.Wednesday: thu_trong_tuan = "Thu tu"; break; case DayOfWeek.Thursday: thu_trong_tuan = "Thu nam"; break; case DayOfWeek.Friday: thu_trong_tuan = "Thu sau"; break; GV : PHẠ M Á NH THI Ề U Trang 8/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT case DayOfWeek.Saturday: thu_trong_tuan = "Thu bay"; break; default: thu_trong_tuan = "Chu nhat"; break; } 4. Xuất thông tin ra màn hình Console.WriteLine("Ngày {0} là: {1}", ngay.ToString("dd/MM/yyyy"), thu_trong_tuan); Console.ReadLine(); (hình 3.5) 3.6. Tính năm âm lịnh Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc switch Yêu cầu thực hiện: 1. Nhập vào năm dương lịch (nam_duong) 2. Tính và xuất ra năm âm lịch ứng với năm dương lịch được nhập vào với quy ước tính năm âm lịch: Năm âm lịch được tính dự vào CAN + CHI trong đó CAN và CHI được tính theo quy tắc sau: Nam_duong % 10 0 1 2 3 4 5 6 7 8 9 CAN Canh Tân Nhâm Quý Giáp Ất Bính Đinh Mậu Kỷ Nam_duong % 12 0 1 2 3 4 5 6 7 8 9 10 11 CHI Thân Dậu Tuất Hợi Tí Sử Dần Mẹo Thìn Tỵ Ngọ Mùi (hình 3.6) 3.7. Tính số ngày trong tháng Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc switch Yêu cầu thực hiện: 1. Nhập vào tháng (thang) và năm dương lịch (nam) cần tìm số ngày 2. Tính và xuất ra số ngày trong tháng (thang) và năm (nam) được nhập vào: GV : PHẠ M Á NH THI Ề U Trang 9/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT (hình 3.7) 3.8. In bảng cửu chương Mục tiêu: Giúp học viên nắm rõ cách sử dụng cấu trúc lặp for Công việc thực hiện: 1. Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là In_bang_cuu_chuong 2. Khai báo các biến cửu chương (cc) và kết quả (kq) để lưu thông tin về bảng cửu chương cần in. string kq = “”; int cc; 3. Xử lý nhập vào cửu chương cần in Console.WriteLine("Nhap vao so cuu chuong can in: "); cc = int.Parse(Console.ReadLine()); 4. Xử lý in bảng cửu chương: for(int i = 1; i<=10; i++) { kq += cc.ToString("00") + " x " + i.ToString("00") + " = " + ((int)(cc * i)).ToString("00") + "\n"; } 5. Xuất thông tin ra màn hình Console.WriteLine("Bang cuu chuong {0}:", cc); Console.WriteLine(kq); Console.ReadLine(); (hình 3.8) GV : PHẠ M Á NH THI Ề U Trang 10/54 [...]... QUỐC VIỆT BÀI 4: Class, objects và namespaces Giúp học viên thành thạo trong việc xây dựng các class cũng như các thành phần trong class trên môi trường C# 4.1 Giải phương trình bậc nhất Ax + B = 0 Mục tiêu: Giúp học viên nắm rõ cách xây dựng class trong C# Công việc thực hiện: 1 Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là Giai_PT_bac_1_class 2 nhấn chuột phải lên project Giai_PT_bac_1_class... Console.WriteLine("Mang cac phan tu: {0}", chuoimang); Console.WriteLine("Tong cac phan tu: {0}", tong); Console.ReadLine(); (hình 3.14) 3.15 Xắp sếp trên mảng Mục tiêu: Giúp học viên nắm rõ các thuật toán trên mảng trong C# Yêu cầu thực hiện: 1 Sử dụng lại bài 3.14, bổ sung thêm các yêu cầu sau Tính tổng các phần tử có giá trị chẵn Tính tổng các phần tử có giá trị lẻ Tìm phẩn tử nhỏ nhất trong mảng GV: PHẠM ÁNH THIỀU Trang... nhất trong mảng Tìm kiếm 1 giá trị xem có trong mảng hay không 2 Xử lý và xuất ra màn hình theo dạng sau: (hình 3.15) 3.16 Phát sinh mảng Mục tiêu: Giúp học viên nắm rõ các thuật toán trên mảng trong C# Yêu cầu thực hiện: 1 Nhập vào số phần tử (sopt) của mảng 2 Ứng với số phần tử được nhập (sopt), phát sinh giá trị cho các phần tử một cách ngẫu nhiên Gợi ý: sử dụng lớp Random theo cú pháp sau: Random... sắp xếp mảng tăng dần), thực hiện thao tác sắp xếp mảng tương ứng và xuất mảng ra màn hình theo dạng sau: (hình 3.16c) 3.17 Thay đổi mảng Mục tiêu: Giúp học viên nắm rõ các thuật toán trên mảng trong C# Yêu cầu thực hiện: 1 Nhập vào số phần tử (sopt) của mảng 2 Ứng với số phần tử được nhập (sopt), phát sinh giá trị cho các phần tử một cách ngẫu nhiên 3 Xuất danh sách các phần tử của mảng và thực đơn... Thực hiện lại các bài 3.8, 3.9 và 3.10 bằng cách dùng vòng lặp while GV: PHẠM ÁNH THIỀU Trang 12/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT 3.14 Xử lý mảng Mục tiêu: Giúp học viên nắm rõ cách sử dụng mảng trong C# Công việc thực hiện: 1 Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là Xu_ly_mang 2 Khai báo và khởi tạo số phần tử của mảng Console.Write("Nhap so phan tu cua mang: "); int sopt = int.Parse(Console.ReadLine());... là: x = {2}", a, b, nghiem); Console.ReadLine(); 6 Biên dịch và thực thi chương trình (hình 4.1) 4.2 Giải phương trình bậc hai Ax2 + Bx + C = 0 Mục tiêu: Giúp học viên nắm rõ cách xây dựng class trong C# Yêu cầu thực hiện: 1 Xây dựng class PHUONG_TRINH_BAC_II với các yêu cầu: Biến thành viên (Field): lưu trữ thông tin về hệ số A, hệ số B và hệ số C của phương trình Thuộc tính (Property): Truy xuất đến... + C = 0 2 Xử lý và xuất ra màn hình theo dạng sau: (hình 4.2) GV: PHẠM ÁNH THIỀU Trang 18/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT 4.3 Xử lý phân số Mục tiêu: Giúp học viên nắm rõ cách xây dựng class trong C# Yêu cầu thực hiện: 1 Xây dựng class PHAN_SO với các yêu cầu: Biến thành viên (Field): lưu trữ thông tin về Tử số và Mẫu số Thuộc tính (Property): Truy xuất đến giá trị của các biến thành viên trong... tác Hiệu của hai phân số), thực hiện thao tác tương ứng và xuất kết quả ra màn hình theo dạng sau: (hình 4.3c) 4.4 Quản lý thông tin nhân viên Mục tiêu: Giúp học viên nắm rõ cách xây dựng class trong C# Yêu cầu thực hiện: 1 Xây dựng class NHAN_VIEN với các yêu cầu: Biến thành viên (Field): lưu trữ thông tin về nhân viên bao gồm: Họ tên nhân viên, Ngày vào làm, Hệ số lương và Lương cơ bản (Lương cơ... mLuong_co_ban = 450000; Thuộc tính (Property): Truy xuất đến giá trị của các biến thành viên trong class bao gồm: Họ tên, Hệ số lương và Ngày vào làm Bổ sung thêm thuộc tính Thâm niên (chỉ cho phép đọc dữ liệu) public int Tham_nien { GV: PHẠM ÁNH THIỀU Trang 20/54 TRUNG TÂM TIN HỌC – AN QUỐC VIỆT get { return DateTime.Today.Year - mNgay_vao_lam.Year; } } Phương thức khởi tạo (Contructor): với 3 tham số... thành thạo trong việc xây dựng các class kế thừa từ class khác cũng như hiểu rõ tính đa hình của class 5.1 Quản lý thông tin nhân viên Mục tiêu: Giúp học viên nắm rõ cách xây dựng class kế thừa trong C# Công việc thực hiện: 1 Sử dụng Visual Studio, tạo một ứng dụng dạng Console với tên là QL_Nhan_vien 2 Sử dụng lại class NHAN_VIEN đã xây dựng trong bài 4.4 3 Xây dựng class NHAN_VIEN_VAN_PHONG kế thừa . kiểu dữ liệu trong C#, ứng dụng các kiểu dữ liệu để khai báo biến và cách sử dụng các toán tử trong C# 2.1. Using Value Types Mục tiêu: Giúp học viên nắm bắt việc sử dụng kiểu dữ liệu. Console.WriteLine để xuất dữ liệu và Console.Read hoặc Console.ReadLine để đọc dữ liệu Cho phép nhập vào họ tên sau đó xuất ra câu chào: Chào mừng bạn đến với ngôn ngữ lập trình C# Thực thi ứng dụngg P.16 - Quận Gò Vấp - Tp.Hồ Chí Minh Tel: 3996.1590 – 0913.681856 BÀI TẬP NỀN TẢNG LẬP TRÌNH ỨNG DỤNG VỚI C# GV: