NGÂN HÀNG CÂUHỎI Môn: Kỹ thuật lậptrì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âuhỏiCâ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ậptrì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ậptrì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 là 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. . 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. 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