Tải bản đầy đủ (.doc) (8 trang)

Tài liệu Bài tập lập trình chuyên dụng trong điện tử - viễn thông pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (111.06 KB, 8 trang )

NGÂN HÀNG CÂU HỎI
Môn: Kỹ thuật lập trình C (trong Điện tử - Viễn thông)
Số đơn vị học trình: 4 đvht (3 LT+1 TH)
Nội dung chính:
1. Hình thức thi: Thi trên máy (7 điểm) + bài tập dài (3 điểm)
2. Thời gian thi: 20 phút chuẩn bị
3. Đề thi: có 1 câu / 1 đề
4. Phương án làm đề:
5. Nội dung câu hỏi
Câu 1: Viết chương trình chuyển đổi số thập phân 256<n<65535 sang số nhị phân
dùng toán tử dịch bít (bitwise). Trong đó n được nhập vào từ bàn phím.
Câu 2: Viết chương trình chuyển đổi số thập phân n<65535 sang số nhị phân dùng
toán tử dịch bít (bitwise). Trong đó n được nhập vào từ bàn phím
Câu 3: Viết chương trình tính giá trị biểu thức logic Z: (viết dưới dạng hàm)
Z= ((A.B)+(C+D).((A + B).(C.D)) trong đó, A,B,C,D là các số 0,1 nhập vào từ bàn phím
Câu 4: Viết chương trình tính giá trị biểu thức sau
1) Z
1
= ~(((a & b)^(c|d))<<2)
2) Z
2
= ((a & b)^(c^d))<<2
3) Z
3
= (~(a|b))>>3
Trong đó: a,b,c, d là các số dương nhập vào từ bàn phím
Câu 5: Viết chương trình nhập giá trị màu của điện trở và chuyển thành giá trị số
Câu 6: Viết chương trình thực hiện:
1. Tìm max bốn số a,b,c, d dùng toán tử điều kiện e1?e2:e3
2. Tính giá trị mạch khuếch đại logarit sau: U
ra


=-U
T
ln(U
vào
/R.I
S
)
Trong đó U
T
=25.5mV, cỡ I
S
=10
-6
A. U
vào
và R được nhập vào từ bàn phím.
Câu 7: Cho mạch logic như dưới đây, hãy lập trình hiển thị bản chân lý của mạch
Trong đó: X1, X2, X3, X4, Y1, Y2 được nhập vào từ bàn phím
Câu 8: Cho mạch logic như dưới đây, hãy lập trình hiển thị bảng chân lý của
mạch
Y2
X2
X3
Y1
X1
X4
Z
Y2
X2
X3

Y1
X1
X4
Z
Trong đó: X1, X2, X3, X4, Y1, Y2 được nhập vào từ bàn phím
Câu 9: Cho hệ số khuếch đại của mạch lọc tần số thấp được tính
Ω=
fRC
K
π
2
1
Hãy viết chương trình có thể in ra một bảng tần số và hệ số khuếch đại tương ứng
với dải tần từ 1Hz–1KHz theo từng bước hơn kém nhau 20, với R=1K

, C=0.1
µ
F.
Câu 10: Viết chương trình nhập chỉ số màu thứ nhất của điện trở, sau đó chuyển
thành số của màu tương ứng vừa nhập. Chương trình sẽ kết thúc khi bấm Y khi có
lời hỏi “Bạn muốn chuyển tiếp nữa không Y/N?”
Câu 11: Viết chương trình hiển thị bảng chân lý của hàm NAND, hàm XOR và
hàm OR.
Câu 12: Viết chương trình hiển thị bảng chân lý của hàm AND, hàm NOR, và
hàm NXOR.
Câu 13: Viết chương trình nhập vào mật khẩu và tên đăng nhập (Pass, Username).
Nếu mật khẩu là “DTVT”, tên đăng nhập là “K2” thì thoát khỏi chương trình,
ngược lại thì yêu cầu nhập lại.
Câu 14: Tính Ur của mạch cộng đảo dùng khuếch đại thuật toán
) (

2
2
1
1
Vn
n
N
V
N
V
N
r
U
R
R
U
R
R
U
R
R
U +++−=
trong đó: n, R
N
, R
1
….R
n
, U
V1

….U
Vn
được nhập từ bàn phím
Câu 15: Viết chương trình thực hiện chức năng so sánh 2 số 4 bit A3A2A1A0 với
B3B2B1B0. Trong đó, A3…A1, B3…B1 là những số nhị phân được nhập vào từ
bàn phím.
Câu 16: Viết chương trình hiển thị bảng chân lý của mạch hiệu toàn phần (Full
Subtractor – FS)
D =
i
BBA ⊕⊕
ii
BBBABAB ++=
0
Trong đó: A,B,B
i
là số nhị phân được nhập vào từ bàn phím
Câu 17: Viết chương trình hiển thị bảng chân lý sơ đồ biến đổi mã nhị phân sang
mã Gray: Trong đó A
0
, A
1
, A
3
là đầu vào, G
0
, G
1
, G
3

là đầu ra
100
AAG ⊕=

211
AAG ⊕=

322
AAG ⊕=

33
AG =
Câu 18: Viết chương trình hiển thị bảng chân lý của bộ phân kênh 1 đường vào và
4 đường ra: trong đó D là hằng số có giá trị bằng 1; A, B là tín hiệu vào, Y
0
Y
3

tín hiệu ra.
DBAY
0
=

DBAY
1
=

BDAY .
2
=

DBAY
3
=
Câu 19: Viết chương trình nhập vào một mảng n giá trị các điện trở, sắp xếp theo
thứ tự giảm dần. Sau đó hiển thị danh sách đó theo thứ tự đã được sắp xếp
Trong đó: mỗi điện trở có cấu trúc như sau:
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 20: Viết chương trình nhập vào một mảng n giá trị các điện trở, sắp xếp theo
thứ tự tăng dần. Sau đó hiển thị danh sách đó theo thứ tự đã được sắp xếp
Trong đó: mỗi điện trở có cấu trúc như sau:
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 21: Viết chương trình nhập vào một dãy số d
i
có giá trị 0 hoặc 1 sau đó áp
dụng công thức biến đổi DAC (Digital Analog Converter) theo công thức sau:
)22 22(
2
0
0
1
1
2

2
1
10
dddd
U
u
n
n
n
n
n
ref
++++=




Trong đó: U
ref
, n, d
i
(i=0->n) được nhập vào từ bàn phím. U
0
là điện áp được
chuyển đổi.
Câu 22: Viết chương trình nhập vào một mảng Dien_Tro_Chung gồm có n điện
trở có cấu trúc như dưới đây. Sau đó lưu những điện trở có giá trị chẵn sang mảng
Dien_Tro_Chan, và những điện trở có giá trị lẻ sang mảng Dien_Tro_Le.
Struct Dien_Tro
{

char TenDT[5];
float Gia_tri;
};
Câu 23: Viết chương trình thực hiện phép toán hoán vị của hai biến a, b có kiểu
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Chương trình được viết theo hướng chương trình con
Câu 24: Viết chương trình nhập vào một danh sách liên kết theo chiều thuận các
điện trở có cấu trúc như dưới đây. Sau đó thực hiện chức năng thêm điện trở và
hiển thị danh sách điện trở đã nhập
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 25: Viết chương trình nhập vào một danh sách liên kết theo chiều ngược các
điện trở có cấu trúc như dưới đây. Sau đó thực hiện chức năng thêm điện trở và
hiển thị danh sách điện trở đã nhập
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 26: Viết chương trình cài đặt thuật toán rút gọn dùng bìa Các lô cho bài toán
gồm 3 đầu vào. Các giá trị ban đầu là số 0 hoặc 1 được nhập vào bảng Các lô
Câu 27: Viết chương trình nhập vào một danh sách liên kết theo chiều thuận các
điện trở có cấu trúc như dưới đây. Sau đó thực hiện chức năng xóa điện trở ở vị trí

bất kỳ và hiển thị danh sách điện trở đã nhập
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 28: Viết chương trình nhập vào một danh sách liên kết theo chiều ngược các
điện trở có cấu trúc như dưới đây. Sau đó thực hiện chức năng xóa điện trở ở vị trí
bất kỳ và hiển thị danh sách điện trở đã nhập
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 29: Viết chương trình nhập vào hai danh sách a,b liên kết theo chiều thuận
các điện trở có cấu trúc như dưới đây. Sau đó thực hiện việc cộng gộp giá trị của 2
danh sách a,b vào danh sách c. Hiển thị danh sách điện trở đã nhập
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 30: Viết chương trình hiển thị bảng chân lý của Bộ đếm thập phân đồng bộ,
với giả thiết là
0000
1234
=
nnnn
QQQQ
. Cho phương trình trạng thái như sau:

nn
QQ
1
1
1
=
+
nnnnnn
QQQQQQ
21214
1
2
+=
+
nnnnnnn
QQQQQQQ
312312
1
3
+=
+
nn
n
n
nnnn
QQQQQQQ
41123
1
4
+=

+
Trong đó các
nnnn
QQQQ
1234
là những trạng thái trước đó của trigơ JK, có các giá trị
0 hoặc 1.
Câu 31: Viết chương trình thực hiện so sánh 2 số thập phân a,b trong khoảng 0<a,
b<=16 sử dụng toán tử bitwise và mạch XOR, NAND. Trong đó a, b là 2 số thập
phân nhập vào từ bàn phím và có khoảng giá trị như đã chỉ ra ở trên.
Câu 32: Viết chương trình nhập vào bốn bít A, B, C, D (có giá trị nhị phân) sau
đó minh họa chương trình hiển thị đèn LED 7, cho đến khi người dùng bấm phím
“N” thì kết thúc. Cho phương trình của trạng thái của đèn LED 7 đoạn như sau:
ACCABDa +++=
ABBACb ++=
ABCc ++=
ABCACBCDd +++=
ABACe +=
ABACBCDf +++=
ABBCBCDg +++=
Câu 33: Viết chương trình tìm điện trở có giá trị lớn nhất trong mảng điện trở
gồm n điện trở được nhập vào từ bàn phím. Sau đó hiển thị thông tin của điện trở
có giá trị lớn nhất đó. Trong đó mỗi điện trở có cấu trúc như sau:
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 34: Viết chương trình tìm điện trở có giá trị nhỏ nhất trong mảng điện trở
gồm n điện trở được nhập vào từ bàn phím. Sau đó hiển thị thông tin của điện trở

có giá trị nhỏ nhất đó. Trong đó mỗi điện trở có cấu trúc như sau:
Struct Dien_Tro
{
char TenDT[5];
float Gia_tri;
};
Câu 35: Viết chương trình chương trình ghi dữ liệu số vào 1 tệp. Sau đó thực hiện
việc tìm kiếm số lớn nhất trong tệp đó.
Câu 36: Viết chương trình chương trình ghi dữ liệu số vào 1 tệp. Sau đó thực hiện
việc tìm kiếm số nhỏ nhất trong tệp đó.
Câu 37: Viết chương trình chương trình ghi dữ liệu văn bản vào 1 tệp. Sau đó
thực hiện việc đếm số lần xuất hiện một ký tự trong tệp đó. Biết rằng ký tự được
đếm được nhập vào từ bàn phím
Câu 38: Viết chương trình chương trình ghi dữ liệu số vào 1 tệp có tên là tep1.dat.
Sau đó thực hiện việc sao chép các ký tự hoa trong tệp tep1.dat sang tệp thứ hai có
tên là tep2.dat. Hiện thị nội dung hai tệp tep1.dat va tep2.dat để so sánh.
Câu 39: Viết chương trình chương trình ghi dữ liệu số vào 1 tệp có tên là tep1.dat.
Sau đó thực hiện việc sao chép các ký tự thường trong tệp tep1.dat sang tệp thứ
hai có tên là tep2.dat. Hiện thị nội dung hai tệp tep1.dat va tep2.dat để so sánh.
Câu 40: Viết chương trình ghi số liệu số vào 1 tệp có tên tep1.dat. Sau đó sao
chép những số có giá trị chẵn ở tệp tep1.dat sang tep2.dat. Hiện thị nội dung hai
tệp tep1.dat và tep2.dat để so sánh.

×