Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
ช�อ-นามสกล ............................................................................ รหส .................................................. ตอน ..........
บทท� 1 แนะนาระบบคอมพวเตอร
ตอนท� 1 ใหกากบาท ( × ) ขอท�ถกท�สดเพยงขอเดยว 1. ขอมลชนดตวอกษร(char) 1 ตว มขนาดเทาใด
ก. 8 ไบต ข. 8 บต ค. 1 บต ง. 16 บต
2. ขอมลในขอใดมขนาดใหญท�สด
ก. 0.15 GB ข. 1.50 MB
ค. 1,500 KB ง. ขนาดเทากนทกขอ
3. อปกรณเกบขอมล (storage device) ในขอใด ไมใช Flash memory
ก. miniSD Card ข. USB handy drive (thumb drive) ค. DVD-RW ง. MMC (MultiMedia Card)
4. ขอใดถอวาถกตองในการตTงช�อตวแปร ก. @@AA ข. #aa ค. !aa ง. aa_
5. ขอใดเปนลาดบขTนตอนการทางานของโปรแกรมคอมพวเตอร ก. เร�ม คานวณ ประกาศชนดตวแปร รบขอมล แสดงคาตอบ จบ ข. เร�ม ประกาศชนดตวแปร รบขอมล คานวณ แสดงคาตอบ จบ ค. เร�ม รบขอมล ประกาศชนดตวแปร คานวณ แสดงคาตอบ จบ ง. เร�ม รบขอมล ประกาศชนดตวแปร แสดงคาตอบ คานวณ จบ
6. ขอใดคอหนาท�ของ Compiler ก. ชวยตดตอกบอปกรณคอมพวเตอร ข. ชวยแกไขรหสคาส�งโปรแกรมใหถกตอง ค. ชวยจดสรรทรพยากรภายในระบบคอมพวเตอรใหกบโปรแกรมตาง ๆ ง. ชวยแปลคาส�งภาษาโปรแกรมตาง ๆ ใหคอมพวเตอรเขาใจและทางานได
7. โปรแกรมท�ทางานได หรอ Executable program จดเปนภาษาใด ก. ภาษาซ (C Lanaguage) ข. ภาษาแอสเซมบลT (Assembly Language) ค. ภาษาเคร�อง (Machine Language) ง. ภาษาโปรแกรม (Programming Language)
2
8. หลงจากเขยนโปรแกรมเสรจเรยบรอยแลว จะตองคดลอกไฟลใดหากตองการนาโปรแกรมไปใหผอ�นใชงานไดทนท บนระบบปฏบตการท�เหมอนกน ก. Executable File ข. Source File ค. Object File ง. Library File
9. อปกรณของระบบคอมพวเตอรในขอใด ท�จาเปนท�สดในการทางานของคอมพวเตอร ก. หนวยอนพท (Input Unit) ข. หนวยเอาทพท (Output Unit) ค. หนวยความจาขอมล (Main Memory) ง. หนวยประมวลผลกลาง (CPU)
10. ขอใดบรรยายคณลกษณะของ Random Access Memory (RAM) ท�ใชในเคร�องคอมพวเตอรไดเหมาะสมท�สด ก. ขนาดท�ใชงานในเคร�องคอมพวเตอรท�วไปแบบตTงโตะคอ 40 GB ข. ราคาถกท�สดเม�อเทยบกบราคาของหนวยความจาชนดอ�น ค. ความเรวในการทางานชามากเม�อเทยบกบการทางานของหนวยความจาชนดอ�น ง. ขอมลท�เกบจะสญหายเม�อปดเคร�อง
11. ไวรสคอมพวเตอรคออะไร ก. เชTอโรคชนดหน�งท�ตดตอระหวางผใชงานทาใหเกดการเจบปวย ในขณะท�เขาใชงานตามรานอนเตอรเนตคาเฟ ข. เชTอโรคชนดหน�งท�ตดตอจากคนไปยงเคร�องคอมพวเตอร หรอตดตอระหวางอปกรณคอมพวเตอรดวยกน ค. โปรแกรมคอมพวเตอรท�ถกพฒนาขTนมาเพ�อใชการตรวจสอบการทางานระบบปองกน ง. โปรแกรมคอมพวเตอรท�ประสงครายตอขอมลและการทางานของเคร�องคอมพวเตอร ซ� งสามารถแพรกระจายจากเคร�องสเคร�อง โดยการใชงานรวมกนของไฟล หรอโปรแกรมตาง ๆ
12. ขอใดผด ก. ฮารดแวรของคอมพวเตอรคอส�งท�จบตองได เชนหนวยประมวลผล ข. ฮารดดสกเปนฮารดแวรชนดหน�ง ค. ฮารดแวรท�ขาดไมไดคอตวแปลโปรแกรม (คอมไพเลอร) ง. หนวยความจา เปนฮารดแวรท�สาคญ
13. ขอใดตอไปนTไมใช Secondary Memory หรอหนวยความความสารอง ก. RAM ข. Flash drive ค. Harddisk ง. CD-ROM
14. อปกรณในขอใดท�สามารถทาหนาท�เปนไดท Tง Input และ Output
ก. Keyboard ข. Printer ค. Touch Screen ง. Monitor
3
15. ขอใดไมใชหนาท�ของ OS (ระบบปฏบตการของคอมพวเตอร) ก. เปนตวกลางส�อสารระหวางผใชและอปกรณตางๆ ข. คนหาตาแหนง IP ท�แนนอนของอปกรณตางๆ ค. จดสรรพTนท�ในหนวยความจาหลกใหกบโปรแกรมตางๆ ง. ประสานการทางานระหวาง software และ hardware
16. ขอใดไมใช OS (Operating System หรอ ระบบปฏบตการ) ก. Microsoft Windows Media Player 10.0 ข. Linux Ubuntu 12.0 ค. Apple iOS 8.0.2 ง. Windows Phone 8.1
17. การนาคอมพวเตอรหลาย ๆ เคร�องมาตอเขาดวยกน เพ�อใชประโยชนในการตดตอส�อสารในบรเวณเฉพาะท�
เชน ภายในหนวยงานเรยกวาอะไร
ก. LAN ข. WAN
ค. MAN ง. CAN
18. โปรแกรมใด ไมใชโปรแกรมส�อสารขอมลผานอนเตอรเนต
ก. สไกป (Skype) ข. Chrome browser
ค. โปรแกรมประเภทโหลดบต ง. Windows Explorer
19. ซอฟตแวรท�ทาหนาท�ควบคมการทางานของอปกรณตางๆของคอมพวเตอรคอโปแกรมประเภทใด
ก. โปรแกรมโหลดบต ข. โปรแกรมประยกต
ค. โปรแกรมส�อสาร ง. โปรแกรมระบบ
20. ขอใดจดเปนซอฟตแวร
ก. Wifi ข. QR Code ค. Photoshop ง. Laser Printer
จงตอบคาถามตอไปน�
1. จงยกตวอยางโปรแกรม หรอ App ท�จดเปน Social Media [ Facebook, Twitter, Instagram, Line, …]
2. การส�อสารแบบไรสาย คออะไร จงยกตวอยางการใชงานในชวตประจาวน [ การส$อสารท$ใชคล$นเปนพาหะ ถายทอดขอมล เชน Wifi, Bluetooth, Radio, Cellular Telephone 3G, 4G, …] 3. อปกรณ Smartphone จดเปนคอมพวเตอรหรอไม เพราะเหตใด จงยกตวอยางสวนประกอบตางๆ เปรยบเทยบกบ PC เชน input unit, output unit, CPU, main memory, secondary memory
********* จบบทท� 1 **********
4
บทท� 2 การเขยนโปแกรมภาษาซเบ�องตน
ตอนท� 2 15 คะแนน 1. จงหาคาผลลพธการกระทาตอไปนT 1.1 กาหนดให j=19, r=15.32 และ c=’w’ (แตละขอไมสมพนธกน)
1. (j >= 20) && (c == ‘w’) 0 0 && 1___
2. (c != ‘p’) || ((j + r) >= 10) 1 1 || 1
3. !(j > (r + 1)) _0 !(1) ___
4. (j && c || r ) _1 (19 && ‘w’ ) || 5____
1.2 กาหนดให a=1, x=2, y=3 และ z=4 (แตละขอไมสมพนธกน) 1. a + = y + z _8 a = 1 + 3+4
2. a *= z + 6 _10 a = 1 * (4+6)
3. z /= y – a 2 z = 4 / (3-1)
4. x -= z – 2 0 x = 2 - (4-2)
2. จงบอกชนดของตวแปรท�เหมาะสมตอความตองการตอไปนT 1. โปรแกรมตองการรบคาคาตอบจากผใชในรปแบบ ‘y’ และ ‘n’ _ char_
2. ตวแปร 3 ตวใชเกบคาตอไปนT 158, 8526 และ 987 เปนตวแปรชนดใด _ int _
3. ตวแปรท�ใชเกบคาระยะทางท�เปนจานวนทศนยมท�มากกวา 10 ตาแหนง __ double___
3. การตTงช�อของตวแปรตอไปนT ถกตองตามหลกภาษาซ หรอไม Net_Income #PI Grosspay. 1999tax upper-case lower-case net income unsigned
Switch do do123 xyz
4. จงเขยนไดอะแกรมอธบายขTนตอนการเขยนโปรแกรมภาษาซ พรอมทTงแสดงไฟล และโปรแกรมท�เก�ยวของ
5
บทท� 3 Control Structures โครงสรางควบคม
ตอนท� 3 Condition หรอ Selection 1. จงเขยนโปรแกรม เพ�อตรวจสอบวาตวอกษรท�ผใชปอนเปนตวอกษรประเภทใด ประกอบดวย 4 กลม คอ ตวพมพใหญ ตวพมพเลก ตวเลข และ ตวอกษรพเศษ โดยกาหนดใหชวงของตวอกษรมคา ASCII ดงตารางท�กาหนดให ใหใช if - else ในการเขยนโปรแกรมนT
ตวอกษร คา ASCII ขอความท�ใชแสดงผล A-Z 65-90 Capital letter
a-z 97-122 Lowercase letter
0-9 48-57 Digit
Special symbols
(@!#,? และ อ�นๆ) 0-47,58-64,91-
96,123-127
Special symbol
#include <stdio.h>
int main()
{ char ch; int i;
printf("Enter a character:");
scanf("%c",&ch);
if (ch >= 65 && ch <= 90)
// หรอ if(ch>=’A’&& ch<=’Z’) printf("Capital Letter");
else if ( ch >= 97 && ch<=122)
// หรอ if( ch>=’a’&& ch<=’z’) printf("Lowercase letter");
else if (ch >= 48 && ch <=57)
// หรอ if(ch>=’0’&& ch<=’9’) printf("Digit");
else // ถาหากเปนคาอ�นๆนอกจากขางตนท�งหมด ถอวาเปน สญลกษณพเศษท�งหมด printf("Special symbol");
return 0;
}
6
2. จงเขยนโปรแกรมรบคาตวเลขลาดบวนในสปดาห แลวทาการแสดงผลดงตาราง กาหนดใหใช switch-case ในการเขยนโปรแกรมนT
ลาดบวน ขอความท�แสดงออกหนาจอ 1 Yellow
2 Pink
3 Green
4 Orange
5 Blue
6 Violet
7 Red
คาอ�นๆ Black
#include<stdio.h> int main() { int d; printf(”Enter a number of the day(1-7): ”) scanf("%d",&d); switch( d ) { case 1: printf("Yellow\n"); break; case 2: printf("Pink\n"); break; case 3: printf("Green\n"); break; case 4: printf("Orange\n"); break; case 5: printf("Blue\n"); break; case 6: printf("Violet\n "); break; case 7: printf("Red\n "); break; default: printf("Black"); //Optional } return 0; }
7
ตอนท� 4 การทาซ�า Repetition หรอ Loop 1. จากสวนหน�งของโปรแกรมตอไปนT จงหาคาผลลพธหรอเตมสวนของผลลพธท�แสดงออกทางหนาจอคอมพวเตอรใหสมบรณ โดยกาหนดใหตวหนาคอคาท�รบจากผใช (6 คะแนน) ขอ สวนหน�งของโปรแกรม ผลลพธท�แสดงออกทาง
หนาจอ 1.1 int i;
for(i=0;i<12;i=i+2)
{ printf(“111\n”);
}
พมพ 111 หกบรรทด, i=0 เพ�ม รอบละ 2 จนถง i=12 จงหยด
111
111
111
111 111
111 1.2 int i;
for (i = 1; i <=5; i++) i+=i;
printf("%d",i);.
ลป for ทาสองรอบ เร�ม i=1, i=i+i=2 i=i++=3 i=i+i=6 i=i++=7 i=7 เง�อนไขเปนเทจ จบลป
7
-----------------
แสดงคา i ซ�งมคาเปน 7 หลง
จบลป for
1.3 float num=0.5;
int i = 0;
while (i < 5)
{
switch (num)
{case 1:
printf(“Sa\n”);
break;
case 2:
printf(“watdee\n”);
default:
printf(“%d\n”,i);
}
num= num+0.5; i++;
}
โคดโปรแกรมผด คอมไพลไม
ผาน เพราะ ตวแปรของ
switch ไมใชประเภท int
หรอ char
num เปน float ใชเปนคา
ตวเลอก ใน switch
ไมได
1.4
int x =4 ,y=0,z;
while (x >= 0)
{
if (x == y)
break;
else
printf("\n %d %d",x,y);
x--;
y++;
}
4 0
3 1 -----------------
วนลป while สามคร�ง
x=4,y=0 แสดงคา x y
x=3,y=1 แสดงคา x y
x=2 y=2 เม�อ x และ y
เทากน จะเขาเง�อนไข if ทาให
เจอ break คอ ออกจากลป
อยางกะทนหนในทนท
8
2. จงเขยนโปรแกรม เพ�อหาผลบวกของจานวนนบ จาก m ถง n ( 1 ≤ m ≤ n ≤ 1,000) โดยใชวธการทางานแบบวนซ�า
ใหรบคา m และ n จากผใช
เชน Enter values of m and n : 8 12 The sum is 50
#include <stdio.h>
int main()
{ int n, m, j, sum;
printf("Enter values of m and n: ");
scanf(“%d %d”, &m, &n);
sum=0; for (j=m; j<=n; j++) //รนคา j จาก m จนถง n { // คานวณคา sum sum = sum + j; //เกบผลรวม sum+=j; }
printf("The sum is %d\n",sum); //แสดงคา sum return 0;
}
3. จงเขยนโปรแกรม โดยใชโครงสรางลป เพ�อแสดงตวเลขในอนกรม(series) ตอไปน = ใหคา N รบจากผ ใช คาสงสดในอนกรมมคาไมเกน N (แตละอนกรมไมเก�ยวกน เขยนโปรแกรมแยกกนได) Series E N = 20
1 3 5 7 9 11 13 15 17 19
Series D N = 60
1 3 6 10 15 21 28 36 45 55
Series C N = 1250
1250 625 312 156 78 39 19 9 4 2 1
Series B N = 200
2 5 10 17 26 37 50 65 82 101 122 145 170 197
Series A N = 50000000 (หาสบลาน) 1 2 6 24 120 720 5040 40320 362880 3628800 39916800
9
ประกาศตวแปร int N, i, x; รบคา N printf("N = "); scanf("%d",&N);
Series E (เลขค� odd numbers จาก 1 จนถงไมเกน N) for (i=1; i<=N; i+=2)
printf(“%d ”,i);
Series D ( ∑ i คาผลบวก จาก 1 ถง N ) for (x=1,i=1; x<=N; x+= ++i )
printf(“%d ”,x);
Series C (คาจาก N จนถง 1 ลดลงเร�อยๆ ทละคร�งหน�ง(หารสอง) ) for (i=N; i>=1; i/=2)
printf(“%d ”,i);
Series B (คา 1+i2 จาก i=1 จนถงคาไมเกน N ) i=1; x=2;
do { printf(“%d ”,x);
i++; x=1+i*i;
} while (x<=N);
Series A (คาผลคณ จาก 1 ถง i) i=1; x=1;
do { printf(“%d ”,x);
i++; x *= i;
} while (x<=N);
********* จบบทท� 3 **********
10
บทท� 4 Array อารเรย
ตอนท� 5 อารเรย 1. จงเขยนการประกาศตวแปรอารเรย สาหรบเกบขอมลตอไปน = 1.1 GPA (grade point average) ของนกศกษา 60 คน ___ float gpa[60];_________________ 1.2 ช�อของเมองหลวงประเทศไทย _ char capitalCity[] =”Bangkok”; หรอ
char capitalCity[8]=”Bangkok”; //ขนาด>=8 1.3 อารเรยท�เกบจานวนวนในแตละเดอนในรอบหน�งปอธกสรทน __
int days_in_month[12]={31,29,31,30…}; 1.4 สตรงท�เกบขอความ “C programming is easy.” __
char text[]=”C programming is easy.” ; 1.5 จานวนเฉพาะ (prime number) 100 ตวแรก
int prime_num[100]={2,3,5,7,11…}; 1.6 คา รากท�สอง(Square root) ของ 15, 30, 40, 60
float x[4];
หรอ double y[4]={sqrt(15), sqrt(30),
sqrt(40), sqrt(60) } ;
เรยกใชฟงกชนมาตรฐาน double sqrt (double d) จาก math library (math.h)
2. จากประกาศตวแปรเหลาน = จงหาคาตอไปน = char c[30] = “string”; float f[ ] = {1.81, 2.54, -3.401, 4, 10.2 }; int a[6]={6}; int x[5][3] = { {1},{2,3},{4,5,6},{7,8},{9} }
2.1) sizeof(c) + sizeof(f) __ 30 + 5x4 = 50 ________
2.2) sizeof (f[3]) + a[0] __ 4 + 6 = 10 _______ 2.3) a[0]+a[1]+a[2] ____6 + 0 + 0 = 6 ______
2.4) ++a[1] ____0 + 1 = 1_______
2.5) f[1]+2 + sizeof f[1] ____ 2.54 + 2 + 4 = 8.54 ___
2.6) จงแจกแจงคาของสมาชก(element)ทกตวของตวแปร x x[0][0]= 1 x[0][1]= 0 x[0][2]= 0
x[1][0]= 2 x[1][1]= 3 x[1][2]= 0 x[2][0]= 4 x[2][1]= 5 x[2][2]= 6
x[3][0]= 7 x[3][1]= 8 x[3][2]= 0 x[4][0]= 9 x[4][1]= 0 x[4][2]= 0
11
3. จงเขยนโปรแกรม ท�คานวณหาคา Fibonacci number n จานวนแรก ของลาดบ Fibonacci ซ�งมนยามดงน = F0 = 0 F1 = 1 Fn = Fn-1+ Fn-2 if n>1
เชน 10 จานวนแรกของ Fibonacci numbers คอ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
ใหโปรแกรมรบคา n จากผใช ซ�งมคาไมเกน 30 และ ใชอารเรย ขนาด 30 เกบคาตวเลข Finbonacci #include<stdio.h>
#define MAX 30
int main()
{ int j,n,F[MAX]={0};
printf("How many Fibo numbers? ");
scanf("%d",&n);
F[0]=0; F[1]=1;
for(j=2; j<n; j++)
{ F[j]= F[j-1]+F[j-2];}
//Show n fibo numbers
printf("Fibonacci numbers : ");
for (j=0;j<n;j++)
printf("%d ",F[j]);
printf("\n");
getch();
return 0;
}
4. จงเตมโปรแกรมใหสมบรณ เพ�อทาการหาคาท� มากท�สด จากการรบคาจากผใชจานวน 5 คา #include <stdio.h>
int main()
{ int … j[5].......; int i, k;
printf("Input values: ");
for (i=0;… i<5 …;i++)
scanf(“%d”,…&j[i]…); k=j[0];
for (i=1;… i<5 ;i++)
{ if (……j[i]>k ………)
………… k=j[i]………; }
printf(“The max value is %d \n“, ......k……); return 0;
}
12
4. จงเขยนโปรแกรม เพ�อคนหาคาขอมล วามอยในเมตรกซหรอไม เมตรกซมขนาดไมเกน 10x10 และ ใหแสดง
ผลลพธ วาคาท�พบอยท�ตาแหนงแถวและหลกใด หากวาหาพบ แตถาไมพบใหแสดงขอความวา NOT FOUND! ตวอยางเชน มเมตรกซ ขนาด 2x3
ถาคาท�ตองการหา คอ 3 จะแสดงผลลพธคอ 3 is found at row 1 column 2 ถาคาท�ตองการหา คอ 7 จะแสดงคาตอบคอ 7 is NOT FOUND! ถา คาท�ตองการหา คอ 2 จะไดคาตอบคอ 2 is found at row 2 column 1 #include<stdio.h>
#define MAX 10
int main()
{ int matrix[10][10], r, c, find;
int row, col, i, j;
//Input matrix
printf("Input matrix\n");
printf("Enter number of rows:"); scanf("%d",&row);
printf("Enter number of columns:"); scanf("%d",&col);
for(i=0;i<row;i++)
for(j=0;j<col;j++)
{ printf("matrix [%d][%d] = ",i+1,j+1);
scanf("%d",&matrix[i][j]);
}
printf("Enter a value to find:"); scanf("%d", &find);
// find the value in matrix
r=-1; c=-1;
for(i=0; i<row; i++)
for(j=0; j<col; j++)
{ if( matrix[i][j] == find )
{ r=i+1; c=j+1; }
}
if (r>0 && c>0)
printf("\n %d is found at row %d, column %d\n",
find , r, c);
else
printf("\n %d is NOT FOUND!\n", find );
return 0;
}
********* จบบทท� 4 **********