ก่อนเฉลยแบบฝึกหัดที่ 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  หมายถึง  ผังงานโปรแกรมหรือแผนภูมิสายงานของโปรแกรม

การเขียนผังงาน ( Flowchart )

ผังงาน คือ แผนภาพที่มีการใช้สัญลักษณ์รูปภาพและลูกศรที่แสดงถึงขั้นตอนการทำงานของโปรแกรมหรือระบบทีละขั้นตอน รวมไปถึงทิศทางการไหลของข้อมูลตั้งแต่แรกจนได้ผลลัพธ์ตามที่ต้องการ

ประโยชน์ของผังงาน

ช่วยลำดับขั้นตอนการทำงานของโปรแกรม และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน

ช่วยในการตรวจสอบ และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด

ช่วยให้การดัดแปลง แก้ไข ทำได้อย่างสะดวกและรวดเร็ว

ช่วยให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น

วิธีการเขียนผังงานที่ดี

ใช้สัญลักษณ์ตามที่กำหนดไว้

ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา

คำอธิบายในภาพควรสั้นกระทัดรัด และเข้าใจง่าย

ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก

ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน

ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรม

ภาคผนวกเกี่ยวกับการคำนวณเศษเหลือจากการหาร  ( 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


Page 7

เฉลยตัวอย่างที่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

 

จำนวน
(number)

ปริมาณที่ทำให้มีความรู้สึกว่ามากหรือน้อย

จำนวนคี่
(odd number)

จำนวนเต็มที่ไม่ใช้จำนวนคู่ หรือจำนวนที่อยู่ในเซต

จำนวนคู่
(even number)

จำนวนเต็มที่หารด้วย 2 แล้วได้ผลลัพธ์เป็นจำนวนเต็ม นั่นคือ จำนวนที่อยู่ในเซต

จำนวนจริง
(real number)

จำนวนที่เป็นสมาชิกอยู่ในเซตที่เกิดจากยูเนียนของเซตของจำนวนตรรกยะ และเซตของจำนวนอตรรกยะ

จำนวนจริงบวก
(positive real number)

จำนวนจริงที่มากกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางขวามือของจุดแทนศูนย์บนเส้นจำนวน

จำนวนจริงลบ
(negative real number)

จำนวนจริงที่น้อยกว่าศูนย์หรือจำนวนที่แทนได้ด้วยจุดที่อยู่ทางซ้ายมือของจุดแทนศูนย์บนเส้นจำนวน

จำนวนจินตภาพ
(imaginary number)

จำนวนเชิงซ้อน a + bi เมื่อ b # 0

จำนวนจินตภาพแท้
(real imaginary number)

จำนวนเชิงซ้อน a + bi เมื่อ a = 0 และ b # 0 (ดู จำนวนเชิงซ้อน ประกอบ)

จำนวนเฉพาะ
(prime number)

จำนวนเต็ม a ซึ่งไม่เท่ากับ 0 หรือ และต้องหารลงตัวด้วย และ เท่านั้น เช่น เป็นต้น (ส่วนมากมักจะกล่าวถึงจำนวนเฉพาะทีเป็นจำนวนจริงบวกเท่านั้น)

จำนวนเชิงซ้อน
(complex number)

จำนวนใด ๆ ที่เขียนในรูปคู่อันดับ (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) อาจเขึยนได้ในรูป a + bi เมื่อ i2 = -1 เรียก a ว่าส่วนจริง (real part) และเรียก b ว่าส่วนจินตภาพ (imaginary part) จำนวนเชิงซ้อน (0, b) เมื่อ b # 0 เรียกว่าจำนวนจินตภาพแท้

จำนวนตรรกยะ
(rational number)

จำนวนที่เขียนได้ในรูป โดยที่ a และ b ต่างเป็นจำนวนเต็มและ b # 0 ได้แก่

1. จำนวนเต็ม 0, 1, -1, 2, -2, 3, -3, ....

2. จำนวนที่เขียนไว้ในรูปเศษส่วนของจำนวนเต็ม โดยที่ตัวหารไม่เป็นศูนย์

3. จำนวนที่เขียนไว้ในรูปทศนิยมซ้ำ เช่น

จำนวนเต็ม
(integer)

จำนวนที่อยู่ในเซต { ..., -2, -1, 0, 1, 2, ...}

จำนวนเต็มบวก
(positive integer, natural number, counting number)

จำนวนที่อยู่ในเซต { 1, 2, 3, ...}

จำนวนเต็มลบ
(negative integer)

จำนวนที่อยู่ในเซต { -1, -2, -3, ....}

จำนวนนับ
(natural number, counting number)

ดู จำนวนเต็มบวก

จำนวนเลขคณิต
(arithmetic number)

จำนวนที่เกี่ยวข้องกับชีวิตประจำวันได้แก่จำนวนเต็มบวก เศษส่วน ทศนิยม และจำนวนจริง (ที่เป็นบวก)

จำนวนอตรรกยะ
(irrational number)

จำนวนจริงที่ไม่ใช่จำนวนตรรกยะเขียนได้ในรูปทศนิยมไม่ซ้ำ เช่น = 3.1415926535..., sin 45 = 0.70710678..., tan 140 = -0.8391...

จีเอม
(G.M.)

ดู ค่าเฉลี่ยเรขาคณิต

จุดกำเนิด
(origin)

จุดตัดของแกน X และแกน Y ในระบบแกนมุมฉาก หรือจุดแทนจำนวนศูนย์บนเส้นจำนวน

จุดกึ่งกลาง
(mid point)

ทางสถิติหมายถึงจุดกึ่งกลางของแต่ละอันตรภาคชั้น หาได้จากการเฉลี่ยค่าขอบบนและขอบล่างของแต่ละอันตรภาคชั้น

จุดทศนิยม
(decimal point)

จุดที่อยู่ระหว่างจำนวนเต็มหรือศูนย์กับเศษส่วนในระบบฐานสิบ

 

 

อ่านเพิ่มเติมเสริมความรู้ทางคณิตศาสตร์ที่    http://www.web.ku.ac.th/schoolnet/snet2/vocabulary/voc4.htm

 

 

 

เพื่อความถูกต้องและชัดเจน ท่านสามารถคลิกดาวน์โหลดต้นฉบับของเอกสารเฉลยแบบฝึกหัดที่นี่

( URL : http://tps.comsci.info/programming/ex2_mid2_2551.doc )