การเขียนโปรแกรม… ใน Scratch

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

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

การเขียนโปรแกรมใน Scratch ก็ใช้หลักการเขียนโปรแกรมเช่นเดียวกัน แต่อาจไม่ซับซ้อนเท่าภาษาอื่นๆที่นิยมใช้ เช่น C, Java เนื่องจากวัตถุประสงค์ของ Scratch คือให้เป็นภาษาเริ่มต้น เขียนโปรแกรมง่าย และใช้สื่อมัลติมีเดียซึ่งเหมาะกับเด็กๆ หรือ ผู้ที่ไม่มีประสบการณ์ในการเขียนโปรแกรมมาก่อน

ลองมาดูหลักการทั่วไปของ Scratch ข้อมูล (Data) จะหมายถึงตัวละครต่างๆ (Sprite) ฉากเวที (Stage) รวมถึงข้อมูลต่างๆที่อยู่ในตัวละครหรือฉากเวที เช่น เครื่องแต่งกาย (Costume) พื้นหลัง (Background) เป็นต้น เมื่อมีตัวละครแล้วย่อมต้องการให้ตัวละครทำอะไรได้ดีกว่าให้มันอยู่เฉยๆ ซึ่งก็คือการสั่งให้มันทำงาน (Function) โดยใช้สคริปต์บล็อก (Script blocks) ต่างๆมาประกอบกันเข้า เมื่อมองภาพในมุมกว้างในโปรแกรมที่ใหญ่ขึ้น จะเห็นว่าเราอาจต้องใช้ข้อมูล หรือตัวละครมากกว่าหนึ่งตัว ดังนั้นโปรแกรมจึงเริ่มซับซ้อนขึ้น เพราะตัวละครอาจต้องสื่อสารกันต้องมีปฏิสัมพันธ์กัน และส่งผลให้ขั้นตอนต่างๆในโปรแกรม (Algorithm) มีความซับซ้อนมากขึ้น จึงจำเป็นต้องมีการย่อยงานลง แบ่งงานเป็นขั้นเป็นตอน เพื่อให้เขียนโปรแกรมได้ ดังนั้นงานใหญ่จะถูกแบ่งเป็นงานย่อยแล้วมาเรียงต่อกันซึ่งขั้นตอนนี้ต้องมีการควบคุมทิศทางการเคลื่อนไหวของข้อมูล (Control flow) ตั้งแต่จุดเริ่มต้นของโปรแกรมจนกระทั่งได้ผลลัพธ์ออกมา

อาจดูซับซ้อนนะครับ แต่วิธีเริ่มต้นง่ายๆด้วยการศึกษาการเขียนโปรแกรมในโปรเจก Aquarium หลายๆรอบ จะทำให้เข้าใจมากขึ้น การเขียนโปรแกรมที่ยากยิ่งขึ้นเช่นการเขียนเกม จะมาศึกษากันในโอกาสต่อไปนะครับ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s