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

Wordpress

WordPress คือเป็นซอฟต์แวร์ blog ที่ได้รับความนิยมกันไปทั่วโลก ซึ่ง WordPress พัฒนาโดยใช้ภาษา PHP แล้วให้ใช้งานร่วมกับระบบฐานข้อมูล เช่น MySQL ซึ่งซอฟต์แวร์ WordPress ตัวนี้เป็นซอฟต์แวร์ที่แจกให้ใช้กันได้ฟรี ทำให้มีผู้นิยมแพร่หลาย ในประเทศไทยด้วยเช่นกัน

           WordPress  พัฒนามาเพื่อใช้ในการ อัพเดท blog โดยเฉพาะ ดังนั้นตัวโปรแกรมเอง พัฒนามาให้ใช้งานง่าย โดยมีความง่ายตั้งแต่การติดตั้ง จนกระทั่งการเขียน blog หรือการเปลี่ยนรูปแบบดีไซน์ หรือธีมของ blog ก็สามารถทำได้สะดวกง่าย

Wordpress เป็นระบบเว็บบล็อกที่มีการเพิ่มเนื้อหาของบล็อกได้ 2 แบบคือ

1.เพิ่มรายการของเนื้อหาหน้าเว็บบล็อก(Post)

2.เพิ่มหน้าของเว็บบล็อก(Page)

แต่ทั้ง 2 แบบ จะมีรูปแบบของเมนู และเครื่องมือในการเขียนเนื้อหาที่คล้ายกัน

       การเขียนเนื้อหาบล็อก(Write Post) คือ การเพิ่มข้อเขียนที่เป็นเนื้อหาของบล็อก จะแสดงที่ด้านหน้าบล็อก ซึ่งข้อเขียนบล็อกล่าสุดจะแสดงอยู่ด้านบนสุดเสมอ โดยที่

- สามารถแบ่งเป็นหมวดหมู่ได้ (Category)

- เลือกที่จะให้มีการแสดงความคิดเห็นในข้อเขียนหรือไม่ก็ได้ (Discussion)

- สามารถใส่รหัสผ่านเพื่อดูข้อเขียนได้ (Post Password) 

- เลือกสถานะของข้อเขียนได้ คือ แบบดูเฉพาะกลุ่ม(Private) หรือแบบโครงร่างคือบันทึกไว้แต่ยังไม่แสดง(Draft) และแบบบันทึกแล้ว แสดงที่หน้าบล็อกทันที (Published)
- เลือกที่จะให้ข้อเขียนเป็นแบบปักหมุด(Sticky) หรือแบบประกาศได้ (Announcement) โดยต้องเปิดให้ Plug-in ตัวนี้ให้ทำงานก่อน

การเพิ่มหน้าบล็อก(Write Page) คือ การเพิ่มหน้าของเว็บบล็อก ซึ่งจะเป็นการเพิ่มเนื้อหาในแต่ละหน้าของเว็บบล็อก ซึ่งปกติจะเป็นหน้าที่มีเนื้อหา หรือข้อมูลแบบคงที่ ไม่ได้มีการเปลี่ยนแปลงข้อมูลของเนื้อหาบ่อยๆ เช่น หน้า About โดยที่

- เลือกที่จะให้มีการแสดงความคิดเห็นในข้อเขียนหรือไม่ก็ได้ (Discussion)

-สามารถใส่รหัสผ่านเพื่อดูข้อเขียนได้ (Post Password) 

- เลือกสถานะของข้อเขียนได้ คือ แบบดูเฉพาะกลุ่ม(Private) หรือแบบโครงร่างคือบันทึกไว้แต่ยังไม่แสดง (Draft) และแบบบันทึกแล้ว แสดงที่หน้าบล็อกทันที (Published)



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

อาร์เรย์ (Array)

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

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

2. โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists) โครงสร้างข้อมูลชนิดนี้จะต้องข้ามกับแบบแรก เช่น ทรี(Trees) และกราฟ(Graphs) เป็นต้น

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

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

 1.อาร์เรย์เป็นตัวแทนของกลุ่มที่มีความสัมพันธ์กัน

2.มีชนิดข้อมูลเหมือนกันทั้งหมด

3.อาร์เรย์มีขนาดคงที่

4.ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที

การอ้างอิงตำแหน่งสมาชิกในอาร์เรย์

     ต้องเริ่มต้นด้วยชื่ออาร์เรย์และตามด้วยเลขลำดับกำกับไว้ด้วย ซึ่งลำดับเหล่านี้สามารถเรียกได้หลายชื่อด้วยกัน เช่น ซัปสคริปต์ หรือเลขดรรชนี

ขอบเขตของอาร์เรย์ (Bounds)
  
-ภาษา C,C++,C#,JAVA    จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 0

-ภาษา FRONTRAN      จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 1

- ADA,PL/1,PASCAL สามารถทำการกำหนดขอบเขตล่างสุดและขอบเขตบนสุดของอาร์เรย์ได้ รวมถึงกำหนดขอบเขตค่าติดลบได้

การคำนวณจำนวนสามาชิกของอาร์เรย์ 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) ]

โดยที่ C คือจำนวนคอลัมน์ของแถวลำดับ (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]











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

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

 

“สังคมที่ขาดเกราะป้องกันสังคมนั้นจะเกิดปัญหา”

“สีลํ พลํ อปฺปฏิมํ สีลํ อาวุธมุตฺตม สีลํ อาภรณ์ เสฎฺฐํ สีลํ กวจมมฺภุตํ”

>> ศีล เป็นกำลังไม่มีที่เปรียบ
>> ศีลเป็นอาวุธสูงสุด
>> ศีลเป็นเครื่องประดับอย่างประเสริฐสุด

>> ศีลเป็นเกราะอย่างอัศจรรย์ ”

ศีล ๕ “เบญจศีล” คือ ความปกติของมนุษย์

๑. ปาณาติปาตา เวรมณี เว้นจากทำชีวิตสัตว์ให้ตกล่วงไป

๒.อทินนาทานา เวรมณี เว้นจากถือเอาสิ่งของที่เจ้าของไม่ได้ให้ด้วยอาการแห่งขโมย

๓.กาเมสุมิจฉาจารา เวรมณี เว้นจากประพฤติผิดในกาม

๔. มุสาวาทา เวรมณี เว้นจากการพูดเท็จ

๕. สุราเมรยมัชชปมาทัฏฐานา เวรมณี เว้นจากดื่มน้ำเมา คือสุราและเมรัย อันเป็นที่ตั้งแห่งความประมาท

ทำไมต้องรักษาศีล ?

ศีลข้อ ๑ เพราะ ใครๆ ก็รักชีวิตตัวเอง

ศีลข้อ ๒ เพราะ ใครๆก็อยู่เป็นสุขได้ด้วยสมบัติของเขา

ศีลข้อ ๓ เพราะ ใครๆ ก็รักพี่น้องพวกพ้องของเขา

ศีลข้อ ๔ เพราะ ใครๆ ก็รักความจริงใจด้วยกันทั้งนั้น

ศีลข้อ ๕ เพราะว่าเมื่อดื่มเข้าไปแล้ว จะทำลายสติของเรา เมื่อสติของเราเสียหายไปแล้วศีลข้ออื่นๆ ก็พร้อมที่จะขาดไปหมด

องค์แห่งศีล ข้อที่ ๑

“ เว้นจากการทำชีวิตสัตว์ให้ตกล่วงไป ”

๑) ปาโณ  สัตว์มีชีวิต

๒) ปาณสญฺญิตา รู้ว่าสัตว์มีชีวิต

๓) วธกจิตฺตํ มีจิตคิดจะฆ่า

๔) อุปกฺกโม ทำความพยายามฆ่า

๕) เตน มรณํ สัตว์ตายด้วยความพยายามนั้น

องค์แห่งศีล ข้อที่ ๒

“เว้นจากการถือเอาสิ่งของที่เจ้าของไม่ได้ให้ด้วยอาการแห่งขโมย ”

๑) ปรปริคฺคหิตํ ของนั้นมีเจ้าของหวงแหน

๒) ปรปริคฺคหิตสญฺญิตา รู้ว่ามีเจ้าของหวงแหน

๓) เถยฺยจิตฺตํ มีจิตคิดจะลัก

๔) อุปกฺกโม ทำความพยายามลัก

๕) เตน หรณํ นำของมาได้ด้วยความพยายามนั้น

องค์แห่งศีล ข้อที่ ๓

“ เว้นจากการประพฤติผิดในกาม ”

๑) อคมนียวตฺถุ วัตถุที่ไม่ควรล่วงละเมิด

๒) ตสฺมึ เสวนจิตฺตํ มีจิตคิดจะเสพ

๓) เสวนปฺปโยโค พยายามที่จะเสพ

๔) มคฺเคน มคฺคปฺปฏิปตฺติ ก ระทำการให้มรรคต่อมรรคจดกัน

องค์แห่งศีล ข้อที่ ๔

“เว้นจากการพูดเท็จ ”

๑) อตถํ เรื่องไม่จริง

๒) วสํวาทนจิตฺตํ จิตคิดจะพูดให้ผิด

๓) ตชฺโช วายาโม พยายามพูดออกไปตามจิตนั้น

๔) ปรสฺส ตตฺถวิชานนํ ผู้ฟังเข้าใจเนื้อความนั้น

องค์แห่งศีล ข้อที่ ๕

“ เว้นจากการดื่มน้ำเมา ”

๑) มทนียํ สิ่งที่เป็นเหตุให้มึนเมา (คือมีเหล้าเบียร์)

๒) ปาตุกมฺยตาจิตฺตํ จิตคิดจะดื่มหรือเสพ

๓) ตชฺโช วายาโม พยายามดื่มหรือเสพตามที่จิตคิดนั้น

๔) ปิตปฺปเสวนํ ดื่มน้ำเมาหรือเสพสารเสพติดนั้นเข้าไป

วิบากกรรมของการผิดศีลข้อ ๑

image  clip_image001image

ฆ่าสัตว์                                                                               อายุสั้น

วิบากกรรมของการผิดศีลข้อ ๒

ฆ่าสัตว์ อายุสั้น

วิบากกรรมของการผิดศีลข้อ ๒

image clip_image001[4]image

ลักทรัพย์                                                              ทรัพย์สมบัติพินาศ

วิบากกรรมของการผิดศีลข้อ ๓

image clip_image001[6]image

ประพฤติผิดในกาม                                                      ครอบครัวแตกแยก

วิบากกรรมของการผิดศีลข้อ ๔

image clip_image003[8]image

โกหกโรค                                                                      ภายในช่องปาก

วิบากกรรมของการผิดศีลข้อ ๕

image  clip_image001[8]image

ดื่มน้ำเมา                                                             โง่เขลา, ปัญญาอ่อน

 

วิธีสร้างเกราะภายในตน “คือ การตั้งเจตนางดเว้นจากการประพฤติผิดทางกายและวาจา”

๑. งดเว้นโดยไม่ตั้งใจไว้ก่อน

๒. งดเว้นโดยตั้งใจและปฏิญาณไว้ก่อน

๓. งดเว้นด้วยตัดขาดได้

ธรรมที่เกื้อกูลต่อการรักษาศีล    “หิริโอตตัปปะ”

หิริ               ความละอายต่อบาป

โอตตัปปะ    ความเกรงกลัวต่อบาป

คุณธรรม ๔ ประการ           “ ฆราวาสธรรม ”

๑. สัจจะ นิสัยความรับผิดชอบ

๒. ทมะ นิสัยรักการฝึกฝนตนเอง

๓. ขันติ นิสัยอดทน

๔. จาคะ นิสัยเสียสละ

พระราชดำรัสของพระบาทสมเด็จพระเจ้าอยู่หัว

1. การรักษาความสัตย์

2. การรู้จักข่มใจตนเอง

3. ความอดทน อดกลั้น อดออม

4. รู้จักระวางความชั่ว

ปรัชญาเศรษฐกิจพอเพียง

- พอเพียง

-มีเหตุมีผล

-มีภูมิคุ้มกัน

-ความรู้คู่คุณธรรม

(โดยพระอาจารย์ศรศิริ ติสรโณ ผู้ช่วยเจ้าอาวาสวัดสันติวัน เลขาณุการเจ้าคณะตำบลบึงพระ)

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

บทที่ 2 ทบทวนภาษาซี (Review C Language)

เนื้อหาในบทนี้จะประกอบไปด้วย

- คำสั่งพื้นฐานต่างๆ

- ตัวดำเนินการ(Operator)

- Selection/Condition

- Function

1.คำสั่งพื้นฐานต่างๆ

-printf : ใช้แสดงผล ข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ
เช่น printf(“abc”);
printf(“%s”,”abc”);
-scanf : ใช้รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงในหน่วยความจำของข้อมูล
เช่น scanf(“%d”,&x);
Format Code ใช้ในการแสดงผลที่นิยมใช้ ได้แก่

Format Code
ความหมาย
%d
ใช้กับข้อมูลแบบ integer(เก็บข้อมูลแบบตัวเลขจำนวนเต็ม)
%c
ใช้กับข้อมูลแบบ character(เก็บข้อมูลแบบอักขระ)
%f
ใช้กับข้อมูลแบบ floating(เก็บข้อมูลแบบตัวเลขทศนิยม),double
%s
ใช้กับข้อมูลแบบ string



2.ตัวดำเนินการ(Operator)

แบ่งออกเป็น 3 ชนิด คือ

2.1 เครื่องหมายการคำนวณทางคณิตศาสตร์(Arithmetic Operation)

เครื่องหมาย
                                 ความหมาย
ตัวอย่าง
+
บวก
3+2  การบวกเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 5
-
ลบ
3 - 2 การลบเลข 3 ลบกับ 2 ได้ผลลัพธ์คือ 1
*
คูณ
2*3   การคูณเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 6
/
หาร
15/2  การหาร 15 หารกับ 2 ได้ผลลัพธ์คือ 7
%
หารเอาเศษ
15%2การหารเอาเศษ 15 หารกับ 2 ได้ผลลัพธ์คือ 1
++
เพิ่มค่าขึ้น 1 โดย
a++ จะนำค่าของ a ไปใช้ก่อนแล้วจึงเพิ่มค่าของ a ขึ้น 1

++a จะเพิ่มค่าของ a ขึ้น 1 ก่อนแล้วจึงนำค่าของ a ไปใช้
b=a++;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
b=a;
a=a+1;
b=++a;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
a=a+1;
b=a;
--
ลดค่า 1 โดย
a-- จะนำค่าของ a ไปใช้ก่อน แล้วจึงลดค่าของ a ลง 1
--a จะลดค่าของ a ลง 1 ก่อน แล้วจึงนำค่าของ a ไปใช้
b=a--;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
ิb=a;
a=a-1;
b=--a;
จะมีความหมายเทียบเท่ากับ 2 บรรทัดต่อไปนี้
a=a-1;
b=a;

2.2 ตัวดำเนินการเปรียบเทียบ(Relational and Equality Operators)


ใช้เปรียบเทียบค่า 2 ค่าเพื่อแสดงการเลือก ซึ่งโปรแกรมโดยทั่วไปใช้ในการทดสอบเงื่อนไขตามที่

กำหนด การเปรียบเทียบโดยการเท่ากันของ 2 ค่าจะใช้เครื่องหมาย ==

เครื่องหมาย
ความหมาย
ตัวอย่าง
>
มากกว่าa > b   a มากกว่า b
>==
มากกว่าหรือเท่ากับa >= b a มากกว่าหรือเท่ากับ b
<
น้อยกว่าa < b   a น้อยกว่า b
<==
น้อยกว่าหรือเท่ากับa <= b a น้อยกว่าหรือเท่ากับ b
==
เท่ากับa == b a เท่ากับ b
!=
ไม่เท่ากับa != b  a ไม่เท่ากับ b

2.3 ตัวดำเนินการตรรกะ(Logical Operators) การดำเนินการเปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่)

 

เครื่องหมาย
ความหมาย
ตัวอย่าง
&&
และ(AND)x < 60 && x > 50   กำหนดให้ x มีค่าในช่วง 50 ถึง 60
||
หรือ(OR)x == 10 || x == 15     กำหนดให้ x มีค่าเท่ากับตัวเลข 2 ค่า คือ 10 หรือ 15
!
ไม่(NOT)x = 10  !x  กำหนดให้ x ไม่เท่ากับ 10

ลำดับความสำคัญของเครื่องหมาย

นิพจน์จะทำงานจากซ้ายไปขวา ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน มีการดำเนินการ

หลายอย่างปะปนอยู่ภายในนิพจน์เดียวกัน

ลำดับความสำคัญ
ลำดับความสำคัญจากสูงไปต่ำ
1
( )
2
!,++,- -
3
*,/,%
4
+,-
5
<,<=,>,>=
6
= =,!=
7
&&
8
||
9
*=,/=,%=,+=,-=


2.3 ทางเลือก/ลักษณะ(selection/Condition)

- รูปแบบ 1: if statement

Format :
             if (เงื่อนไข)
                    คำสั่ง;

-รูปแบบ 2 : if-else statement

Format :
         if (เงื่อนไข)
           คำสั่งชุดที่ 1(กรณีเงื่อนไขเป็นจริง);

       else
           คำสั่งชุดที่ 2(กรณีเงื่อนไขเป็นจริง);

-รูปแบบ 3: if-else statement (Nested if)

Format :
               If (เงื่อนไขประโยคที่ 1)
               คำสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง)
             else if (เงื่อนไขประโยคที่ 2)
               คำสั่งชุดที่ 2 ; (กรณีเงื่อนไขประโยคที่ 2 เป็นจริง)
                             ..........
             else
          คำสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขประโยคข้างต้น)
คำสั่งชุดถัดไป

-รูปแบบ 4: switch statement

Format :
                switch (var / expression) {
                        case ค่าที่ 1 : คำสั่งชุดที่ 1;
                                                     break;
                        case ค่าที่ 2 : คำสั่งชุดที่ 2;
                                                     break;
                             ………
                      case ค่าที่ n : คำสั่งชุดที่ n;
                                                      break;
                     default: คำสั่ง;
              }

ข้อความจำ : เงื่อนไขที่ใช้กับคำสั่ง switch ต้อองเป็นคำสั่งแบบประโยคเงื่อนไขแบบ 1ประโยค ไม่สามารถใช้ประโยคเงื่อนไขแบบซ้อนได้ การทำงานของ switch จะต้องมีคำสั่ง break เพื่อออกจากการทำงานของ case นั้น โยไม่ต้องผ่าน case ถัดไป

3. การทำซ้ำ(Repetition/Loop)

-while statement

Format :
           while (เงื่อนไข) {
                  statement-1;
                  statement-2;
                       ……
                  statement-n;
     }

-for statement

Format :
  for (ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลด)
{
                statement -1 ;
                statement -2 ;
                     …..
                statement -n ;
  }

ข้อควรจำ : ตัวแปรที่ใช้งานในคำสั่ง for ต้องเป็นตัวแปรประเภทจำนวนเต็มเท่านั้น

-do-while statement

Format :
                          do {
                                  statement -1 ;
                                  statement -2 ;
                                        …..
                                 statement -n ;
            } while (นิพจน์ตรรกะ);

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

4.ฟังก์ชัน(Function)

ข้อดี

-เขียนโค้ดครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง

-สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้

-ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว

-ทำให้โปรแกรมมีความเป็นโครงสร้าง

-สามารถแบ่งเป็นโมดูลย่อยๆได้

ฟังก์ชันแบ่งเป็น 2 ประเภท คือ

1. Library Function ฟังก์ชันมาตรฐานหรือไลบรารีฟังก์ชัน

ฟังก์ชันที่ใช้ในงานนี้ เป็นรูปแบบฟังก์ชันที่ต้องมีการส่งค่ากลับ ดังนั้นตัวแปรที่จะใช้งานต้องเป็นตัวเลข

กลุ่มทศนิยม เช่น float, double เป็นต้น

Format :
       #include<file-name>

ตัวอย่าง
#include<stdio.h>
#include<conio.h >
etc.

วิธีเรียกใช้งาน Library Function

-เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน

-เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น

ตัวอย่าง Library Function

strcpy () –อยู่ในแฟ้มข้อมูล string.h

ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง

Format :
             strcpy (str1, str2);

strcat () -อยู่ในแฟ้มข้อมูล string.h

ทำหน้าที่ : ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน

Format :
             strcat (str1, str2);

strlen () -อยู่ในแฟ้มข้อมูล string.h

ทำหน้าที่ : หาความยาวของข้อความ

Format :
            strlen (string);

getchar () –อยู่ในแฟ้มข้อมูล stdio.h

ทำหน้าที่ : เป็นพังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระโดยต้องกด enter  และข้อมูลที่ป้อน

เข้าจะปรากฏทางจอภาพ

Format :
              getchar ();


getch() –อยู่ในแฟ้มข้อมูล stdio.h

ทำหน้าที่ : เป็นฟังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระ โดยไม่ต้องกด enter  และข้อมูลที่

ป้อนเข้าจะไม่ปรากฏทางจอภาพ

Format :
               getch ();


gets( ) -อยู่ในแฟ้มข้อมูล stdio.h

ทำหน้าที่ : เป็นฟังก์ชั่นรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์ เข้ามาเก็บไว้ในตัวแปรชุด (อาร์เรย์)

Format :
                  gets ();

putchar(); -อยู่ในแฟ้มข้อมูล stdio.h

ทำหน้าที่ : เป็นฟังก์ชั่นให้แสดงผลทางจอภาพครั้งละ 1 อักขระ

Format :
                  putchar ();

2.การสร้างฟังก์ชันใช้เอง (User defined function)

เป็นฟังก์ชันที่ผู้เขียนโปรแกรมนิยามขึ้นใหม่ โดยอาจจะเขียนรวมไว้ในตัวโปรแกรมต้นฉบับเดียวกัน หรือ

เขียนแยกไว้ในไฟล์อื่น ซึ่งจะนำมาแปลร่วมโดยการ

ใช้ Include Directives เช่นเดียวกับฟังก์ชันมาตรฐานการสร้าง Function ประกอบด้วย

- Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน

Format :
clip_image001/*…………..*/  >> heading comment
  data-type function-name(type argument )
   {
      declaration;
      statement;
    return(value);
}

- Function Prototype คือ การประกาศฟังก์ชันโดยระบุทั้งชนิดของ function และ arguments ทั้งหมด เพื่อ

ให้ compiler มีการตรวจสอบการเรียกใช้ชนิดของ arguments ให้ถูกต้องในขั้นตอนของการ compile ถ้า

หากว่ามีการเรียกใช้ arguments ที่ไม่ถูกต้องก็จะมี message แจ้งตอนcompile ทำให้ไม่ผิด

พลาดในการเรียกใช้ฟังก์ชัน

-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 แบบ คือ

1) 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);
}
2) Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป

ซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นใน

โปรแกรมที่เรียกใช้เปลี่ยนไปด้วย

ตัวอย่าง :
void swap(int * num1, int * num2) {
       int tmp;
tmp = *num1;
*num1 =* num2;
*num2 = tmp;
}

บทที่ 1 ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม

1.ขั้นตอนการพัฒนาโปรแกรม(steps in Program Development )

มี 7 ขั้นตอน ประกอบด้วย
1.1 กำหนดปัญหา(Define the Problem)
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
1.3 พัฒนาอัลกอลิทึม(Develop and Algorithm)
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม(Test the  Algorithm for Correctness)
1.5 เขียนโปรแกรม(Proramming)
1.6 ทดสอบโปรแกรม(Testing)
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม(Document and Maintain the Program)
มาดูความหมายและวิธีของแต่ละขั้นตอนกันดีกว่า
1.1 กำหนดปัญหา(Define the Problem) ประกอบด้วย
-Input
-Outputs
-Processing
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
-แตกงานให้เป็นช้นย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
          -การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
         
         -ขั้นตอนการประเมณผลส่วนหลักๆ
         
         -ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
         
        -ส่วนความสัมพันธ์กับผู้ใช้งาน
         
        -โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
         
       -ตัวแปรและโครงสร้างของเรคอร์ด
         
       -ตรรกะโปรแกรม(Logic) 
1.3 พัฒนาอัลกอลิทึม(Develop and Algorithm)
-ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
         -ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม(Test the  Algorithm for Correctness) เป็นขั้นตอนที่สำคัญที่สุด

ตรวจสอบทั้งตรรกะของอัลกอริทึม

ขั้นตอน
ตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละ

1.5
เขียนโปรแกรม(Proramming)
-นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
         -เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น c,PASCAL เป็นต้น

1.6
ทดสอบโปรแกรม(Testing)
-นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
         -การตรวจสอบ
          -รูปแบบชุดคำสั่ง(Syntax Errors)
          -โปรแกรม(Logic Errors)
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม(Document and Maintain the Program)

การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน
การกำหนดปัญหาจนถึงขั้นตอน

สุดท้าย คือการทดสอบผลลัพธ์

-เอกสารประกอบโปรแกรมประกอบด้วย
    
   -เอกสารภายนอก(External document) เช่น ผังโครงสร้างอัลกอริทึมที่ใช้แก้ปัญหาและผลของการทดสอบข้อมูล
   
     -เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม

-การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม

2.วิธีการออกแบบโปรแกรม(Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven

   แนวความคิด>>มีกระบวนการ(Processes)หรือฟังก์ชัน(Function)
2.2 การออกแบบโปรแกรมแบบ Event-Driven

   แนวความคิด>>เหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อ

โปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
2.3 การออกแบบโปรแกรมแบบ Data-Driven

   แนวความคิด>>ข้อมูลในโปรแกรมมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ด้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented

3.1 การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Development)
          3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program  Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่า
จะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
     
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้น

ตอนวิธีซึ่งจะใช้อธิบายว่างานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูก

ต้องตามต้องการ

คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย

-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ

-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่ายเพียงพอต่อการดำเนิน
งานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
     ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่

นำเสนอในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที

หลักการเขียนซูโดโค้ด 
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
          -ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง

          -ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน

          -แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
6.การปฏิบัติพื้นฐาน 6 ประการของคอมพิวเตอร์(Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
          -อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บ

             ข้อมูล  เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
      -read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
      -get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น :
   read studentName
  get systemDate
    read number1,number2
  get taxCode
       6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
     -print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
     -write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
    -put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น :
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display
“End of data”
     6.3 คำนวณได้ (Cont.)
   -คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสาร
                 โต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
  -คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ
          +   ใช้แทนการบวก (Add)
          -    ใช้แทนการลบ (subtract)
          *     ใช้แทนการคูณ (multiply)
          /     ใช้แทนการหาร (divide)
         ()     ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
   ตัวอย่าง เช่น :
divide totalMarks by studentCount
salesTax costPrice*0.10
computeC=(F-32)*5/9
6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมายเพื่อกำหนดค่าให้กับตัวแปร
ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น :
initialize totalPrice to zero
set studentCount to o
totalPrice = costPrice+salesTax
totalPrice costPrice+salesTax
store customerId lastCustomerID
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น :
if employeeStatus is partTime then
   add to partTimeCount
else
  add to fullTimeCount
end if
***หมายเหตุ: if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if 
6.6 ทำซ้ำได้ (repeation or loop)
-ใช้คำ dowhile…enddo หรือ repeat..until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof”
  read student record
print studentName,address to report
add 1 to studentTotal
enddo
         eof >> End of File

***หมายเหตุ: 
-dowhile…enddo ใช้ในกรณีประมวลผลขั้นตอนหรือกิจกรรมซ้ำๆจะทำงานซ้ำไปเรื่อยๆเมื่อ
ตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริงจนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข
7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงล่างimage











-แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
     if…………..
     then………
     else………
     end if……

image













-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
    statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข
repeat
     statement
     statement
          :
          :
until condition is true

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

ปรัชญามั่วๆ...เกี่ยวกับความรัก

1. คนดีๆ... ล้วนมีเจ้าของไปหมดแล้ว (เหมือนที่จอดรถ)

2. ส่วนคนที่ยังเหลืออยู่...มันก็ต้องมีเหตุผลล่ะนะ(ไม่เหมือนที่จอดรถ)

3. อะไรที่คุณเอะใจว่า.. มันจะดีเกินจริง... เป็นไปได้มากว่า ...มันไม่จริง

4. ความรัก ...ก็เหมือนการรอรถเมล์.... สายที่ไม่อยากขึ้น-ก็มาจัง ..ส่วนสายที่ต้องการจะขึ้น ...ก็รอไปเถอะ...พอมา-ก็ไม่จอด.. พอจอด-ก็คนแน่น-ขึ้นไม่ได้... พอขึ้นได้-รถก็ไปตายกลางทางอีก

5. ความรัก..ก็เหมือนกับเหรียญ... แหวน ..หรือชิ้นส่วนเล็กๆ ...เพราะเมื่อไหร่ที่มันหลุดมือตกลงพื้น..มันจะต้องกลิ้งไปยังซอกที่มืดที่สุด.. และลึกที่สุด ...จนเรามองไม่เห็น ...และเอื้อมไม่ถึง

6. รถไฟ..อาจจะวิ่งบนราง ...แต่อย่าด่วนสรุปว่า ...มันวิ่งไปทางไหน ...โดยดูจากราง.. เพราะเมื่อเหลียวกลับมามองอีกที ...รถไฟขบวนนั้น..อาจจะวิ่งผ่านคุณไปแล้วก็ได้

7. สวย ..หรือหล่อ ...ไม่ได้อยู่ที่คำจำกัดความ.. แต่อยู่ที่จินตนาการ

8. ความรัก.. สวนทางกับกฎฟิสิกส์.. นั่นคือ ...เมื่อเราให้ความรักกับใครมากเท่าไหร่ ..เราก็จะ ได้รับตอบแทนกลับมา..เป็น X ส่วนผกผันกลับ

9. เมื่อไหร่..ที่ฝ่ายหนึ่งบอกว่า.. 'เป็นเพื่อนกัน' แปลว่า.. 'ต้องการจะเลิกคบกัน'

10. เมื่อไหร่..ที่ฝ่ายหนึ่งบอกว่า.. 'มีอะไรต้องคุยกัน' แปลว่า .. 'ไม่ต้องการคุยกันอีกแล้ว'

11. ความรัก..ทำให้คนตาบอด .. การแต่งงาน..ช่วยให้คนตาสว่าง

By : http://www.dek-d.com/