วันจันทร์ที่ 24 สิงหาคม พ.ศ. 2552

ชุดคำสั่งใน ภาษา C

ฟังก์ชั่น printf()

ฟังก์ชั่น printf มีชื่อเต็ม ๆ ว่า print format เป็นฟังชั่นที่ใช้สำหรับ พิมพ์ข้อความต่าง ๆ ออกจากจอภาพ

ฟังก์ชั้น scanf()

ฟังก์ชั้น scanf ฟังก์ชั่นนี้จะตรงข้ามกับฟังก์ชั่น printf() โดยจะใช้อ่านค่าจากการกดแป้นพิมพ์ที่อยู่ในรูปรหัส ASCll ไปเก็บในตัวแปรที่กำหนด และสามารถใช้เป็นรหัสควบคุมหรือ control string ระบุชนิดข้อมูลที่จะเก็บในตัวแปร

ฟังก์ชั่น (if - else)

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

ฟังก์ชั่น for

การทำซ้ำแบบ for หรือ ลูปจะเป็นการให้โปรแกรมทำซ้ำจนกว่าค่าตัวแปรจะครบตามที่ตั้งไว้ เริ่มแรกโปรแกรมจะกำหนดค่าเริ่มต้นให้กับตัวแปรเริ่มตัว (initiailzation) จากนั้นทำสเตดเมนต์

ในส่วนของ condition บางครั้งจะเรียกว่าตัวแปรควบคุม loop เริ่มต้นคำสั่งจะทำส่วนกำหนดค่าเริ่มต้น(initialvalue) จากนั้นจำตรวจสอบว่าเงื่อนไขเป็นจริงหรือไม่ถ้าเงื่อนไขเป็นจริงจะทำตามสเตตเมนต์ที่จำทำซ้ำ แล้วกลับมาส่วน increment

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

ฟังชั่น while

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

วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2552

การสร้างคีย์ลัดด้วยแมโคร

แมโคร
แมโคร คือ ชุดคำสั่งที่ช่วยในการทำงานต่างๆ ให้เป็นไปแบบอัตโนมัติ อาจมีหนึ่งคำสั่งหรือมีมากกว่านั้น โดยที่แต่ละคำสั่ง
แสดงการปฏิบัติงานที่เฉพาะเจาะจะ เช่น การเปิดฟอร์มหรือการพิมพ์รายงาน แมโครสามารถช่วยเราปฏิบัติงานง่ายๆโดยอัตโนมัติ
ตัวอย่าง เช่น เราสามารถปฏิบัติงานแมโครที่พิมพ์รายงาน เมื่อผู้ใช้คลิกที่ ปุ่มคำสั่ง (Command Button) แมโครสามารถเป็นแม
โครเดียวที่ประกอบด้วยแอคชั่นต่อเนื่อง หรือสามารถเป็นกลุ่มแมโคร นอกจากนี้เรายังสามารถใช้นิพจน์เงื่อนไขในการตัดสินว่าใน บางกรณีแอคชั่นจะเกิดขึ้นเมื่อ แมโครทำงานหรือไม่
โครงสร้างและการทำงานของแมโครจะแตกต่างจากการเขียนโปรแกรมที่พัฒนาจาก VBA เนื่องจากการทำงานของแมโคร
จะทำงานตามลำดับขั้น ตั้งแต่ขั้นแรกจนถึงขึ้นสุดท้ายตามลำดับ จะไม่มีการกระโดดไปทำงานใน Routine ใด ๆ ก่อนซึ่งเป็นผล
ให้แมโครเหมาะกับโปรแกรมที่มีขนาดเล็กและมีการทำงานที่ไม่ซับซ้อนนัก แต่อย่างไรก็ดีแมโครสามารถช่วยสร้างแอพลิเคชั่น
ต่าง ๆ ได้อย่างรวดเร็วโดยไม่ต้องเขียนโปรแกรมให้ยุ่งยาก

ขั้นตอนการสร้างแมโคร
1. ไปที่เครื่องมือ>แมโคร>บันทึกแมโครใหม่

2.จะได้หน้าต่างดังรูป ให้เลือก >แป้นพิมพ์

3.ตรงช่อง กดแป้นพิมพ์ลัดใหม่ให้กด Ctrl+อักษรหรือตัวเลขที่เราต้องการให้เป็นคีย์ลัด ลงไป ในตัวอย่างใช้ Crtl+space

4.คลิก กำหนดค่า>ปิด

5. จะได้ดั้งรูป

6.เราจะมาทำแมโคร เปิด-ปิดการใช้การไม้บรรทัดกัน ยก ตัวอย่าง ตามภาพ กดมุมมอง>ไม่บรรทัด

7. กดปุ่มสี่เหลี่ยมสีฟ้า เพื่อเป็นการหยุดการบันทึกแมโคร

8. เป็นการเสร็จสิ้นการทำปุ่มคีย์ลัดจากแมโคร เวลาจะใช้ไม้บรรทันก็กด Ctrl+ อักษรที่เราตั้งไว้ ในตัวอย่างใช้ Crtl+space
ก็จะสามารถ เปิด-ปิดการใช้ไม่บรรทัดได้

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

•°o.O ข้ อ ดี ข อ ง ภ า ษ า ©O.o°•

ข้อดีของภาษา C
1.ภาษา C ใช้ได้ในไมโครคอมพิวเตอร์ ตั้งแต่ขนาด 8 บิต 16 บิต 32 บิต มินิคอมพิวเตอร์ หรือ คอมพิวเตอร์ระดับเมนเฟรม มีการพัฒนาการใช้งาน เพื่อให้เป็นมาตรฐาน ไม่ขึ้นกับโปรแกรมจัดระบบงาน หรือ อุปกรณ์ทางอิเล็กทรอนิกส์ (ฮาร์ดแวร์)
2.ภาษา C มีหลายรุ่น มีผู้ผลิตต่างบริษัท แต่มีโครงสร้างคล้ายกัน และสามารถใช้ร่วมกันได้
3.ภาษา C มีความอ่อนตัว สามารถเจาะลงระดับลึกให้เข้ากับฮาร์ดแวร์ ทำงานได้รวดเร็ว และที่สำคัญ ภาษา C เป็นคอมไพเลอร์
4.ภาษา C เป็นภาษาที่มีโครงสร้าง

•°o.Oเ ค รื่ อ ง ห ม า ย ใ น ก า ร ดำ เ นิ น ก า ร ท า ง ค ณิ ต ศ า ส ต ร์ แ ล ะ ต ร ร ก ศ า ส ต ร์O.o°•

+ การบวก เช่น x + y
- การลบ เช่น x - y
* การคูณ เช่น x * y
/ การหาร เช่น x/y
% การหารเอาเศษ (modulus) ผลที่ได้คือเศษที่เหลือ เช่น 21/4 จะได้คำตอบคือ 1
++ การเพิ่มค่า เช่น x++ จะเท่ากับ x+1
- - การลดค่า เช่น y- - จะเท่ากับ y - 1
> มากกว่า เช่น a > b >= มากกว่าหรือเท่ากับ เช่น z>=y
< น้อยกว่า เช่น z < a
== เท่ากัน เช่น a == b
!= ไม่เท่ากัน เช่น a != b
&& AND ผลลัพธ์จะเป็นจริงต่อเมื่อค่าทั้งสองข้างเป็นจริงเท่านั้น
|| OR ผลลัพธ์จะเป็นเท็จต่อเมื่อค่าทั้งสองข้างเป็นเท็จเท่านั้น
! NOT ผลลัพธ์จะเป็นจริงต่อเมื่อค่าเดิมเป็นเท็จ และผลลัพธ์จะเป็นเท็จต่อเมื่อค่าเดิมเป็นจริง

•°o.Oช นิ ด ข อ ง ตั ว แ ป ร ใ น ภ า ษ า©O.o°•

BOOL เป็นตัวแปรแบบบูลีน มีค่าได้เพียง 2 ค่า คือ 1 และ 0
int เป็นตัวแปรชนิดตัวเลขจำนวนเต็ม
char เป็นตัวแปรชนิดตัวอักขระ
float เป็นตัวแปรชนิดจำนวนจริง (ตัวเลขที่มีจุดทศนิยม)

•°o.Oก า ร ตั้ ง ชื่ อ ใ น โ ป ร แ ก ร ม ภ า ษ า ©O.o°•

การตั้งชื่อในโปรแกรมภาษาซี การตั้งชื่อฟังก์ชัน การตั้งชื่อตัวแปร ชื่อ Label หรือชื่ออื่นๆ ซึ่งถือว่าเป็นชื่อเฉพาะที่กําหนดขึ้นโดยผู้เขียนโปรแกรมเป็นผู้กําหนด (identifiers) การกําหนดชื่อต่างๆ เหล่านี้ สําหรับภาษาซีมีกฎเกณฑ์ดังต่อไปนี้1. ชื่อต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย _ (เส้นใต้) เครื่องหมายอื่นใช้ไม่ได้2. ภายในชื่อไม่มีการเว้นวรรค อาจใช้เครื่องหมาย _ ขั้นระหว่างตัวอักษรให้ดูเหมือนเว้นวรรคได้3. ถัดจาตัวแรกอาจเป็นตัวอักษร ตัวเลข หรือเครื่องหมาย _ก็ได้4. ความยาวของชื่อไม่จํากัด แต่จะนําตัวอักษรไปเปรียบเทียบความแตกต่าง เพียง 32 ตัวแรกเท่านั้น5. ตัวอักษรตัวเล็กและตัวอักษรตัวใหญ่ภาษาซีจะถือว่าต่างกัน หรือจะพูดว่า “ชื่อจะเป็น Case-Sensitive”6. การตั้งชื่อควรหลีกเลี่ยงชื่อที่มีตัวแรกเป็นเครื่องหมาย _เพราะชื่อชนิดนี้มีใช้อยู่มากในการตั้งชื่อตัวแปรของโปรแกรมระบบ (System Variables) อาจจะตรงกันได้โดยไม่ได้ตั้งใจ จะทําให้โปรแกรมทํางานผิดพลาดได้ชื่อที่ตั้งขึ้นจะต้องไม่ตรงกับคําสงวน (Reserved Words) หรือบางทีเรียกว่า Keywords เพราะคําสงวนเหล่านี้ได้ถูกใช้เป็นชื่อคําสั่งหรือชื่อของฟังก์ชันในตัวภาษาอยู่แล้ว จะได้ชื่อที่ซํ้ากันอีกไม่ได้ คําสงวนในภาษาซีรุ่น Turbo C มีดังต่อไปนี้

.|.<(+_+)>.|/.ภ า ษ า ©.|.<(+_+)>.|/.

รู้จักกันก่อน ก่อนอื่นผมขออธิบายรายละเอียดกันก่อนซักเล็กน้อยนะครับ ภาษา C เนี้ยเป็นภาษาที่เก่าแก่และถือกำเนิดมาอย่างยาวนาน โดยครั้งแรกเนี้ย ภาษา C ถูกคิดค้นและพัฒนาขึ้นมาเพื่อใช้เป็นภาษาสำหรับสร้างระบบปฏิบัติการ Unix (ยูนิกส์) เนื่องจากในตอนนั้นระบบปฏิบัติการยูนิกส์เขียนด้วยภาษาแอสเซมบลี (Assembly) ซึ่งเป็นภาษาที่ยึดติดกับฮาร์ดแวร์ของเครื่อง (ถ้าเขียนเครื่องไหนก็จะรันโปรแกรมได้เฉพาะเครื่องนั้น) ดั้งนั้นหากเราจะย้ายระบบปฏิบัติการยูนิกส์ที่เขียนไว้ที่เครื่อง A ไปใช้ที่เครื่อง B หรือ C ก็จะทำไม่ได้ เพราะมันยึดติดกับเครื่อง A นี้แหละเป็นข้อเสียของภาษาแอสเซมบลี (Assembly) แถมยังเป็นภาษาระดับต่ำด้วยนะ เข้าใจยากสุดๆ
ดังนั้นภาษา C ซึ่งมันเป็นภาษาที่ไม่ยึดติดกับฮาร์ดแวร์จึงถูกพัฒนาขึ้นมา และในปัจุบันภาษา C ไม่ได้จำกัดอยู่เพียงแค่การสร้างระบบปฏิบัติการเท่านั้น แต่มันยังสามารถนำไปใช้สร้างโปรแกรมเพื่องานในทุกประเภท เช่น งานเกี่ยวกับการคำนวน ควบคุมการทำงานของอุปกรณ์และฮาร์ดแวร์ชนิดต่างๆ การจัดการฐานข้อมูล หรือแม้แต่การสร้างเกมส์
ประวัติความเป็นมาของภาษา C ภาษา C คิดค้นขึ้นเป็นครั้งแรกโดย เดนนิส ริทชี่ (Dennis Ritchie) ที่ห้องแล็บเบล (Bell Labs) ในปี ค.ศ.1972 โดยได้แนวคิดมาจากภาษา BCPL และภาษา B ที่เขียนขึ้นโดย เคน ทอมพ์สัน (Ken Thompson) (จำไว้นะได้แนวคิดมาจาก ภาษา BCPL และ ภาษา B ส่วนคนคิดค้นของภาษานี้ จำไว้ก็ดี หรือ ไม่จำก็ได้เพราะคิดว่าคงไม่ออกในข้อสอบ) หลังจากคิดค้นและพัฒนาจนได้ภาษาใหม่ที่มีประสิทธิภาพการทำงานสูง (ก็ภาษา C นั่นแหละ) หลังจากนั้นในปี ค.ศ.1978 ภาษา C จึงได้รับการเผยแพร่อย่างเป็นทางการโดย เคอร์นิกแฮน (Kernighan) และ เดนนิส ริทชี่ จนเป็นที่นิยมสำหรับโปรแกรมเมอร์ทั่วโลก **ปัจจุบันภาษา C ได้พัฒนาไปเป็น C++ ซึ่งมีความสามารถในการเขียนโปรแกรมแบบ OOP หรือ การเขียนโปรแกรมเชิงวัตถุ
จุดเด่นของภาษา C
- เป็นภาษาที่มีการกำหนดมาตรฐานสำหรับคอมพิวเตอร์ทุกรุ่นและระบบปฏิบัติการทุกชนิด ทำให้โครงสร้างทางภาษา ฟังก์ชั่นและไลบราลี (Library) ต่างๆ สามารถนำไปใช้ได้ทุกรุ่นและทุกระบบปฏิบัติการ
-โปรแกรมที่เขียนออกมาจะมีขนาดเล็กและทำงานได้รวดเร็วเหมือนภาษาระดับต่ำ แต่เข้าใจง่ายเหมือนภาษาระดับสูง (ภาษาซีจัดอยู่ในภาษาระดับกลาง แต่หนังสือบางเล่มจะจัดภาษาซีอยู่ในภาษาระดับสูง
- มีโครงสร้างทางภาษาที่ดี และเครื่องหมายการดำเนินการ (Operators) มีประสิทธิภาพสูงและยืดหยุน (สังเกตุได้จาก x++,++x ที่งงกันไปพักนึง)
- ภาษา C สามารถเขียนเพื่อควบคุมฮาร์ดแวร์ได้ ซึ่งบางภาษามันทำไม่ได้เช่น ภาษา Basic
- มีฟังก์ชั่นสำเร็จรูปไว้ให้เราใช้งานเยอะ!! ทำให้เราไม่ต้องเขียนเอง และหากว่า ฟังก์ชั่นที่มีมาให้มันไม่โดนใจ เราสามารถเขียนเองและเพิ่มเติมลงไปได้ หรืออาจจะแจกจ่ายให้เพื่อนๆ ในห้องใช้ด้วยก็ได้ ฮ่าๆ