วันศุกร์ที่ 29 พฤษภาคม พ.ศ. 2552

อธิบายการเปิดใช้งาน Visual Studio 2008...!!!



เราจะเริ่มเขียนโปรแกรมในรูปแบบของ Console Application ซึ่งเป็นโปรเจคที่ใช้พัฒนาแอพพลิเคชั่นที่ทำงานในแบบ Command Line ซึ่งจะอนุญาตให้ผู้ใช้งานป้อนคำสั่งเข้าไปได้อย่างเดียว และแสดงผลเพียงตัวอักษรเท่านั้น จะปรากฏในระบบปฏิบัติการ แบบ DOS และ ยูนิกส์

ซึ่งการเขียนโปรแกรมในรูปแบบ Console Application เป็นการฝึกให้เราได้คิดรูปแบบ Algorithm ของโปรแกรมของเรา และเข้าใจกระบวนการทำงานเบื้องต้นของตัวโปรแกรมก่อนที่จะพัฒนาไปเขียนในรูปแบบอื่นๆ รูปแบบนี้ถือว่า คลากสิกสุดๆครับ เหมาะแก่การศึกษา
** สามารถนำไปประยุกต์กับภาษาอื่นๆได้ เช่น Visual Basic, Visual C++

วันจันทร์ที่ 25 พฤษภาคม พ.ศ. 2552

Chapter 5 'bout Magic Math...!!!

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

262 x 6 = ?
(ควรฝึกบวกเลขให้คล่องแคล่วเพื่อจะได้ทำให้การคูณเป็นเรื่องง่ายนะครับ)

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

จริงวิธีฝึกอีกวิธีที่ให้ผลได้เร็วคือ "การพูด" จะพูดออกเสียงหรือพูดในใจก็ได้ไม่ผิด เพื่อช่วยให้เราไม่ลืมตัวเลขที่เพิ่งคำนวณเสร็จ 2 x 6 ได้ 12 (คิดในใจ) แต่แอบเหล่เห็นว่าหลักต่อไป 6 x 6 = 36 ฉะนั้นเวลาเราพูดต้องจะต้องบอกผลลัพธ์ที่บวกตัวทดมาแล้ว (ยังไง ?) ก็พูดออกมา 1 พัน 3 ร้อย..... เป็นหกสิบไม่ได้เพราะอะไรครับ
(2x6 = 12) เช่นกัน ต้องบวกผลลัพธ์กับตัวทด (อย่าสับสนหลักเชียวนะ) ....(ต่อจากที่พูดตอนแรก) .... 7สิบ 2

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

วันอาทิตย์ที่ 24 พฤษภาคม พ.ศ. 2552

Chapter 4 'bout Magic Math...!!!

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

79 x 6 = ? ..... เชื่อว่าบางคนไม่สามารถคิดในใจได้ (อาจทำได้แต่มีกระบวนการที่ไม่เป็นระเบียบ) จะขอเสนอวิธีคิดที่เป็นระเบียบให้ดูนะครับ ปกติเราจะคุ้นเคยกับการคูณเลข 1 หลักด้วยเลข 1 หลัก (สูตรคูณ) ฉะนั้นโอ๊คจะนำความเคยชินตรงนี้มานำเสนอแล้วกัน

(70+9) x 6 เปลี่ยนโจทย์ให้อยู่ในรูปแบบนี้ เราก็จะคูณกระจายเข้าไป
7 x 6 = 42 แต่ต้องเติมศูนย์ไปเพราะ 7 เป็นหลักสิบ เป็น 420 ครับ
9 x 6 = 54 จากนั้นนำ 420 + 54 = 474 สำหรับวิธีคิดให้ชำนาญต้องหมั่นฝึกฝนครับ จากวิธีนี้โอ๊คได้เปลี่ยนการคูณที่วุ่นวายมาเป็นการคูณด้วยวิธีง่ายๆแล้วใช้การบวกมาช่วยแทน

มาดูตัวอย่างกันอีกซักนิดเพื่อให้เข้าใจนะครับ

86 x 7 = ?
(80+6) x 7
8 x 7 = 56 แต่ต้องเติมศูนย์เพราะ 8 เป็นหลักสิบ เป็น 560 นะครับ
6 x 7 = 42 จากนั้นนำ 560 + 42 = 602 ครับ

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

วันเสาร์ที่ 23 พฤษภาคม พ.ศ. 2552

Prepare for C# Language learning...!!!

ก่อนที่เราจะทำการเรียนเขียนโปรแกรมภาษา C# นั้น เราควรทำความรู้จักกับมันก่อนครับ เอ้าไม่รอช้า ไปดูกันเลยครับ
ภาษา C# (C# Programming Language) จะเขียนว่า C Sharp (ซี-ชาร์พ) ก็ได้ไม่ผิด เราๆอาจจะเคยได้ยินภาษาอื่นๆที่คล้าย C# เช่น ภาษา C, Java, C++ ซึ่งแน่นอนมันเป็นที่มาของ C# นั่นเอง (ตัว C เป็นตัวบ่งบอกให้รู้ว่า C# มีต้นกำเนิดมาจาก C นั่นเอง) เครื่องหมาย # ดังที่เคยพูดคือ เป็นสิ่งที่แสดงถึงความก้าวหน้ากว่า C++ ไปอีกระดับนึง (มอง # ให้เป็นเครื่องหมาย + ซ้อนกันสี่มุมสิครับ อาจมองแบบ C++++ ก็ได้ไม่ผิด) ถ้าจะให้พูดกันเข้าใจง่ายๆอีกก็คือ C# ได้รวบรวมข้อดีของภาษาต่างๆเช่น Java, Delphi, C++ เข้าไว้ด้วยกัน อีกทั้งยังมีความเรียบง่ายกว่า


จะดูไม่ดีเลยถ้าเราจะไม่พูดถึงบิดาของภาษา C# กันซักหน่อย (C# เวอร์ชั่นต่างๆทั้งหลายที่ Microsoft พัฒนา ก็มีท่านคนนี้แหละครับเป็นต้นแบบที่มั่นคงของภาษาที่ได้รับความนิยมนี้)ท่านคือ Anders Hejlsberg (แอนเดรส ฮาเยสเบิร์ก)จะให้พูดกันจริงๆก็คือ ใครๆก็สามารถสร้างภาษาใหม่ๆขึ้นได้ แต่ความเรียบง่าย และสวยงามของ C# ที่ Hejlsberg ได้บรรจงสร้างมาให้เหล่าโปรแกรมเมอร์ยุคใหม่ใช้กันอย่างสะดวกสบาย เป็นอะไรที่หาที่เปรียบไม่ได้อีกแล้ว

แม้ต้นกำเนิดจะมาจาก Anders Hejlsberg นั้น แต่ไมโครซอร์ฟต้องการให้ภาษานี้ "อยู่ไปอีกนาน" จึงได้พัฒนา C# เรื่อยมาจนปัจจุบันเป็นเวอร์ชั่น C# 2008 แล้ว (2010 ก็ใกล้จะออกมาแล้วเหมือนกันนะ) อีกประการที่ควรเลือก C# ของไมโครซอร์ฟเพราะ เราสามารถมั่นใจได้ว่า ถ้าเราศึกษาตรงนี้ไปจะไม่เสียเปล่า เพราะจะมีการพัฒนาต่อไปเรื่อยๆ (ไม่ตกยุคนั่นเอง ไม่ต้องกลัวว่าไมโครซอร์ฟจะทิ้งเรา)

ฟรีครับฟรี ไมโครซอร์ฟเค้าใจดีปล่อย Visual C# 2008 Express Edition ซึ่งเป็นเวอร์ชั่นสำหรับการศึกษา แม้จะขาด component และคำสั่งบางส่วนไป แต่ในระดับเริ่มต้นก็ยังไม่ต้องใช้ครับ (นอกจาก C# แล้วภาษาอื่นก็มีเช่น Basic, C++) สำหรับลิ้งดาวโหลด โอ๊คได้ทำไว้ให้ข้างล่างแล้วครับ

Download Visual C# 2008 Express Edition

เมื่อเข้าลิ้งไปจะเห็นเป็นช่องๆ มีทั้ง Visual Basic , Visual C++ แต่ให้เราเลือก Visual C# (เลือกภาษาอังกฤษ)แล้วคลิกที่ Download ครับ

วันพฤหัสบดีที่ 21 พฤษภาคม พ.ศ. 2552

Chapter 3 'bout Magic Math...!!!

ในบทความนี้จะบอกเทคนิคการบวกเลขแบบคล่องๆครับ โดยก่อนอื่นต้องบอกตามตรงว่าธรรมชาติของเรา จะคิดเลขจากขวาไปซ้าย ในเทคนิคนี้จะให้ลองทำกลับกันครับ คือเวลาบวกเลขให้บวกจากซ้ายไปขวา (อาจจะงงว่าทำยังไง กลัวผิด...เราไปดูกัน) ปัญหาในการบวกเลขของคนเราส่วนใหญ่จะเกิดจากตัวเลขที่มีจำนวนมาก พอบวกกันแล้วเกินต้องทดในหลักต่อไป (จริงไหมครับ?) แต่กลับกันเราจะถนัดในการบวกเลขที่ไม่มีการทด 89+95 โอยบวกน่ะบวกได้นะ แต่ให้ทำเร็วๆนี่คงยากและอาจผิดพลาด (ในบางสถานการณ์ที่คับขันเช่นเวลาทำข้อสอบ) แต่ถ้าเป็น 20+19 โอว มันช่างสบายๆสมองอะไรเช่นนี้

สำหรับเทคนิคนะครับเวลาเจอการบวกเลขที่มีจำนวนมากๆอย่างเช่นการบวก

456+975 = ? นะครับ

การบวกเลขจากซ้ายไปขวาจะมีประโยชน์ต่อเมื่อเจอตัวเลขมากๆหลักเข้า ขั้นตอนคือให้บวกเลขจากซ้ายไปขวาโดยที่สายตาควรเหล่ดูว่าหลักถัดไปมีตัวทดหรือไม่ ถ้ามีให้บวก ผลบวกกับตัวทดไปเลยอัตโนมัติ (เช่นในตัวอย่าง 9+4 = 13 แต่เหล่เห็นว่า 7+5 มันมีตัวทด ก็บวก 13 ด้วย 1 = 14 ครับ) ทำเช่นนี้จากซ้ายไปขวา

สำหรับวิธีนี้บางคนทำครั้งแรกอาจจะยังไม่ชิน แต่ต้องฝึกฝนอย่างต่อเนื่องครับ ก็หวังว่าบทความนี้จะเป็นประโยชน์กับผู้อ่านทุกคนครับ

วันพุธที่ 20 พฤษภาคม พ.ศ. 2552

Next Chapter 'bout Magic Math.....!!!

เอาอีกแล้ว หลังจาก 5 วันที่หายหน้าไป ก็ไปร้านหนังสือบ่อยมาก ไม่ได้ซื้อไรติดมือไม้มานะ ไปยืนอ่านฟรี (แป่ว) แหะๆ เลยมีอะไรติดหัวมาบ้าง เอาเป็นว่าเริ่มเลยล่ะกัน จะพูดถึงการคิดเลขให้เร็ว(โดยมีเทคนิคมาให้เหมือนเดิม) ก่อนเริ่มทำให้นึกถึงเวลาเรายกกำลังเลข 2 หลัก และ 3 หลัก ด้วยวิธีทดในกระดาษครับ มันช่างเป็นอะไรที่แสนน่าเบื่อมาก (จริงมั้ย?) แล้วถ้าให้คิดในหัวเรอะ ! ไม่ต้องพูดถึง แต่เทคนิคที่โอ๊คจะเล่าสู่กันฟังต่อไปนี้ แค่คิดในหัวเพียงไม่กี่วินาที ก็สามารถให้คำตอบแบบตรงเป๊ะ ! ชัวร์ๆเลยครับ ถึงขนาดที่เครื่องคิดเลขยังต้องเรียกพี่.... เอ้าไปดูกันครับ

สำหรับเลขยกกำลัง 2 หลักนะครับ (จะไม่พูดถึงที่ลงท้ายหลักหน่วยด้วย 5 )

เช่น 76กำลัง2 เชื่อไหม รู้เทคนิคก็คิดได้ 10 วิ เนี่ย โอ๊คคิดได้ 5776

สำหรับเทคนิค ให้ทำให้ 76 เป็นจำนวนเต็มสิบโดยการลบนะ ยังไง เอ้าเช่น
76-6 = 70

เก็บ 70 ไว้ในหัวก่อนครับ จากนั้นบวกเพิ่มไปจากที่ลบไป 76+6 = 82 เก็บไว้ครับ

จากนั้นนำ 82 x 70 เลย จะได้เท่ากับ 5740 นั่นเอง แต่เก็บไว้ครับยังไม่เสร็จ

จากนั้นให้ดูว่าจำนวนที่นำไปบวกไปลบคืออะไร (ในตย.นี้คือ 6) ให้นำ 6ยกกำลัง2 บวกเข้าไปกับ 5740

คำตอบสุดท้ายคืออะไรครับ 5740+36 = 5776 ตรงกันพอดี !!! (ใครไม่เชื่อกดเครื่องคิดเลขตามได้ไม่ผิด)

สำหรับคนที่ไม่เข้าใจ โอ๊คขอเขียนเป็นสมการคร่าวๆให้ดูครับ
76^2 = (76-6) x (76+6) + 6^2 มันง่ายขึ้นตรงที่ เราจะคูณได้ง่ายขึ้น ไม่เชื่อลองฝึกคิดในหัวดูครับ ถ้าใช้วิธีธรรมดามันคงทำได้ยากแน่นอนอยู่แล้ว

มาดูเลข 3 หลักกันบ้าง

158 กำลัง2 ได้เท่ากับเท่าไหร่เอยย 24964 ถูกไหม
สำหรับวิธีคิดก็ไม่ต่างกันมาก เพียงแต่จะคิดได้ช้าหน่อยครับ เพราะเลขเยอะ แหะๆ
ขั้นแรกให้นำ 158-58 = 100 เก็บไว้ และ 158+58 = 216 เก็บไว้ แล้วจับ คูณกันครับ 216 x 100 = 21600 เก็บไว้ครับ จากนั้นเอาตัวที่บวกลบมาคิดนะครับ (ในตย.นี้คือ 58 ให้ทำเหมือนกานยกกำลังสอง 58 ใช้เทคนิคยกกำลังเลขสองหลัก) ให้นะ 58+8 = 66 เก็บไว้ และ 58-8 = 50 เก็บไว้ จับมาคูณกันจะได้
50 x 66 = 3300 ยังไม่เสร็จครับ จากนั้น นำตัวที่บวกลบมากำลังสอง คือ
8^2 = 64 นำไปบวกกับ 3300 จะได้ 3300+64 = 3364 แล้วจากนั้นนำไปบวกกับ 21600 จะได้ 21600+3364 = 24964 !!!
สำหรับใครที่ยังคิดไม่ทัน ตอนนี้โอ๊คก็กำลังฝึกอยู่ครับ (ข้อนี้ประมาณ 30 วินาที) ลองเอาส่วนนี้ไปคิดเล่นก็ดีครับ บริหารสมอง ก็หวังว่าผู้อ่านจะได้อะไรติดหัวบ้างนะครับ แหะๆ ปัญหาของการคิดวิธีนี้ในหัวโอ๊คคิดว่าเป็นปัญหาของเรื่องการจำตัวเลขที่คิดไว้ชั่วครู่ แล้วไปคิดคำนวณอีกอย่างนึง พอกลับมาก็ลืมเสียแล้ว ปัญหานี้ถ้าฝึกบ่อยๆก็จะคล่องเองครับ ยังไงก็เอาไปฝึกๆกันครับ ไม่มีใครทำได้ถ้าไม่หมั่นฝึกฝนนะครับ

รับปรับมุมมองในการโปรแกรมมิ่งสำหรับผู้เริ่มต้นเขียนโปรแกรม

รับปรับมุมมองในการโปรแกรมมิ่งจากเรื่องยากๆไม่เข้าใจ จะช่วยทำให้เป็นเรื่องง่ายและสนุก แอดมาคุยกันได้ครับ (ขอจำกัดไว้สำหรับผู้เพิ่งเริ่มต้นเขียนโปรแกรมเท่านั้น ในระดับสูงไปกว่านี้เช่นเขียนจนชำนาญแล้วจะไม่รับนะครับ)
Powered By Blogger