ชีวิตไม่มีคำว่าท้อ ถ้ายังไม่ได้ลองทำมัน เอ๊า สู้ๆๆๆๆๆๆๆๆ

จะท้อไม่ได้ เราต้องทำได้

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

wordpress

ขั้นแรก ก็ขอให้ไปเข้าweb: http://wordpress.com  จะมีหน้าจอโผล่มาให้ ให้คลิกตรงที่เขียนว่า sign up now  เพื่อลงทะเบียนใช้งานwordpress
*สำหรับคนที่ไม่ถนัดภาษาอังกฤษ หน้าเว็บwordpress ทางด้านขวามือ จะมี Preferred Language ให้เลือกเปลี่ยนภาษา สามารถเปลี่ยนได้โดยคลิกเลือกที่ more language จะมีหน้าจอเปลี่ยนภาษาให้เลือกดั่งภาพ  หากต้องการภาษาไทยให้คลิกที่ตัว th แค่นี้ ภาษาอังกฤษ ก็จะหายกลายเป็นภาษาไทยแล้วล่ะค่ะ
ขั้นที่2 หลังจากที่คลิกลงทะเบียน wordpress จะขึ้นหน้าจอให้เราใส่ข้อมูล ชื่อ รหัสผ่าน อีเมล์ อย่าลืมกดติ๊กเครื่องหมายถูกช่อง Legal flotsam ถัดลงมาอีกบรรทัดจะเป็นติ๊กให้เลือก 2ข้อ ให้เลือกข้อแรกคือ ขอบล็อกให้ฉัน 
*อย่าลืมจดชื่อไอดี กับ พาสดีๆนะคะ ไม่งั้นจะlog in ไม่ได้
ขั้นที่3   หลังจากlogin เสร็จก็จะเข้าสู่หน้าจัดการwordpressค่ะ ตรงแถบเมนูด้านบน  จะมีคำสั่งอยู่4คำสั่ง  คือ My account  ,หน้าแรกของฉัน,เรื่องใหม่,ข้อมูลเกี่ยวกับบล็อก
ด้านล่างตรงเมนูบาร์ ตรงที่มีชื่อของบล็อกที่เราตั้งเอาไว้ตอนลงทะเบียน(สามารถเปลี่ยนได้ทีหลังค่ะ) จะมีเยี่ยมชมเว็บไซต์ หากคลิกเข้าไป จะพบกับหน้าบล็อกเปล่าๆของเรา  เวลาที่เราแก้ไขอะไร หรือเพิ่มเติมอะไรลงไป ก็คลิกมาเช็คดูหน้านี้แหละค่ะ
หากเราต้องการที่จะสร้างเมนู หรือ เพิ่มเนื้อหาของบล็อกให้ไปที่ my account จะมีเมนูย่อยๆให้เลือก ให้เลือกอันที้6 ที่มีชื่อ บล็อกของฉัน 
เมื่อคลิกเข้าไป ก็จะมีเมนูย่อยให้อีก ในนี้เราสามารถสร้างหน้าเมนู สร้างลิ้งค์ต่างๆได้
* สำหรับwordpress  คำสั่งหน้าก็คือการสร้าง เมนูไว้ที่หน้าเว็บไซต์ของเรา เช่นหน้าแรกจะเขียนเกี่ยวกับเจ้าของบล็อก ก็เลือกที่หน้า/เขียนหน้าใหม่/ ใส่ชื่อหน้าใหม่ที่ต้องการจะสร้าง
สมมุติว่า เขียนชื่อหัวข้อเมนูไปว่า about me  หลังจากนั้นก็พิมพ์รายละเอียดลงไป ตรงออฟชั่นหน้าสร้างเมนู สามารถใส่รูป ใส่คลิป  ใส่poll ได้ด้วยนะคะ ก็ลองเล่นกันดูแล้วกัน 
เมื่อใส่ข้อมูลจนพอใจแล้ว ก็ให้มองไปทางขวามือ จะมีคำสังที่เขียนว่า เผยแพร่ พอทำการอัพเสร็จ ให้ลองคลิกไปดูหน้าเว็บบล็อก ก็จะเห็นข้อมูลที่เขียนถูกเพิ่มเข้ามาที่หน้าเว็บไซต์
ส่วนคำสั่งอื่นแนะนำว่าให้ลองเล่นดูค่ะ วิธีการใช้เหมือนกันหมด ใส่ข้อมูล กดเผยแพร่
ขั้นที่4  ในกรณีต้องการที่จะสร้างpoll(แบบสำรวจความคิดเห็นไว้ในหน้าเว็บบล็อก) ให้คลิกเลือกที่ poll/เพิ่มผู้ใช้งาน จะเข้าหน้า สร้างpollใหม่ค่ะ ใส่หัวข้อที่ต้องการจะถาม และ ใส่ตัวเลือกลงไป ด้านล่างมีรูปแบบpollให้เลือกเปลี่ยน หลังจากนั้นก็คลิก save poll 
*poll เอาไว้ใส่ใน"หน้าเมนู หรือเนื้อหาที่เราสร้างขึ้น"
ขั้นที่5 อยากเปลี่ยนรูปแบบบล็อก ก็ไม่ยากค่ะ ให้ไปคลิกตรงคำสั่งที่เขียนว่า รูปแบบบล็อก/เปลี่ยน Theme จะมีรูปแบบTheme ให้เลือกใช้
อันที่เป็นเทมเพลตชนิดมีbranner เราสามารถเปลี่ยนได้ โดยเลือกคำสั่ง ปรับแต่งส่วนหัว จะมีช่องให้เราเลือกอัพรูปภาพขึ้นบล็อก
โดยตัวwordpress จะทำการcrop ให้ขนาดเท่าbranner เราสามารถเลือนตัวcrop เพื่อที่จะเลือกจุดที่จะตัดภาพออกมาใช้ได้
ขั้นที่6 การเพิ่มออฟชั่นให้แก่เว็บบล็อกของเรา เราสามารถเพิ่มได้โดยเลือกคำสั่ง ปรับแต่งส่วนหัว/widgets/เมื่อเข้าไปข้างใน จะพบกับ ออฟชั่นให้เลือกใช้อยู่ทางด้านซ้ายมือ หากพอใจที่จะใช้อันไหนจะกดค้างแล้วลากไปที่ช่อง main slidebar  แค่นี้เป็นอันเสร็จค่ะ
*สำหรับการใส่โค้ต หรือ แก้html สามารถทำได้ ในตัวwidgets นี้ทำได้ที่เลือกใช้วิตเจ็ต ข้อความ จะมีช่องว่างให้เราลงใส่ htmlลงไป  แต่อย่างไรก็บางทีโค้ตhtmlบางตัว ก็ไม่แสดงผลนะคะ
* คำสั่ง เครื่องมือ นำเข้า และ นำออก ใช้สำหรับการที่เราไปโหลดออฟชั่นมาเพิ่ม แล้วต้องการจะนำมาใช้ในเว็บบล็อกของเรา ก็สามารถใช้คำสั่ง นำเข้า หากต้องการนำข้อมูลของเราอัพขึ้นเซิฟจนกลายเป็น เว็บไซต์จริงๆที่ไม่ใช่เว็บบล็อก ก็จะใช้คำสั่ง นำออกค่ะ
ขั้นที่7 อยากให้เว็บบล็อกของเรา เป็นเว็บไซต์ ก็ยุ่งยากนิดหน่อยค่ะ เราจำเป็นจะต้องโหลดตัวโปรแกรม wordpress มาไว้ในคอมของเรา และ ตัวFTP สำหรับอัพขึ้นเซิฟ ตัวFTPฟรีที่แนะนำให้โหลด ชื่อFileZilla
http://www.bloggang.com/mainblog.php?id=myvaliant0-0  ดูรูปดาวโหลด์ไฟล์ได้ที่ลิงค์อันนี้ค่ะ ส่วนช่วงที่นำข้อมูลที่ทำในwordpress การสมัครใช้โอสต์เพื่อนำข้อมูลลงเซิฟ จะเขียน และลงรูปให้ดูภายหลังค่ะ (รูปเยอะมากๆ  - -*)
อันนี้เป็นตัวอย่างเว็บบล็อกที่ทำด้วย word press ของเรา ตอนเรียนค่ะ ออกจะแย่ไปหน่อยแหะๆ

บทที่ 3 อาร์เรย์ (Array)



อาร์เรย์ (Array)อาร์เรย์ (Array)
 แบ่งออกเป็น 2 ประเภท

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



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


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

คุณสมบัติอเรย์
1. อาร์เรย์เป็นตัวแทนกลุ่มของข้อมูลที่มีความสัมพันธ์กัน
2. สมาชิกในอาร์เรย์จะมีคุณสมบัติเหมือนๆ กัน
3. ขนาดของอาเรย์จะมีขนาดคงที่ static Data Sructure
4. ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที
ลักษณะของ Arrays
- อาร์เรย์จะประกอบด้วยสมาชิกที่มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกับสมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากัน เรียงต่อเนื่องในหน่วยความจำหลัก
- อาร์เรย์ หมายถึง การจัดชุดของข้อมูลที่เป็นชนิดเดียวกันในช่องตารางที่กำหนด โดยรูปแบบของช่องตารางที่จัดเก็บจะต้องเท่ากันทุกช่องมีตัวเลขกำกับทั้งแถวแลคอลัมภ์ เพื่อบอกตำแหน่งอีกทั้งยังสามารถแสดงได้ในรูปแบบของมิติ

ลักษณะที่สำคัญของโครงสร้างแบบอาร์เรย์
- เป็นโครงสร้างเชิงเส้น (Linear Structure) คือ มีรูปแบบของการจัดเก็บข้อมูลเป็นแนวเส้นตรงที่ต่อเนื่องกัน
- จัดเก็บข้อมูลแบบเรียงลำดับ (Order) คือนำข้อมูลที่ถูกนำเข้ามาจัดเก็บที่เป็นหมวดหมู่เดียวกัน หากบันทึกจะจัดเก็บเรียงแบบ
อันดับ เช่น เรียงลำดับของวันใน 1 สัปดาห์ Monday,Tuesday,WednesdaySunday
- ข้อมูลภายในช่องจัดเก็บเป็นชนิดเดียวกัน (Homogenous Data Type) คือ หากใน 1 อาร์เรย์มีช่องตาราง 5 ช่อง ทั้ง 5 ช่อง ก็ต้องมีการบันทึกเป็นตัวเลขหรือตัวอักษรอย่างใดอย่างหนึ่ง
- มีการกำหนดช่องตารางที่มีโครงสร้างตายตัว (Static Structure) คือช่องตารางที่ใช้ในการจัดเก็บข้อมูลทุกช่องต้องมีขนาดที่เท่ากัน มีการจัดเรียงในรูปแบบเชิงเส้น และกำหนดจำนวนของช่องไว้อย่างตายตัว

ขอบเขตของอาร์เรย์ (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 มิติ
ArrayName [ L : U ]
สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 1 มิติ
      LOC(a[ i ]) = B + W(i + L)

อาร์เรย์ 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 มิติ
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]










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

บทที่2 ภาษา C

วัตถุประสงค์
  1. เข้าใจรูปแบบคำสั่งที่ใช้ในภาษา C
  2. เข้าใจวิธีการดำเนินการ
  3. เข้าใจวิธีการวนรอบ
  4. สมารถสร้างโปรแกรมที่เกี่ยวข้องกับการจัดการหน่วยความจำ
  5. สามารถสร้างเงือ่นไขและการกำหนดเงื่อนไขต่างๆ
สารบัญ  (Contents)
คำสั่งพื้นฐานต่างๆ - ตัวดำเนินการ (Operator) - Selection/Condition - Function
- printf : ใช้แสดง ข้อความหรือ ข้อมูลจากค่าคงที่ และตัวแปรที่จอภาพ
เช่น printf  (“abc”);
printf (“%s”,”abc”);
-scanf : ใช้รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงในหน่วยความจำของข้อมูล
เช่น scanf (“%d”,&x);

Format Code
ความหมาย
%d
ใช้กับข้อมูลแบบ integer(เก็บข้อมูลแบบตัวเลขจำนวนเต็ม)
%c
ใช้กับข้อมูลแบบ character(เก็บข้อมูลแบบอักขระ)
%f
ใช้กับข้อมูลแบบ floating(เก็บข้อมูลแบบตัวเลขทศนิยม),double
%s
ใช้กับข้อมูลแบบ string
 
2.ตัวดำเนินการ(Operator) 
แบ่งออกเป็น 3 ชนิด  คือ 2.1 เครื่องหมายการคำนวณทางคณิตศาสตร์(Arithmetic Operation) ได้แก่ +,-,*,/,%,--,++
2.2 ตัวดำเนินการเปรียบเทียบ(Relational and Equality Operators) ได้แก่ < , > , <= , >= , == , !=
2.3 ตัวดำเนินการตรรกะ(Logical Operators) การดำเนินการเปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่) ได้แก่  ! , && , ||
 
นิพจน์ (Expression) หมายถึง การนำตัวแปรค่าคงที่มาสัมพันธ์กัน โดยใช้เครื่องหมายอย่างใดอย่างหนึ่ง เช่น   x + 1 a * b / c
นิพจน์จะทำงานจากซ้ายไปขวา ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน มีการดำเนินการหลายอย่างปะปนอยู่ภายในนิพจน์เดียวกัน

ลำดับความสำคัญ
ลำดับความสำคัญจากสูงไปต่ำ
1
( )
2
!,++,- -
3
*,/,%
4
+,-
5
<,<=,>,>=
6
= =,!=
7
&&
8
||
2.3 ทางเลือก/ลักษณะ(selection/Condition)
if statement
Format :  if (เงื่อนไข) คำสั่ง;
- รูปแบบ 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 :
-for statement Format :
  for (ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลดและจะต้องเป้นจำนวนเต็มเท่านั้น)
4.ฟังก์ชัน(Function)
ข้อดี

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

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

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

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

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

ฟังก์ชันแบ่งเป็น 2 ประเภท คือ 1. Library Function ฟังก์ชันมาตรฐานหรือไลบรารีฟังก์ชัน ฟังก์ชันที่ใช้ในงานนี้ เป็นรูปแบบฟังก์ชันที่ต้องมีการส่งค่ากลับ ดังนั้นตัวแปรที่จะใช้งานต้องเป็นตัวเลขกลุ่มทศนิยม เช่น float, double เป็นต้น
วิธีเรียกใช้งาน 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 :
  getchar ();
gets( ) -อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นฟังก์ชั่นรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์ เข้ามาเก็บไว้ในตัวแปรชุด (อาร์เรย์) Format : 
gets ();
putchar(); -อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นฟังก์ชั่นให้แสดงผลทางจอภาพครั้งละ 1 อักขระ Format :
putchar ();
2.การสร้างฟังก์ชันใช้เอง (User defined function) เป็นฟังก์ชันที่ผู้เขียนโปรแกรมนิยามขึ้นใหม่ โดยอาจจะเขียนรวมไว้ในตัวโปรแกรมต้นฉบับเดียวกัน หรือเขียนแยกไว้ในไฟล์อื่น ซึ่งจะนำมาแปลร่วมโดยการใช้ Include Directives เช่นเดียวกับฟังก์ชันมาตรฐานการสร้าง Function ประกอบด้วย - Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน Format :
-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ในโปรแกรมที่เรียกใช้จะไม่มีการเปลี่ยนแปลง
2) Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันก็มีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นในโปรแกรมที่เรียกใช้เปลี่ยนไป

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

ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม
มีดังนี้
1.ขั้นตอนการพัฒนาโปรแกรม
(Steps in Program Development )
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)

ตัวอย่างที่1


ตัวอย่างที่ 2


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) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง

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

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

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

มีดังนี้

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

(Steps in Program Development )

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)
ตัวอย่างที่1
1
ตัวอย่างที่ 2
2
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) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
    statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข

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

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

ฟังการบรรยายจาก พระอาจารย์ ศรศิริ ติสรโณ
ผู้ช่วยเจ้าอาวาสวัดสันติวัน จ.พิษณุโลก

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

* เกราะป้องกันอันดับแรกเลยต้องเริ่มต้นที่ตัวเราก่อน ต้องรู้จักคิด รู้จักสามัคคี มีสติในการแก้ไขปัญหาและทุกๆอย่างที่เกิดขึ้น ศีลเป็นพื้นฐานของการดำเนินชีวิต

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

ใช้ศีลเป็นเกราะป้องกันในการดำเนินชีวิต

วิบากกรรมของการผิดศีลข้อ 1 ฆ่าสัตว์ วิบากกรรมคือ อายุสั้น
ข้อ 2 ลักทรัพย์ วิบากกรรมคือ ทรัพย์สมบัติพินาศ
ข้อ 3 ประพฤติผิดในกาม วิบากกรรมคือ ครอบครัวแตกแยก
ข้อ 4 โกหก วิบากกรรมคือ โรคภายในช่องปาก, มะเร็งช่องปาก, ฟันไม่สวย
ข้อ 5 ดื่มน้ำเมา วิบากกรรมคือ เกิดมาโง่เขลา, ปัญญาอ่อน

วิธีสร้างเกราะภายในตน
คือ การตั้งใจงดเว้นจากการประพฤติผิดทางกายและวาจา
1. งดเว้นโดยไม่ตั้งใจไว้ก่อน
2.งดเว้นโดยตั้งใจและปฏิญาณไว้ก่อน
3. งดเว้นด้วยตัดขาดได้
ธรรมที่เกื้อกูลต่อการรักษาศีล
"หิริ โอตตัปปะ"
หิริ คือความละอายต่อบาป เกิดขึ้นด้วยการพิจารณาถึงฐานะของตนเอง
โอตตัปปะ คือความเกรงกลัวต่อบาป เกิดขึ้นได้ เพราะกลัวว่าตนเองจะเดือดร้อนในภายหลัง
"เมื่อมีหิริโอตตัปปะ ศีลก็เกิดขึ้นและตั้งอยู่ได้
เมื่อไม่มีหิริโอตตัปปะ ศีลก็ไม่เกิดและตั้งอยู่ไม่ได้"
ที่สำคัญที่สุดคือ "การมีสติ"
คุณธรรม 4 ประการ คือ "ฆราวาสธรรม" คือ 1. สัจจะ คือ นิสัยความรับผิดชอบ
2. ทมะ คือ นิสัยรักการฝึกฝนตนเอง
3. ขันติ คือ นิสัยอดทน
4. จาคะ คือ นิสัยเสียสละ
ทำไมต้องรักษาศีล?ข้อ 1 เพระาใครๆก็รักชีวิตตัวเอง
ข้อ 2 เพราะใครๆก็อยู่เป็ฯสุขด้วยสมบัติของตนเอง
ข้อ 3 เพราะใครๆก็รักพี่น้องพวกพ้องของเขา
ข้อ 4 เพราะใครๆก็รักความจริงใจด้วยกันทั้งนั้น
ข้อ 5 เพราะว่าเมื่อดื่มเข้าไปแล้วก็จะทำลายสติของเรา เมื่อสติของเราเสียหายไปแล้ว
ศีลข้ออื่นๆก็พร้อมที่จะขาดไปหมด (ศีลข้อนี้สำคัญที่สุด)* ก่อนจะสอนคนอื่นให้ดีได้ ต้องสอนตัวเองให้ดีซะก่อน

ใช้ศีลเป็นเกราะป้องกันในการดำเนินชีวิตวิบากกรรมของการผิดศีล
ข้อ 1 ฆ่าสัตว์ วิบากกรรมคือ อายุสั้น
ข้อ 2 ลักทรัพย์ วิบากกรรมคือ ทรัพย์สมบัติพินาศ
ข้อ 3 ประพฤติผิดในกาม วิบากกรรมคือ ครอบครัวแตกแยก
ข้อ 4 โกหก วิบากกรรมคือ โรคภายในช่องปาก, มะเร็งช่องปาก, ฟันไม่สวย
ข้อ 5 ดื่มน้ำเมา วิบากกรรมคือ เกิดมาโง่เขลา, ปัญญาอ่อน

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

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

คุณธรรม 4 ประการ คือ "ฆราวาสธรรม" คือ 1. สัจจะ คือ นิสัยความรับผิดชอบ
2. ทมะ คือ นิสัยรักการฝึกฝนตนเอง
3. ขันติ คือ นิสัยอดทน
4. จาคะ คือ นิสัยเสียสละ

* เกราะป้องกันอันดับแรกเลยต้องเริ่มต้นที่ตัวเราก่อน ต้องรู้จักคิด รู้จักสามัคคี มีสติในการแก้ไขปัญหาและทุกๆอย่างที่เกิดขึ้น ศีลเป็นพื้นฐานของการดำเนินชีวิต

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

รัก ...

หากความรักคือความทุกข์
แล้วความสุขคืออะไร
หากความรักคือความเสียใจ
แล้ว ทำไมใยใจยังต้องการ