BO GIAO DUC VA DAO TAO
DAI HOC KINH TE TP HO CHi MINH (UEH)
TRUONG CONG NGHE VA THIET KE
Khóa : K49
Giang Vién: TS Dang Ngoc Hoang Thanh
Tp Hồ Chí Minh, Ngày 24 tháng 11 năm 2023
Trang 2MUC LUC
MỤC LỤC 5 5s 222 HH HH TH HH tt HH Hà H21 Hee re 2
Phần Ì -22-22s22112211217122122 1212211221221 HE ng tra 3 Phần 2 - 2-2222 1221112112171 222122212112 1 H1 n2 rau 3 Phan 3 occ ecccecccecsecssecsvecsvessesssscssesssessvecsressecssesssessussssessisssiearesssesavessresseessesevesssesaressneanessese 3 Phần 4 ooo ccc cecceecsecssecsvecsvessesssscsressscsvecsressecssesssesssessuessusssisaresssesavesaressvesseseseessesanessneannesseee 3 PHAN 5 ooo eeccecceecsecssecsvessvessesssscssessscssvecssessecssesssesssessiessnsssisaresssesavessressesseseseessesssessneanessese 3 Phần 6 - 2+ 2222122111211 1712212210211 1 HE Hee 4
LỜI GIẢI 55 2 22E2212221211221121121102 2212122222211 eerrea 5 BÀI Í 2225222122 2221 2E HH1 T122 HH2 t2 212 11t rrreưe 5
Phân Tích - 55+ cEE112E11271122T107 TỰ 2 1 1n tr HH reo 5 2 Thuật Toán -: 2s 22122 1122111271122 1211022122 E tr ren H2 1 tr re e 5
1 Phân Tích 2221221121112 82tr 1 HH nh HH gu 8 2 Thudt Tan ees ceccccccccesssessssessseessesssvesssesssecsssesssessssecssiesssesessessrcssesssassseisesesssneseseeen 8 BÀI 3 2221222 n2 HH HH H211 HH HH2 te re rreerười 9 1 Phân Tích 2221221121112 82tr 1 HH nh HH gu 9 2 Thuật Toán -: 2s 22122 1122111271122 1211022122 E tr ren H2 1 tr re e 9 1 occ ccccccssesssesssessesssessvessrecssesesssssessnsssisarestsessvesaresssesssssessiesanessrestiesseessesssesssesaseeesess II 1 Phân Tích s22 2212211121212 tt 1 n2 2H tr HH re re II 2 Thuật Toán -¿ 5s 122112211122 122111 TTtn 1x H21 H2 Hee tre ru ườ 12 BÀI 5 Q2 122212 n2 SH HH1 2H12 HH2 rn te trryg 14 1 Phân Tích s22 2212211121212 tt 1 n2 2H tr HH re re 14 2 Thuật Toán -¿ 5s 122112211122 122111 TTtn 1x H21 H2 Hee tre ru ườ 15
1 Phân Tích s22 2212211121212 tt 1 n2 2H tr HH re re l6 2 Thuật Toán -¿ 5s 122112211122 122111 TTtn 1x H21 H2 Hee tre ru ườ l6 ỨNG DỰNG 5s ST E222221122 222012 n2 212211 22 PHỤ LỤC -.- 52222122 12211122111 11122 1E Hn 1n HH HH te ree 26 TAL LIEU THAM KHẢO 2: 22+ S2 EEE1221127122712212211 210.110 eree 40
Trang 3Có n + 1 dấu căn Trong đó n là số thứ tự của tên bạn trong danh sách, ví dụ, bạn có số thứ tự
là 1,11,21, thì n = 1, như yêu cầu đầu tiên.(n=2)
Trang 4Phan 6
Cho một mảng nhiều chiều gồm thông tin cá nhân của mỗi sinh viên: họ tên, năm sinh, điểm trung bình, xếp loại Giả sử đữ liệu của mảng gồm có ít nhất 5 phan tử Hãy in ra toàn bộ các phiếu điểm theo mẫu như sau:
BANG DIEM TOT
NGHIEP
Cap cho sinh vién <hotén>, nam sinh <nam sinh>
Trong kì thi tốt nghiệp 2021, sinh viên trên đã đạt điểm trung bình là <điểm trung bình>, và
được xếp loại <xếp loạI>.Sinh viên có thứ hạng <??2> trong lớp
Hiệu Trưởng Trường Đại học ABC
Kí tên, Đóng dấu
Trang 5Nếu người chơi ra Bao thì
Thông báo "Người chơi thắng "nếu máy tinh ra Bua Ngược lại thông báo người chơi thua
Nếu người chơi ra Búa thì
Thông báo "Người chơi thắng "nếu máy tính ra Kéo Ngược lại thông báo người chơi thua
2 Thuật Tuán a) Mô lả Thuật Toán
Khởi gán lựa chọn của máy tính (ComputerChoice) băng một giá trị số nguyên bắt kì nằm trong
khoảng (1,3), đại diện cho Kéo, Búa, Bao, cụ thé:
1: Kéo 2: Bua
Trang 6if PlayerChoice == ComputerChoice then
ketqua = "Hoa"
else if PlayerChoice & ComputerChoice in [(1,3),(2,1),,2)] then
ketqua = "Thắng" else
ketqua = "Thua" end if return ketqua
b) Sơ Đô Khối
œ
er ae h fer lựa chọn người chơi vf
aly
Hea ff
ÍNgười Chơi thua /
Trang 7
c) Ma Nguén static void bailQ)
{
Console.ClearQ;
Console WriteLine("KEO - BUA - BAO\n"); int Computer = new Random().Next(1, 3); string ComputerChoiceName = Computer == 1 ? "Kéo" : Computer == 2 ? "Bua" : "Bao"; retnput1_ 1:
Console WriteLine("Nhap lwa chọn cua ban:");
Console WriteLine("[1] Kéo\t[2] Bua\t[3] Bao\t"); ConsoleKeyInfo key; int Player; key =
Console.ReadKey(true); string num = key.KeyChar.ToString(); if (int TryParse(num, out Player) == false)
{
Console.ClearQ;
Console WriteLine("Lya chon của bạn không tồn tại Chi chấp nhận lựa chọn là số
,—> nguyên từ 1-3 Vui lòng chọn lại "); øoto reinputl_ 1;
} string PlayerChoiceName = Player== 1? "Kéo" : Player == 2 ? "Bua" : Player == 3 ? ,—> "Bao": "";
if (Player > 0 & Player < 4) if (Player == Computer)
Console WriteLine("Lya chon cua bạn là {0}, lựa chọn của máy là {1} Kết qua: ,—> Hòa”,
PlayerChoiceName, ComputerChoiceName), else
if (Player == 1 & Computer = 3 || Player = 2 & Computer == 1 || Player == 3,— & Computer ==2)
Console.WriteLine("Lựa chọn của bạn là {0}, lựa chọn của máy là {1} Kết qua:,— Ban thang", PlayerChoiceName, ComputerChoiceName),
else Console WriteLine("1Lya chon cua bạn là {0}, lựa chọn cua may la {1} Kết quả: Máy thắng", PlayerChoiceName, ComputerChoiceName);
Trang 8“i + "oy ant ntl
với n là số nguyên do người dùng nhập vào 2 Thuật Toán
a) Mô lả Thuật Toán
Yêu cầu người dùng nhập vào số thứ tự có đạng số nguyên n Xuất thông báo "Chỉ chấp nhận số nguyên đương khác 0 Vui lòng nhập lại."nếu đữ liệu đầu vào không hợp lệ Ngược lại thực hiện bước tiếp theo
Lấy số cuối cùng của số thứ tự bằng cách thực hiện phép chia lấy phần dư
Dùng vòng lặp for dé tinh giá trị biểu thức, với i>1 và i giảm dẫn (i-)
Algorithm 2 Thuật toán tính biểu thức P
if sothutu > 0 then n = sothutu % 10+1 else
b) Mã Nguôn
static void bai2()
{
Console Write("Nhap vao n: ");
string num = Console.ReadLine();
Trang 9Yêu cầu người dùng nhập vào bậc n cao nhất của đa thức cần tính Nếu lựa chọn không hợp lệ thì xuất kết quá "Chỉ chấp nhận số nguyên đương khác 0 Vui lòng nhập lại "Ngược lại ta
thực hiện bước tiếp theo
Sử dụng vòng lặp for, khởi gán ¿ = ø, điều kiện dừng ï > 0 Yêu cầu người dùng nhập vào các
hệ số tương ứng cho từng bậc ø,# — l, và hệ số tự do Nếu lựa chọn không hợp lệ thì xuất
kết quả "Nhập sai Chỉ chấp nhận số Vui lòng nhập lại "Ngược lại ta thực hiện bước tiếp theo.
Trang 10Yêu cầu người dùng nhập vào giá trị của x Thực hiện phép tính ở bước tiếp theo, néu input không hợp lệ thì xuất thông báo “"Nhập sai Chỉ chấp nhận số Vui lòng nhập lại.”
Sử dụng vòng lặp for, với mỗi giá trị, tính giá trị zesulf = resuit + F[i] + Xĩ
Algorithm 3 Thuật toán tính biểu thire F(x)
Require: degree > 0 Require: X
for i=level down to 0 do
Nhập vào hệ số của hạng bac i end for
for i= level,, 1 down to 0 do result= result +Fi + Xi end for
Console Write("Nhap vào bậc của đa thức: ");
string num = Console.ReadLine();
int level;
if (int TryParse(num, out level) == false)
Console.WriteLine("Chỉ chấp nhận số nguyên dương khác 0 Vưi lòng nhập lại.");
double[] F = new double[level + 1];
for (int 1 = level; i > 0; i )
{
reinput3 2:
Console Write("Nhap vào hệ số của số hạng bậc {0}: ", 1);
Trang 11num = Console.ReadLineQ);
if (double TryParse(num, out F[i]) == false)
Console WriteLine("Nhap sai Chi chap nhận số Vui lòng nhập lại."); goto reinput3_2;
} }
result = result + F[i] * Math Pow(X, 1);
Console WriteLine("Két qua: {0}", result);
BÀI 4
1 Phâm Tích
Dùng vòng lặp for, kiểm tra phan tt a[/] và với giá trị tương ứng (đối xứng qua trục đọc, trục ngang) Nếu bằng nhau thì ma trận là đối xứng qua trục giữa, ngược lại ma trận không đối xứng
Ví dụ: Kiểm tra tính đối xứng qua trục giữa của ma trận:
3 4 1 4 5
Trang 123 duoc tinh bang cach lay số phần tử hàng ?—1—đex của giá tri i dang xét: 4-1-0 =3
Ta thấy cá bốn phần tử đều bằng nhau nên ma trận A đối xứng qua trục đọc 2 Thuật Toán
a) Mô lả Thuật Toán
Khai báo máng hai chiều double a Yêu cầu người dùng nhập vào từng phần tử tương ứng Kiểm tra đối xứng qua trục dọc Với mỗi 7 = 0 vai < tổng số phân tử của hàng, với mỗi /,
thực hiện:
Kiém tra phan tr a[i][j] voi phần tử tương ứng đối xứng qua trục đọc là a[i][Số phần tử của hàng - 1 - j] Nếu có cặp hai giá trị không bằng nhau thì xuất thông báo "Ma trận không đối xứng qua trục dọc", ngược lại xuất thông báo "Ma trận đối xứng qua trục dọc"
Kiểm tra phân tử a[i][j] với phần tử tương ứng đối xứng qua trục ngang là a[Số phần tử của hàng - 1 - j][¡] Nếu có cặp hai giá trị không bằng nhau thì xuất thông báo "Ma trận không đối xứng qua trục ngang", ngược lại xuất thông báo "Ma trận đối xứng qua trục ngang"
Algorithm 4 Thuật toán kiểm tra tính đối xứng của ma trận
Require: Số dòng của ma trận siZeM Require: Số cột cua ma tran sizeN Require: Cac phan tt acta ma tran
->Kiém tra d6i xứng trục đọc
for 1=0 up to number of rows do
for j=0 up to number of columns do Íf arzI#atrlIla-1-; then Ma trận đôi xứng qua trục dọc
else
pass
end if end for end for
->Kiểm tra đối xứng trục ngang
for 1=0 up to number of columns do for j=0 up to number of rows do
if apy|#a[sphntcahng-1-s[4] then Ma trận đôi xứng qua trục ngang else
pass
end if end for end for
12
Trang 13b) Ma Nguon
static void bai4()
{
Console.Clear(); remput4 1:
Console Write("Nhap vao kich thudéc ma tran vuéng mxn: "); int size;
string num = Console.ReadLine(); if (int TryParse(num, out size) == false)
Trang 14Console.WriteLine("Nhập sai Chỉ chấp nhận số Vui lòng nhập lại."); goto reinput4 2;
}
for (int i= 0; i < size; i++)
{
for (int j = 0; | < size; j++)
Console Write("{0,5}", matrix[i][j]); Console WriteLine();
}
for (int i= 0; i < size; i++) for (int } = 0; ) < size; j++) {
Trang 15Yêu câu người dùng nhập vào xâu 82
Thực thi hàm outstring để thay thế xâu S1 thành xâu S2 trong xâu S 2 Thuật Toán
a) Mô lả Thuật Toán Mô tả thuật toán
Khai báo string S là xâu gốc người dùng nhập vào Khai bao string S; la xâu con trong xâu gốc muốn thay thế Khai báo string S› là xâu thay thé
Khi tìm được xâu Š¡ trong xâu S thi S IndexOf(s1) tra vé giá trị lớn hơn hoặc bang 0
Thực hiện xoá n kí tự (độ đài của 6) tại vị trí lấy được từ index
Điền xâu % vào SŠ tai vi tri index
Console.WriteLine("Xâu sau khi được xu ly: " + output);
15
Trang 16Dùng vòng lặp for với điều kiện dừng j < 3 (do có 3 phần tử gồm họ tên, năm sinh, điểm trung bình cân được thêm vào máng) Sử dụng câu lệnh switch-case đề nhập vào từng loại phân tử, xuất ra các thông báo nhập lại nêu dữ liệu nhập vào không hợp lệ, ngược lại thưc hiện bước tiệp theo
Khởi tạo biến score là điểm của từng sinh viên trong máng Sử dụng câu lệnh if để xếp loại
tốt nghiệp sinh viên Nếu điểm >= 8 thì xếp loại GIỏi, >=6.5 và <8 thì xếp loai Kha, >=5 va <=6.5 thì xếp loại Trung bình, ngược lại xếp loại Yếu
Trang 17loai = "Kha" else if 5<=score<6.5 then
loai = "Trung binh"
else
loai = "Yếu" end if
for i = 0 up to amount - i do
for j = amount -1 up toi do if a;< a; then
temp = a; ai= aj aj= temp
end if end for end for
Console WriteLine("\nNhap thong tin cho sinh vién thir {0}",1+ 1); for (int j = 0; |< 3; 4++)
{
reinput6_ 2: switch (4)
Trang 18Console WriteLine("Nam sinh khéng thé <=0 Vui long nhập lại."); goto reinput6_2;
}
a[r][il = num; break;
Trang 19goto reinput6_2;
}
a[i][j] = score; break;
}
score = Convert ToSingle(a[i] [2]);
if (score >= 8) a[il[3] = "Gioi";
else if (score >= 6.5 & score < 8)
aliJ[3] = "Kha
else if (score >= 5 & score < 6.5)
a{i][3] = "Trung Binh"; else a[i][3] = "Yếu"; order(a, amount);
}
for (int 1 = 0; 1 < amount; i++)
Trang 20afi][4] =i+ 1; }
static void export(object[] a)
{
Console.WriteLine(" \n");
Console WriteLine("BANG DIEM TOT NGHIEP\n");
Console WriteLine("Cap cho sinh vién {0}, nam sinh {1}.\n", (string)a[0], a[1]);
Console WriteLine("Trong ki thi tot nghiép 2021, sinh viên trén da dat diém trung binh la {0}, và được xép loai {1} Sinh viên có thir hang {2} trong lép.\n", a[2], (string)a[3], a[4]);
Console.WriteLine("Hiệu Trưởng Trường Đại học ABC \n\nKi tén, Dong dau.\n");
Console.Write("Nhap vao số lượng sinh viên: ");
string num = Console.ReadLine(); if (int TryParse(num, out amount) == false)
Trang 2121
Trang 22UNG DUNG
Chụp ảnh ứng dụng khi chạy (theo trình tự các bài)
Hiền thị menu :
TRÌNH STNH VIEN : NGUYEN TKT HUYEN TRAM
Novyen CAP BAO HUYE OJ
Ảnh nô phỏng trò chơi Baa - 8ủa Éo Biết thẳng Bủa, Búa thẳng ‘Cm bt Mest Pace st
eat /ứ1+
của đa thức bậc n theo x vào một mảng Nhập giá tr In F(X)=An*K^n + An-1*X^n~1 + `
Nhập các phẩn tử của sa trận Anxn, kiểa t é phải tà ma trận đối Nhập chuỗ: S, chu 1
Liệu của mảng gỗn có ít nhất 5 p VEE tM CM Cec mat eet BẰNG ĐIẾN
Cấp ch TT, é năn sinh Hiệu Trưởng Trưởng Đại học Kí t
DU Fo
„ và được xếp Loại <xếp Loại> Sinh viễn cỏ thử hạng <???> trong 1ớp
Hình 1: Hiển thị màn hình menu
Hiển thị kết quả bài 1, với lựa chọn người dùng là Búa, lựa chọn máy tính là Kéo
KÉO - BÚA BAO Nhập Lựa chọn của bạn:
[1] Héo [2] Búa [3] Bao
Lựa chọn của bạn Là Búa, tựa chọn của máy Là Hẻo Hết quả: Bạn Nhấn [1] để quay tại menu, nhấn phím bất kì để thoát:
Hình 2 - Hiển thị kết quả bài 1
22