แนวคิดพื้นฐานด้านการเขียนโปรแกรมคอมพิวเตอร์
ตัวแปรภาษา
ตัวแปรภาษาคืออะไร เมื่อเราได้เขียนโค้ดขึ้นมาตามโครงสร้างของโปรแกรมภาษาใดก็ตาม และการจะให้โค้ดคำสั่งเหล่านั้นทำงานได้ก็จะต้องมีตัวแปรภาษามาจัดการแปลโค้ดคำสั่ง เพื่อให้ทำงานตามที่เราต้องการ
โดยลักษณะของตัวแปลภาษานั้นแบ่งได้ 2 ประเภทใหญ่ ๆ คือ
2. อินเตอร์พรีเตอร์ (Interperter) จะทำงานเป็นบรรทัดต่อบรรทัด คือ อ่านโค้ดคำสั่งมาบรรทัดหนึ่งแล้วก็ทำงานให้ผลออกมาเลย
1. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาสำหรับภาษา C, C++, Pascal การทำงานก็คือจะตรวจสอบความผิดพลาดของโค้ดคำสั่งตั้งแต่ต้นจนจบก่อน หรือเรียกว่าการคอมไพล์ ถ้าไม่มีข้อผิดพลาดก็จะทำการแปลโค้ดคำสั่งของเราให้เป็นไฟล์นามสกุล .obj (object file) จากนั้นก็ทำการแปลไฟล์ .obj ให้เป็นไบนารีไฟล์ .exe เพื่อทำงานต่อไป
FLOPS
การปฏิบัติการจุดลอยตัวต่อวินาที หรือ ฟล็อปส์ [1] (อังกฤษ: floating point operations per second: FLOPS) เป็นหน่วยวัดสมรรถนะในการทำงานของคอมพิวเตอร์ ฟล็อปส์จะนับจำนวนชุดคำสั่งในการประมวลผลจำนวนจุดลอยตัวที่สามารถทำได้ใน 1 วินาที นิยมใช้ในวงการคอมพิวเตอร์สมรรถนะสูง
MIPS
ย่อมาจาก million instructions per second แปลว่า ล้านคำสั่งต่อวินาที เป็นหน่วยวัดความเร็วของการทำงานตามโปรแกรมใดโปรแกรมหนึ่งของตัวประมวลผล หรือของคอมพิวเตอร์แต่ละยี่ห้อว่า สามารถประมวลผลได้กี่ล้านคำสั่งต่อวินาที ยิ่งมากแสดงว่ายิ่งทำงานได้เร็ว
HERTZ
เป็นหน่วยอนุพันธ์เอสไอ (SI) ซึ่งเป็นหน่วยของค่าความถี่ โดย 1 Hz คือ ความถี่ที่เท่ากับ 1 ครั้ง ต่อวินาที (1/s) หรือ : ดังนั้น 50 Hz หมายถึงมีความถี่เท่ากับ 50 ครั้งต่อ 1 วินาที ... ชื่อหน่วยเฮิรตซ์มาจากชื่อนักฟิสิกส์ชาวเยอรมัน ชื่อ ไฮน์ริช แฮทซ์ เป็นนักวิทยาศาสตร์ทางด้านแม่เหล็กไฟฟ้า
การจำลองความคิดและอัลกอริทึม
2. สัญลักษณ์หรือ ผังงาน (Flowchart)
เป็นเครื่องมือชนิดหนึ่งที่ใช้รูปภาพแสดงการไหลของข้อมูลในระบบตั้งแต่แรกจนได้ผลลัพธ์ตาม ต้องการจะแสดงการทำงานของโปรแกรมโดยละเอียดในแต่ละขั้นตอนผังงานโปรแกรมเป็นสิ่งจำเป็นสำหรับ ผู้เขียนโปรแกรมเพราะต้องใช้เป็นแนวทางในการเขียนโปรแกรมและเมื่อโปรแกรมเกิดข้อผิดพลาดการเข้าไป วิเคราะห์ผังงานโปรแกรมจะทำได้ง่ายกว่าการเข้าไปวิเคราะห์ตัวโปรแกรมโดยตรง
ประโยชน์ของผังงาน
1. ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม
2. ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย
3. ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมและแก้ไขโปรแกรมได้ง่าย
1. ข้อความคำบรรยายหรือรหัสเทียม (pseudo code) เป็นการเขียนเค้าโครงด้วยการบรรยายเป็นภาษามนุษย์ที่ใช้สื่อสารกันเพื่อให้ทราบถึงขั้นตอนการ ทำงานของการเขียนโปรแกรมแต่ละตอนในบางครั้งอาจใช้คำสั่งของภาษาที่ใช้เขียนโปรแกรมก็ได้
หลักการทั่วไปในการเขียนรหัสเทียม
1. สัญลักษณ์ที่ใช้ในการดำเนินการทางคณิตศาสตร์ต่างๆจะถูกใช้งานตามปกติคือ “+” สำหรับการ บวก “-” สำหรับการลบ “*” สำหรับการคูณและ“/” สำหรับการหาร
2. ชื่อข้อมูลแทนจำนวนที่จะถูกดำเนินการ
3. การกำหนดค่าให้กับชื่อข้อมูล เช่น เมื่อเราต้องการกำหนดให้ข้อมูล pi มีค่าเท่ากับ 3.14 สามารถเขียนได้ด้วยข้อความ pi=3.14 ในการกำหนดค่าทางคอมพิวเตอร์ด้านซ้ายของเครื่องหมายมักใช้แทนที่เก็บข้อมูลและด้านขวาแทน ข้อมูลที่ต้องการนำไปเก็บ(ดังนั้นหากใช้ข้อความว่า 3.14=pi ถือว่าไม่ถูกต้องตามความหมายนี้)
4. คำสงวนบางคำที่ใช้ในภาษาระดับสูงทั่วไปอาจถูกนำมาใช้เช่น Read หรือ Enter สำหรับการรับ ข้อมูลเข้าและ Write หรือ Print สำหรับการแสดงข้อมูลออก
5. การเพิ่มหรือลดระยะย่อหน้าอย่างเหมาะสมเพื่อแสดงระดับของขั้นตอนการทำงานในโครงสร้าง ควบคุมการทำงานในกลุ่มเดียวกัน
อัลกอริทึม เป็นลำดับของคำสั่งที่คอมพิวเตอร์จะปฏิบัติตามเพื่อแก้ปัญหาให้กับเราโดยจะทำคำสั่ง เรียงกันตามลำดับก่อนหลังจะไม่ข้ามขั้นผลลัพธ์ของแต่ละขั้นตอนผลลัพธ์ที่ได้ของขั้นตอนหนึ่งจะส่งต่อไปยัง ขั้นตอนถัดไปและส่งต่อกันไปเช่นนี้ตามลำดับขั้นจนถึงคำสั่งสุดท้ายจึงจะได้ผลลัพธ์ที่เสร็จสมบูรณ์
คุณลักษณะอัลกอริทึม
5.อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน
คุณสมบัติอีกข้อหนึ่งที่สำคัญคืออัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน เนื่องจากเครื่องคอมพิวเตอร์ไม่สามารถประมวลผลไปเรื่อย ๆ (infinite) โดยต้องมีจุดสุดท้ายของการทำงานเช่น การบวกเลขจำนวนเต็มครั้งละหนึ่งค่าไปเรื่อย ๆ ในที่นี้จะไม่เป็นอัลกอริทึม เนื่องจากไม่ได้ บอกจุดสุดท้ายของตัวเลขจำนวนเต็ม ดังนั้นจึงเป็นขั้นตอนการทำงานที่ไม่มีจุดสิ้นสุด
4.กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหากล่าวคือ กลุ่มของขั้นตอนต่าง ๆ ที่กำหนดไว้จะต้องใช้งานทั่วไปได้สำหรับทุก ๆ กรณี และจะต้องมีผลลัพธ์ที่ถูกต้องตรงตามที่กำหนดในปัญหานั้น ๆ ถึงแม้บางครั้งอาจจะได้ผลลัพธ์ที่ไม่ตรงกับปัญหากำหนดไว้ จึงถือได้ว่ากระบวนการนั้นเป็นอัลกอริทึมที่ไม่ดีนำไปใช้ไม่ได้
3.ต้องมีลำดับขั้นตอนที่ชัดเจน
ในการประมวลผลชุดคำสั่งต่าง ๆ ที่ถูกกำหนดด้วยกฎเกณฑ์ในการแก้ปัญหาของ อัลกอริทึม จะต้องประมวลผลเป็นลำดับตามขั้นตอน เพราะการแก้ปัญหาด้วยคอมพิวเตอร์จะต้อง มีลำดับขั้นตอนที่แน่นอน ซึ่งแต่ละขั้นตอนของอัลกอริทึมจะต้องทำหน้าที่อย่างชัดเจนและต่อเนื่องโดยการเริ่มต้นทำงานแต่ละขั้นตอนมีการรับและส่งข้อมูลต่อเนื่องกันไปจนสิ้นสุดการทำงาน ถ้าขั้นตอนไม่ดีอาจจะทำให้การประมวลผลผิดพลาดได้
2.การเขียนอัลกอริทึมต้องไม่คลุมเครือง
รูปแบบของการเขียนอัลกอริทึมจะต้องมีระบบ ระเบียบ อ่านแล้วไม่ทำให้เกิดความ สับสนกล่าวคือ จะต้องเป็นสิ่งที่เข้าใจตรงกัน และควรหลีกเลี่ยงคำที่ทำให้เกิดความเข้าใจผิดหรือ ไม่ควรใช้คำที่มีหลายความหมาย ซึ่งการแสดงขั้นตอนแต่ละขั้นตอนจะต้องอธิบายให้สั้นกระทัดรัด และชัดเจน โดยค่าของการนำข้อมูลเข้าในแต่ละขั้นตอนจะต้องนำไปประมวลผลเพื่อส่งผลทำให้เกิดค่าของผลลัพธ์ที่เหมือนกัน
Subtopic
เนื่องจากอัลกอริทึมจัดเป็นรูปแบบหนึ่งของการแก้ปัญหา และกระบวนวิธีการก็คือกลุ่มของขั้นตอนที่อยู่รวมกันเพื่อใช้แก้ปัญหาต่าง ๆ เพื่อให้ได้ผลลัพธ์ที่ถูกต้อง ดังนั้นจึงจำเป็นต้องมีกฎเกณฑ์ที่ใช้ในการสร้างกระบวนวิธีการเหล่านั้น ซึ่งอาจจะอยู่ในรูปแบบประโยคภาษามนุษย์ภาษาใดภาษาหนึ่ง รูปแบบสัญลักษณ์ หรือรูปแบบรหัสจำลองก็ได้
วิวัฒนาการและระดับของโปรแกรมภาษาคอมพิวเตอร์
ยุคที่ 5 ภาษาธรรมชาติ
ภาษาอังกฤษสำหรับผู้เริ่มต้นใช้งานระบบปัญญาประดิษฐ์ (ปัญญาประดิษฐ์) กับระบบผู้เชี่ยวชาญ (Expert System) ภาษาที่ใช้ในชีวิตประจำวันผู้สมัครไม่จำเป็นต้องเรียนรู้การเขียนโปรแกรม ต้องการสอบถามกับผู้ใช้ที่สามารถใช้ภาษาอังกฤษได้
ยุคที่ 4 ภาษาระดับสูงมาก
เป็นภาษาที่นิยมใช้กันอย่างแพร่หลายในระดับสูงภาษาที่มีระดับสูงและระดับภาษามากที่สุดคือระดับภาษา สูงมากจะใช้เครื่องมือที่ผู้ใช้สามารถเห็นแบบฟอร์มหน้าจอต่างๆโดยไม่จำเป นต้องเขียนโปรแกรมเสร็จสมบูรณ์ทำให้การออกแบบรูปแบบของโปรแกรมสามารถง่ายขึ้นตัวอย่างของภาษาระดับสูงมากเช่น Visual Basic, การเขียนสิ่งแวดล้อมเป็นต้น
ยุคที่ 3 ภาษาระดับสูง
การพัฒนาภาษาญี่ปุ่นในยุคที่ 2 โดยการปรับปรุงรูปแบบการเขียนของภาษาการทำงานของภาษาในยุคที่ใช้งานง่ายกว่าเดิมโดยลักษณะของภาษาในยุคที่ 3 การพัฒนาโปรแกรมหรือโปรแกรมคอมพิวเตอร์ใช้แบบฟอร์มการเขียนโปรแกรมใน รูปแบบของวลีภาษาอังกฤษและเครื่องหมายจุลภาค
ยุคที่ 2
ปัญหาในการใช้งานคอมพิวเตอร์ในรูปแบบที่ใช้ในการประมวลผลภาพนิ่ง รูปแบบของภาษาในยุคก่อนโดยการใช้งานกลุ่มของรหัสคำสั่ง (Mnemonics Code) เพื่อแทนชุดคำสั่งที่อยู่ในรูปแบบของภาษา (Object Code) ทำให้การโปรแกรมคำสั่งง่าย ๆ ยุคแรก
ยุคที่1 ภาษาเครื่อง