1. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาสำหรับภาษา C, C++, Pascal การทำงานก็คือจะตรวจสอบความผิดพลาดของโค้ดคำสั่งตั้งแต่ต้นจนจบก่อน หรือเรียกว่าการคอมไพล์ ถ้าไม่มีข้อผิดพลาดก็จะทำการแปลโค้ดคำสั่งของเราให้เป็นไฟล์นามสกุล .obj (object file) จากนั้นก็ทำการแปลไฟล์ .obj ให้เป็นไบนารีไฟล์ .exe เพื่อทำงานต่อไป Show 2. อินเตอร์พรีเตอร์ (Interperter) จะทำงานเป็นบรรทัดต่อบรรทัด คือ อ่านโค้ดคำสั่งมาบรรทัดหนึ่งแล้วก็ทำงานให้ผลออกมาเลย เครื่องคอมพิวเตอร์ แปลตรงตัวเลยคือเครื่องสำหรับคำการคำนวณหรือประมวลผลลัพธ์ออกมา โดยเน้นไปที่การคิดเลขทางคณิตศาสตร์! แล้วในการคำนวณต่างๆ ก็จะเต็มไปด้วยสูตรที่สามารถเปลี่ยนค่าเองไปได้เรื่อยๆ ค่าพวกนี้เราเรียกมันว่า Variable หรือ ตัวแปร นั่นเอง (ใครยังไม่รู้จักตัวแปรแนะนำให้กลับไปศึกษาวิชาคณิตศาสตร์นะ เอาแค่ระดับเลข ม.ต้น ก็น่าจะรู้จักตัวแปรแล้ว) ทำไมต้องมีตัวแปรถ้าเราสร้างโปรแกรมขึ้นมาโปรแกรมหนึ่ง แล้วโปรแกรมนี้ไม่สามารถหาคำตอบอื่นได้เลยนอกจากค่าที่โปรแกรมเมอร์กำหนดลงไปเท่านั้นมันคงจะเป็นโปรแกรมที่น่าเบื่อแย่ เช่นถ้าเราสร้างโปรแกรมเครื่องคิดเลขขึ้นมา แต่ดันหาคำตอบได้แค่ 1 + 1 หรือ 1 + 2 เท่านั้น ถ้าเป็นเลขนอกเหนือจากนี้ จะคิดไม่ออก คงจะแย่น่าดู ตัวแปรเป็นสิ่งที่เกิดมาเพื่อให้คอมพิวเตอร์สามารถจำค่าต่างๆ ที่กำลังคิดเลขอยู่ในตอนนั้นได้ (และเพราะค่าที่เก็บไว้จะเปลี่ยนไปเรื่อยๆ ตามการคำนวณแต่ละอย่าง เราเลยเรียกว่าตัวแปร-แปรเปลี่ยนไปได้ไง) ภาษาซี ต้องประกาศตัวแปรก่อนใช้งานนะในวิชาเลข เวลาเราจะใช้ตัวแปร เราสามารถเขียนประมาณนี้ได้ x = 1 y = 10 + 20 นั่นคือเรากำหนด "ค่า" (value) 1 แล้วส่งเข้าไปเก็บไว้ในตัวแปรที่ชื่อว่า type var-name type var-name = value2 ส่วนในบรรทัดต่อมา เรากำหนดค่า 10 + 20 (ซึ่งคิดออกมาได้ 30) แล้วส่งไปเก็บไว้ในตัวแปรชื่อ type var-name type var-name = value3 นั่นเอง แต่สำหรับภาษาซีแล้ว อยู่ๆ เราจะกำหนดตัวแปรลอยๆ แบบนี้ไม่ได้! (บางภาษาโปรแกรมเช่น PHP, Python สามารถทำได้) เราจะต้องทำสิ่งที่เรียกว่า.. Variable Declarationการประกาศตัวแปร ซะก่อนนะ โดยใช้รูปแบบดังนี้ type var-name type var-name = value เช่น "ต้องการตัวแปรสำหรับเก็บตัวเลขจำนวนเต็มชื่อ x" เราจะต้องเขียนว่า int x; ซึ่ง type var-name type var-name = value4 ย่อมาจาก integer ที่แปลว่าจำนวนเต็มนั่นเอง (หมายถึงจำนวนที่ไม่มีจุดทศนิยม เช่น 1, 2, 256, -8 แต่ไม่ใช่ 1.5 , 3.14) และแน่นอนว่าอย่าลืม type var-name type var-name = value5 หลังคำสั่งด้วยนะ (ทุกครั้งที่จบคำสั่ง ต้องใส่ทุกครั้ง) (ส่วนไทป์หรือชนิดของตัวแปรมีอะไรบ้าง เดี๋ยวต่อกันในหัวข้อต่อไป) และตัวแปรในภาษาซีเป็นรูปแบบ Type-Sensitive หรือซีเรียสเรื่องไทป์ของตัวแปรมากๆ ถ้าเราสร้างตัวแปรแบบ type var-name type var-name = value4 (จำนวนเต็ม) ขึ้นมา เราก็ไม่สามารถเอาค่าชนิดอื่น เช่น type var-name type var-name = value7 (ตัวอักษร) ใส่ลงไปได้ แล้วหลังจากเราทำการ "ประกาศตัวแปร" เสร็จเรียบร้อย เราก็จะเริ่มใช้งานตัวแปรของเราสำหรับการคำนวณอะไรก็ได้ เช่น int x; x = 1; //ตอนนี้ x จะเก็บค่า 1 //หรือไม่พอใจ จะเปลี่ยนค่าให้ x ก็ได้ x = 2; //ตอนนี้ x ก็จะมีค่าเท่ากับ 2 แล้ว //หรือใส่เป็น expression (สมการ) ก็ยังได้ x = 1 + 2 - 3 * 4 / 5 % 6; มาดูการใช้ตัวแปรในการคิดเลขอีกตัวอย่างกัน ex. ต้องการสร้างตัวแปรสำหรับหาผลบวกของตัวเลข 2 ตัว มีตัวเลข 2 ตัว ดังนั้นเราจะสร้างตัวแปรขึ้นมาก่อน ขอตั้งชื่อว่า type var-name type var-name = value8 และ type var-name type var-name = value9 (ส่วนเรื่องชื่อตัวแปรตั้งแบบไหนได้บ้าง เดี๋ยวเราจะพูดกันต่อไปนะ) แบบนี้ int first; int second; หรือในเมื่อทั้ง first และ second ต่างก็เป็น int ทั้งคู่ เราสามารถเขียนแบบนี้ได้ int first, second; ต่อไปเราก็กำหนดค่าให้ตัวแปรของเรา (อยากหาผลบวกเลขอะไร ก็ใส่ลงไป หรือจะเปลี่ยนทีหลังก็ยังไง) int first, second; first = 100; second = 20; ต่อไปเราก็ต้องเอาตัวแปร 2 ตัวนี้มา "บวก" กันด้วย operator int x;0 นั่นเอง ขั้นเวลา! ขอบทบวนกันลืมกันเล็กน้อยกับเครื่องหมายสำหรับการคิดเลขที่เรียกกันว่า.. Operator ตัวดำเนินการหรือก็คือเครื่องหมายในการคิดเลขนั่นเอง สำหรับการเขียนโปรแกรมจะมีตัวหลักๆ อยู่ 5 ตัวดังนี้ + - * / % (สำหรับ % หรือ modulo "หารเอาเศษ" ถ้ายังไม่รู้จักให้อ่านในบทความ Algorithm (1) – ขั้นตอนวิธี หัวใจสำคัญของการเขียนโปรแกรม) บางภาษาโปรแกรมอาจจะมีมากกว่านี้ เช่น int x;1 หรือ int x;2 ที่ใช้สำหรับการคิดเลขยกกำลัง แต่ก็ไม่ใช่ทุกภาษาที่มีนะ กลับมาต่อที่โจทย์ของเรา ก็จะได้เป็นว่า int first, second;
first = 100;
second = 20;
first + second; แต่การเอาเลข 2 ตัวมาบวกกันเฉยๆ แบบนี้ คำตอบที่ได้จะไปไหนล่ะ? ไม่มีที่ไปสินะ นั่นแปลว่าเรายังไม่ได้สร้างตัวแปรสำหรับเก็บคำตอบเลยยังไงล่ะ งั้นเอาแบบนี้ เราจะเก็บคำตอบลงไปในตัวแปรชื่อ int x;3 int first, second;
first = 100;
second = 20;
answer = first + second; แต่อย่าลืมนะ (อันนี้ขอเตือนเลย เป็นหนึ่งในจุดที่มือใหม่ลืมกันบ่อยมาก) คือเราจะใช้ตัวแปร เราจะต้องประกาศตัวแปรซะก่อน int first, second;
first = 100;
second = 20;
int answer;
answer = first + second; หรือจะเขียนแบบนี้ก็ยังได้ type var-name type var-name = value0 สังเกตว่าเราจะประกาศตัวแปรที่ไหนก็ได้ ขออย่างเดียวคือต้องประกาศก่อนใช้งานเสมอ! type var-name type var-name = value1
มาถึงตรงนี้ หลายๆ คนอาจจะมีคำถาม "แล้วเราจะแสดงค่าคำตอบออกมายังไงล่ะ?"เพราะว่าเรายังไม่ได้พูดถึงเรื่องจาก input/output กันเลย ดังนั้นในบทนี้เราจะพักเรื่องของตัวแปรเอาไว้แค่นี้ก่อน แล้วบทต่อไปเราจะมาพูดถึงเรื่องของการแสดงผลลัพธ์ออกมากัน ตัวแปรในการเขียนโปรแกรมภาษาซีมีกี่แบบ อะไรบ้างตัวแปร (Variable) ในภาษาซี ตัวแปร หมายถึง ชื่อเรียกแทนพื้นที่เก็บข้อมูลในหน่วยความจำ มี ชนิด ของข้อมูล หรือแบบของตัวแปรคือ char, int, long, float, double, unsigned int, unsigned long int.
ทำไมการเขียนโปรแกรม จึงต้องมีตัวแปรทำไมต้องมีตัวแปร
ตัวแปรเป็นสิ่งที่เกิดมาเพื่อให้คอมพิวเตอร์สามารถจำค่าต่างๆ ที่กำลังคิดเลขอยู่ในตอนนั้นได้ (และเพราะค่าที่เก็บไว้จะเปลี่ยนไปเรื่อยๆ ตามการคำนวณแต่ละอย่าง เราเลยเรียกว่าตัวแปร-แปรเปลี่ยนไปได้ไง)
ตัวแปร (variables) คือะไรในการเขียนโปรแกรม และทำหน้าที่อย่างไรvariable คือ ตัวแปร ซึ่งหมายถึงตัวที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล เก็บข้อมูลในหน่วยความจำขณะที่โปรแกรมทำงาน ประกอบด้วยชื่อตัวแปรและตำแหน่งที่เก็บ แต่ในการเรียกใช้งานส่วนใหญ่จะใช้ชื่อตัวแปรเป็นหลัก ตัวแปรใช้เก็บข้อมูลที่มีการเรียกใช้หลายครั้ง เช่น ...
Variable Declaration คืออะไร อธิบายมาพอสังเขปการประกาศตัวแปร (variable declaration) คือการจองเนื้อที่ในหน่วยความจำสำหรับเก็บค่าบางอย่าง พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีความสะดวกในการเข้าถึง ค่าที่เก็บอยู่ในหน่วยความจำดังกล่าว
|