Đề thi cuối kỳ 20221 môn C Programming Introduction – ICT | Môn C Programming Introduction – ICT| Trường Đại học Bách Khoa Hà Nội

Một giải bóng đá có hai bảng thi đấu, gọi là Bảng 1 và Bảng 2. Hai bảng có số đội bằng nhau, số đội trong mỗi bảng không quá 5. Kết thúc vòng loại, các đội trong mỗi bảng được xếp loại theo điểm số từ cao xuống thấp (giả sử trong mỗi bảng không có hai đội nào cùng điểm). Hai trận bán kết (BK) sẽ diễn ra giữa đội đứng đầu mỗi bảng với đội đứng thứ hai của bảng còn lại. Trận chung kết (CK) sẽ diễn ra giữa hai đội thắng trận hai trận bán kết. Mỗi bảng đấu là một mảng gồm các phần tử là các bản ghi lưu thông tin các đội trong bảng theo cấu trúc như sau:

Trường CNTT - TT
Đại hc Bách khoa Hà Ni
H và tên:............................................................
MSSV:..................................................................
Thi cui k 20221
C Programming Intro IT3220
Thi gian: 75 phút
Ngày 28/2/2023
Đề bài
Mt giải bóng đá có hai bảng thi đấu, gi là Bng 1 và Bng 2. Hai bng có s đội bng
nhau, s đi trong mi bng không quá 5. Kết thúc vòng loại, các đội trong mi bng
đưc xếp loại theo điểm s t cao xung thp (gi s trong mi bảng không có hai đội
nào ng đim). Hai trn bán kết (BK) s din ra giữa đội đứng đu mi bng với đội
đứng th hai ca bng n li. Trn chung kết (CK) s din ra giữa hai đội thng trn
hai trn bán kết. Mi bảng đấu là mt mng gm các phn t là các bản ghi lưu thông
tin các đội trong bng theo cấu trúc như sau:
typedef struct {
char team[20]; // tên đội (không cha du cách)
int point; // điểm s
int dif; // hiu s bàn thng thua
}
Hãy viết chương trình dưới dng menu (1.5đ) thực hin các chức năng sau:
1. Enter (2.5đ): Nhập s đội ca mt bng (Yêu cu nhp lại cho đến khi giá tr hp l,
tc giá tr s nguyên ơng nằm trong [1,5]) . Nhp thông tin cho mỗi đi trong
mi bng. Mỗi đội trên mt dòng, gồm tên đội, đim s hiu s cách nhau bi du
cách.
2. Print (2đ): In ra thông tin mi bảng đấu, mi dòng mt đội gm các thông tin
team, point, và dif cách nhau bi khong tab. VD:
Bang 1
A 4 2
B 3 1
C 2 -1
Bang 2
D 4 2
E 3 1
F 2 -1
3. Sort (1.5đ): Sắp xếp mi bảng đấu theo điểm s gim dn. Kết qu s đưc kim tra
chức năng Print.
4. Champion (2đ): Ngưi dùng nhp kết qu trn bán kết 1 (BK1) giữa đội nht Bng 1
và đội nhì Bng 2, trn bán kết 2 (BK2) giữa đi nht Bảng 2 và đội nhì Bng 1, và trn
CK giữa đội thng trn BK1 trận BK2. Thông tin đưc nhp i dng ba cp s
nguyên theo th t như trên cách nhau bi mt du cách. Ví d 1 2 3 4 2 1 nghĩa là t
s trn BK1 là 1-2, trn BK2 là 3-4 và trn CK là 2-1.
Hãy in thông tin các trận BK, CK đội địch (champion) theo đnh dạng như trong
ví d:
BK1: A E
BK2: D B
CK: E B
CHAMPION: E
5. Exit (0.5đ): Thoát khỏi chương trình
Lưu ý: Vi chức năng 2. Print nếu không viết thành hàm s b tr 0.25đ.
- Hết -
T/m nhóm chuyên môn
TEST CASE
Menu: 1.5đ, Menu phi hin li nhc la chn của người dùng ví d Your choice: Nếu
thiếu -0.25đ. Nếu chn mt s không phi 1-5 thì phi thc hin li nhc (vd :sai la
chn) (thiếu - 0.25đ)
Exit: 0.5đ
Câu 1: Enter: 2.5đ
Nhp s đội bng 0 hoc 6 -> yêu cu nhp li (sai tr 0.5đ)
Nhp s đội = 3, lần lượt nhp thông tin cho 2 bng
Bang 1
A 3 0
B 6 2
C 0 -2
Bang 2
D 2 0
E 4 1
F 1 -1
Câu 2: (2đ) (trừ 0.25đ nếu không viết theo hàm)
Bang 1
A 3 0
B 6 2
C 0 -2
Bang 2
D 2 0
E 4 1
F 1 -1
Câu 3: (1.5đ) (kết qu in ra sau khi sp xếp)
Bang 1
B 6 2
A 3 0
C 0 -2
Bang 2
E 4 1
D 2 0
F 1 -1
Câu 4: (2đ)
1 2 3 2 3 2
BK1: B D (0.5đ)
BK2: E A (0.5đ)
CK: D E (0.5đ)
CHAMPION: D (0.5đ)
| 1/4

Preview text:

Trường CNTT - TT Thi cuối kỳ 20221
Đại học Bách khoa Hà Nội
C Programming Intro – IT3220
Họ và tên:............................................................ Thời gian: 75 phút
MSSV:.................................................................. Ngày 28/2/2023 Đề bài
Một giải bóng đá có hai bảng thi đấu, gọi là Bảng 1 và Bảng 2. Hai bảng có số đội bằng
nhau, số đội trong mỗi bảng không quá 5. Kết thúc vòng loại, các đội trong mỗi bảng
được xếp loại theo điểm số từ cao xuống thấp (giả sử trong mỗi bảng không có hai đội
nào cùng điểm). Hai trận bán kết (BK) sẽ diễn ra giữa đội đứng đầu mỗi bảng với đội
đứng thứ hai của bảng còn lại. Trận chung kết (CK) sẽ diễn ra giữa hai đội thắng trận
hai trận bán kết. Mỗi bảng đấu là một mảng gồm các phần tử là các bản ghi lưu thông
tin các đội trong bảng theo cấu trúc như sau: typedef struct {
char team[20]; // tên đội (không chứa dấu cách)
int point; // điểm số
int dif; // hiệu số bàn thắng – thua }
Hãy viết chương trình dưới dạng menu (1.5đ) thực hiện các chức năng sau:
1. Enter (2.5đ): Nhập số đội của một bảng (Yêu cầu nhập lại cho đến khi giá trị hợp lệ,
tức là giá trị là số nguyên dương nằm trong [1,5]) . Nhập thông tin cho mỗi đội trong
mỗi bảng. Mỗi đội trên một dòng, gồm tên đội, điểm số và hiệu số cách nhau bởi dấu cách.
2. Print (2đ): In ra thông tin mỗi bảng đấu, mỗi dòng là một đội gồm các thông tin
team, point, và dif cách nhau bởi khoảng tab. VD: Bang 1 A 4 2 B 3 1 C 2 -1 Bang 2 D 4 2 E 3 1 F 2 -1
3. Sort (1.5đ): Sắp xếp mỗi bảng đấu theo điểm số giảm dần. Kết quả sẽ được kiểm tra ở chức năng Print.
4. Champion (2đ): Người dùng nhập kết quả trận bán kết 1 (BK1) giữa đội nhất Bảng 1
và đội nhì Bảng 2, trận bán kết 2 (BK2) giữa đội nhất Bảng 2 và đội nhì Bảng 1, và trận
CK giữa đội thắng trận BK1 và trận BK2. Thông tin được nhập dưới dạng ba cặp số
nguyên theo thứ tự như trên cách nhau bởi một dấu cách. Ví dụ 1 2 3 4 2 1 nghĩa là tỉ
số trận BK1 là 1-2, trận BK2 là 3-4 và trận CK là 2-1.
Hãy in thông tin các trận BK, CK và đội vô địch (champion) theo định dạng như trong ví dụ: BK1: A E BK2: D B CK: E B CHAMPION: E
5. Exit (0.5đ): Thoát khỏi chương trình
Lưu ý: Với chức năng 2. Print nếu không viết thành hàm sẽ bị trừ 0.25đ. - Hết - T/m nhóm chuyên môn TEST CASE
Menu: 1.5đ, Menu phải hiện lời nhắc lựa chọn của người dùng ví dụ Your choice: Nếu
thiếu -0.25đ. Nếu chọn một số không phải 1-5 thì phải thực hiện lời nhắc (vd :sai lựa chọn) (thiếu - 0.25đ) Exit: 0.5đ
Câu 1: Enter: 2.5đ
Nhập số đội bằng 0 hoặc 6 -> yêu cầu nhập lại (sai trừ 0.5đ)
Nhập số đội = 3, lần lượt nhập thông tin cho 2 bảng Bang 1 A 3 0 B 6 2 C 0 -2 Bang 2 D 2 0 E 4 1 F 1 -1
Câu 2: (2đ) (trừ 0.25đ nếu không viết theo hàm) Bang 1 A 3 0 B 6 2 C 0 -2 Bang 2 D 2 0 E 4 1 F 1 -1
Câu 3: (1.5đ) (kết quả in ra sau khi sắp xếp) Bang 1 B 6 2 A 3 0 C 0 -2 Bang 2 E 4 1 D 2 0 F 1 -1 Câu 4: (2đ) 1 2 3 2 3 2 BK1: B D (0.5đ) BK2: E A (0.5đ) CK: D E (0.5đ) CHAMPION: D (0.5đ)