Untitled BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH) TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ ĐỒ ÁN MÔN HỌC CƠ SỞ LẬP TRÌNH Sinh Viên LÝ GIA THUẬN MSSV 31211026754 Chuyên Ngành CƠ SỞ LẬP TRÌNH[.]
lOMoARcPSD|17160101 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC KINH TẾ TP HỒ CHÍ MINH (UEH) TRƯỜNG CƠNG NGHỆ VÀ THIẾT KẾ ĐỒ ÁN MÔN HỌC CƠ SỞ LẬP TRÌNH Sinh Viên: LÝ GIA THUẬN MSSV: 31211026754 Chuyên Ngành: CƠ SỞ LẬP TRÌNH Khóa: K47 Giảng Viên: TS Đặng Ngọc Hồng Thành Tp Hồ Chí Minh, Ngày 27 tháng 10 năm 2022 lOMoARcPSD|17160101 M ỤC L ỤC MỤC LỤC ĐỀ BÀI LỜI GIẢI BÀI Phân Tích .4 Thuật Toán BÀI Phân Tích .4 Thuật Toán BÀI Phân Tích .4 Thuật Toán BÀI Phân Tích .5 Thuật Toán BÀI Phân Tích .5 Thuật Toán BÀI Phân Tích .5 Thuật Toán ỨNG DỤNG PHỤ LỤC TÀI LIỆU THAM KHẢO lOMoARcPSD|17160101 ĐỀ BÀI Bài Nhập vào số N nguyên dương Cho biết N có phải bội số 5? Bài Có n+1dấu Trong đó, n số cuối sốt tự tên bạn danh sách, ví dụ, bạn có số thứ tự 1, 11, 21, v.v., n=1, yêu cầu Bài Sắp xếp phần tử mảng gồm n số nguyên theo thứ tự từ nhỏ đến lớn Bài Nhập phần tử ma trận vuông cấp n, in ma trận chuyển vị Bài Nhập chuỗi chứa đầy đủ họ, tên lót tên Tách tên khỏi họ tên lót sau in lại đầy đủ họ, tên lót tên khoảng rộng 40 vị trí họ tên lót canh trái, tên canh phải Bài Cho mảng nhiều chiều gồm có thơng tin liên quan đến khách lưu trú khách sạn Khách gồm thông tin: họ tên, số ngày ở, số bữa ăn, tiền (1 ngày), tiền ăn (1 bữa), phí phục vụ Phân tích viết chương trình tính tiền trọ khách sạn In hóa đơn tính tiền lên hình có mẫu sau: *********************************************************************************** Khách sạn Five Stars Hóa đơn khách sạn Q Ơng(Bà) : ????????????????????? Sốngày ở: ??? Sốbữa ăn : ??? Tiền ở: ???????? Tiền ăn : ????????? Phí phục vụ: ??????? Tổng Cộng : ??????????????? Hân hạnh phục vụ quí khách *********************************************************************************** lOMoARcPSD|17160101 LỜI GIẢI BÀI 1 Phân Tích Xác định tốn; - Input: Sơ nguyên dương N Output: Là bội không bội Ý tưởng : - Nếu số bội chung số phải chia hết cho tích Thuật tốn Mơ tả thuật tốn: Bước 1: Nhập N từ hình Bước 2: Nếu N > N ⁝ * in hình N bội chung Bước 4: Nếu N > N !⁝ * in hình N khơng bội chung Bước 3: Nếu N < in hình N phải số nguyên dương quay lại Bước Sơ đồ khối: lOMoARcPSD|17160101 Mã nguồn: Console.WriteLine(" > BÀI TẬP 1: "); nguyenduong: Console.WriteLine("Nhập số N để xác định N có phải b ội 5: " ); int n = int.Parse(Console.ReadLine()); if(n > 0) { if(n % (5*3) == 0) Console.WriteLine("N bội chung hai số 3" ); else Console.WriteLine("N không bội chung hai s ố 3" ); } else { Console.WriteLine("N phải số nguyên dương"); goto nguyenduong; } Console.WriteLine(); Console.ReadLine(); Bài lOMoARcPSD|17160101 Phân Tích Xác định toán: - Input: Số tự nhiên N - Output: Kết = Ý tưởng: - Cho giá trị đệ quy S = i + S với S = i = ta có kết giá trị P = / S Thuật tốn Mơ tả thuật tốn: Bước 1: Tạo hàm tính Căn Bậc N Math.Pow(A, 1/N): = Bước 2: Cho N ( N số cuối số thứ tự ) Bước 3: Cho S = Bước 4: Tạo vòng lặp for i = n => i >= (i giảm từ n 1) Bước 5: Cho S = vào vòng lặp Bước - Nếu i=n trả giá trị = - Nếu 1=1; i ) { s = CanBacN(i+s,n+1); } lOMoARcPSD|17160101 Console.WriteLine("Đáp số : " + 1/s); Console.WriteLine(); Console.ReadLine(); Bài Phân Tích Xác định tốn: - Input: Chuỗi họ tên - Output: Chuỗi họ tên lót cách tên 40 khoảng cách Ý tưởng: - Đảo ngược chuỗi để xác định độ dài tên, dấu cách chuỗi ngược dấu cách cuối chuỗi nhập vào Thuật tốn Mơ tả thuật toán: Bước 1: Nhập N độ dài mảng A Bước 2: Khởi tạo ma trận A với độ dài N Bước 3: Tạo vòng for với giá trị i = chạy tới độ dài N Bước 4: Nhập giá trị phần tử vào bước Bước 5: Tạo vòng for với giá trị i = chạy tới A.Length – ( lấy giá trị phần tử từ trị số ban đầu đền trị số áp chót mảng A ) Bước 6: Tạo vòng for với giá trị j+1 = chạy tới A.Length bước ( lấy giá trị phần tử từ trị số thứ i+1 đến trị số mảng A ) Bước 7: Nếu giá trị A[i]>A[j] thay A[i] = A[j] Bước 8: Tạo vòng lặp bước in mảng A[i] Mã nguồn: Console.WriteLine(" > BÀI TẬP 3: "); Console.Write("Nhập độ dài mảng: "); int n = int.Parse(Console.ReadLine()); int[] a = new int[n]; lOMoARcPSD|17160101 Console.WriteLine("Nhập phần tử mảng: "); for (int i=0; ia[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } Console.WriteLine("\nMảng sau xếp theo thứ tự tăng d ần : " ); Console.Write("["); for (int i = 0; i < a.Length; i++) { Console.Write(" {0} ", a[i]); } Console.Write("]\n"); Console.WriteLine(); Console.ReadLine(); Bài Phân Tích Xác định toán: - Input: Cấp ma trận - Output: Ma trận chuyển vị Downloaded by Free Games Android (vuchinhhp1@gmail.com) lOMoARcPSD|17160101 Ý tưởng: - Tạo ma trận có cấp giá trị tương đương với ma trận ban đầu Sau hốn đổi giá trị hàng ma trận với giá trị cột ma trận ban đầu giá trị cột ma trận với giá trị hàng ma trận ban đầu Thuật tốn Mơ tả thuật toán: Bước 1: Nhập N cấp ma trận A Bước 2: Khởi tạo ma trận A với cấp N Bước 3: Tạo vòng for với giá trị i = chạy tới A.GetLength(0) (Các trị số hàng) Bước 4: Tạo vòng lặp for bước với giá trị j = chạy tới A.GetLength(1) (Các trị số cột) Bước 5: Nhập phần tử vào ma trận A[i,j] bước Bước 6: Khởi tạo ma trận B với cấp N tương đương Bước 7: Tạo hai vòng lặp bước Bước 8: Cho giá trị phần tử hàng ma trận B với giá trị phần tử cột ma trận A ngược lại : B[i,j] = A[j,i] Bước 9: Tạo hai vòng lặp bước và in ma trận A[i,j] ( ma trận ban đầu ) đối chiếu với ma trận B[i,j] ( ma trận chuyển vị ) Mã nguồn: Console.WriteLine(" > BÀI TẬP 4: "); Console.WriteLine("Nhập cấp ma trận: "); int n = int.Parse(Console.ReadLine()); int[,] A = new int[n, n]; for(int i=0; i