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

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

วันจันทร์ที่ 25 กรกฎาคม พ.ศ. 2554

RESUME


การเขียนประวัติในการสมัครงานทั่วไป....
RESUME
Personal Detail
            Name               : Miss.   ……………………………
            Address           : ………………………………………..
            Age                  : ………….Ages.
            Hight               : …………. Cms.
            Weight             : ………….. Kgs.
            Date of birth    : ……………………
            Telephone       : ……………………
            E-Mail             : ……………………
Education Background
                        …………………………………., GPA :……………….
           
Training Backgroung
            …………………………………………………………………..


Working Experience
 -
Spacial Abilites
…………………………………………………………………….
Interest
………………………………………………………………






  
การเขียนจดหมายสมัครงานเป็นภาษาอังกฤษ

Resume
Dear Sir/Madam
            Referring to your advertize in www.cadcom.net in position of Design Graphic Design. I would appreciate to apply for this Position. I very ensure that position . I very ensure that my background and experience as serve you well. Here with my resume with file attached .  I look forward to hearing from you soon or your covenience time .
            My contact number is ………………personal E-mail …………………
           

Your sincerely
            …………………….


วันพุธที่ 20 กรกฎาคม พ.ศ. 2554

Conversation

ผู้สัมภาษณ์
Could you please introduce yourself briefly?
Would you mine telling me about yourself briefly?


การแนะนำตัวเองแบบย่อๆ
May I introduce myself?
     My name is…………I’m now…..years old.
I have….Brothers and….sisters.
     I graduated from……………...university. I did a B.A. in………..My major was ………………….and minor was……………………………

คำถามคุณอาจต้องเจอในการสัมภาษณ์งาน
A: Where did you graduated?
B: I graduated from……………..
A: What course did you take?
B: I did a B.A. in……………….
A: What do you doing now?
B: - I’m working at………….
- I’m still out of work.
A: What company are you working for?
B: I’m working for………………
A: What is your position there?
B: I’m working as a……………
A: When are you going to start?
B: May 1, 2011 (ตอบเป็นวันที่)
A: What salary do you expect?
B: เงินเดือนที่คาดหวัง
A: What do you do during you free time?
B: -Reading a book.
- Playing sport.
A: What do you been to abroad?
B: -Yes, I have been to……….
- No, I haven’t.
A: Can you drive a car?
B: - Yes, I can.
-No, I can’t.
A: What was you GPA?
B: (เกรดเฉลี่ยสะสม)
A: Can you speak and write?
B: - Yes, I can.
- No I can’t.

วันจันทร์ที่ 4 กรกฎาคม พ.ศ. 2554

วิธีติดตั้ง Joomla

วิธีติดตั้ง Joomla

       Joomla เป็น CMS หรือพูดภาษาบ้านๆว่าเป็น โปรแกรมสร้างเว็บ ชนิดหนึ่ง มีความสามารถครบ และได้รับการพัฒนาอย่างต่อเนื่อง มีความปลอดภัยสูง และเป็นที่นิยม ใช้สร้างเว็บไซต์ กันมากมายทั้งคนไทยและต่างประเทศ
ก่อน ติดตั้ง ต้องจำลอง เครื่อง เราเป็น Web Server ก่อน
และเตรียมฐานข้อมูล ตามรูปด้านล่างนี้

สร้างฐานข้อมูล สำหรับติดตั้ง Joomla 1.5

ขั้นตอน การติดตั้ง Joomla 

1.ดาวน์โหลด Joomla  มาก่อน
2.เมื่อดาวน์โหลด มาแล้ว ให้ Unzip Joomla-1.5.0.zip ไฟล์ ไปไว้ที่ D:xampphtdocsjoomla
ดาวน์โหลด มาแล้ว ให้ Unzip Joomla-1.5.0.zip

3.เข้าไปที่ http://localhost/joomla/ จะได้หน้าจอดังที่
4.เลือกภาษา การแสดงผล สำหรับการติดตั้ง Joomla
เลือกภาษา สำหรับ การแสดงผล  สำหรับการติดตั้ง
5.ตรวจสอบก่อนการติดตั้งสำหรับ ต้องเป็นสีเขียวทั้งหมด ถ้ามี สีแดงอยู่ ให้ปรับแต่ server ก่อน แล้ว คลิก ตรวจสอบอีกครั้ง
ถ้ามีสีเขียวทั้งหมดแล้ว ให้ คลิก ปุ่ม ถัดไป ได้เลย

ตรวจสอบ config ของ server สำหรับ การติดตั้ง joomla 1.5
6.ลิขสิทธิ์ ของโปรแกรม Joomla คลิก ปุ่ม ถัดไป
.ลิขสิทธิ์ ของโปรแกรม Joomla 1.5
7.กรอกรายละเอียดของ ฐานข้อมูล 
ชนิดฐานข้อมูล ให้เลือก เป็น Mysql
ชื่อโฮสต์ ใส่เป็น localhost
ชื่อผู้ใช้ฐานข้อมูล,รหัสผ่าน,ชื่อฐานข้อมูล ตามที่เราได้กำหนดไว้ 
เมื่อกรอกเรียนร้อยแล้วให้คลิก ปุ่ม ถัดไป

กรอก รายละเอียดฐานข้อมูล Joomla การติดตั้ง วิธีติดตั้ง
8.กำหนดรายละเอียดเกี่ยวกับ FTP สำหรับ ติดตั้งที่ เครื่องตัวเองไม่ต้องกำหนด 
FTP สำหรับ ติดตั้งที่ เครื่องตัวเอง Joomla การติดตั้ง วิธีติดตั้ง
9.กำหนด ชื่อเว็บ e-mail และรหัสผ่านของ admin
กำหนด ชื่อเว็บ e-mail และรหัสผ่านของ admin ของ การติดตั้ง Joomla 1.5
10.เสร็จ
ติดตั้ง Joomla เสร็จสิน
ไปที่
http://localhost/joomla/administrator/

Login ใน ฐานนะ admin ใน Joomla 1.5
หน้าจอ ของ admin 
joomla admin panel
เสร็จสินการติดตั้ง Joomla
ขอขอบคุณ   http://www.mindphp.com

วันพุธที่ 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) ก่อนเช็คเงื่อนไข