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

Vấn đề 1 – Ma trận (2 điểm): Viết chương trình cho phép người sử dụng nhập vào 1 ma trận 2 chiều có kích thước n x n, n là số nguyên không âm nhập từ bàn phím. Kiểm tra xem đây có phải là ma trận đơn vị không,. Ví dụ:

B MÔN
ĐỀ THI CUI K MÔN: C PROGRAMING INTRODUCTION
Thi gian: 90 pht. (Đưc phép s dng tài liu, máy tính, cm sao chép bài
i mi hình thc)
HC K
2021-1
H và tên: ……………………………............STT:………Mã lớp…………...
Gii quyết 4 vấn đề bên dưới vi yêu cu thêm menu chương trình để chn vấn đề. Sau khi
kim tra xong mi vấn đề 1, 2, 3, 4 th chưng trnh quay tr v menu chnh để cho php
chn thc hin tiếp vấn đ khác (2 đim). Ví d:
Vn đề 1 Ma trn (2 điểm): Viết chưng trnh cho php người s dng nhp vào 1 ma trn
2 chiều có kch thước n x n, n s nguyên không âm nhp t bàn phím. Kiểm tra xem đây có phải là ma trn
đn vị không,. Ví d:
Vấn đề 2 Tam giác (2 điểm):
Viết chưng trnh in ra màn hình tam giác cân bng các dấu ‘*’ theo 1 trong 2 dạng xuôi ngược tùy yêu cu
của người dung. Vi chiu cao n (n > 0) đưc nhp t bàn phím. Ngưi dùng nhp vào ch cái ‘X’ để biu
din chiu xuôi và ‘N’ để biu din chiều ngược. Ví d:
Vấn đề 3 Chuyển đổi s (2 điểm):
Mt nhà mng cn chuyển đổi các s đin thoi t 11 ch s sang 10 ch s. Viết chưng trnh chuyển đổi
s đin thoi theo quy tc sau:
Mã cũ
Chuyển thành
Mã cũ
Chuyển thành
169 xxxxxxx
39 xxxxxxx
165 xxxxxxx
35 xxxxxxx
168 xxxxxxx
38 xxxxxxx
164 xxxxxxx
34 xxxxxxx
167 xxxxxxx
37 xxxxxxx
163 xxxxxxx
33 xxxxxxx
166 xxxxxxx
36 xxxxxxx
162 xxxxxxx
32 xxxxxxx
- Các đầu s khác:Nếu độ dài s đin thoi là 10 thì vn gi nguyên
Nếu độ dài s đin thoi là 11 th đưa ra thông báo: “Khác nhà mạng!”
Nếu ch s đầu tiên là ch s 0 thì loi b ch s này khi dãy s ri kim tra theo
quy tc trên
Nếu d liu nhp vào nhiu hn 11 chữ s thì ch xét 11 ch s đầu tiên.
Ví d:
Output
3966778899
3344556677
Khác nhà mng!
1234567890
Input
Output
Input
Output
N = 2,
Ma trn
1 0
0 1
N = 3
1 0 1
0 1 0
0 0 1
Không
Input
Output
Input
Output
2, N
3, N
***
*
*****
***
*
5, X
*
***
*****
*******
*********
1. Ma tran
2. Tam giac
3. Chuyen so
4. Ban do bit
5. Exit
B MÔN
ĐỀ THI CUI K MÔN: C PROGRAMING INTRODUCTION
Thi gian: 90 pht. (Đưc phép s dng tài liu, máy tính, cm sao chép bài
i mi hình thc)
HC K
2021-1
H và tên: ……………………………............STT:………Mã lớp…………...
Vấn đề 4 Bản đ bit (2 điểm):
Để qun lý b nhớ, người ta chia b nh thành các khi nh có kch thước bng nhau đồng thi xây dng
mt bản đồ bit (bitmap) để biu din trng thái ca khi nh này. Nếu khi nh đã được s dng thì bit
tưng ứng s có giá tr là 1 và ngược li bit s nhn giá tr 0 khi khi nh chưa được s dng. (Xem hình minh
ha)
H thng s phân phi cho mi chưng trình mt s ợng xác định các khi nh liên tc, tùy theo kích
thước. Khi có mt yêu cu mi, h thng s tìm vùng b nh còn trng va vn nht (vùng nh nht trong
các vùng lớn hn hoặc bằng kch thước chưng trnh) có th để cấp cho chưng trnh.
Sinh viên hãy viết chưng trnh tm ra vùng bộ nh có kch thước va vn nht đáp ứng yêu cu của chưng
trình. D liu vào của chưng trnh gồm:
+Bản đồ bit dưới dng dãy các ch s 0,1, tối đa 100 chữ s
+Kch thước chưng trnh: số nguyên > 0
D liu ra: V trí ca khi nh đầu tiên cấp cho chưng trnh và bản đồ bit hin ti
-1 Nếu không tìm thy.
Ví d:
Output
V trí tìm thy: 10
Bẩn đồ bit hin ti: 0111100011111100001100
V trí tìm thy: -1
Bẩn đồ bit hin ti: 0111100011001100001100
----------------------------------------------Hết----------------------------------------------
(Lưu ý: Sinh viên nhớ kim tra tính hp l ca d liu vào!)
| 1/2

Preview text:

BỘ MÔN
ĐỀ THI CUỐI KỲ MÔN: C PROGRAMING INTRODUCTION HỌC KỲ
Thời gian: 90 phút. (Được phép sử dụng tài liệu, máy tính, cấm sao chép bài 2021-1 dưới mọi hình thức)
Họ và tên: ……………………………............STT:………Mã lớp…………...
Giải quyết 4 vấn đề bên dưới với yêu cầu thêm menu chương trình để chọn vấn đề. Sau khi 1. Ma tran
kiểm tra xong mỗi vấn đề 1, 2, 3, 4 thì chương trình quay trở về menu chính để cho phép 2. Tam giac
chọn thực hiện tiếp vấn đề khác (2 điểm). Ví dụ: 3. Chuyen so 4. Ban do bit 5. Exit
Vấn đề 1 – Ma trận (2 điểm): Viết chương trình cho phép người sử dụng nhập vào 1 ma trận
2 chiều có kích thước n x n, n là số nguyên không âm nhập từ bàn phím. Kiểm tra xem đây có phải là ma trận
đơn vị không,. Ví dụ: Input Output Input Output N = 2, Có N = 3 Không Ma trận 1 0 1 1 0 0 1 0 0 1 0 0 1
Vấn đề 2 – Tam giác (2 điểm):
Viết chương trình in ra màn hình tam giác cân bằng các dấu ‘*’ theo 1 trong 2 dạng xuôi ngược tùy yêu cầu
của người dung. Với chiều cao n (n > 0) được nhập từ bàn phím. Người dùng nhập vào chữ cái ‘X’ để biểu
diễn chiều xuôi và ‘N’ để biểu diễn chiều ngược. Ví dụ: Input Output Input Output 2, N *** 5, X * * *** 3, N ***** ***** *** ******* * *********
Vấn đề 3 – Chuyển đổi số (2 điểm):
Một nhà mạng cần chuyển đổi các số điện thoại từ 11 chữ số sang 10 chữ số. Viết chương trình chuyển đổi
số điện thoại theo quy tắc sau: Mã cũ Chuyển thành Mã cũ Chuyển thành 169 xxxxxxx 39 xxxxxxx 165 xxxxxxx 35 xxxxxxx 168 xxxxxxx 38 xxxxxxx 164 xxxxxxx 34 xxxxxxx 167 xxxxxxx 37 xxxxxxx 163 xxxxxxx 33 xxxxxxx 166 xxxxxxx 36 xxxxxxx 162 xxxxxxx 32 xxxxxxx -
Các đầu số khác:Nếu độ dài số điện thoại là 10 thì vẫn giữ nguyên
▪ Nếu độ dài số điện thoại là 11 thì đưa ra thông báo: “Khác nhà mạng!”
▪ Nếu chữ số đầu tiên là chữ số 0 thì loại bỏ chữ số này khỏi dãy số rồi kiểm tra theo quy tắc trên
▪ Nếu dữ liệu nhập vào nhiều hơn 11 chữ số thì chỉ xét 11 chữ số đầu tiên. Ví dụ: Input Output 16966778899 3966778899 3344556677 3344556677 11223344556 Khác nhà mạng! 01234567890 1234567890 BỘ MÔN
ĐỀ THI CUỐI KỲ MÔN: C PROGRAMING INTRODUCTION HỌC KỲ
Thời gian: 90 phút. (Được phép sử dụng tài liệu, máy tính, cấm sao chép bài 2021-1 dưới mọi hình thức)
Họ và tên: ……………………………............STT:………Mã lớp…………...
Vấn đề 4 – Bản đồ bit (2 điểm):
Để quản lý bộ nhớ, người ta chia bộ nhớ thành các khối nhớ có kích thước bằng nhau đồng thời xây dựng
một bản đồ bit (bitmap) để biểu diễn trạng thái của khối nhớ này. Nếu khối nhớ đã được sử dụng thì bit
tương ứng sẽ có giá trị là 1 và ngược lại bit sẽ nhận giá trị 0 khi khối nhớ chưa được sử dụng. (Xem hình minh họa)
Hệ thống sẽ phân phối cho mỗi chương trình một số lượng xác định các khối nhớ liên tục, tùy theo kích
thước. Khi có một yêu cầu mới, hệ thống sẽ tìm vùng bộ nhớ còn trống vừa vặn nhất (vùng nhỏ nhất trong
các vùng lớn hơn hoặc bằng kích thước chương trình) có thể để cấp cho chương trình.
Sinh viên hãy viết chương trình tìm ra vùng bộ nhớ có kích thước vừa vặn nhất đáp ứng yêu cầu của chương
trình. Dữ liệu vào của chương trình gồm:
+Bản đồ bit dưới dạng dãy các chữ số 0,1, tối đa 100 chữ số
+Kích thước chương trình: số nguyên > 0
Dữ liệu ra: Vị trí của khối nhớ đầu tiên cấp cho chương trình và bản đồ bit hiện tại -1 Nếu không tìm thấy. Ví dụ: Input Output
Bẩn đồ bit: 0111100011001100001100 Vị trí tìm thấy: 10
Kích thước chương trình:2
Bẩn đồ bit hiện tại: 0111100011111100001100
Bẩn đồ bit: 0111100011001100001100 Vị trí tìm thấy: -1
Kích thước chương trình:5
Bẩn đồ bit hiện tại: 0111100011001100001100
----------------------------------------------Hết----------------------------------------------
(Lưu ý: Sinh viên nhớ kiểm tra tính hợp lệ của dữ liệu vào!)