วันพฤหัสบดีที่ 30 มิถุนายน พ.ศ. 2554

ARRAY

 - โครงสร้างข้อมูลแบ่งออกเป็น 2 ประเภทใหญ่ๆ คือ

      - โครงสร้างข้อมูลแบบเชิงเส้น (Linear Lists) มีรูปแบบเป็นรายการต่อเนื่อง ข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวลำดับต่อเนื่อง เช่น อาร์เรย์(Array) สแต็ก(Stacks) และคิว(Queues) เป็นต้น
      - โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists) โครงสร้างข้อมูลชนิดนี้จะต้องข้ามกับแบบแรก เช่น ทรี(Trees) และกราฟ(Graphs) เป็นต้น  

-โครงสร้างข้อมูลแบบอาร์เรย์(Array) 
        - อาร์เรย์ คือ การรวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวแทนข้อมูลสมาชิกได้หลายๆ ตัวด้วยการใช้ดรรชนี(Index) หรือซับสคริปต์(Subscript) เป็นตัวอ้างอิงตำแหน่ง

- คุณสมบัติสำคัญของอาร์เรย์

      - อาร์เรย์เป็นตัวแทนของกลุ่มที่มีความสัมพันธ์กันเช่น 12 เดือน ซึ่งประกอบด้วยเดือนมกราคมถึงเดือนธันวาคม ราคาหุ้นในรอบ 30 วัน เป็นต้น
      -  มีชนิดข้อมูลเหมือนกันทั้งหมด เช่น ชนิดข้อมูลของตัวแปร
      -  อาร์เรย์มีขนาดคงที่
      -  ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที

- การอ้างอิงตำแหน่งสมาชิกในอาร์เรย์ 
     - ต้องเริ่มต้นด้วยชื่ออาร์เรย์และตามด้วยเลขลำดับกำกับไว้ด้วย
     - เลขลำดับ สามารถเรียกได้หลายชื่อ เช่น ซัขสคริปต์ หรือเลขดัชนี
     - เลขดัชนีอยู่ภายในเครื่อง ( ) หรือ [ ] ก็ได้ ขึ้นอยู่กับภาษาคอมพิวเตอร์แต่ละภาษา

- ขอบเขตของอาร์เรย์ (Bounds)
     - เลขดัชนี ในอาร์เรย์ประกอบด้วยช่วงขอบเขตของค่า ซึ่งประกแบด้วยขอบเขตล่างสุด และขอบเขตบนสุด
- การคำนวณจำนวนสามาชิกของอาร์เรย์ 1 มิติ

     - จำนวนสมาชิก  = U + L + 1

- การคำนวณจำนวนสามาชิกของอาร์เรย์ 2 มิติ

     - จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1)

- การคำนวณจำนวนสามาชิกของอาร์เรย์ 3 มิติ

     - จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1) x (U3 – L3 + 1)

 -การจัดเก็บอาร์เรย์ในหน่วยความจำ

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

- อาร์เรย์ 1 มิติ  รูปแบบโครงสร้างข้อมูลอาร์เรย์ 1 มิติ คือ

     - ArrayName [ L : U ]  

-สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 1 มิติ 

     - LOC(a[ i ])  = B + W(i + L)

 อาร์เรย์ 2 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 2 มิติ คือ 

     - ArrayName [ L1 : U1, L2 : U2 ] 

- สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 2 มิติ  

     - รูปแบบการเรียงแถวเป็นหลัก

     -  LOC(K[ i,j ] ) = B + W[C(i – L1) + (j – L2) ]

โดยที่ R คือจำนวนคอลัมน์ของแถวลำดับ (R x C)

     - รูปแบบการเรียงคอลัมน์เป็นหลัก

     - LOC(K[ i,j ] ) = B + W[R(j – L2)]+ (i – L1) ]

โดยที่ R คือจำนวนแถวของแถวลำดับ (R x C)

อาร์เรย์ 3 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 3 มิติ คือ 

     - ArrayName [ L1 : U1, L2 : U2, L3 : U3 ]  

- สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 3 มิติ  

      - รูปแบบการเรียงแถวเป็นหลัก

      - LOC(S[ i,j,k ]  = B + [W x R x C(i – L1)]
                            + [W x C(j – L2)]
                            + [W(k - L3)] 

     - รูปแบบการเรียงคอลัมน์เป็นหลัก

     - LOC(S[ i,j,k ]  = B + [W x K x R x C(j – L2)]
                            + [W x K x R(i– L1)]
                            + [k - L3]  

วันอังคารที่ 28 มิถุนายน พ.ศ. 2554

wordpress

WordPress คือ โปรแกรมสำเร็จรูปตัวหนึ่ง ที่เอาไว้สำหรับสร้าง บล็อก หรือ เว็บไซต์ สามารถใช้งานได้ฟรี ถูกจัดอยู่ในประเภท CMS (Contents Management System) ซึ่งหมายถึง โปรแกรมสำเร็จรูปที่มีไว้สำหรับสร้างและบริหารจัดการเนื้อหาและข้อมูลบนเว็บไซต์
WordPress ได้รับการพัฒนาและเขียนชุดคำสั่งมาจากภาษา PHP (เป็นภาษาโปรแกรมมิ่งตัวหนึ่ง) ทำงานบนฐานข้อมูล MySQL  ซึ่งเป็นโปรแกรมสำหรับจัดการฐานข้อมูล มีหน้าที่เก็บ เรียกดู แก้ไข เพิ่มและลบข้อมูล  การใช้งานWordPress ร่วมกับ MySQL อยู่ภายใต้สัญญาอนุญาตใช้งานแบบ GNU General Public License
WordPress ปรากฏโฉมครั้งแรกในโลกเมื่อปี พ.ศ. 2546 (2003) เป็นความร่วมมือกันระหว่าง Matt Mullenweg และ Mike Littlej มีเว็บไซต์หลักอยู่ที่ http://wordpress.org และยังมีบริการ Free Hosting (พื้นที่สำหรับเก็บทุกอย่างของเว็บ/บล็อก) โดยขอใช้บริการได้ที่ http://wordpress.com
ปัจจุบันนี้ WordPress ได้รับความนิยมเพิ่มขึ้นอย่างรวดเร็ว จนมีผู้ใช้งานมากกว่า 200 ล้านเว็บบล็อกไปแล้ว แซงหน้า CMS ตัวอื่น ๆ ไม่ว่าจะเป็น Drupal , Mambo และ Joomla สาเหตุเป็นเพราะ ใช้งานง่าย ไม่จำเป็นต้องมีความรู้ในเรื่อง Programing มีรูปแบบที่สวยงาม อีกทั้งยังมีผู้พัฒนา Theme (รูปแบบการแสดงผล) และ Plugins (โปรแกรมเสริม) ให้เลือกใช้ฟรีอย่างมากมาย
นอกจากนี้ สำหรับนักพัฒนา WordPress ยังมี Codex เอาไว้ให้เราได้เป็นไกด์ไลน์ เพื่อศึกษาองค์ประกอบส่วนต่าง ๆ ที่อยู่ภายใน สำหรับพัฒนาต่อยอด หรือ นำไปสร้าง Theme และ Plugins ขึ้นมาเองได้อีกด้วย หนำซ้ำ ยังมีรุ่นพิเศษ คือ WordPress MUสำหรับไว้ให้ผู้นำไปใช้ สามารถเปิดให้บริการพื้นที่ทำเว็บบล็อกเป็นของตนเอง เพื่อให้ผู้อื่นมาสมัครขอร่วมใช้บริการในการสร้างเว็บบล็อก ภายใต้ชื่อโดเมนของเขา หรือที่เรียกว่า Sub-Domain

วันพุธที่ 22 มิถุนายน พ.ศ. 2554

การฟังบรรยายธรรม โดยพระอาจารย์ศรศิริ ติสรโณ

เกราะ 5 ชั้น และคุณธรรม 4ประการ

ศีล 5 "เบญจศีล" คือ ความปกติ ของมนุษย์
1 ปาณาติปาตา เวรมณี   เว้นจากการทำชีวิตสัตว์ให้ตกล่วงไป
2.อทินณาฑานา เวรมณี   เว้นจากการถือเอาสิ่งของที่เจ้าของไม่ได้ให้ด้วยอาการแห่งขโขย
3.กาเมศุวิฉาจารา เวรมณี เว้นจากการประพฤติผิดในกาม
4.มุสาวาทา เวรมณี          เว้นจากการพูดเท็จ
5.สุราเมรยมัชชปมาทัฏฐานา เวรมณี   เว้นจากการเสพสิ่งมึนเมาทั้งหลายทั้งปวง

  • ทำไมคนเราจึงต้องรักษาศีล ?
 ศีลมี 5 ข้อ
1. เพราะใครๆก็รักชีวิตของตนเอง
2. เพราะใครๆก็อยู็เป็นสุขด้วยสมบัติขิงเขา
3.เพราะใครๆก็รักพวกพ้อง พี่น้องของพวกเขา
4.เพราะใครๆก็รักความจริงใจด้วยกันทั้งนั้น
5.เพราะเมื่อเสพ เข้าไปแล้วจะทำให้ขาดสติ และ จะทำให้เราผิดศีลข้ออื่นด้วย

วิธีการสร้างเกราะภายในตนเอง คือ การตั้งเจตนางดเว้นจากการประพฤติผิดทางกาย และวาจา
1. งดเว้นโดยไม่ตั้งใจมาก่อน
2. งดเว้นโดยตั้งใจ และ ปฏิญาณไว้ก่อน
3. งดเว้นโดยตัดขาดไว้
เพราะชีวิตของคนปัจจุบันส่วนมาก ขาดเกราะป้องกันตัวเอง จึงทำให้เกิดปัญหาในสังคม และสังคมในปัจจุบันนี้ ก็ยังขาดคุณธรรมที่สมควรพึงจะมีกันมาก จึงเกิดปัญหาและผลที่ตามมาก็คือ เกิดความขัดแย้งในสังคม และ ลุกลามจนไปทั้งประเทศ
            คุณธรรม ๔ ประการ

  •  "สุขา สังฆะษะ สามมัคคี" ความสามัคคี ย่อมทำให้สังคมมีสุข คนเกิดสุข
  • พุทธพจน์ของพระพุทธเจ้า กล่าวไว้ว่า ศีลเป็นกำลังไม่มีที่เปรียบ ศีลเป็นเครื่องประดับอย่างประเสริฐ และ ศีลเป็นเกราะ อย่างอัศจรรย์
  • ศีล 5 "เบญจศีล" คือ ความปกติ ของมนุษย์
  •  ธรรมที่เกื้อกูลต่อการรักษาศีล "หิริโอตัปปะ"

การพัฒนาโปรแกรม

บทที่  1. ขั้นตอนการพัฒนาโปรแกรม

1.ขั้นตอนการกำหนดปัญหา ( Define the Program)
  • Input
  • Outputs
  • Processing
2.ร่างรายละเอียดแก้ไขปัญหา (Outline the Solution)
  • แตกงานให้เป็นช้นย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
  • การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
  • ขั้นตอนการประเมณผลส่วนหลักๆ
  • ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
  • ส่วนความสัมพันธ์กับผู้ใช้งาน
  • โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
  • ตัวแปรและโครงสร้างของเรคอร์ด
  • ตรรกะโปรแกรม(Logic) 
3.พัฒนาอัลกอลิทึ่ม (Develop and Algorithm)
  • ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
  • ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
4. ตรวจสอบความถูกต้องอัลกอลิทึ่ม (Test the Algorithm for Correctness)
  • เป็นขั้นตอนที่สำคัญที่สุด
  • ตรวจสอบทั้งตรรกะของอัลกอริทึมตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละขั้นตอน
5. เขียนโปรแกรม (Programming)
  • นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
  • เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น c,PASCAL เป็นต้น
6. ทดสอบโปรแกรม (Testing)
  • นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
  • การตรวจสอบ
  • รูปแบบชุดคำสั่ง(Syntax Errors)
  • โปรแกรม(Logic Errors)
  • ข้อมูลทดสอบต้องมีความแตกต่างกันออกไปตามแต่ละสภาพแวดล้อม
7. จัดทำเอกสารและบำรุงโปรแกรม(Document and Maintain the Program)
  • การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน การกำหนดปัญหาจนถึงขั้นตอน
    สุดท้าย คือการทดสอบผลลัพธ์
  • เอกสารประกอบโปรแกรมประกอบด้วย
  • เอกสารภายนอก(External document) เช่น ผังโครงสร้างอัลกอริทึมที่ใช้แก้ปัญหาและผลของการทดสอบข้อมูล
  • เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม
  • การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม
วิธีการออกแบบโปรแกรม
  • การออกแบบโปรแกรมแบบ Procedure-Driven
    แนวความคิด>>มีกระบวนการ(Processes)หรือฟังก์ชัน(Function)
  • การออกแบบโปรแกรมแบบ Event-Driven
    แนวความคิด>>เหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อ
    โปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
  • การออกแบบโปรแกรมแบบ Data-Driven
    แนวความคิด>>ข้อมูลในโปรแกรมมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
    และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
    ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
    มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
  • การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Development)
  • การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
  • การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program  Design Techniques)
  • ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ
  • โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
  • ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
  • ลดเวลาในการพัฒนาโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseud Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่างานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดีในการแก้ปัญหาทางคอมพิวเตอร์
  • ไม่กำกวม อ่านแล้วเข้าใจง่าย
  • ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
  • กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่ายเพียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
  • อัลกอลิทึมต้องมีจุดสิ้นสุด
หลักวิธีการเขียนซูโดโค้ด
  • ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
  • ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
  • ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
  • แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
  • กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
Six Basic Computer Operations
รับข้อมูลได้ (input device)
  • อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บ ข้อมูล  เช่น ดิสก์ หรือเทป
  • ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
    -read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
    -get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
คอมพิวเตอร์สามารถแสดงผลลัพธ์ได้
การแสดงผลลัพธ์จะใช้คำกิริยา
  •      -print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
  •      -write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
  •     -put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
คอมพิวเตอร์สามารถคำนวณได้
สัญลักษณ์ที่ใช้ในการคำนวณ
          +   ใช้แทนการบวก (Add)
          -    ใช้แทนการลบ (subtract)
          *     ใช้แทนการคูณ (multiply)
          /     ใช้แทนการหาร (divide)
         ()     ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
คอมพิวเตอร์สามารถกำหนดค่าตัวแปรได้
ทำได้ 3 รูปแบบ 
  • ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
  • ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
  • ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
คอมพิวเตอร์สามารถเปรียบเทียบ และ เลือกการทำงานได้
  • ใช้คำ if…then…else และจบด้วย end if เสมอ
คอมพิวเตอร์สามารถทำงานซ้ำๆได้
  • ใช้คำ dowhile…enddo หรือ repeat..until
The Three Basic Control Structures
  • The Three Basic Control Structures
    แบบเรียงลำดับ (Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงล่าง
  • แบบเลือกการทำงาน (Selection)
    เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
    if…
    then….
    else ….
    end if
  • แบบทำงานซ้ำ (Repetition)
    dowhile จะทำงานซ้ำไปเรื่อยๆ เมื่อตรงกับเงื่อนไข
    จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะหลุดออกจากลูป
    dowhile condition p is true
    statement block
    end do
    ส่วน repeat …. until จะทำการ execute statement
    ก่อนเช็คเงื่อนไข
    repeat
    statement
    statement
    until condition is true

    บทที่ 2 Review C Language

    1.Review C Language
    • คำสั่งพื้นฐานต่างๆ
            เช่น printf( “abc” );
                   printf( “%s”, ”abc” );
            เช่น scanf( “%d”,&x);
    • Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่
           %d   ใช้กับข้อมูลแบบ integer
           %c    ใช้กับข้อมูลแบบ character
           %f     ใช้กับข้อมูลแบบ floating
           %s    ใช้กับข้อมูลแบบ string
    2.Operator
    แบ่งออกเป็น 3 ชนิด คือ
    • Arithmetic Operators ได้แก่  +, - , *, /, % , -- , ++
    • Relational and Equality Operators ได้แก่ < , > , <= , >= , == , !=
    •    - Logical Operators ได้แก่ ! , && , ||
    3.selection/Condition
    • if statement
    • if - else statement
    • if - else statement (Nested if)
    • switch statement
    4.Repetition/Loop
    • while statement
    Format :
        while (expression) {                   statement-1;                   statement-2;                        ……                   statement-n;      }
    • for statement
      Format :
      for (expression -1; expression-2; expression-3 ) {                 statement -1 ;                 statement -2 ;                      …..                 statement -n ;   }
    • do-while statement
      Format :
             do {                 statement -1 ;                 statement -2 ;                   …..                  statement -n ;             } while (expression);
    5.Function ข้อดี
    • เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
      สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
      ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
      ทำให้โปรแกรมมีความเป็นโครงสร้าง 
    • สามารถแบ่งเป็นโมดูลย่อยๆได้
      ฟังก์ชันแบ่งเป็น 2 ประเภท คือ

    • Library Function
      Format :
      #include<file-name>
      ตัวอย่าง   #include<stdio.h>   #include<conio.h >   etc. 
    วิธีเรียกใช้งาน Library Function

    • เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน
    • เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น
      ตัวอย่าง Library Function strcpy () –อยู่ในแฟ้มข้อมูล string.h   ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง
      Format : 
      strcpy (str1, str2);

    6.User Defined Function
    คือ ฟังก์ชันที่ผู้เขียนโปรแกรมสามารถเขียนฟังค์ชันขึ้นใช้เอง โดยฟังก์ชันนี้อาจจะรวมอยู่กับโปรแกรมหลักเป็นแฟ้มเดียวกัน หรือยกฟังก์ชันเหล่านี้ไว้คนละแฟ้มข้อมูลก็ได้
    การสร้างฟังก์ชัน ประกอบด้วย
    • Function Definition
    • Function Prototype
    • Invocation
    Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน Format :
    clip_image001/*…………..*/  >> heading comment
      data-type function-name(type argument )    {       declaration;       statement;     return(value); }
    Function Prototype  เป็นตัวบอกให้ Compiler ทราบว่าการประกาศฟังก์ชันขึ้นและฟังก์ชันนั้นมีค่าที่ส่งกลับเป็นอะไร มีการรับพารามิเตอร์อะไรบ้าง มีประโยชน์ในการตรวจสอบข้อผิดพลาดระหว่างการเรียกใช้ฟังก์ชัน
    Invocation คือการเรียกใช้ฟังก์ชัน
    ลักษณะของฟังก์ชัน
    •  ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน
                 ...........
        Print_banner () ;
    • ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าที่จะต้องส่งกลับด้วย
    int main(void) {
    int k, j;
       j = prompt ()
       k = prompt ();
    printf(“j = %d and k = %d”, j, k);
    • ฟังก์ชันที่มีการรับค่า argument
    การเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชัน พร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะ ต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้
    • การผ่านค่า argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือ
    Pass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดย ค่าคงที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของ argumentในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง   ตัวอย่าง :
    void swap(int num1, int num2) {
            int tmp;
    tmp = num1;
    num1 = num2;
    num2 = tmp;
    print(“A is %d B is %d\n”, num1, num2);
    }
    Pass by Reference
    คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย ตัวอย่าง :
    void swap(int * num1, int * num2) {
           int tmp;
    tmp = *num1;
    *num1 =* num2;
    *num2 = tmp;
    }

วันจันทร์ที่ 20 มิถุนายน พ.ศ. 2554

บทความดีๆที่อยากบอกต่อ

หัดคิดแต่ด้านบวก ***แล้วจะรู้ว่ามีแต่สิ่งที่เป็นไปได้*** หัดฝัน ***แล้วจะรู้ว่าโลกนี้น่าอยู่*** หัดพูดแต่ด้านบวก ***แล้วจะรู้ว่ามีคนอีกมากมายที่รักเรา*** หัดยิ้ม ***แล้วจะรู้ว่าเราคือคนที่น่ารัก*** หัดฟาดฟันกับอุปสรรค ***แล้วจะรู้ว่าเราคือคนที่เข้มแข็ง*** ลองทน ***แล้วจะรู้ว่าเรามีความอดทนยิ่งกว่าใคร*** ลองออกกำลังกายทุกวัน ***แล้วจะรู้ว่าเราคือมนุษย์เจ้าพลังคนหนึ่ง*** ลองคิดเอาชนะ ***แล้วจะรู้ว่าเราสามารถเอาชนะ ตัวเองได้ไม่ยาก*** ลองคิดให้ให­่ ***แล้วจะรู้ว่าเรามีความสามารถอย่างน่าแปลกใจ*** นักพูดที่เป็นที่รู้จักกันดีท่านหนึ่งได้เริ่มหยุดการสัมนาของเขาโดยการหยิบแบงค์ 1,000 ขึ้นมา ในห้องที่มีผู้เข้าร่วม 200 ท่าน แล้วเขาก็พูดว่า "ใครอยากได้แบงค์ 1,000 นี้บ้าง?" มือได้ถูกยกขึ้นเป็นจำนวนมาก และเขาก็พูดต่อว่า "ฉันจะให้เงินแบงค์1,000 นี้แก่หนึ่งในพวกท่านแต่ครั้งแรกนี้ฉันจะทำอย่างนี้" เขาเริ่มที่จะขยำๆเงินนั้นแล้วเขาก็ถามอีกว่า "ใครจะยังต้องการมันอีก" ยังคงมีมือที่ยกขึ้นอีก "ดี" เขาตอบ " แล้วถ้าฉันทำอย่างนี้ล่ะ" และเขาก็ทิ้งมันลงที่พื้นและเริ่มที่เหยียบย่ำมันด้วยรองเท้าของเขา แล้วเขาก็เก็บขึ้นมา ขณะนี้มันทั้งยับยู่ยี่และสกปรก "ตอนนี้ใครยังต้องการมันอีก" ก็ยังคงมีคนยกมืออีก "เพื่อนๆ คุณได้เรียนรู้บทเรียนที่มีคุณค่ามากที่สุดบทหนึ่งแล้วว่าไม่ว่าฉันจะทำอะไรกับเงิน คุณก็ยังต้องการมันอยู่ เพราะว่ามันไม่ได้ลดคุณค่าในตัวมันลงเลย มันก็ยังคงมีค่า1,000 บาทอยู่นั่นเอง " เหมือนกับหลายๆครั้งในชีวิตของเรา ที่ถูกทิ้ง ถูกเหยียบย่ำ และถูกทำให้สกปรก โดยสิ่งที่เราตัดสินใจทำมันและสภาพแวดล้อมที่เราเจอ ทำให้เรารู้สึกว่าคุณค่าของเราลดน้อยลง แต่ไม่ว่าอะไรที่ได้เกิดขึ้นหรืออะไรที่จะเกิดขึ้น คุณไม่เคยสู­เสียคุณค่าของคุณ คุณเป็นคนพิเศษ -- อย่าลืมมันตลอดไป! "อย่านำความผิดหวังของเมื่อวานมาบดบังความฝันในวันพรุ่งนี้"