วันพฤหัสบดีที่ 25 ตุลาคม พ.ศ. 2555

โครงสร้างข้อมูลและขั้นตอนวิธี

โครงสร้างข้อมูลและขั้นตอนวิธี
ภาษาC
ส่วนประกอบของโปรแกรมภาษาซี อาจแบ่งออกได้ดังต่อไปนี้

         
1. คอมไพเลอร์ไดเรกทีฟ(Compiler directive) เป็นส่วนของโปแกรมที่ใช้สำหรับเป็นตัวบอกคอมไพเลอร์ว่าให้รวมไฟล์ต่างๆ ที่กำหนดไว้ในส่วนนี้กับตัวแปรที่เขียนขึ้น โดยต้องเขียนตามรูปแบบที่กำหนดไว้ดังนี้
 
    # include < ชื่อไฟล์.h > เช่น #include < stdio.h >
เขียนลักษณะนี้จะบอกคอมไพเลอร์ว่า ขณะคอมไพล์โปรแกรมที่ผู้ใช้เขียนเองให้นำข้อมูลในไฟล์ stdio.h มารวมด้วย เพราะขณะใช้คำสั่งต่าง ๆ เช่น scanf( ) หรือ printf( ) จำเป็นต้องเกี่ยวข้องกับไฟล์ stdio.h ด้วยจึงจะใช้งานได้
พูดโดยสรุป .h หมายถึงไฟล์ประเภท header ซึ่งเป็นไฟล์ที่เก็บรวบรวมฟังก์ชันมาตรฐานต่าง ๆ ไว้ให้ ผู้ใช้เลือกใช้ตามความจำเป็น
2.ตัวโปรแกรม(body) เป็นส่วนที่ผู้ใช้ต้องเขียนขึ้นเองโดยนำเอาคำสั่งหรือฟังก์ชันมาตรฐานต่าง ๆ มาเรียบเรียงกันขึ้นเป็นโปรแกรม (เหมือนกับแต่งเพลงสักเพลงหนึ่งเลยแหละครับ) เพื่อสั่งให้ คอมพิวเตอร์รับข้อมูลจากอุปกรณ์อินพุตประมวลผลแล้วก็ให้ผลลัพธ์ตามที่เราต้องการ ส่วนนี้นะครับส่วนมาจะเขียนขึ้นต้นด้วย main( ) ซึ่งหมายถึงการเรียกใช้ฟังก์ชัน main( ) นั่นเอง และตามด้วยโปรแกรมหลักที่ประกอบด้วยคำสั่งต่าง ๆ ภายในเครื่องหมายวงเล็บปีกกา " { "คำสั่งต่าง ๆ"}" ซึ่งภายในนี้จะประกอบด้วยส่วนต่าง ๆ ดังนี้ครับ
         
  2.1 ส่วนการประกาศตัวแปร (declaration) เป็นส่วนของโปรแกรมที่บ่งบอกถึงชนิดและชื่อตัวแปร หรือฟังก์ชั่นย่อย
 2.2 ส่วนนำเข้าข้อมูล (Input) เป็นส่วนที่ใช้ในการนำข้อมูลจากอุปกรณ์อินพุตเข้ามา อาจจากแป้นพิมพ์ แผ่นดิสก์ และอื่น ๆ โดยใช้คำสั่ง หรือฟังก์ชันมาตรฐานเป็นตัวช่วย เช่น scanf( ) getch( )
kbhit( ) หรืออื่น ๆ
2.3 ส่วนกำหนดค่า/หรือคำนวณ (assignment or computation) ส่วนนี้ใช้ในการกำหนดค่าให้กับตัวแปร เช่น ในตัวอย่าง 2.1 กำหนดค่าแรงดัน v=220.0;หมายถึงกำหนดให้ตัวแปร v แทนค่าแรงดันไฟฟ้า 220 โวล์
2.4 ส่วนแสดงผลลัพธ์ (Output)ส่วนนี้ใช้ในการนำผลลัพธ์จากการประมวลผลออกมาแสดงทางอุปกรณ์เอาต์พุต เช่น ทางจอมอนิเตอร์ เครื่องพิมพ์
3. ส่วนคำอธิบายโปรแกรม (Comment Lines) ส่วนนี้ใช้ในการอธิบายโปรแกรมอาจพิมพ์ข้อความ สูตรหรือ อื่น ๆ ที่เกี่ยวข้องกับโปรแกรม ส่วนของโปรแกรมส่วนนี้จะมีหรือไม่มีก็ได้ ถ้าต้องเขียนให้เริ่มต้นด้วยเครื่องหมาย /* ตามด้วยข้อความที่ต้องการ แล้วปิดท้ายด้วย */(เครื่องหมาย / และ * ต้องเขียนติดกันเสมอ) ดังแสดงในบรรทัดต่างๆ ในตัวอย่าง 2.1
ตัวอย่างที่ 2.1 แสดงวิธีการเขียนส่วนต่าง ๆ ของโปรแกรมเบื้องต้น
    /* The first example program */  /* <-- ส่วนคำอธิบายโปรแกรม(comment lines) */
    /* Example 2.1 */
    /* Copyright (c) by T.Chaiyut */
          # include  <stdio.h>   /*<-- คอมไพเลอร์ไดเรกทีฟ (compiler directive)*/
          # include  <conio.h>
    /* Begin the Body of the program --> */
main ()
{
float p,v,i;  /* <-- ส่วนการประกาศตัวแปร(Declarations) */
char ch;
clrscr ();   /*<-- เรียกใช้ฟังก์ชันมาตรฐานสำหรับการเคลียหน้าจอ*/
v = 220.0;   /*<-- ส่วนกำหนดค่า (Assignment) */
     /*Output message on screen -->*/
printf("Enter Current : ");
scanf("%f",&i); /* <-- Input (ส่วนนำเข้าข้อมูล)*/
printf("\n"); /*<--Output */
 p= v*i; /*<-- Computation(ส่วนของการคำนวณ)*/
     /*ส่วนของการแสดงผล(Begin Output result on screen)*/
printf("The voltage = %f volts\n",v);
printf("The current = %f amperes\n",i);
printf("The power = %f watts\n",p);
          printf("\n\n   P= V x I \n");
printf("%11.2f = %5.2f x %5.2f\n",p,v,i);
 getch(); /* <-- Function call */
          }   /*End main()*/  download ตัวอย่าง2.1

อ้างอิง: http://www.numsai.com
รายชื่อผู้สืบค้น
1.      นางสาวนิตยา    ชนชนะกุล       5414013805020
2.       นางสาวอรทัย   แก้วศรีสุข        5414013805045