wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

vi điều khiên

Total questions: 242

Worksheet time: 2hrs 1mins

Name
Class
Date
1.

Hệ thống số được tạo thành từ mười chữ số từ 0 đến 9 được gọi là:

a)

Hệ tổng số nhị phân

b)

Hệ thống số thập phân

c)

Hệ thống số bát phân

d)

Hệ thống số thập lục phân

2.

Hệ thống số được tạo thành từ hai chữ số 0 và 1 được gọi là:

a)

Hệ thống số bát phân

b)

Hệ thống số thập lục phân

c)

Hệ thống số thập phân

d)

Hệ thống số nhị phân

3.

Hệ thống số được tạo thành từ mười sáu chữ số từ 0 đến F

a)

Hệ thông số nhị phân

b)

Hệ thống số thập lục phân

c)

Hệ thống số thập phân

d)

Hệ thống số bát phân

4.

Hệ thống số được tạo thành từ tám chữ số từ 0 đến 7 và sửdụng 03 bít để mã hoá nhị phân được gọi là

a)

Hệ thống số thập lục phân

b)

Hệ thống số thập lục phân

c)

Hệ thống số bát phân

d)

Hệ thống số thập phân

5.

Số thập phân 15 có mã nhị phân là

a)

0001b

b)

1111b

c)

0010b

6.

Số thập phân 10 có mã nhị phân là

a)

0001

b)

1010

c)

1110

d)

0010

7.

Số thập phân 5 có mã nhị phân là

a)

0101

b)

0001

c)

0010

d)

1110

8.

Số thập phân 14 có mã nhị phân là

a)

0001

b)

1110

c)

0010

d)

1100

9.

Để chuyển số thập phân sang số nhị phân, phát biểu nào sau đây là đúng nhấ

a)

Chia số thập phân cho 15 và lấy phần dư

b)

Chia số thập phân cho 8 và lấy phần dư

c)

Chia số thập phân cho 10 và lấy phần dư

d)

Chia số thập phân cho 2 và lấy phần dư, nếu kết quả là số nguyễn khác không tiếp tục chia phần nguyên của kết quả cho 2 và ghi lại phần dư. Số nhị phân thu được là các số dư lấy

10.

Cho số nhị phân 1111b, hãy cho biết giá trị thập phân tương ứng của số này

a)

14D

b)

11D

c)

15D

d)

10D

11.

Cho số nhị phân 1010b, hãy cho biết giá trị thập phân tương ứng của số này?

a)

11D

b)

10D

c)

12D

d)

13D

12.

Số thập phân 6 chuyển đổi sang số nhị phân có giá trị:

a)

0011

b)

0100

c)

0110

d)

1001

13.

Số thập phân 15 biểu diễn dưới dạng số BCD là:

a)

0001 0101b

b)

0001 1010b

c)

0001 1111b

d)

0001 1110b

14.

Số thập phân 9 chuyển đổi sang mã BCD là gì?

a)

0101d

b)

0001b

c)

0110d

d)

1010d

15.

Số thập phân 23 chuyển đổi sang mã BCD là gì?

a)

0010 0011b

b)

0011 0010b

c)

0010 0100b

d)

0101 0111

16.

Số thập phân 7 được biểu diễn trong mã BCD là gì?

a)

0101 0111b

b)

0000 0111b

c)

0111b

d)

0011 1000b

17.

Số thập phân 45 chuyển sang mã BCD là gì?

a)

0100 0101b

b)

1001 0101b

c)

0001 0110b

d)

1100

18.

Số thập phân 100 được chuyển sang mã BCD là gì

a)

0000 0110b

b)

0001 0000 0000b

c)

0101 0100 0011b

d)

1001 1000 1000b

19.

Số hexa A chuyển đổi sang số nhị phân có giá trị là:

a)

1010b

b)

1100b

c)

1110b

d)

0110b

20.

Số hexa 1 F chuyển đổi sang số nhị phân có giá trị là

a)

0001 1111b

b)

0011 1100b

c)

1010 1001b

d)

0000

21.

Số hexa 7 được biểu diễn dưới dạng nhị phân có giá trị là:

a)

0111b

b)

1110b

c)

1101b

d)

1000b

22.

Số hexa 2 chuyển sang số nhị phân có giá trị là:

a)

0010 1101b

b)

0011 1111b

c)

0110 0101b

d)

0010 1011b

23.

Số hexa C được chuyển sang số nhị phân có giá trị là:

a)

1100b

b)

1111b

c)

1011

d)

1000b

24.

Số hexa 5 chuyển đổi sang số nhị phân có giá trị là

a)

0110b

b)

0011b

c)

0101b

d)

1001b

25.

Số hexa 9 A chuyển đổi sang số nhị phân có giá trị là

a)

1000 1100b

b)

1010 0111b

c)

1001 1010b

d)

1101 1110b

26.

Số nhị phân 11011b tương ứng với số Hexa và số thập phân nào sau đáy?

a)

1B và 30

b)

1D và 29

c)

1C và 28

d)

1B và 27

27.

Số thập phân 12 chuyển đổi sang số nhị phân có giá trị:

a)

1100b

b)

1010b

c)

1110b

d)

1000b

28.

Số thập phân 19 chuyển đổi sang số nhị phân có giá trị

a)

1000b

b)

11001b

c)

11110b

d)

10011b

29.

Số thập phân 25 chuyển đổi sang số nhị phân có giá trị:

a)

11001b

b)

10100b

c)

11101b

d)

11010b

30.

Số thập phân 7 chuyển đổi sang số nhị phân có giá trị

a)

0111b

b)

1100b

c)

1000b

d)

0101b

31.

Số nhị phân 1101b chuyển đổi sang số hexa có giá trị

a)

0xB

b)

0xD

c)

0xF

d)

0xA

32.

Số nhị phân 1010b chuyển đổi sang số hexa là

a)

0xA

b)

0x9

c)

0xC

d)

0x6

33.

Số nhị phân 1111b chuyển đổi sang số hexa là

a)

0xE

b)

0xF

c)

0xC

d)

0xB

34.

Số nhị phân 1001b chuyển đổi sang số hexa là:

a)

0x9

b)

0xA

c)

0x8

d)

0x7

35.

Số nhị phân 1100b chuyển đổi sang số hexa là:

a)

0xD

b)

0xB

c)

0xC

d)

0xA

36.

Kiểu dữ liệu nào sau đây được dùng để lưu 01 ký tự

a)

double

b)

int

c)

float

d)

char

37.

Kiểu dữ liệu nào sau đây được dùng để lưu trữ một số nguyên

a)

char

b)

signed int

c)

unsigned int

d)

float

38.

Kiểu dữ liệu nào sau đây được dùng để để lưu trữ số thực:

a)

double

b)

int

c)

char

d)

unsigned int

39.

Kiểu dữ liệu nào sau đây được dùng để lưu trữ một số nguyên âm

a)

float

b)

unsigned int

c)

unsigned char

d)

signed int

40.

Câu lệnh nào sau đây đúng khi khai bảo biển kiểu float?

a)

float x = 3.14;

b)

int x = 3.14;

c)

double x = 3;

d)

char x='3'

41.

Kiểu dữ liệu nào sau đây được dùng để lưu trữ một ký tự và có giá trị âm?

a)

signed char

b)

unsigned char

c)

int

d)

float

42.

Đoạn mã nào dưới đây đúng với cấu trúc rẽ nhánh if else?

a)

if x > 0: y else: y = - 1

b)

if (x > 0) { y = 1 ;} else {y=-1; }

c)

if x > 0 then y = 1 else y = - 1

d)

if (x > 0) { y = 1 } else y = - 1

43.

Câu lệnh switch nào sau đây đúng?

a)

switch (x) { case 1 : y = 10; break; case 2: y = 20; break;}

b)

switch x { case 1 : y = 10; break; case 2: y = 20; break;}

c)

switch (x) { 1 : y = 10; break; 2: y = 20; break;}

d)

switch (x) { case 1 : y = 10; case 2: y = 20;}

44.

Đoạn mã nào sau đây đúng với vòng lặp for

a)

for (i= 0, i < 10 , i++) {sum += i; }

b)

for i in range(10): sum += i

c)

for ( int i = 0; 1 < 10; i++) {sum += i; }

d)

for ( int i = 0; 1 < 10; i++) sum += i;

45.

Vòng lặp while nào dưới đây đúng?

a)

while(i< 10) { i++; }

b)

while i< 10 { i++; }

c)

while(i< 10) ; { i++; }

d)

while(i< 10) i++;

46.

Kiểu dữ liệu nào sau đây là kiểu số nguyên?

a)

double

b)

float

c)

int

d)

char

47.

Kiểu dữ liệu nào sau đây có kích thước lớn nhất trong C?

a)

char

b)

int

c)

float

d)

double

48.

Kiểu dữ liệu nào sau đây có kích thước nhỏ nhất?

a)

char

b)

int

c)

double

d)

float

49.

Câu lệnh nào dưới đây đúng khi khai báo biến kiểu unsigned int?

a)

signed int age = 30;

b)

unsigned int age = 30;

c)

unsigned char mathfrak age = 30;

d)

int age 30;

50.

Biến nào sau đây có thể lưu trữ số nguyên lớn nhất trong C?

a)

int

b)

unsigned int

c)

char

d)

float

51.

Câu lệnh if nào dưới đây là đúng?

a)

if ( x == 10 ) { y = 1 }

b)

if ( x = 10 ) { y = 1 ; }

c)

if ( x = 10 ) y = 1 ;

d)

if ( x == 10 ) { y = 1 ; }

52.

Kiểu dữ liệu nào sau đây dùng để biểu diễn ký tự có dấu

a)

signed char

b)

signed char

c)

int

d)

float

53.

Đoạn mã nào dưới đây đúng với vòng lặp do while?

a)

do x++ while ( x < 10 )

b)

do { x++ } while x < 10

c)

do { x++ ; } while ( x < 10 );

d)

do x++ ; while ( x < 10 )

54.

Kiểu dữ liệu nào sau đây có thể lưu trữ số thực có độ chính xác kép?

a)

float

b)

double

c)

int

d)

char

55.

Đoạn mã nào dưới đây đúng với việc khai bảo và khởi tạo biển kiểu int?

a)

int a = 5;

b)

float a = 5;

c)

char a = 5;

d)

double a = 5;

56.

Kiểu dữ liệu nào sau đây có thể lưu trữ giá trị lớn nhất là 255

a)

int

b)

signed char

c)

unsigned char

d)

float

57.

Kiểu dữ liệu char chiếm bao nhiêu byte trong bộ nhớ?

a)

1 byte

b)

2 bytes

c)

4 bytes

d)

8 bytes

58.

Giá trị tối đa của kiểu dữ liệu unsigned char là bao nhiêu?

a)

65535

b)

127

c)

255

d)

32767

59.

Trong C, kiểu dữ liệu float chiếm bao nhiêu byte trong bộ nhớ?

a)

4 bytes

b)

2 bytes

c)

8 bytes

d)

16 bytes

60.

Kiểu dữ liệu double chiếm bao nhiêu bịt trong bộ nhớ?

a)

128 bits

b)

32 bits

c)

16 bits

d)

64 bits

61.

Biến kiểu signed char có thể lưu trữ giá trị tối đa nào sau đây?

a)

127

b)

255

c)

32767

d)

-128

62.

Giá trị nhỏ nhất mà một biến kiểu int có thể lưu trữ là bao

a)

-2147483648

b)

-32768

c)

0

d)

-128

63.

Khi sử dụng kiểu unsigned int, giá trị lớn nhất có thể lưu trữ là

a)

65535

b)

4294967295

c)

32767

d)

2147483647

64.

Biến kiểu float có thể lưu trữ số thập phân với bao nhiêu chữ số

a)

15-16 chữ số

b)

6-7 chữ số

c)

4-5 chữ số

d)

10-12 chữ số

65.

Điều kiện nào sau đây là đúng để chương trình thực hiện các câu lệnh trong nhánh else trong câu lệnh if sau?

int x 10;

if (x==5)

printf("True");

else

printf("False");

a)

Khi x bằng 10

b)

Khi x lớn hơn 5

c)

Khi x nhỏ hơn 5

d)

Khi x không bằng 5

66.

Đầu ra của đoạn chương trình sau là gì?

int a = 5;

if (a = 5)

printf("Equal");

else

printf("Not equal");

a)

Equal luôn được in ra màn hinh

b)

Not Equal luôn được in ra màn hinh

c)

Lỗi logic do thiếu "==" trong điều kiện

d)

Lỗi biên dịch do thiếu dấu ngoặc ;

67.

Chỉ ra nguyên nhân lỗi logic của câu lệnh if sau đây:

int a = 10;

if (a = 10)

printf("True");

a)

Sai vì thiếu dấu ngoặc ()

b)

Sai vì a không thể bằng 10

c)

Thiếu dấu == trong điều kiện

d)

Không có lỗi

68.

Đoạn mã sau sẽ in ra kết quả nào?

int x = 0;

if (x)

printf("Yes");

else

printf("No");

a)

Lỗi biên dịch

b)

Yes

c)

No

d)

Không in gì cả

69.

Đoạn mã sau sẽ in ra kết quả nào?

int x = 2;

switch (x) {

case 1: printf("One");

case 2: printf("Two");

case 3: printf("Three");

default: printf("Default"); }

a)

Two

b)

Two ThreeDefault

c)

Three

d)

Default

70.

Điều gì sẽ xảy ra nếu không có break trong các trường hợp của switch?

a)

Chương trình tiếp tục thực hiện các case tiếp theo cho đến khi gặp break hoặc kết thúc switch

b)

Chương trình chỉ thực hiện case đầu tiên khớp điều kiện

c)

Chương trình bị lỗi biên dịch

d)

Chương trình sẽ dừng ngay lập tức

71.

Đoạn mã sau sẽ in ra kết quả nào?

int x= 5;

switch (x) {

case 1: printf("One");

break;

case 5: printf("Five");

default: printf("Default");

}

a)

FiveDefault

b)

Default

c)

Five

d)

Không in gì cả

72.

rong switch, default có thể xuất hiện ở đâu?

a)

Chỉ sau case cuối cùngh

b)

Chỉ ở cuối cùng

c)

Chỉ ở đầu tiên

d)

Bất cứ đâu trong cấu trúc switch

73.

Kết quả của đoạn mã sau là gì?

int i;

for ( i = 0 ; i < 5 i++);

printf("%d", i);

a)

5

b)

4

c)

0

d)

6

74.

Điều gì xảy ra nếu vòng lặp for không có điều kiện dừng?

a)

Vòng lặp chỉ thực hiện một lần

b)

Vòng lặp sẽ chạy vô tận

c)

Lỗi biên dịch

d)

Vòng lặp sẽ bỏ qua

75.

Đoạn mã sau sẽ in ra kết quả nào?
int i;

for ( i = 0 ; i < 3 i++)

printf("%d", i);

a)

012

b)

123

c)

345

d)

210

76.

Kết quả của đoạn mã sau là gì?

int i;

for (i = 0 ; i < 3; i ++) ;

printf("%d", i);

a)

0

b)

2

c)

1

d)

3

77.

Kết quả của đoạn mã sau là gì?

int i = 0;

while (i < 3) {

i ++;

printf("%d", i);

}

a)

3

b)

2

c)

1

d)

0

78.

Điều gì sẽ xảy ra nếu vòng lặp while không có điều kiện dừng?

a)

Vòng lặp sẽ chạy vô tận

b)

Vòng lặp chỉ thực hiện một lần

c)

Lỗi biên dịch

d)

Vòng lặp sẽ bỏ qua

79.

Đoạn mã sau có lỗi gì?

int i = 5

while (i < 5)

printf("%d", i);

a)

Lỗi biên dịch do thiếu dấu ;

b)

Không có lỗi, nhưng không in ra gì vì điều kiện không đúng

c)

Lỗi biên dịch do thiếu dấu {} cho thân vòng lặp

d)

Lỗi vi i không thay đổi

80.

Kết quả của đoạn mã sau là gì?

int i = 0

while (i++ < 3);

printf("%d", i);

a)

1

b)

3

c)

2

d)

4

81.

Đoạn mã sau sẽ in ra kết quả nào?

int x = 5

if (x > 5)

printf("Greater");

else if (x == 5)

printf("Equal");

else

printf("Less").

a)

Không in gì cả

b)

Greater

c)

Less

d)

Equal

82.

Đoạn mã sau có lỗi gì?

int x = 5

switch (x) {

case 1: printf("One");

break;

case 5: printf("Five");

break;

case 10: printf("Ten");

}

a)

Không có lỗi.

b)

Thiếu case default.

c)

Sai vì x không thể bằng 5.

d)

Sai vì không có dấu; sau mỗi case.

83.

Đoạn mã sau sẽ in ra kết quả nào?

int i;

for ( i = 0 i < 5 i++)

if (i == 3)

break;

printf("%d", i);

a)

3

b)

4

c)

5

d)

2

84.

Đoạn mã sau có lỗi gì?

int i = 0;

do {

printf("%d", i);

i++;

} while (i < 0) ;

a)

Lỗi biên dịch do không có dấu {} cho thân vòng lặp.

b)

Lỗi do điều kiện trong while sai.

c)

Không có lỗi, nhưng chỉ in ra 0 một lần.

d)

Lỗi do i không thay đổi.

85.

Đoạn mã sau sẽ in ra kết quả nào?

int x = 10;

if (x < 5)

printf("Small");

else if (x > 5)

printf ("Big");

else

printf("Equal");

a)

Big

b)

Small

c)

Equal

d)

Không in gì cả

86.

Kết quả của đoạn mã sau là gì?

int i;

for ( i = 0 i < 3 ++i) {

printf("%d", i);

if (i == 1) continue;

printf("%d", i);

}

a)

001122

b)

00122

c)

012

d)

00112

87.

Điều kiện nào sau đây là đúng để thực hiện nhánh else trong câu lệnh if (x > 5) else?

a)

x <= 5

b)

x >= 5

c)

x == 5

d)

x < 5

88.

Câu lệnh switch nào sau đây là đúng trong C?

a)

switch (x) { case 1: ... ; }

b)

switch (x == 1) { case 1: ... ; }

c)

switch (x > 1) { case 1: ... ; }

d)

switch (x < 1) { case 1: ... ; }

89.

Khi sử dụng cấu trúc if-else, điều kiện nào sau đây sẽ không bao giờ được kiểm tra nếu điều kiện if ban đầu là true?

a)

Điều kiện trong nhánh else if

b)

Điều kiện trong nhánh if

c)

Điều kiện trong nhánh else

d)

Điều kiện trong nhánh if tiếp theo

90.

Đoạn mã nào dưới đây có thể dẫn đến lỗi logic?

a)

if (x > 5) { ... }

b)

if (x == 5) { ... }

c)

if (x < 5) { ... }

d)

if (x = 5) { ... }

91.

Vòng lặp for nào dưới đây sẽ chạy vô tận?

a)

for(;;) { ... }

b)

for(int i = 0; i < 10; i++) {...}

c)

for(int i = 0; i <= 10; i++) { ... }

d)

for(int i= 10; i > 0; i--) { ... }

92.

Câu lệnh while nào dưới đây có thể dẫn đến lỗi logic?

a)

while(x < 0) { ... }

b)

while(x == 0) { ... }

c)

while(x = 0) { ... }

d)

while(x > 0) { ... }

93.

Đoạn mã nào dưới đây sẽ không thực hiện vòng lặp dù chỉ lần?

a)

for(int i = 10; i < 0; i++) { ... }

b)

for(int i = 0; i < 10; i++) { ... }

c)

while(x > 0) { ... }

d)

do {...} while (x > 0) ;

94.

Vòng lặp while nào dưới đây sẽ kết thúc ngay lập tức khi đầu?

a)

while(0) {...}

b)

while(1) { ... }

c)

while(x > 0) { ... }

d)

while(x < 0) { ... }

95.

Kết quả của biểu thức 5 + 3 * 2 trong C là gì?

a)

13

b)

16

c)

10

d)

11

96.

Biểu thức nào dưới đây là đúng nếu x = 5 và y = 3 z = 1?

a)

xy && y = x

b)

x<y || y> x

c)

x > y && z<y

d)

x != y && y != x

97.

Toán tử nào dưới đây không phải là toán tử logic trong C?

a)

++

b)

&&

c)

||

d)

!

98.

Kết quả của biểu thức x && y khi x = 1 và y = 0 là gì?

a)

1

b)

0

c)

x

d)

y

99.

Biểu thức x = (y = 3) + 2 sẽ trả về giá trị nào cho x?

a)

5

b)

3

c)

2

d)

0

100.

Toán tử nào sau đây được ưu tiên cao nhất trong biểu thức đại số?

a)

*

b)

+

c)

-

d)

==

101.

Câu lệnh x = y = z trong C có nghĩa gì?

a)

x, y, z được gán cùng giá trị

b)

2 được gán cho y, sau đó y được gán cho x

c)

y được gán cho x, sau đó z được gán cho y

d)

x được gán cho y, sau đó z được gán cho x

102.

Kết quả của biểu thức 5 – 5 && 3 != 2 là gì?

a)

1

b)

0

c)

true

d)

false

103.

Đoạn mã nào dưới đây sẽ gây ra lỗi biên dịch?

a)

unsigned int w = 10

b)

float y = 5

c)

char z = 'A';

d)

int x = 5

104.

Kết quả của biểu thức sizeof(int) > sizeof(char) là gì?

a)

1

b)

0

c)

true

d)

false

105.

Điều gì sẽ xảy ra nếu gán một giá trị lớn hơn phạm vi của kiểu dữ liệu char?

a)

Giá trị sẽ được lưu trữ như bình thường.

b)

Giá trị sẽ bị tràn và lưu trữ dưới dạng giá trị khác.

c)

Trình biên dịch sẽ thông báo lỗi.

d)

Không có gì xảy ra, giá trị sẽ được lưu trữ dưới dạng nguyên bản.

106.

Kết quả của đoạn chương trình sau là bao nhiêu dấu * được in ra?

for ( ti = 0; i < 2 ;i++)

for (int j = 0; j < 3; j++)

printf("*");

a)

6

b)

5

c)

3

d)

2

107.

Kết quả của đoạn mã sau là gì khi a = 2 b=5?

if (a > 1)

if (b > 3)

printf("A");

else

printf("B");

a)

Không in gì

b)

B

c)

A

d)

Lỗi biên

108.

Kết quả của lệnh sau là gì?

int x=(5 > 3) ? 10 : 20;

printf("%d", x);

a)

10

b)

20

c)

5

d)

3

109.

Giá trị của biển x sau đoạn mã dưới đây là bao nhiêu? int x=2+3* 4;

a)

14

b)

20

c)

24

d)

10

110.

Kết quả của đoạn chương trình sau là gì?

int x = 2 y = 3;

if (x > 1)

if (y < 5)

printf("A");

else

printf("B");

else

printf("C");

a)

A

b)

B

c)

C

d)

Không in gi

111.

Kết quả của đoạn mã sau là gì?

int a = 3, b = 2;

a += b * 3;

printf("%d", a);

a)

9

b)

5

c)

6

d)

8

112.

Kết quả của biểu thức sau là gì?

int a = 5 ; b = 3 , c=(a > b) ? a-b : b-a;

printf("%d", c);

a)

2

b)

3

c)

5

d)

8

113.

Biến static int x khác biến thường ở điểm nào?

a)

Mất giá trị sau khi thoát hàm

b)

Có thể truy cập từ file khác

c)

Giữ giá trị sau khi hàm kết thúc

d)

Là hằng số không thay đổi

114.

Kết quả của đoạn mã sau là gì?

float x = (float) (5 / 2 );

printf("%.1f", x);

a)

2.

b)

2.5

c)

3.0

d)

2.0

115.

Kết quả của biểu thức logic sau đây là gì?

int a = 5, b = 2, c = 8;

int kq (a > b) && (b > c);

printf("%d", kq);

a)

0

b)

1

c)

2

d)

8

116.

Câu lệnh nào dưới đây dùng để thiết lập chân số 13 làm đầu ra?

a)

pinMode(13, INPUT);

b)

pinMode(13, OUTPUT);

c)

digitalWrite(13, HIGH);

d)

digitalRead(13);

117.

Câu lệnh nào dưới đây dùng để đọc giá trị từ chân số 7

a)

digitalRead(7);

b)

digitalWrite(7, HIGH);

c)

pinMode(7, INPUT);

d)

analogRead(7);

118.

Để bật đèn LED được kết nối với chân số 10, câu lệnh nào sau đây được sử dụng?

a)

analogWrite(10, 255);

b)

pinMode(10, OUTPUT);

c)

digitalWrite(10, LOW);

d)

digitalWrite(10, HIGH);

119.

Giá trị nào dưới đây là giá trị logic cao khi sử dụng hàm digitalWrite?

a)

HIGH

b)

LOW

c)

T

d)

F

120.

Để tắt một chân số được thiết lập làm đầu ra, bạn dùng câu lệnh nào?

a)

pinMode(pin, OUTPUT)

b)

digitalWrite(pin, HIGH);

c)

digitalWrite(pin, LOW);

d)

digitalRead(pin);

121.

Nếu muốn sử dụng một chân làm đầu vào, câu lệnh nào dưới đây là đúng?

a)

pinMode(pin, INPUT);

b)

pinMode(pin, OUTPUT);

c)

digitalRead(pin);

d)

digitalWrite(pin, LOW);

122.

Câu lệnh nào dưới đây dùng để đọc giá trị từ một chân tương tự (analog pin)?

a)

digitalRead(A0);

b)

analogWrite(A0, 128);

c)

analogRead(A0);

d)

pinMode(A0, INPUT);

123.

Arduino Uno có bao nhiêu cổng vào tương tự?

a)

6

b)

8

c)

10

d)

12

124.

Dải giá trị đầu ra của hàm analogWrite trên Arduino Uno là gì?

a)

0 đến 255

b)

0 đến 1023

c)

0 đến 1024

d)

0 đến 4095

125.

Khi sử dụng hàm analogRead, giá trị trả về là gì?

a)

Một giá trị trong khoảng từ 0 đến 65535

b)

Một giá trị trong khoảng từ 0 đến 255

c)

Một giá trị trong khoảng từ 0 đến 4095

d)

Một giá trị trong khoảng từ 0 đến 1023

126.

Câu lệnh nào sau đây sử dụng để điều chỉnh độ sáng của đèn LED kết nối với chân PWM?

a)

analogWrite(pin, value);

b)

analogRead(pin);

c)

digitalWrite(pin, HIGH);

d)

pinMode(pin, OUTPUT);

127.

Hàm nào sau đây không liên quan đến việc làm việc với cổng tương tự?

a)

analogRead(pin);

b)

digitalWrite(pin, HIGH);

c)

analogWrite(pin, value);

d)

pinMode(pin, INPUT);

128.

Chức năng của hàm setup() trong chương trình Arduino là gì?

a)

Thiết lập các cấu hình ban đầu, chạy một lần khi khởi động

b)

Vòng lặp chính của chương trình, chạy liên tục.

c)

Dùng chương trình và chờ lệnh.

d)

Điều khiển các chân vào ra.

129.

Câu lệnh nào sau đây tạo ra khoảng thời gian trễ là 1 giây?

a)

digitalRead(pin);

b)

digitalWrite(pin, LOW);

c)

pinMode(pin, OUTPUT);

d)

delay(1000);

130.

Vòng lặp chính của chương trình Arduino được thực hiện trong hàm nào?

a)

etup()

b)

loop()

c)

main()

d)

init()

131.

Arduino IDE sử dụng ngôn ngữ lập trình nào?

a)

Java

b)

Python

c)

C/C++

d)

Ruby

132.

Chức năng của hàm delay() trong Arduino là gì?

a)

Chạy chương trình nhanh hơn.

b)

Tạm dừng chương trình trong một khoảng thời gian nhất định.

c)

Điều chỉnh tín hiệu đầu ra.

d)

Khởi động lại chương trình.

133.

Để viết chương trình cho Arduino, bạn cần lưu tệp với phần mở rộng nào?

a)

ino

b)

.cpp

c)

.c

d)

.hex

134.

Tệp chương trình trong Arduino IDE được gọi là gì?

a)

Project

b)

Sketch

c)

Script

d)

Applet

135.

Khi nhấn nút "Upload" trong Arduino IDE, chương trình sẽ được:

a)

Lưu lại trên máy tính.

b)

Biên dịch và tải lên bo mạch Arduino.

c)

Chạy ngay trên máy tính.

d)

Đưa vào thư mục dự án.

136.

Arduino Uno có bao nhiêu chân số (digital pins)?

a)

14

b)

10

c)

12

d)

13

137.

Chân nào dưới đây là chân dương nguồn trên Arduino Uno?

a)

GND

b)

A0

c)

D13

d)

VIN

138.

Chân D13 trên Arduino Uno thường được sử dụng để kết nối với

a)

Đèn LED tích hợp sẵn.

b)

Cảm biến nhiệt độ.

c)

Nút nhấn.

d)

Màn hình LCD.

139.

Chân nào trên Arduino Uno có thể được sử dụng cho cả cổng vào ra số và PWM?

a)

A5

b)

A1

c)

D11

d)

D2

140.

Chân nào trên Arduino Uno có thể sử dụng cho giao tiếp UART (serial)?

a)

D10 và D11

b)

D2 và D3

c)

A0 và A1

d)

D0 và D1

141.

Chân nào dưới đây có thể cung cấp điện áp 5V cho các thiết bị ngoại vi?

a)

5V

b)

GND

c)

VIN

d)

D7

142.

Để kết nối Arduino Uno với máy tính qua USB, bạn sử dụng chân nào?

a)

TX và RX

b)

USB Port

c)

VIN và GND

d)

D0 và D1

143.

Chân nào dưới đây là chân nối đất (ground) trên Arduino Uno?

a)

D0

b)

3.3V

c)

5V

d)

GND

144.

Chân nào trên Arduino Uno có thể được sử dụng để cấp nguồn từ pin ngoài?

a)

VIN

b)

D13

c)

A0

d)

D7

145.

Chân nào trên Arduino Uno có thể được sử dụng cho giao tiếp SPI?

a)

A0, A1, A2, A3

b)

D2, D3, D4, D5

c)

D10, D11, D12, D13

d)

D6, D7, D8, D9

146.

Chức năng của chân RESET trên Arduino Uno là gì?

a)

Đặt lại bo mạch, khởi động lại chương trình từ đầu.

b)

Tắt bo mạch.

c)

Chuyển đổi chế độ hoạt động.

d)

Kết nối với máy tính.

147.

Chân nào trên Arduino Uno có thể được sử dụng cho giao tiếp 12C?

a)

D10 và D11

b)

D2 và D3

c)

A4 và A5

d)

D12 và D13

148.

Lệnh nào dưới đây dùng để khỏi tạo màn hình LCD 16x2 trên

a)

lcd.begin(16, 2);

b)

lcd.init();

c)

lcd.start(16, 2);

d)

lcd.setup(16, 2);

149.

Để di chuyển con trỏ đến vị trí cột 0, dòng 1 trên LCD, bạn sử dụng lệnh nào?

a)

lcd.moveCursor(0, 1);

b)

lcd.cursor(0, 1);

c)

lcd.goto(0, 1);

d)

lcd.setCursor(0, 1);

150.

Lệnh nào dưới đây dùng để xóa toàn bộ nội dung trên màn hình LCD?

a)

lcd.erase();

b)

lcd.clear();

c)

lcd.delete();

d)

lcd.reset();

151.

Để in chuỗi ký tự "Hello, World!" lên màn hình LCD, bạn sử

a)

lcd.print("Hello, World!");

b)

lcd.show("Hello, World!");

c)

lcd.write("Hello, World!");

d)

Icd.display("Hello, World!");

152.

Lệnh nào dùng để tắt đèn nền của màn hình LCD?

a)

lcd.off();

b)

lcd.noBacklight();

c)

lcd.lightOff();

d)

lcd.dim();

153.

Để bật lại đèn nền của màn hình LCD sau khi đã tắt, bạn sửdụng lệnh nào?

a)

lcd.backlight();

b)

lcd.on();

c)

lcd.lighton();

d)

lcd.bright();

154.

Để di chuyển toàn bộ nội dung trên màn hình LCD sang phải, bạn sử dụng lệnh nào?

a)

lcd.shiftRight();

b)

lcd.scrollDisplayRight();

c)

lcd.moveRight();

d)

lcd.shiftDisplayRight();

155.

Để dừng việc di chuyển nội dung trên màn hình LCD, lệnh nào sau đây là đúng?

a)

lcd.stopScroll();

b)

lcd.noAutoscroll();

c)

lcd.haltScroll();

d)

lcd.endScroll();

156.

Lệnh nào dưới đây dùng để chuyển một byte dữ liệu vào IC 74HC595?

a)

digitalWrite(dataPin, HIGH);

b)

shiftln(dataPin, clockPin, MSBFIRST, data);

c)

shiftOut(dataPin, clockPin, MSBFIRST, data);

d)

analogWrite(dataPin, data);

157.

Lệnh nào dưới đây dùng để đặt giá trị logic thấp (LOW) cho chân latchPin của IC 74HC595?

a)

digitalWrite(latchPin, LOW);

b)

digitalWrite(latchPin, HIGH);

c)

shiftOut(latchPin, clockPin, MSBFIRST, 0);

d)

analogWrite(latchPin, 0);

158.

Để đẩy dữ liệu từ thanh ghi dịch vào các chân đầu ra của IC 74HC595, bạn sử dụng lệnh nào?

a)

digitalWrite(latchPin, HIGH);

b)

digitalWrite(clockPin, HIGH);

c)

shiftOut(dataPin, clockPin, MSBFIRST, 0);

d)

analogWrite(latchPin, HIGH);

159.

Trong quá trình sử dụng IC 74HC595, bạn cần bao nhiêu chân trên Arduino để điều khiển nó?

a)

3

b)

4

c)

2

d)

5

160.

Để truyền dữ liệu qua IC 74HC595 theo thứ tự từ MSB đến LSB, bạn sử dụng lệnh nào?

a)

shiftOut(dataPin, clockPin, LSBFIRST, data);

b)

shiftOut(dataPin, clockPin, MSBFIRST, data);

c)

shiftIn(dataPin, clockPin, MSBFIRST, data);

d)

digitalWrite(dataPin, data);

161.

Lệnh nào sau đây dùng để khởi tạo chân điều khiển cho IC 74HC595?

a)

analogWrite(dataPin, 255);

b)

pinMode(dataPin, INPUT);

c)

digitalWrite(dataPin, HIGH);

d)

pinMode(dataPin, OUTPUT);

162.

LED 7 thanh có thể hiển thị được bao nhiêu ký tự số?

a)

10

b)

7

c)

16

d)

8

163.

Để hiển thị số 8 trên LED 7 thanh, bạn cần bật bao nhiêu đoạn LED?

a)

8

b)

6

c)

7

164.

Trong mạch điều khiển LED 7 thanh, IC 74HC595 có thể được sử dụng để làm gì?

a)

Điều khiển nhiều LED 7 thanh với ít chân I/O trên Arduino.

b)

Tăng cường độ sáng của LED 7 thanh.

c)

Giảm điện áp cho LED 7 thanh.

d)

Tăng số lượng đoạn LED có thể bật cùng lúc.

165.

Để điều khiển động cơ DC quay, bạn cần điều chỉnh gì?

a)

Kết nối đất (GND) của động cơ.

b)

Tốc độ quay của trục động cơ.

c)

Cường độ dòng điện cấp cho động cơ.

d)

Điện áp hoặc xung PWM cung cấp cho động cơ.

166.

Để thay đổi hướng quay của động cơ DC, bạn có thể sử dụng cấu trúc nào?

a)

Mạch H-Bridge.

b)

Bộ điều chỉnh điện áp.

c)

Biến trở.

d)

Tụ điện.

167.

Lệnh nào dưới đây dùng để điều chỉnh tốc độ của động cơ DC bằng chân PWM?

a)

digitalRead(pin);

b)

pinMode(pin, OUTPUT);

c)

digitalWrite(pin, HIGH);

d)

analogWrite(pin, value);

168.

Lệnh nào dưới đây dùng để dừng động cơ DC ngay lập tức?

a)

analogWrite(pin, 0);

b)

digitalWrite(pin, LOW);

c)

pinMode(pin, INPUT);

d)

digitalRead(pin);

169.

Động cơ bước được điều khiển bằng cách nào?

a)

Điều khiển từng bước thông qua tín hiệu số trên các cuộn dây.

b)

Cấp điện áp trực tiếp lên động cơ.

c)

Điều chỉnh dòng điện cấp cho động cơ.

d)

Điều khiển thông qua bộ giảm tốc.

170.

Để điều khiển động cơ bước, lệnh nào sau đây thường được sử dụng trong Arduino?

a)

tepper.step(steps);

b)

analogWrite(pin, steps);

c)

digitalWrite(pin, HIGH);

d)

pinMode(pin, OUTPUT);

171.

Để điều chỉnh tốc độ của động cơ bước, bạn cần làm gì?

a)

Thay đổi tốc độ gửi xung điều khiển.

b)

Điều chỉnh điện áp cung cấp.

c)

Thay đổi hướng quay của động cơ.

d)

Điều chỉnh dòng điện cấp cho động cơ.

172.

Để đảo chiều quay của động cơ bước, bạn cần làm gì?

a)

Thay đổi điện áp cung cấp.

b)

Tăng tần số xung điều khiển.

c)

Đảo thứ tự gửi xung điều khiển.

d)

Giảm tốc độ gửi xung điều khiển.

173.

Động cơ bước thường được sử dụng trong các ứng dụng nào?

a)

Điều khiển nhiệt độ.

b)

Điều khiển vị trí chính xác.

c)

Điều khiển dòng điện lớn.

d)

Điều khiển tốc độ cao.

174.

Động cơ servo thường được điều khiển thông qua tín hiệu nào?

a)

DC (dòng điện trực tiếp).

b)

PWM (xung rộng điều chế).

c)

Analog.

d)

AC (dòng điện xoay chiều).

175.

Để điều khiển góc quay của động cơ servo, bạn sử dụng lệnh nào ?

a)

servo.rotate(angle);

b)

analogWrite(pin, angle);

c)

digitalWrite(pin, HIGH);

d)

servo.write(angle);

176.

Lệnh nào dưới đây dùng để dừng động cơ servo?

a)

servo.end();

b)

servo.detach();

c)

servo.stop();

d)

servo.reset();

177.

Để khởi tạo một động cơ servo, bạn cần sử dụng lệnh nào?

a)

servo.attach(pin);

b)

servo.begin(pin);

c)

servo.init(pin);

d)

servo.setup(pin);

178.

Lệnh nào dưới đây dùng để thiết lập ngắt ngoài trên chân số 22

a)

attachInterrupt(2, ISR, FALLING);

b)

interrupt(2, ISR, RISING);

c)

attachInterrupt(digitalPinToInterrupt(2), ISR, RISING);

d)

setInterrupt(2, ISR, CHANGE);

179.

Trong ngắt ngoài, hàm ISR là gì?

a)

Hàm khởi tạo ngắt.

b)

Hàm xử lý khi ngắt xảy ra.

c)

Hàm kết thúc ngắt.

d)

Hàm thiết lập ngắt.

180.

Để tắt ngắt ngoài trên một chân, lệnh nào sau đây là đúng?

a)

disableInterrupt(2);

b)

interruptDisable(2);

c)

detachInterrupt(digitalPinToInterrupt(2));

d)

removeInterrupt(2);

181.

Ngắt ngoài có thể được kích hoạt bởi các sự kiện nào sau đây?

a)

RISING, FALLING, CHANGE

b)

HIGH, LOW, RISING

c)

UP, DOWN, CHANGE

d)

ON, OFF, TOGGLE

182.

LED 7 thanh loại anot chung (AC) hoạt động như thế nào?

a)

Các đoạn LED sẽ sáng khi các chân tương ứng được nổi với một điện trở

b)

Các đoạn LED sẽ sáng khi các chân tương ứng được cấp điện áp dương (VCC).

c)

Các đoạn LED sẽ sáng khi các chân tương ứng được nối đất (GND)

d)

Các đoạn LED sẽ sáng khi tất cả các chân đều được nối đất (GND)

183.

Để hiển thị số 1 trên LED 7 thanh loại anot chung, bạn cần thực hiện điều gì?

a)

Đặt điện áp thấp (LOW) cho các chân B và C.

b)

Đặt điện áp cao (HIGH) cho các chân B và C.

c)

Đặt điện áp thấp (LOW) cho tất cả các chân.

d)

Đặt điện áp cao (HIGH) cho tất cả các chân.

184.

Khi sử dụng LED 7 thanh loại anot chung, chân chung (anot) thường được kết nối với:

a)

VCC (điện áp dương).

b)

GND (điện áp âm)

c)

Một điện trở kéo xuống (pull-down resistor).

d)

Một điện trở kéo lên (pull-up resistor).

185.

Để tắt toàn bộ các đoạn của một LED 7 thanh loại anot chung, bạn cần:

a)

Đặt điện áp thấp (LOW) cho tất cả các chân điều khiển đoạn.

b)

Đặt điện áp cao (HIGH) cho tất cả các chân điều khiển đoạn.

c)

Ngắt kết nối chân anot khỏi nguồn điện.

d)

Kết nối các chân điều khiển đoạn với GND.

186.

Khi lập trình Arduino để điều khiển LED 7 thanh loại anot chung, bạn cần chú ý điều gì?

a)

Đảm bảo rằng các chân điều khiển được đặt ở mức thấp (LOW) để sáng LED.

b)

Đảm bảo rằng các chân điều khiển được đặt ở mức cao (HIGH) để sáng LED.

c)

Kết nối chân anot với GND thay vì VCC.

d)

Sử dụng điện trở kéo lên trên các chân điều khiển đoạn.

187.

Để hiển thị ký tự "A" trên LED 7 thanh loại anot chung, các đoạn nào cần được kích hoạt?

a)

B, C, F, G

b)

A, B, C, D, E, F

c)

A, C, D, E, G

d)

A, B, C, E, F, G

188.

Ký tự "C" trong hệ hexa (hexadecimal) cần các đoạn nào trên LED 7 thanh loại anot chung sáng lên?

a)

A, D, E, F

b)

A, B, C, D

c)

B, D, E, G

d)

A, E, F, G

189.

Để hiển thị ký tự "F" trên LED 7 thanh loại anot chung, các đoạn nào cần được kích hoạt?

a)

A, B, E, F, G

b)

A, E, F, G

c)

A, C, D, E, F

d)

B, C, E, F, G

190.

Câu lệnh nào dùng để đọc giá trị cảm biến siêu âm HC-SR04?

a)

digitalRead(trigPin);

b)

analogRead(echoPin);

c)

pulseIn(echoPin, HIGH);

d)

tone(pin, 1000);

191.

Hàm map(sensorValue, 0, 1023, 0, 100); trả về kết quả gì?

a)

Nhân đôi giá trị cảm biến

b)

Quy đổi giá trị cảm biến từ 0-1023 sang thang 0-100

c)

Giới hạn giá trị trong 0-100

d)

Làm tròn giá trị đến 100

192.

Khi muốn in ký tự xuống dòng trên Serial, ta dùng lệnh nào?

a)

Serial.newline();

b)

Serial.print();

c)

Serial.write();

d)

Serial.println();

193.

Lệnh analogWrite(5, 0); có tác dụng gì?

a)

Tắt tín hiệu PWM tại chân D5

b)

Phát tín hiệu mức cao

c)

Xuất tín hiệu 100%

d)

Kích hoạt chân digital

194.

Khi đọc giá trị cảm biến LDR, giá trị analogRead(A0) sẽ tăng khi nào?

a)

Không phụ thuộc ánh sáng

b)

Khi ánh sáng yếu đi

c)

Khi không có ánh sáng

d)

Khi ánh sáng mạnh hơn

195.

Hàm random(0,10); sẽ trả về giá trị trong khoảng nào?

a)

0-9

b)

0-10

c)

1-10

d)

1-9

196.

Khi dùng millis() để tính thời gian, kiểu dữ liệu trả về là gì?

a)

unsigned long

b)

int

c)

float

d)

char

197.

Trong giao tiếp I2C, địa chỉ thiết bị phụ thuộc vào yếu tố nào?

a)

Tốc độ xung SCL

b)

Cấu hình phần cứng (chân A0, A1, A2)

c)

Điện áp nguồn

d)

Kiểu dữ liệu truyền

198.

Khi điều khiển động cơ DC bằng transistor NPN, cực nào nối với Arduino?

a)

Cực âm nguồn

b)

Chân Collector

c)

Chân Emitter

d)

Chân Base

199.

Hàm Serial.available() trả về kiểu dữ liệu nào?

a)

int

b)

float

c)

char

d)

bool

200.

Khi sử dụng cảm biến DHT11, độ ẩm được đọc bằng hàm nào?

a)

dht.begin();

b)

dht.readTemperature();

c)

dht.readHumidity();

d)

analogRead(A0);

201.

Lệnh lcd.setCursor(0,1); có ý nghĩa gì trên LCD 16x2?

a)

Đặt con trỏ tại cột 2, hàng 1

b)

Đặt con trỏ tại cột 1, hàng 2

c)

Đặt con trỏ tại cột 0, hàng 0

d)

Xóa dòng đầu tiên

202.

Nếu bạn quên gọi lcd.begin(16, 2); trong setup(), chương trình sẽ gặp vấn đề gì?

a)

CD hiển thị ký tự rác.

b)

LCD không hiển thị gì.

c)

LCD chỉ hiển thị dòng đầu tiên.

d)

LCD sẽ hiển thị nhưng không đúng vị trí.

203.

Nếu code gọi lcd.print("Hello, World!"); khi con trỏ nằm ở cột 10 của dòng thứ nhất, kết quả sẽ như thế nào?

a)

Chữ "Hello, World!" sẽ bị cắt ngắn.

b)

Chữ "Hello, Wor" sẽ hiển thị, còn lại sẽ bị tràn xuống dòng dưới.

c)

Toàn bộ chuỗi được hiển thị trên một dòng.

d)

hi "Hello, W" được hiển thị trên dòng đầu.

204.

Đoạn code Icd.backlight(); lcd.noBacklight(); sẽ làm gì?

a)

Bật đèn nền và ngay lập tức tắt nó.

b)

Không có tác dụng vì chúng xung đột nhau.

c)

Đèn nền sẽ nhấp nháy.

d)

LCD sẽ reset..

205.

Nếu lcd.setCursor(-1,-1); được gọi, điều gì xảy ra?

a)

LCD hiển thị ký tự rác.

b)

Arduino reset.

c)

Không có gì xảy ra, không có lỗi được báo.

d)

Gây ra lỗi runtime.

206.

Khi dùng shiftOut(dataPin, clockPin, MSBFIRST, 255); với IC 74HC595, kết quả là gì?

a)

Tất cả các đầu ra của IC đều ở mức cao.

b)

Tất cả các đầu ra của IC đều ở mức thấp.

c)

Chỉ đầu ra đầu tiên ở mức cao

d)

Chỉ đầu ra cuối cùng ở mức cao.

207.

Nếu latch Pin vẫn ở mức cao khi gọi shiftOut(), điều gì sẽ xảy ra?

a)

Dữ liệu sẽ bị hỏng.

b)

Dữ liệu không được cập nhật vào đầu ra.

c)

IC sẽ reset.

d)

Không có gì xảy ra.

208.

Trong mạch sử dụng IC 74HC595, việc không đặt chân OE (Output Enable) vào mức thấp sẽ dẫn đến kết quả nào?

a)

Không có đầu ra nào từ IC

b)

Các đầu ra đều ở mức cao.

c)

Các đầu ra đều ở mức thấp.

d)

Các đầu ra sẽ dao động.

209.

Nếu chương trình cố gắng sử dụng cùng một latch Pin cho hai IC 74HC595 khác nhau, điều gì sẽ xảy ra?

a)

Chỉ có một IC hoạt động.

b)

Cả hai IC sẽ nhận cùng một dữ liệu đầu ra.

c)

Dữ liệu đầu ra sẽ bị xung đột.

d)

Arduino sẽ reset.

210.

Để chuyển một byte dữ liệu 0b10101010 vào IC 74HC595, bạn cần đặt latchPin ở mức nào trước và sau khi gọi shiftOut()?

a)

LOW cả trước và sau.

b)

HIGH trước và LOW sau.

c)

LOW trước và HIGH sau.

d)

HIGH cả trước và sau.

211.

Nếu bạn gọi digitalWrite(ledPin, HIGH); liên tục trong một vòng lặp không có delay, điều gì sẽ xảy ra với đèn LED?

a)

LED sẽ nhấp nháy nhanh.

b)

LED sẽ sáng liên tục

c)

LED có thể bị hỏng do quá nhiệt.

d)

Không có hiệu ứng gì với LED.

212.

Điều gì xảy ra nếu một đoạn code gọi analogWrite(ledPin, 128); mà ledPin không hỗ trợ PWM?

a)

LED sẽ sảng với cường độ tối đa.

b)

LED sẽ sáng với cường độ yếu hơn.

c)

LED sẽ không sáng.

d)

Arduino sẽ báo lỗi compile.

213.

Sau khi thực hiện setup(), trạng thái mặc định của nút buttonForward sẽ như thế nào khi chưa được nhấn?

void setup() {

pinMode (motorPini, OUTPUT);

pinMode (motorPin2, OUTPUT);

pinMode (speedPin, OUTPUT);

pinMode (buttonForward, INPUT_PULLUP);

pinMode (buttonReverse, INPUT_PULLUP);

pinMode (buttonSpeedUp, INPUT_PULLUP);

pinMode (buttonSpeed Down, INPUT PULLUP);

}

a)

HIGH

b)

LOW

c)

UNDEFINED

d)

OUTPUT

214.

Nếu nút button Forward được nhấn, động cơ DC sẽ quay như thế nào?

if (digitalRead (buttonForward) == LOW) {

digitalWrite (motorPinl, HIGH);

digitalWrite (motorPin2, LOW);

analogWrite (speedPin, speed);

a)

Quay ngược

b)

Quay thuận

c)

Không quay

d)

Quay với tốc độ 0

215.

Khi nút buttonReverse được nhấn, chân nào sẽ được cấp điện áp cao?

if (digitalRead (buttonReverse) == LOW) {

digitalWrite (motorPinl, LOW);

digitalWrite(motorPin2, HIGH);

analogWrite (speedPin, speed);

a)

motorPin2

b)

motorPinl

c)

speedPin

d)

buttonReverse

216.

Nếu tốc độ hiện tại là 250 và nút buttonSpeedUp được nhấn, tốc độ mới sẽ là bao nhiêu?

if (digitalRead (buttonSpeedUp) == LOW) {

speed min (speed + 10, 255);

delay(100); // Chồng này phím

}

a)

0

b)

260

c)

10

d)

255

217.

Chân nào sau đây được sử dụng để đọc giá trị nhiệt độ từ cảm biến LM35?

#include <LiquidCrystal.h>

// Khai báo chân sử dụng cho LCD const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // Khai báo chân đọc dữ liệu từ cảm biến nhiệt

//độ

const int tempPin A0; // Chân A0 đọc dữ //

liệu analog từ LM35

a)

A0

b)

11

c)

5

d)

12

218.

Chân nào sau đây được sử dụng để đọc giá trị nhiệt độ từ cảm biến LM35?

#include <LiquidCrystal.h>

// Khai báo chân sử dụng cho LCD const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // Khai báo chân đọc dữ liệu từ cảm biến nhiệt

//độ

const int tempPin A0; // Chân A0 đọc dữ //

liệu analog từ LM35

a)

11

b)

A0

c)

5

d)

12

219.

Mục đích của lệnh lcd.begin(16, 2); là gì?

void setup() {

lcd.begin(16, 2); // Khởi động màn hình LCD

kích thước 16x2

pinMode (tempPin, INPUT); // Cài đặt chân //

nhiệt độ là INPUT

}

a)

Khởi tạo kết nối I2C cho LCD

b)

Thiết lập độ sáng màn hình LCD

c)

Khởi tạo màn hình LCD với kích thước 16 cột và 2 dòng

d)

Cấu hình tốc độ làm mới màn hình LCD

220.

Giá trị millivolts được tính như thế nào?

void loop() {

int value = analogRead (tempPin);

float millivolts = (value / 1024.0) * 5000;

float celsius millivolts / 10;

lcd.setCursor(0, 0); lcd.print("Temp: ");

lcd.print(celsius);

lcd.print("C"); delay(1000);

}

a)

Chia giá trị ADC cho 5000

b)

Nhân giá trị đọc được với 10

c)

Chia giá trị đọc được cho 1024

d)

Chuyển đổi giá trị ADC thành millivolts

221.

Kết quả của đoạn code trên là gì?

lcd.setCursor(0, 0);

lcd.print("Temp: ");

lcd.print(celsius);

lcd.print("C");

delay(1000);

a)

Cài đặt nhiệt độ cảnh báo trên LCD

b)

Lưu giá trị nhiệt độ vào bộ nhớ

c)

Gửi nhiệt độ đo được đến máy tính

d)

Hiển thị nhiệt độ đo được lên màn hình LCD

222.

Hàm displayNumber(int num) được dùng vào mục đích gì?

void displayNumber (int num) {

int digits [4];

// Tách số thành các chữ số riêng biệt

for (int i=0; i < 4; i++) {

}

digits[i] = num %10;

num = 10; //

Hiển thị từng chữ số trên LED 7 thanh

for (int digit 0; digit < 4; digit++) {

// Kích hoạt chân chữ số hiện tại

digitalWrite (digitPins [digit], LOW);

// Đặt các đoạn LED theo chữ số

for (int segment = 0; segment < 7; segment++) {

digitalWrite (segments (segment] !numbers [digits [digit]] [segment]); // Anot

//chung nên đảo giá trị }

delay(5); / Độ trễ ngắn để chữ số có

/ digitalWrite (digitPins [digit], HIGH);

}

a)

Gửi số nguyên đến máy tính qua cổng Serial.

b)

Hiển thị số nguyên dưới dạng chuỗi trên LCD.

c)

Chuyển đổi số nguyên thành số nhị phân.

d)

Tách số nguyên thành các chữ số và hiển thị chúng trên LED 7 thanh.

223.

Câu lệnh num % 10 trong vòng lặp có mục đích gì?

void displayNumber (int num) {

int digits [4];

// Tách số thành các chữ số riêng biệt

for (int i = 0; i < 4; i++) {

digits[i] = num %10;

num = 10; }

// Hiển thị từng chữ số trên LED 7 thanh

for (int digit 0; digit < 4; digit++) {

// Kích hoạt chân chữ số hiện tạ

i digitalWrite(digitPins [digit], LOW);

// Đặt các đoạn LED theo chữ số for

(int segment = 0; segment < 7; segment++) {

digitalWrite (segments [segment], !numbers [digits [digit)) (segment));

// Anot chung nên đảo giá trị

delay(5); // Độ trễ ngắn để chữ số có }

//thể nhìn thấy rõ }

digitalWrite (digitPins [digit], HIGH); }

a)

Chia num cho 10.

b)

Tính toán số dư của num khi chia cho 10.

c)

Nhân num với 10.

d)

Tách lấy chữ số cuối cùng của số nguyên.

224.

Tại sao lại có lệnh digitalWrite(digitPins digit], HIGH); ở cuối vòng lặp cho từng chữ số, biết led 7 thanh là loại Anot chung void displayNumber (int num) { int digits [4]; // Tách số thành các chữ số riêng biệt for (int i = 0 i < 4 ; i++) { } digits[i] = num % 10; num l = 10 ; // Hiển thị từng chữ số trên LED 7 thanh for (int digit 0; digit < 4; digit++) { // Kích hoạt chân chữ số hiện tại digitalWrite (digitPins [digit], LOW); // Đặt các đoạn LED theo chữ số for (int segment 0; segment < 7; segment++) { digitalWrite (segments [segment], !numbers [digits (digit]] [segment]); // Anot //chung nên đảo giá trị // Độ trễ ngắn để chữ số có delay(5); // thể nhìn thấy rõ digitalWrite (digitPins [digit], HIGH); } }

a)

Để tắt chân điều khiển chữ số hiện tại trên LED 7 thanh.

b)

Để bật chân điều khiển chữ số hiện tại trên LED 7 thanh.

c)

Để reset trạng thái của chân điều khiển.

d)

Để cung cấp điện áp cao cho LED 7 thanh.

225.

Mục đích của lệnh digitalWrite(latch, HIGH); ngay sau lệnh shiftOut(data, clock, LSBFIRST, i); là gì? #define clock 11 //Chân clock #define latch 12 //Chân chốt dữ liệu #define data 13 // Chân dữ liệu void setup() //---- { } pinMode(latch, OUTPUT); pinMode (clock, OUTPUT); pinMode(_data, OUTPUT); void loop()// ( for (int i = 1 i < 256 ii << 1) { } digitalWrite(latch, LOW); shiftOut(data, clock, LSBFIRST, i); digitalWrite(latch, HIGH); delay(1000); }

a)

Reset lại chân latch để chuẩn bị cho lần truyền tiếp theo.

b)

Bảm bảo rằng dữ liệu vừa được gửi được lưu giữ vào các thanh ghi của IC 74HC595.

c)

Bật tất cả các đầu ra của IC 74HC595.

d)

Đặt tất cả các chân của IC 74HC595 về mức cao.

226.

Mục đích của lệnh digitalWrite(latch, HIGH); ngay sau lệnh shiftOut(data, clock, LSBFIRST, i); là gì? #define clock 11 //Chân clock #define latch 12 //Chân chốt dữ liệu #define data 13 // Chân dữ liệu void setup() //---- { } pinMode(latch, OUTPUT); pinMode (clock, OUTPUT); pinMode(_data, OUTPUT); void loop()// ( for (int i = 1 i < 256 ii << 1) { } digitalWrite(latch, LOW); shiftOut(data, clock, LSBFIRST, i); digitalWrite(latch, HIGH); delay(1000); }

a)

ảm bảo rằng dữ liệu vừa được gửi được lưu giữ vào các thanh ghi của IC 74HC595.

b)

Reset lại chân latch để chuẩn bị cho lần truyền tiếp theo.

c)

Bật tất cả các đầu ra của IC 74HC595.

d)

Đặt tất cả các chân của IC 74HC595 về mức cao.

227.

Sau khi gọi hàm tachso() với giá trị a là 1234, giá trị của number[2] sẽ là bao nhiêu?

void tachso (int a) {

//Hàng nghìn number [0]=a/1000;

//Hàng trăm number [1]=(a%1000)/100;

//Hàng chục number [2]=(a%100)/10;

//Hàng đơn vị number [3]=(a%100)%10

a)

1

b)

2

c)

4

d)

3

228.

Giá trị trả về của hàm tachso() có ý nghĩa gì?

void tachso (int a) }

//Hàng nghìn

number [0]=a/1000;

//Hàng trăm

number [1]=(a%1000)/100;

//Hàng chục number

[2]=(a%100)/10;

//Hàng đơn vị

number [3]=(a%100)%10;

return 0;

}

a)

Trả về 0 để báo hiệu hàm kết thúc không có lỗi.

b)

Trả về số dư của a khi chia cho 10.

c)

Trả về giá trị không đúng vì hàm được khai báo là void.

d)

Trả về giá trị không đúng vì hàm được khai báo là void.

229.

Khi nút bấm được kết nối tới chân 7 được nhấn, trạng thái của LED nối với chân 11 sẽ như thế nào?

//Khai Báo biến

int buttonPin 7;

//Chân 7 nối tới nút bấm

int LED 11;

// Chân 11 nối tới LED

int buttonState;

void setup() {

pinMode (buttonPin, INPUT);

pinMode (LED, OUTPUT); }

void loop() {

buttonState digitalRead(buttonPin);

if (buttonState == 0) digitalWrite(LED, LOW);

else

digitalWrite(LED, HIGH);

}

a)

LED sẽ tắt.

b)

LED sẽ sáng.

c)

LED sẽ nhấp nháy.

d)

Trạng thái của LED khôing thsy

230.

Câu lệnh pinMode(buttonPin, INPUT); trong hàm setup() có mục đích gì?

//Khai Báo biển

int buttonPin 7;

//Chân 7 nối tới nút bấm

int LED 11;

// Chân 11 nối tới

LED int buttonState;

void setup() {

pinMode (buttonPin, INPUT);

pinMode (LED, OUTPUT);

} void loop() {

buttonState digitalRead (buttonPin); }

if (buttonState == 0) digitalWrite(LED, LOW);

else

digitalWrite(LED, HIGH);

}

a)

Thiết lập chân buttonPin để đọc tín hiệu đầu vào từ nút bấm

b)

Thiết lập chân buttonPin để gửi tín hiệu đầu ra.

c)

Kích hoạt chức năng PWM trên chân buttonPin.

d)

Kết nối chân buttonPin với nguồn điện.

231.

Chức năng của INPUT_PULLUP trong pinMode(btOn, INPUT_PULLUP); là gì?

#define bton 6

#define btOff 3

#define led 13

void setup() {

// Thiết lập chân vào ra

pinMode (bton, INPUT PULLUP);

pinMode (btoff, INPUT_PULLUP);

pinMode (led, OUTPUT);

void loop() {

if (digitalRead(btOff) LOW) ( digitalWrite(led, LOW);

//LED OFF }

else

{ if (digitalRead(bton) == LOW) ( digitalWrite(led, HIGH);

//LED ON } } }

a)

Kết nối chân btOn với nguồn điện.

b)

Kích hoạt một điện trở kéo lên bên trong, giúp chân đọc giá trị HIGH khi không có tín hiệu.

c)

Thiết lập chân btOn để gửi tín hiệu đầu ra.

d)

Giảm độ nhạy của chân btOn đối với nhiều.

232.

Khi nào LED nối với chân 13 sẽ sáng?

#define bton 6

#define btoff 3

#define led 13

void setup() {

} // Thiết lập chân vào ra

pinMode (bton, INPUT PULLUP);

pinMode (btOff, INPUT_PULLUP);

pinMode (led, OUTPUT);

void loop() { if (digitalRead(btOff) == LOW) { digitalWrite(led, LOW);

//LED OFF }

else

{ digitalWrite(led, HIGH); //LED ON } } } i

f (digitalRead(bton) == LOW) {

a)

Khi cả hai nút bấm btOn và btOff đều không được nhấn.

b)

Khi nút bấm kết nối với chân btOff và btOn cùng được nhấn.

c)

Khi nút bấm kết nối với chân btên được nhấn và btOff không được nhấn.

d)

Khi không có nút bấm nào được nhấn.

233.

Khi lập trình quét LED ma trận, việc quên đặt digitalWrite(latchPin, LOW); trước khi ghi dữ liệu gây ra hiện tượng gì?

a)

LED sáng mở

b)

LED nhấp nháy nhanh

c)

LED hiển thị sai hoặc không đổi trạng thái

d)

Không ảnh hưởng

234.

Trong chương trình điều khiển LCD, nếu gọi lcd.begin() sau lcd.print(), kết quả là gì?

a)

LCD hiển thị sai ký tự

b)

LCD không hiển thị nội dung

c)

Hiển thị bình thường

d)

Lỗi biên dịch

235.

Đoạn mã sau có tác dụng gì?

if (digitalRead(2) = HIGH)

digitalWrite(13, !digitalRead(13));

a)

Không hoạt động

b)

LED luôn sáng

c)

LED luôn tất

d)

Nhấn nút D2 thì LED 13 đào trạng thái

236.

Khi dùng PWM điều khiển độ sáng LED, việc dùng analogWrite(led, 1023); sẽ?

a)

Sáng yếu

b)

Sáng tối đ

c)

Không hợp lệ, vì PWM chỉ nhận 0-255

d)

Gây lỗi biên dịch

237.

rong chương trình sau, LED 13 sáng bao lâu?

digitalWrite(13, HIGH);

delay(500);

digitalWrite(13, LOW);

delay(1000);

a)

0.5 giây

b)

1 giây

c)

1.5 giây

d)

0.25 giây

238.

Khi cảm biến LM35 được nối vào A0, công thức tính nhiệt độ đúng là gì?

a)

Temp = analogRead(A0)/100;

b)

Temp = (analogRead(A0) 5.0/1023) 100;

c)

Temp = analogRead(A0) * 10;

d)

Temp = analogRead(A0);

239.

Khi giao tiếp UART, nếu tốc độ baud của Arduino và máy tính không khớp, điều gì xảy ra?

a)

Tự điều chỉnh baudrate

b)

Không thể truyền dữ liệu

c)

Chương trình bị treo

d)

Dữ liệu hiển thị sai hoặc lỗi

240.

Trong chương trình điều khiển động cơ dùng L298N, đảo hai chân IN1 và IN2 sẽ gây ra điều gì?

a)

Động cơ dừng

b)

Động cơ quay ngược chiều

c)

Động cơ quay nhanh hơn

d)

Không ảnh hưởng

241.

Lệnh attachInterrupt(0, ISR, RISING); có nghĩa là?

a)

Gọi hàm ISR khi tín hiệu chân 2 chuyển từ LOW sang HIGH

b)

Gọi ISR khi tín hiệu giảm

c)

ISR gọi liên tục

d)

ISR chạy một lần khi khởi động

242.

Để đo tốc độ động cơ bằng Encoder, cần sử dụng kết hợp 2 phần cứng nào?

a)

UART và SPI

b)

ADC và PWM

c)

Ngắt ngoài và Timer

d)

EEPROM và PWM