ก่อนเฉลยแบบฝึกหัดที่
2... กรุณาอ่านข้อความนี้ก่อน
ประกาศจากเว็บไซด์วิทยาการคอมพิวเตอร์
สำหรับโรงเรียนตากพิทยาคม http://tps.comsci.info )
วันที่ 5 มกราคม 2552 เวลา 23.10
( หมายเหตุ แก้ไขปรับปรุงข้อมูล
(Update) วันอังคารที่ 6 มกราคม เวลา 21.00
น. )
ขณะทำข้อสอบภาคปฏิบัติ... ไม่ควรปล่อยให้เว้นว่างไว้มากเกิน ไม่ท้อแท้หรือสิ้นหวัง
เวลาจำกัด ทำให้ทันเวลา ...
กรุณาทำให้มากที่สุดตามศักยภาพของนักเรียนเอง ที่สำคัญต้องสัมพันธ์กับโจทย์ เพื่อผลประโยชน์ของนักเรียนเอง
การดูเฉลยก่อนลงมือทำแบบฝึกหัด
จะทำให้นักเรียนขาดทักษะและประสบการณ์ด้าน
การเขียนโปรแกรม
โดยเฉพาะในเชิงคิดวิเคราะห์ ซึ่งทำให้การพัฒนาสติปัญญาในการแก้ปัญหาไม่เต็มที่
โปรดซื่อสัตย์ทำด้วยตนเองและตรวจสอบคำตอบเอง
และขอย้ำว่าไม่ควรนำแบบฝึกหัดภาคปฏิบัตินี้
ไปใช้ในการท่องจำเป็นหลัก เพราะการเขียนโปรแกรมภาคปฏิบัติ ต้องใช้ความเข้าใจ การคิดวิเคราะห์สูงมาก
เป็นกำลังใจให้นักเรียนทุคน โดย ครูวัชระ วงษ์ดี ครูประจำวิชาการเขียนโปรแกรม 1 - 2
คำแนะนำ
!
เพื่อเสริมทักษะและประสบการณ์การเขียนโปรแกรมให้มากขึ้นแนะนำให้ทำแบบฝึกหัดเพิ่มเติมที่
เว็บไซด์วิทยาการคอมพิวเตอร์
สำหรับโรงเรียนตากพิทยาคม
ดังนี้
http://tps.comsci.info
-->วิชาการเขียนโปรแกรมคอมพิวเตอร์
-->วิชาการเขียนโปรแกรม 2 --> หัวข้อแบบฝึกหัด
คำอวยพรก่อนสอบกลางภาค ในปีการศึกษา 2551
ก็ขอให้นักเรียนทุกท่าน จงประสบแต่ความสำเร็จ ความเจริญในทุกๆ ด้าน คิดระบบ System Analysis ... ระบบใดๆ ขอให้สมหวังดั่งปราถนา
เจอปัญหาอุปสรรคสิ่งใด
ขอให้ฟันฝ่าด้วยการจำลองการแก้ปัญหาทางอัลกอริทึ่มและโฟล์วชาร์ตได้ด้วยดี
และคิดลงมือปฏิบัติด้วยการจินตนาการเขียน Source
Code กันอย่างสนุกสนานสำราญใจ
ได้ด้วยเทอญ
คำอวยพร ในวันปีใหม่ 2552
สำหรับนักเรียนที่ขยันตั้งใจเรียนหมั่นฝึกฝนวิชาเขียนโปรแกรม
1 - 2
ขอให้ประสบความสำเร็จในการเรียนทุกวิชา การสอบเข้าสถาบันอุดมศึกษาต่างๆ
และสามารถแก้ปัญหาฝ่าฟันอุปสรรคชีวิตในทุกๆด้านได้ด้วยดี เทอญ...
โดยครูวัชระ วงษ์ดี
เฉลยแบบฝึกหัดที่
2 ภาคปฏิบัติก่อนสอบกลางภาค ( ทดสอบการคิดวิเคราะห์
การแก้ปัญหา)
วิชาการเขียนโปรแกรม
2 ภาคเรียนที่
2 ปีการศึกษา
2551
(เฉลยวันที่ 5 มกราคม 2551 เวลา 23.10 น.
จัดทำโดยครูวัชระ วงษ์ดี
อ้างอิงจากเว็บไซด์วิทยาการคอมพิวเตอร์
สำหรับโรงเรียนตากพิทยาคม http://tps.comsci.info )
จุดประสงค์ที่
11 สามารถนำความรู้ความสามารถในการทำชิ้นงานเขียนโปรแกรมคอมพิวเตอร์ เพื่อประยุกต์ใช้งาน
คำสั่ง
ให้นักเรียนศึกษาหนังสือเรียนภาษาซีและเอกสารใบความรู้ต่างๆ
ทั้งหมดของภาคเรียนที่ 1 แล้วพิจารณาโจทย์ปัญหาของโปรแกรมดังนี้ และให้นักเรียนเขียน SA1 , SA2
, ออกแบบจอภาพ , วิเคราะห์ปัญหา
(โดยกำหนดตัวแปร) , เขียนอัลกอริทึ่ม , เขียนโฟล์วชาร์ต , เขียน Source Code ภาษาซี
โจทย์ปัญหา ผู้ใช้งานต้องการโปรแกรมพื้นที่สามเหลี่ยมมุมฉากโดยผลลัพธ์ต้องเป็นทศนิยม
2 ตำแหน่ง และต้องการให้โปรแกรมสามารถทดสอบเงื่อนไขของผลลัพธ์เลขหลักหน่วยของพื้นที่สามเหลี่ยมมุมฉากว่าเป็นจำนวนคู่หรือจำนวนคี่
ดังตัวอย่างการทดสอบเงื่อนไขต่อไปนี้
ตัวอย่างที่ 1 ถ้าผลลัพธ์ของพื้นที่สามเหลี่ยมมุมฉากเป็นเลข
602.00 ให้แสดงข้อความว่า even
number
ตัวอย่างที่ 2
ถ้าผลลัพธ์ของพื้นที่สามเหลี่ยมมุมฉากเป็นเลข
43.00 ให้แสดงข้อความว่า odd
number
1. การวิเคราะห์และออกแบบระบบในระดับภาพรวม ( SA1 :
Context Diagram )
2. การวิเคราะห์และออกแบบระบบในระดับย่อย ซึ่งกำหนดให้เขียนไม่เกิน 2 Process ( SA2 :
Level 0 )
( คำเตือน
! ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด จะทำให้ขาดทักษะด้านการคิดวิเคราะห์
แก้ปัญหา ฯลฯ )
3. ออกแบบจอภาพ
3.1 ออกแบบจอภาพ Level 0
> Process 1
Program :
a rightangled triangle area
input
height = 6
input
base =
4
result of
a rightangled triangle area =
12.00
3.2 ออกแบบจอภาพ Level 0
> Process 2
result
of compare = even number
4. วิเคราะห์ปัญหา
4.1 กำหนดตัวแปร
ลำ ดับ ที่ |
ความ สัมพันธ์ของ Process |
รายการข้อมูลนำเข้าหรือข้อมูลสารสนเทศ (ชื่อ Data Flow ของ SA2 ) |
ตั้งชื่อตัวแปร (ภาษาอังกฤษ) |
ชนิดตัวแปร (ตัวเลข...., อักขระ ,ข้อความ) |
ขนาดข้อมูล
(ขนาดไม่เกินกี่หลักหรือกี่ตัวอักขระ) |
ตัวอย่างข้อมูล (มาจากออกแบบจอภาพ) |
1. |
1 |
ความสูง |
tall |
ตัวเลขจำนวนเต็ม |
2 หลัก |
6 |
2. |
1 |
ความยาวฐาน |
base_long |
ตัวเลขจำนวนเต็ม |
2 หลัก |
4 |
3. |
1, 2 |
ผลลัพธ์ของพื้นที่สามเหลี่ยมมุมฉากที่คำนวณแล้ว |
triangle_area |
ตัวเลขทศนิยม |
4 หลักทศนิยม 2 ตำแหน่ง |
12.00 |
4. |
1 , 2 |
ค่าเศษเหลือที่ได้จากการนำผลลัพธ์ของพื้นที่สามเหลี่ยมมุมฉากมาหารด้วย
2 |
fraction |
ตัวเลขจำนวนเต็มบวก |
1 หลัก |
1 |
5. |
2 |
ผลการเปรียบเทียบของผลลัพธ์
พท. สามเหลี่ยมมุมฉากว่าเป็นจำนวนเต็มคู่หรือคี่ |
compare_number |
ข้อความ |
12 ตัวอักขระ |
even number |
เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่
( URL : http://tps.comsci.info/programming/ex2_mid2_2551.doc )
( คำเตือน
! ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด จะทำให้ขาดทักษะด้านการคิดวิเคราะห์
แก้ปัญหา ฯลฯ )
จุดประสงค์ที่
9 สามารถแปลงอัลกอริทึ่มหรือโฟล์วชาร์ตให้เป็นภาษาซี
คำชี้แจง ให้นักเรียนนำ SA และวิเคราะห์ปัญหาที่ได้มาเขียนเป็นอัลกอริทึ่มด้านซ้ายและโฟล์วชาร์ตด้านขวาของกระดาษแผ่นนี้
5.1 อัลกอริทึ่ม Level 0 > Process 1 6.1 โฟล์วชาร์ต Level 0 > Process 1
Start
Program
1. เริ่มการทำงานของโปรแกรม
tall = 0, base_long = 0, triangle_area= 0.00, fraction = 0
2. กำหนดตัวแปรเริ่มต้น tall = 0 , base_long = 0 ,
triangle_area = 0.00, fraction = 0
Display Program
: a rightangled triangle area
3. แสดงข้อความว่า Program :
a rightangled triangle area
4. แสดงข้อความว่า input height =
Display input
height =
5. รับข้อมูลความสูงแล้วเก็บที่ตัวแปร tall
Input tall
6. แสดงข้อความว่า input
base =
7. รับข้อมูลความยาวฐานแล้วเก็บที่ตัวแปร base_long
Display input base = Input base_long
8. คำนวณหาพื้นที่สามเหลี่ยมมุมฉาก
โดยนำ tall
คูณ base_long
คูณ 0.5
triangle_area
= tall
* base_long * 0.5
แล้วนำผลลัพธ์ไปเก็บที่ตัวแปร triangle_area
9. แสดงข้อความว่า result of
a rightangled triangle area =
Display result
of a rightangled triangle area =
10. นำค่าจากตัวแปร triangle_area มาแสดงผล
11. คำนวณโดยนำผลลัพธ์ของพท.
สามเหลี่ยมมุมฉาก
Display triangle_area
มาหาร 2 แล้วนำค่าเศษที่ได้มาเก็บที่ตัวแปร fraction
12. จบการทำงาน
5.2 อัลกอริทึ่ม Level 0 > Process 2 6.2 โฟล์วชาร์ต Level 0 > Process 2
1. เริ่มการทำงานของโปรแกรม
compare_number =
2. กำหนดตัวแปรเริ่มต้น compare_number
= ,
3. เปรียบเทียบค่าเศษจากตัวแปร
fraction ว่าเท่ากับเลข 0 หรือไม่
True False compare_number = odd number fraction = 0 Display result of
compare = compare_number = even number End Program Display compare_number
3.1 ถ้าเป็นจริง ให้นำข้อความ even number
มาเก็บที่ตัวแปร compare_number แล้วไปทำงานข้อที่ 4
3.2 ถ้าเป็นเท็จ ให้นำข้อความ odd number
มาเก็บที่ตัวแปร compare_number แล้วไปทำงานข้อที่ 4
4. แสดงข้อความว่า result of compare =
5. นำค่าจากตัวแปร compare_number มาแสดงผล
6. จบการทำงาน
หมายเหตุ modulus หมายถึง การคำนวณเศษเหลือจากการหาร เช่น 9 ÷ 2 = 4 (ได้ค่าเศษ 1 ) (ดูภาคผนวกด้านล่าง)
(
คำเตือน ! ไม่ควรดูเฉลยก่อนลงมือทำแบบฝึกหัด จะทำให้ขาดทักษะด้านการคิดวิเคราะห์
แก้ปัญหา ฯลฯ )
จุดประสงค์ที่
9 สามารถแปลงอัลกอริทึ่มหรือโฟล์วชาร์ตให้เป็นภาษาซี
ให้นักเรียนนำอัลกอริทึ่มหรือโฟล์วชาร์ตมาแปลงให้เป็น
Source Code ภาษาซี
#include
<stdio.h>
#include
<conio.h>
#include
<string.h>
void main(void)
{ // ------- Source Code of Level 0 , Process 1 ---------
int tall =
0 , base_long = 0 , triangle_integer = 0 , fraction = 0 ;
// ( Comment : Add Variable name is triangle_integer .
// to repair a modulus
problem to can not process the float type variable. )
float
triangle_area = 0 ;
printf("Program
: a
rightangled triangle area
\n");
printf("input
height = ");
scanf("%d"
, &tall );
printf("input
base = ");
scanf("%d"
, &base_long );
triangle_area
= tall * base_long *
0.5 ;
fraction = triangle_integer % 2 ;
printf("result of
a rightangled triangle area =
%.2f \n", triangle_area
);
//
------- Source Code of Level
0 , Process 2 ---------
char
compare_number[12] = " "
;
triangle_integer
=
triangle_area ;
// ( Comment : transfer value form the triangle_area to
the triangle_integer )
if ( fraction ==
0 )
{
strcpy (compare_number , "even number"); }
else
{
strcpy (compare_number , "odd number"); }
printf("result
of compare = \"%s\"
\n", compare_number );
}
หมายเหตุ ไม่สามารถใช้คำสั่ง triangle_ triangle_area % 2 เนื่องจากเป็นคำสั่งที่ต้องนำค่าผลลัพธ์สามเหลี่ยมมุมฉากชนิดทศนิยมมาหารเพื่อเอาค่าเศษ ซึ่งคำสั่ง % ซึ่งเป็น modulus
ในภาษาซีไม่สามารถทำงานด้วยตัวแปรชนิดทศนิยมได้ จึงประกาศตัวแปรพิเศษ คือ
triangle_integer ซึ่งเป็นตัวแปรชนิดจำนวนเต็ม นำมาใช้ในการแก้ปัญหา Source
Code ภาษาซี Error
เป็นกรณีพิเศษ
เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่
( URL : http://tps.comsci.info/programming/ex2_mid2_2551.doc )
คำชี้แจงเพิ่มเติมเกี่ยวกับแบบฝึกหัดภาคปฏิบัติก่อนสอบกลางภาค
เนื่องจากคำตอบมีหลายคำตอบและมีหลายวิธีการแก้ปัญหา
ดังนั้นการเฉลยแบบฝึกหัดภาคปฏิบัตินี้ จึงไม่จำเป็นต้องเหมือนกับเฉลยทุกประการ เพราะการแก้ปัญหามีหลายวิธี
แต่ต้องมีความถูกต้องและสัมพันธ์กับเป้าหมายที่โจทย์ต้องการ
หากนักเรียนมีคำตอบอื่นๆ
นอกเหนือจากเฉลยนี้
และไม่แน่ใจในคำตอบที่ได้
สามารถพบครูเพื่อขอตรวจสอบคำตอบของนักเรียนได้
(
พึงระลึกไว้เสมอว่า การแก้ปัญหามีหลายวิธี แต่ต้องเลือกวิธีที่ดีที่สุด ขั้นตอนกระชับหรือน้อยที่สุด
ภายใต้ความถูกต้องและเป้าหมายเดียวกัน
)
คำแนะนำ
เพื่อเสริมทักษะและประสบการณ์การเขียนโปรแกรมให้มากขึ้นแนะนำให้ทำแบบฝึกหัดเพิ่มเติมที่
เว็บไซด์วิทยาการคอมพิวเตอร์
สำหรับโรงเรียนตากพิทยาคม ดังนี้
http://tps.comsci.info
-->วิชาการเขียนโปรแกรมคอมพิวเตอร์
-->วิชาการเขียนโปรแกรม 2 --> หัวข้อ แบบฝึกหัด
สำหรับนักเรียนที่ต้องการทบทวนการทำแบบฝึกหัดภาคปฏิบัติเก่า
ของวิชาการเขียนโปรแกรม 1 ภาคเรียนที่ 1
ปีการศึกษา 2551 ให้คลิกที่ Link ต่อไปนี้
http://tps.comsci.info
-->วิชาการเขียนโปรแกรมคอมพิวเตอร์
-->วิชาการเขียนโปรแกรม 1 --> หัวข้อ แบบฝึกหัด
ภาคผนวกเกี่ยวกับ
Algorithm และ Flowchar
Program
ทบทวนภาคปฏิบัติเทอม 1
Algorithm หมายถึง
ลำดับขั้นตอนวิธีในการทำงานของโปรแกรมเพื่อแก้ปัญหา
หรือการเขียนคำอธิบายการแก้ปัญหาทีละขั้นตอน (ซึ่งนิยมเขียนเป็นข้อความ)
ทบทวนภาคปฏิบัติเทอม 1
Flowchar Program หมายถึง
ผังงานโปรแกรมหรือแผนภูมิสายงานของโปรแกรม
ผังงาน
คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ
ประโยชน์ของผังงาน
ช่วยลำดับขั้นตอนการทำงานของโปรแกรม
และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน
ช่วยในการตรวจสอบ
และแก้ไขโปรแกรมได้ง่าย
เมื่อเกิดข้อผิดพลาด
ช่วยให้การดัดแปลง
แก้ไข
ทำได้อย่างสะดวกและรวดเร็ว
ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
วิธีการเขียนผังงานที่ดี
ใช้สัญลักษณ์ตามที่กำหนดไว้
ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง
หรือจากซ้ายไปขวา
คำอธิบายในภาพควรสั้นกระทัดรัด
และเข้าใจง่าย
ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ
ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม
ภาคผนวกเกี่ยวกับการคำนวณเศษเหลือจากการหาร
( Modulus )
Modulus operator
and its applications
โดย สงกรานต์ ศิริเดชาชัย
( URL :
http://www.hpcc.nectec.or.th/wiki/images/b/bb/Mini_Talk_Songkran02_Modulo.pdf )
Modulus
operator เป็นเครื่องหมายทางคณิตศาสตร์อย่างหนึ่ง ใช้สำหรับคำนวณเศษเหลือจากการหาร
ในภาษา
C/C++, perl และ Java จะใช้สัญลักษณ์ %
ในภาษา
Fortran จะใช้ฟังก์ชัน
r = mod(n,d)
Modulus
operator จะใช้ได้กับข้อมูลแบบจำานวนเต็ม (integer) เท่านั้น
ตัวอย่าง int r1 = 9/2; // r1 = 4
int
r2 = 9%2; // r2 = 1
เจาะลึกขั้นตอนวิธีการหารตัวเลขจำนวนเต็ม
n = qd + r
; 0 <= r < |d|
ในการหารจำานวนเต็ม
n ด้วย d
สามารถเขียนเป็นสมการดังนี้
n ถูกเรียกว่า ตัวตั้ง (dividen)
d ถูกเรียกว่า ตัวหาร (divisor)
q ถูกเรียกว่า ผลหาร (quotient)
r ถูกเรียกว่า เศษเหลือ (remainder)
ตัวอย่าง
15 = (6)(2)+3
เจาะลึกขั้นตอนวิธีการหารตัวเลขจำนวนเต็ม
n = qd + r
; 0 <= r < |d|
ในการหารจำานวนเต็ม
n ด้วย d
สามารถเขียนเป็นสมการดังนี้
n ถูกเรียกว่า ตัวตั้ง (dividen)
d ถูกเรียกว่า ตัวหาร (divisor)
q ถูกเรียกว่า ผลหาร (quotient)
r ถูกเรียกว่า เศษเหลือ (remainder)
ตัวอย่าง
15 = (6)(2)+3
ความจริงที่ซ่อนอยู่คือ
เซตของเศษเหลือจากการหารด้วย d คือ { 0, 1,
2, ..., d-1 }
เช่น
เซตของเศษเหลือจากการหารด้วย 7
คือ { 0, 1, 2, 3, 4, 5, 6 }
ตัวอย่างที่1:
Generating big integer
คุณครูสอนวิชาเขียนโปรแกรมคอมพิวเตอร์
ได้ให้การบ้านกับนักเรียน ทำา
การคำานวณ
บวก ลบ คูณ หาร ตัวเลข big
integer ซึ่งเป็นตัวเลขที่มีค่า
มากเกินกว่าจะเก็บค่าไว้ในตัวแปรแบบ primitive ได้
สมมุติว่าตัวท่านเป็นคุณครูคนดังกล่าว
จงเขียนโปรแกรมคอมพิวเตอร์
เพื่อสร้างตัวเลขที่จะใช้ในการทดสอบโปรแกรมของนักเรียน
โดย
โปรแกรมดังกล่าวทำาหน้าที่สร้างตัวเลข big integer ที่ประกอบด้วยตัว
เลขโดดจำานวน
80 digit
ตัวอย่างผลลัพธ์ที่ต้องการ
92687054933049415183442996582894254289874389242050396715466675093631510058174599
69484733558671936086423115563571619183650419802432374885451910171201789750733196
76059999090266708826016035838995701712614962732826447240055865637928110506791275
09578674981643309674060432217447596384892176409686084048481125097735134561313272
เฉลยตัวอย่างที่1
/* โปรแกรม generate random number ความยาว80 ตัวอักษร */
/* ตัวเลขตัวแรกอาจเป็นเลขศูนย์ */
01:
#include<stdio.h>
02:
#include<stdlib.h>
03: #include<time.h>
04:
05: int
main(int argc, char* argv[]){
06:
07:
const int
length = 80;
08:
const int
divisor = 10;
//
remainder = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
09:
int num;
10:
11:
srand(
(unsigned)time(NULL) );
12:
13:
for( int i
= 0 ; i < length ; i++ ){
14:
num =
rand() % divisor;
15:
printf("%d",
num);
16:
}
17:
printf("\n");
18:
19:
return(EXIT_SUCCESS);
20: }
ตัวอย่างที่2: Long
string
จงเขียนโปรแกรมคอมพิวเตอร์
เพื่อสร้างแถวตัวอักษรแบบสุ่มจำนวน 80 ตัว ซึ่ง
ประกอบจาก
A Z
ข้อแนะนำา
ASCII code for A = 65
ตัวอย่างผลลัพธ์ที่ต้องการ
SOWTQNEEMXRBLBNLSURWXJLLRWLMGMABCWWTKCXYZRZNSOYMIRJFCWTTSEFASHBUEXPQBNQBGSOYGOMR
BKLFBOVVVBVUCTLHVFCNUEEQXJOTVZSYKGENUBLQCIMHBZQZESMAZQSYAHSVIMUUSAIPDVHFDTOGSFFX
OPJOHJXJJRHRELSZCXLQUAGDJLDHZPINGTENDBXOUGFATZZVYMNUOUXXFAGHRQUYKALPBKDVSKXLMYIK
YLJDQNGKQPFKWIFWDZCPTLKGUAPWBXEZKNEBAKLSZTEXBJVFIZWBKJJGJADKYJLKWPLYBZSAUWZVGUCQ
เฉลยตัวอย่างที่2
/* โปรแกรม generate random capital alphabet ความยาว 80
ตัวอักษร */
/* A=65 and
Z=90 */
01:
#include<stdio.h>
02:
#include<stdlib.h>
03: #include<time.h>
04:
05: int
main(int argc, char* argv[]){
06:
07:
const int
length = 80;
08:
const int
nalpha = 26; // remainder = {0, 1, 2, 3, 4, ..., 25}
09:
const int
asciiA = 65; // ascii code of 'A' = 65
10:
int num;
11:
12:
srand(
(unsigned)time(NULL) );
13:
14:
for( int i
= 0 ; i < length ; i++ ){
15:
num =
asciiA + rand() % nalpha;
16:
printf("%c",
num);
17:
}
18:
printf("\n");
19:
20:
return(EXIT_SUCCESS);
21: }
ภาคผนวก
เกี่ยวกับคำศัพท์คณิตศาสตร์พร้อมทั้งศัพท์ภาษาอังกฤษ
URL : http://www.web.ku.ac.th/schoolnet/snet2/vocabulary/voc4.htm
จำนวน |
ปริมาณที่ทำให้มีความรู้สึกว่ามากหรือน้อย |
จำนวนคี่ |
จำนวนเต็มที่ไม่ใช้จำนวนคู่ หรือจำนวนที่อยู่ในเซต |
จำนวนคู่ |
จำนวนเต็มที่หารด้วย 2 แล้วได้ผลลัพธ์เป็นจำนวนเต็ม
นั่นคือ จำนวนที่อยู่ในเซต |
จำนวนจริง |
จำนวนที่เป็นสมาชิกอยู่ในเซตที่เกิดจากยูเนียนของเซตของจำนวนตรรกยะ และเซตของจำนวนอตรรกยะ |
จำนวนจริงบวก |
จำนวนจริงที่มากกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางขวามือของจุดแทนศูนย์บนเส้นจำนวน |
จำนวนจริงลบ |
จำนวนจริงที่น้อยกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางซ้ายมือของจุดแทนศูนย์บนเส้นจำนวน |
จำนวนจินตภาพ |
จำนวนเชิงซ้อน a + bi เมื่อ b # 0 |
จำนวนจินตภาพแท้ |
จำนวนเชิงซ้อน a + bi เมื่อ a = 0 และ
b # 0 (ดู จำนวนเชิงซ้อน
ประกอบ) |
จำนวนเฉพาะ
|
จำนวนเต็ม a ซึ่งไม่เท่ากับ 0 หรือ และต้องหารลงตัวด้วย และ เท่านั้น เช่น เป็นต้น (ส่วนมากมักจะกล่าวถึงจำนวนเฉพาะทีเป็นจำนวนจริงบวกเท่านั้น) |
จำนวนเชิงซ้อน |
จำนวนใด ๆ ที่เขียนในรูปคู่อันดับ (a, b) เมื่อ
a และ
b เป็นจำนวนจริงและมีคุณสมบัติต่อไปนี้ 1. (a, b) = (c, d) ต่อเมื่อ a = c และ
b = d 2. (a, b) + (c, d) =
(a + c, b + d) 3. (a, b) . (c, d) =
(ac - bd, ad + bc) |
จำนวนตรรกยะ |
จำนวนที่เขียนได้ในรูป โดยที่ a และ
b ต่างเป็นจำนวนเต็มและ
b # 0 ได้แก่ 1. จำนวนเต็ม 0, 1, -1, 2, -2, 3, -3, .... 2. จำนวนที่เขียนไว้ในรูปเศษส่วนของจำนวนเต็ม โดยที่ตัวหารไม่เป็นศูนย์ 3. จำนวนที่เขียนไว้ในรูปทศนิยมซ้ำ
เช่น |
จำนวนเต็ม |
จำนวนที่อยู่ในเซต { ..., -2, -1, 0, 1,
2, ...} |
จำนวนเต็มบวก |
จำนวนที่อยู่ในเซต { 1, 2, 3, ...} |
จำนวนเต็มลบ |
จำนวนที่อยู่ในเซต { -1, -2, -3, ....} |
จำนวนนับ |
ดู จำนวนเต็มบวก
|
จำนวนเลขคณิต |
จำนวนที่เกี่ยวข้องกับชีวิตประจำวันได้แก่จำนวนเต็มบวก เศษส่วน
ทศนิยม และจำนวนจริง (ที่เป็นบวก) |
จำนวนอตรรกยะ |
จำนวนจริงที่ไม่ใช่จำนวนตรรกยะเขียนได้ในรูปทศนิยมไม่ซ้ำ เช่น =
3.1415926535..., sin 45 ํ = 0.70710678..., tan 140 ํ = -0.8391... |
จีเอม |
|
จุดกำเนิด |
จุดตัดของแกน X และแกน Y ในระบบแกนมุมฉาก หรือจุดแทนจำนวนศูนย์บนเส้นจำนวน |
จุดกึ่งกลาง |
ทางสถิติหมายถึงจุดกึ่งกลางของแต่ละอันตรภาคชั้น หาได้จากการเฉลี่ยค่าขอบบนและขอบล่างของแต่ละอันตรภาคชั้น |
จุดทศนิยม |
จุดที่อยู่ระหว่างจำนวนเต็มหรือศูนย์กับเศษส่วนในระบบฐานสิบ |
อ่านเพิ่มเติมเสริมความรู้ทางคณิตศาสตร์ที่ http://www.web.ku.ac.th/schoolnet/snet2/vocabulary/voc4.htm
เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่
( URL : http://tps.comsci.info/programming/ex2_mid2_2551.doc )