wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

1F COMP

Total questions: 63

Worksheet time: 5hrs 15mins

Name
Class
Date
1.

จงเขียนผลตอบสนองของโปรแกรมดังต่อไปนี้

#include

int main(void){

function(5);

}

void function(int i){

printf("%d ", i);

if(i==0) return;

else function(i-1);

}

a)

0 1 2 3 4 5

b)

5 4 3 2 1

c)

1 2 3 4 5

d)

5 4 3 2 1 0

2.

จาก Flow chart ที่กำหนด จงหาค่า val , n และวนรอบกี่ครั้ง หลังจากจบโปรแกรม ให้ค่า y=0 ,x = 1 , k=2 ,b=9

a)

val =32 ,n=9 ;วน 4รอบ

b)

val=28 ,n=11 ;วน 5รอบ

c)

val =28 ,n=9 ;วน 4รอบ

d)

val=22 ,n=9 ;วน 4รอบ

3.

ถ้า A = 4 และ B = 2เมื่อออกจากวงรอบ(loop) ผลลัพธ์จะเป็นอะไร

a)

B = 8

b)

B= 16

c)

B=32

d)

B=64

e)

ไม่มีข้อถูก

4.

ถ้า A = 1 และ B = 2เมื่อออกจากวงรอบ(loop) ผลลัพธ์จะเป็นอะไร

a)

B = 0

b)

B=2

c)

B=4

d)

B=6

e)

ไม่มีข้อถูก

5.

ถ้า A = 5 และ B = 1เมื่อออกจากวงรอบ(loop) ผลลัพธ์จะเป็นอะไร

a)

B=7

b)

B=9

c)

B=11

d)

B=13

e)

ไม่มีข้อถูก

6.

ถ้า A = 1 และ B = 2เมื่อออกจากวงรอบ(loop) ผลลัพธ์จะเป็นอะไร

a)

B=0

b)

B=2

c)

B=4

d)

B=8

e)

ไม่มีข้อถูก

7.

ความแตกต่างระหว่างการทำงานของคำสั่ง While และ Do-While คืออะไร

a)

คำสั่ง While ทำคำสั่งก่อนแล้วจึงตรวจสอบเงื่อนไข ส่วนคำสั่ง Do-While ตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงจึงทำคำสั่งที่ต้องการ

b)

คำสั่ง While ทำคำสั่งก่อนแล้วจึงตรวจสอบเงื่อนไข ส่วนคำสั่ง Do-While ตรวจสอบเงื่อนไขก่อนถ้าเป็นเท็จจึงทำคำสั่งที่ต้องการ

c)

คำสั่ง While ตรวจสอบเงื่อนไขก่อนถ้าเป็นจริงจึงทำคำสั่งที่ต้องการ ส่วนคำสั่ง Do-While ทำคำสั่งก่อนแล้วจึงตรวจสอบเงื่อนไข

d)

คำสั่ง While ตรวจสอบเงื่อนไขก่อนถ้าเป็นเท็จจึงทำคำสั่งที่ต้องการ ส่วนคำสั่ง Do-While ทำคำสั่งก่อนแล้วจึงตรวจสอบเงื่อนไข

e)

ทั้งสองคำสั่งทำงานเป็นวงวนเหมือนกันไม่แตกต่างกัน

8.

จากคำสั่งต่อไปนี้ ค่า n[3][3] มีค่าเท่ากับเท่าใด

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

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

n[j][i] = i;

}

}

a)

0

b)

1

c)

2

d)

3

9.

ให้หาค่า y สุดท้ายที่ได้จาก algorithm ต่อไปนี้

---------------------------------------------------

x = 5

y = 1

while (x > 0) {

x = x - 1

y = y * x

print(y)

}

a)

0

b)

4

c)

10

d)

ไม่มีข้อใดถูก

10.

จาก algorithm ด้านล่าง จงเลือกคำตอบที่ถูกที่สุด

-----------------------------------------------------------------------------

i=1 และ j=0

for (i = 1; i <= 4; i = i+1) {

if ((i - 1) / 2 == 0){

print(i)

j = i+1;

}

}

a)

โปรแกรมนี้พิมพ์ค่า i ทั้งหมด 5 ครั้ง

b)

ค่า i ค่าสุดท้ายคือ 4

c)

ค่า j สุดท้าย คือ 2

d)

ค่า j สุดท้าย คือ 6

11.

จาก algorithm ด้านล่า่ง โปรแกรมจะทำงานวน loop ทั้งหมดกี่รอบ

--------------------------------------------------------------------------

กำหนด x=0, y = 1, z = 5

while(x < 6) {

y = z + x

if (y < 11) {

x = y + x

}

}

a)

1

b)

2

c)

3

d)

5

12.

ข้อใดต่อไปนี้ได้ค่าตัวแปร sum เท่ากับโปรแกรมต่อไปนี้

sum = 0;

for(i=1; i<=100; i++)

{

sum = sum +i;

}

a)

sum = 0;

j = 0;

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

{

j = i+1;

sum = sum +j;

}

b)

sum = 0;

j = 0;

for(i=1;i<100;i++)

{

j = i+1;

sum = sum +j;

}

c)

sum = 0;

for(i=1;i<100;i++)

{

sum = sum +i;

}

d)

sum = 0;

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

{

sum = sum +i;

}

e)

sum = 0;

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

{

sum = sum +i;

}

13.

โปรแกรมที่ให้มีการทำงานวนรอบทั้งหมดกี่รอบ และแต่ละรอบ a มีค่าเท่ากับเท่าไร

int a=10;

while (a >= 1)

{

a = a - 2;

}

a)

10 รอบ แต่ละรอบ a มีค่าเท่ากับ 1,2,3,4,5,6,7,8,9 และ 10

b)

10 รอบ แต่ละรอบ a มีค่าเท่ากับ 10,9,8,7,6,5,4,3,2 และ 1

c)

5 รอบ แต่ละรอบ a มีค่าเท่ากับ 9,7,5,3 และ 1

d)

5 รอบ แต่ละรอบ a มีค่าเท่ากับ 10,8,6,4 และ 2

e)

5 รอบ แต่ละรอบ a มีค่าเท่ากับ 2,4,6,8 และ 10

14.

กำหนดให้

int i;

for (i = 1;i < 10; i++){

if ( i > 7 ) continue;

if ( i == 5 ) break;

printf(”KORAT”);

}

สตริง KORAT จะถูกพิมพ์ทั้งหมดกี่ครั้ง?

a)

10

b)

6

c)

4

d)

5

e)

7

15.

ข้อใดมีความหมายตรงกับคำว่า Inifinite Loop มากที่สุด

a)

ผิดเงื่อนไขโปรแกรมจะไม่ทำงานภายในลูป

b)

ทำงานวนซ้ำตามที่กำหนดค่าตัวแปรในโปรแกรม

c)

ทำงานวนซ้ำตามที่กำหนดในโปรแกรมโดยมีจุดสิ้นสุด

d)

ทำงานวนซ้ำตามที่กำหนดในโปรแกรมโดยไม่มีจุดสิ้นสุด

e)

ไม่มีข้อใดถูกต้อง

16.

i = 0;

for (j = -2; j < 3; j++) {

i = j + i++;

} ค่า i จะมีค่าเท่าไร

a)

2

b)

4

c)

6

d)

-6

e)

-4

17.

j = k = 0;

do {

j += k;

k += 2;

} while (k < 20);

อยากทราบว่าค่า j มีค่าเท่าไร

a)

50

b)

60

c)

70

d)

80

e)

90

18.

Recursive Function มีความหมายว่าอย่างไร

a)

คือฟังก์ชันที่ทำงานแบบไม่รู้จบ

b)

คือฟังก์ชันที่มีการเรียกจากภายในฟังก์ชันเอง

c)

คือฟังก์ชันที่มีเงื่อนไขจึงจะออกจากโปรแกรมได้

d)

คือฟังก์ชันสำหรับทำงานในโปรแกรมระบบเท่านั้น

19.

Nested Loops มีความหมายอย่างไร

a)

คือ Loop ทีโปรแกรมวนไม่รู้จบ

b)

คือ Loop ที่มีคำสั่งประเภทเดียวกันซ้อนอยู่

c)

คือ Loop ที่มีคำสั่งวนซ้อนกันมากกว่า 1 Loop

d)

คือ Loop เฉพาะที่มีเงื่อนไขสำหรับออกจากโปรแกรม

20.

กำหนดให้โปรแกรมมีขั้นตอนการทำงานดังนี้


เริ่มต้น

x = 1

ทำซ้ำ

x = x + 1

จนกระทั่ง x > 5

จบ


ถ้าคอมพิวเตอร์ทำโปรแกรมนี้จนจบ แล้วทำให้ข้อใดเป็นจริง

a)

x มีค่า 1

b)

x มีค่า 5

c)

x มีค่า 6

d)

x มีค่า 7

e)

x มีค่า 8

21.

กำหนดให้โปรแกรมมีขั้นตอนการทำงานดังนี้


เริ่มต้นโปรแกรม

รับค่า x และ y

ทำซ้ำ

ถ้า x > y แล้ว

{ แสดงค่า x ; x = x – 1 ; }

จนกระทั่ง x = y

จบโปรแกรม


ถ้าคอมพิวเตอร์ทำโปรแกรมนี้จนจบ โดยผู้ใช้ใส่ค่า 5 และ 1 แล้วจะมีการแสดงค่าอะไร

a)

5

b)

5 1

c)

5 4 3 2

d)

5 4 3 2 1

e)

5 4 3 2 1 0

22.

กำหนดให้โปรแกรมมีขั้นตอนการทำงานดังนี้


BEGIN

sum = 0 ;

FOR count = 1 to n

{ sum = sum + 1 ; write(sum) ; }

END


ถ้าคอมพิวเตอร์ทำโปรแกรมนี้จนจบ แล้วจะมีการแสดงค่าอะไร

a)

0 1 2 3 4 ไปจนถึง n

b)

1 2 3 4 ไปจนถึง n

c)

0 1 3 4 7 ไปจนถึง n + (n + 1)

d)

1 3 4 7 ไปจนถึง n + (n + 1)

e)

1 3 5 7 ไปจนถึง n

23.

ในการประมวลผลการทำงานของฟังก์ชันแบบเรียกซ้ำ สิ่งสำคัญที่จำเป็นต้องทราบคือข้อใด

a)

จุดเริ่มต้นของการทำงาน

b)

จุดสิ้นสุดการทำงาน

c)

ค่าเริ่มต้นของการทำงาน

d)

นิพจน์ทั่วไปที่ไม่เรียกซ้ำ

24.

ในการหาค่าของ n ตัวแรกที่ทำให้ผลบวกของอนุกรม 1 + 2 +3 +..+ n > 15 เป็นจริง ถ้าตรวจสอบเงื่อนไข ผลบวก > 15 ในการออกจากวงวนหลังจากที่ทำการบวกสะสมค่าของพจน์ โปรแกรมนี้จะวนอยู่ในวงวนกี่เที่ยว

a)

5 เที่ยว

b)

6 เที่ยว

c)

7 เที่ยว

d)

8 เที่ยว

25.

จาก psuedocode:

a=0;

while a<20

show a on a screen;

a=a+1

a=0; end ผลลัพธ์ค่า a หลังจาก run เสร็จแล้วคือ

a)

0

b)

20

c)

10

d)

ไมมีคำตอบที่ถูกเนื่องจากโปรแกรมไม่สมบูรณ์

e)

ไม่มีคำตอบที่ถูกเนื่องจากโปรแกรมทำงานไม่หยุด

26.

พิจารณาโปรแกรมต่อไปนี้

S = 0

X = 0

WHILE X < N

BEGIN

S = S + 2

X = X + 1

END

STOP


ถ้า N = 10 เมื่อโปรแกรมวิ่งจนจบ S มีค่าเท่าไร

a)

10

b)

12

c)

20

d)

22

e)

ไม่มีข้อใดถูก

27.

ต้องการ บวก 1 ถึง N คำตอบเป็น S โปรแกรมต่อไปนี้ บรรทัดไหนผิด


1 S = 0

2 X = 1

3 WHILE X < N

BEGIN

4 S = S + X

5 X = X + 1

END

STOP

a)

1

b)

2

c)

3

d)

4

e)

5

28.

ให้ N เป็น เลขคู่ มากกว่า 0

ขณะที่โปรแกรมทำงานอยู่ X กับ Y มีค่าตรงกันพร้อนกันได้หรือไม่ ค่าใด


X = 0

Y = N

WHILE X < N

BEGIN

X = X + 1

Y = Y - 1

END

STOP

a)

ไม่มีวันตรงกัน

b)

0

c)

N

d)

N/2

e)

N/2+1

29.

value = -1

while (value < 3)

if (value < 0) then (value = value + 1)


value มีค่าเท่าไร หลังการทำงานของโปรแกรมนี้

a)

-1

b)

0

c)

2

d)

4

e)

ไม่มีคำตอบ เนื่องจากโปรแกรมไม่หยุดทำงาน

30.

จงหาค่าเงื่อนไขที่เพื่อให้ algorithm ได้ผลลัพธ์ต่อไปนี้

1 2 3 4 5 6 7 8

-------------------------------------

count = 1

while ( ___________ ) {

Show count

Show " "

count = count + 1

}

a)

count <=9

b)

count !=9

c)

count+1<=8

d)

count+1 < 10

31.

ถ้าต้องการวนรับอายุของผู้ใช้จนกว่าจะใส่ค่าที่มากกว่าศูนย์ น่าจะตรวจสอบเงื่อนไขก่อนหรือหลังจากรับค่าอายุเก็บไว้ในตัวแปร

a)

ก่อน

b)

หลัง

c)

กลาง

d)

ก่อนหรือกลาง

32.

คำสั่งเทียมต่อไปนี้สอดคล้องกับผลลัพธ์ในข้อใด Set A = 1 Set R = 0.2 FOR I = 1 to N do A = A*(1+R)

a)

A = (1+R)^N

b)

A = A*(1+R)

c)

A = (1+R)*N

d)

A = (1+R)(1+R)

e)

A = A*(1+R)*N

33.

ชุดคำสั่งเทียม DO X = X + 1; WHILE (X < 10); เทียบเท่ากับคำสั่งในข้อใด

a)

FOR N=1 TO 10 X=X+1; END FOR

b)

WHILE (X<10) DO X=X+1; END WHILE

c)

LOOP X=X+1; IF (X>=10) EXIT; END LOOP

d)

REPEAT X=X+1; UNTIL (X<10);

34.
a)
b)
c)
d)
e)
35.
a)

หาผลรวม

b)

หาค่าเฉลี่ย

c)

หาค่าเบี่ยงเบนมาตรฐาน

d)

หาค่ามัธยฐาน

36.

กำหนดให้ == คือ operator ในการตรวจสอบความเท่ากันของข้อมูล

a)

หาค่ามากสุด

b)

นับจำนวนตัวที่มาก

c)

หาว่ามีค่าใน data ที่มีค่าเท่ากับ x หรือไม่

d)

นับจำนวนตัวใน data ที่มีค่าเท่ากับ x

e)

ไม่มีข้อใดถูก

37.
a)

8

b)

9

c)

10

d)

11

e)

ไม่มีข้อใดถูก

38.

ข้อใดผิดสำหรับส่วนโปรแกรมที่ต้องการวนรับตัวอักษรไปเรื่อย ๆ จนกว่าจะกด q โดยที่มีการประกาศตัวแปรให้ใช้ดังนี้ char check=’w’;

a)

while(check!=”q”) { printf(“Enter one char : ”); check=getch( ); }

b)

while(check!=113) { printf(“Enter one char : ”); check=getch( ); }

c)

do { printf(“Enter one char : ”); check=getch( ); } while(check!=‘q’);

d)

for(i=0;check!=‘q’;i++) { check=getche(); }

39.

จากส่วนของโปรแกรมดังต่อไปนี้ ผลลัพธ์ i และ j จะเป็นจะมีค่าเท่าใดเมื่อสิ้นสุดการทำวนรอบ j =0; for (i =0; i < 10 ; i = i+2) j = j+5;

a)

i = 10 j = 50

b)

i = 10 j = 25

c)

i = 12 j = 50

d)

i = 12 j = 25

e)

ไม่มีข้อถูกต้อง

40.

จากส่วนของโปรแกรมดังต่อไปนี้ ผลลัพธ์ i และ j จะเป็นจะมีค่าเท่าใดเมื่อสิ้นสุดการทำวนรอบ j =2; for (i =0; i < 10 ; i = i+2) j = j*2;

a)

i = 10 j =32

b)

i = 10 j = 64

c)

i = 12 j = 32

d)

\i = 12 j =64

e)

ไม่มีข้อถูก

41.

จากส่วนของโปรแกรมดังต่อไปนี้ ผลลัพธ์ i และ j จะเป็นจะมีค่าเท่าใดเมื่อสิ้นสุดการทำวนรอบ j =0; for (i =1; i < 10 ; i = i*2) j = j+2;

a)

i = 10 j = 10

b)

i = 10 j = 8

c)

i = 16 j = 10

d)

i = 16 j = 8

e)

ไม่มีข้อถูก

42.

จากส่วนของโปรแกรมดังต่อไปนี้ ผลลัพธ์ i และ j จะเป็นจะมีค่าเท่าใดเมื่อสิ้นสุดการทำวนรอบ j =1; for (i =1; i < 10 ; i = i*2) j = j*2;

a)

= 8 j = 8

b)

i = 16 j = 8

c)

i = 16 j = 32

d)

i = 8 j = 16

e)

i = 16 j = 16

43.
a)
b)
c)
d)
e)
44.

จากส่วนของโปรแกรมดังต่อไปนี้ ผลลัพธ์ i และ j จะเป็นจะมีค่าเท่าใดเมื่อสิ้นสุดการทำวนรอบ j =0; for (i =1; i < 10 ; i = i*3) j = j+2;

a)

i = 12 j = 8

b)

i = 27 j = 8

c)

i = 12 j =6

d)

i =27 j =6

e)

i =27 j=10

45.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j = 10; do { j = j-1; } while (j >0);

a)

7

b)

8

c)

9

d)

10

e)

11

46.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j =10; do { j = j-2; } while (j >0);

a)

3

b)

5

c)

7

d)

9

e)

10

47.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j = 10; do { j = j/2; } while (j >0);

a)

4

b)

5

c)

6

d)

7

e)

8

48.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j = 10; while (j >=0) { j = j -1; }

a)

8

b)

9

c)

10

d)

11

e)

12

49.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j = 10; while (j >=0) { j = j -2; }

a)

4

b)

5

c)

6

d)

7

e)

8

50.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดการทำงานในวงวน (loop) กี่ครั้ง j = 10; while (j >=0) { j = j - 3 ; }

a)

3

b)

4

c)

5

d)

6

e)

7

51.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดแสดงข้อความ "Test" กี่ครั้ง for (i =0 ; i < 10 ; i++) { printf ("Test\n"); }

a)

9

b)

10

c)

11

d)

12

e)

ไม่มีข้อถูก

52.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะเกิดแสดงข้อความ "Test" กี่ครั้ง for (i =0 ; i =< 10 ; i++) { printf ("Test\n"); }

a)

9

b)

10

c)

11

d)

12

e)

ไม่มีข้อถูก

53.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะแสดงข้อความ "Test" กี่ครั้ง for (i = 1 ;i< 10 ; i++) { printf ("Test\n"); }

a)

8

b)

9

c)

10

d)

11

e)

ไม่มีข้อถูก

54.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะแสดงข้อความ "Test" กี่ครั้ง for (i =1 ;i<= 10 ; i++) { printf ("Test\n"); }

a)

8

b)

9

c)

10

d)

11

e)

ไม่มีข้อถูก

55.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะแสดงข้อความ "Test" กี่ครั้ง for (i =0 ;i< 10 ; i=i+2) { printf ("Test\n"); }

a)

4

b)

5

c)

6

d)

7

e)

8

56.

จากส่วนของโปรแกรม ดังต่อไปนี้ จะแสดงข้อความ "Test" กี่ครั้ง for (i =1 ;i< 10 ; i=i*2) { printf ("Test\n"); }

a)

2

b)

3

c)

4

d)

5

e)

ไม่มีข้อถูก

57.
a)

a = 4 b = 8

b)

a = 4 b = 7

c)

a =5 b= 8

d)

a =5 b= 7

e)

ไม่มีข้อถูก

58.

a)

a = 5 b =6

b)

a = 5 b =7

c)

a = 4 b = 6

d)

a = 4 b =7

e)

ไม่มีข้อถูก

59.

ในการเขียนโปรแกรมเพื่อใช้ในการคูณ matrix ขนาด m x n จำนวน 2 matrix จะต้องใช้การวนลูปกี่ชั้นในการแก้ปัญหานี้

a)

4 ชั้น

b)

2 ชั้น

c)

1 ชั้น

d)

3 ชั้น

60.

ในการเขียนโปรแกรมเพื่อใช้ในการหาค่าน้อยที่สุดของเลขจำนวนเต็ม ถ้ามีเลขจำนวนเต็มอยู่ 10 ตัว จะต้องมีการวนลูปลึกกี่ชั้น และเกิดการเปรียบเทียบขึ้นกี่ครั้ง

a)

1 ชั้น และเกิดการเปรียบเทียบ 10 ครั้ง

b)

1 ชั้น และเกิดการเปรียบเทียบ 9 ครั้ง

c)

2 ชั้น และเกิดการเปรียบเทียบ 36 ครั้ง

d)

2 ชั้น และเกิดการเปรียบเทียบ 45 ครั้ง

61.

ถ้า ส่วน for(x = 2; x <20; x+=3) อยู่ในโปรแกรมที่แสดงค่า x ทุกค่าจนจบโปรแกรม ค่าของ x ในข้อใดไม่ถูกต้อง

a)

8

b)

14

c)

17

d)

18

62.

สัญลักษณ์ดังรูป หมายถึงสัญลักษณ์ในผังงานข้อใด

a)

การรับหรือแสดงผลโดยไม่ระบุอุปกรณ์

b)

การแสดงผลทางจอภาพ

c)

การแสดงผลข้อมูลเป็นเอกสาร เช่นแสดงผลทางเครื่องพิมพ์

d)

จุดเริ่มต้น หรือจุดสุดท้ายของกิจกรรม

63.

โปรแกรมที่แสดง x = 2; while(x<=100) x++; ให้ผลลัพธ์อย่างไร

a)

โปรแกรมแสดง 1-100

b)

โปรแกรมแสดงเลขคู่ตั้งแต่ 2-100

c)

โปรแกรมแสดงเลขตั้งแต่ 2-100

d)

โปรแกรมแสดงเลขคี่ตั้งแต่ 2-100