ว 4.2 ม.1/1 ออกแบบอัลกอริทึมที่ใช้แนวคิดเชิงนามธรรม เพื่อแก้ปัญหาหรืออธิบายการทํางานที่พบในชีวิตจริง (ปลายทาง)
ว 4.2 ม.1/2 ออกแบบและเขียนโปรแกรมอย่างง่าย เพื่อแก้ปัญหาทางคณิตศาสตร์หรือวิทยาศาสตร์ (ระหว่างทาง)
1.1 แนวคิดเชิงนามธรรม
-- กำลังปรับปรุง --
1.2 การใช้แนวคิดเชิงนามธรรมเพื่อแก้ปัญหา
-- กำลังปรับปรุง --
-- กำลังปรับปรุง --
-- กำลังปรับปรุง --
3.1 ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ คือ ชุดคำสั่งหรือสัญลักษณ์ที่โปรแกรมเมอร์ (Programmer) เขียนขึ้น เพื่อใช้สื่อสารกับเครื่องคอมพิวเตอร์ ให้ทำงานตามที่ต้องการ ภาษาคอมพิวเตอร์มีการพัฒนาเช่นเดียวกับเครื่องคอมพิวเตอร์ สามารถแบ่งภาษาคอมพิวเตอร์ออกได้เป็น 5 ยุค ดังนี้
1) ยุคภาษาเครื่อง (Machine Language) เป็นภาษาคอมพิวเตอร์ยุคแรกสุดก่อนปี ค.ศ. 1952 เป็นภาษาระดับต่ำที่สุด ที่ใช้รหัสเลขฐานสอง (Binary Code คือเลข 0 และ 1) สั่งงานฮาร์ดแวร์หรือหน่วยประมวลผล (CPU) ได้โดยตรงทันทีโดยไม่ต้องใช้ตัวแปลภาษา
ตัวอย่างชุดคำสั่งภาษาเครื่อง
10110000 01100001 : คำสั่งนำค่าข้อมูลตัวเลข (เช่น ตัวอักษร 'a') ไปเก็บไว้ในรีจิสเตอร์ของซีพียู
00000101 00000000 00000001 : คำสั่งนำค่าข้อมูลมาบวกกันในหน่วยความจำ
11101011 11111100 : คำสั่งกระโดดข้ามไปทำงานที่คำสั่งอื่น (Jump)
2) ยุคภาษาแอสเซมบลี (Assembly Language) เป็นภาษาที่จัดอยู่ในภาษาระดับต่ำ โดยนำตัวย่อสั้นๆ ทางภาษาอังกฤษ (Mnemonic Code) มาใช้แทนรหัสเลขฐานสองของภาษาเครื่อง เพื่อให้มนุษย์สามารถเขียนและจดจำคำสั่งได้ง่ายขึ้น
ตัวอย่างคำสั่งพื้นฐาน (Mnemonic Code)
MOV : ย้ายหรือคัดลอกข้อมูล
ADD : บวกเลข
SUB : ลบเลข
JMP : กระโดดไปทำงานที่ตำแหน่งอื่น
3) ยุคภาษาระดับสูง (High-Level Language) เป็นภาษาคอมพิวเตอร์ที่ใช้คำสั่งคล้ายภาษาอังกฤษและสัญลักษณ์ทางคณิตศาสตร์ ทำให้มนุษย์อ่านและเขียนได้ง่าย โดยไม่ต้องรู้เรื่องฮาร์ดแวร์ลึกซึ้ง ต้องใช้ตัวแปลภาษา (Compiler หรือ Interpreter) เปลี่ยนเป็นภาษาเครื่องก่อนคอมพิวเตอร์ทำงาน
ตัวอย่างภาษาระดับสูงยุคบุกเบิก (Classic Languages)
FORTRAN : เน้นงานคำนวณทางวิทยาศาสตร์และคณิตศาสตร์
COBOL : เน้นงานด้านธุรกิจและการจัดการข้อมูลองค์กร
BASIC : ออกแบบมาเพื่อให้ผู้เริ่มต้นเรียนรู้การเขียนโปรแกรมได้ง่าย
C : ภาษาพื้นฐานที่ทรงพลัง ใช้สร้างระบบปฏิบัติการและซอฟต์แวร์
ตัวอย่างภาษาระดับสูงยุคปัจจุบัน (Modern Languages)
Python : โค้ดสั้น อ่านง่าย นิยมใช้ในงานปัญญาประดิษฐ์ (AI) และวิทยาศาสตร์ข้อมูล
Java : ทำงานได้ทุกแพลตฟอร์ม นิยมสร้างแอปพลิเคชันบนมือถือและองค์กร
C++ : พัฒนาต่อจากภาษา C รองรับการเขียนโปรแกรมแบบออบเจ็กต์ นิยมทำเกม
JavaScript : ใช้สร้างเว็บให้มีความเคลื่อนไหวและโต้ตอบกับผู้ใช้ได้
4) ยุคภาษาระดับสูงมาก (Very High-Level Language) เป็นภาษาคอมพิวเตอร์ที่ใช้คำสั่งสั้นๆ มีลักษณะของภาษาที่เป็นธรรมชาติ คล้ายกับภาษาพูดของมนุษย์ ทำงานแบบ Nonprocedural คือ ผู้ใช้เพียงบอกว่าต้องการผลลัพธ์อะไร โดยไม่ต้องเขียนขั้นตอนหรือวิธีทำโดยละเอียด
ตัวอย่างภาษาระดับสูงมาก (4GL)
SQL (Structured Query Language) : ภาษาสำหรับเรียกค้นและจัดการข้อมูลในระบบฐานข้อมูล เพียงแค่บอกว่าต้องการข้อมูลอะไร เช่น SELECT * FROM users;
MATLAB : ภาษาและโปรแกรมคำนวณทางคณิตศาสตร์ วิศวกรรม และงานวิจัยที่ใช้คำสั่งชุดเดียวประมวลผลข้อมูลจำนวนมากได้ทันที
SPSS : ซอฟต์แวร์และภาษาสำหรับวิเคราะห์ข้อมูลทางสถิติในงานวิจัยสังคมศาสตร์
Aptio / NOMAD : ภาษาสำหรับการจัดการฐานข้อมูลและรายงานผลในอดีต
Visual Basic (ในบางมุมมองเชิงเครื่องมือสำเร็จรูป) : ช่วยสร้างฟอร์มและจัดการหน้าจอผ่านการลากวางโดยไม่ต้องเขียนโค้ดควบคุมระบบเองทั้งหมด
5) ยุคภาษาธรรมชาติ (Natural Language) เป็นยุคที่มนุษย์สามารถสั่งงานคอมพิวเตอร์ด้วยภาษาพูดหรือภาษาเขียนปกติทั่วไปได้โดยตรง โดยไม่ต้องจำไวยากรณ์หรือเขียนโค้ดที่ซับซ้อน ระบบจะใช้ปัญญาประดิษฐ์ (AI) และฐานความรู้มาช่วยตีความหมาย ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์ก็สามารถแปลคำสั่งเหล่านั้นให้อยู่ ในรูปแบบที่คอมพิวเตอร์สามารถเข้าใจคำสั่งได้ ถ้าคำสั่งใดไม่กระจ่างชัดเจน ก็จะมีการถามกลับ เพื่อให้เข้าใจคำสั่งได้อย่างถูกต้อง
ตัวอย่างการใช้งาน
พิมพ์สั่งค้นหาหรือพูดคุยกับระบบปัญญาประดิษฐ์ (AI) เช่น "ช่วยสรุปยอดขายเดือนนี้ให้หน่อย"
ตัวอย่างคำสั่งจำลองในระบบฐานข้อมูลยุคเก่า : SUM SHIPMENTS BY STATE BY DATE (รวมยอดส่งของตามรัฐและวันที่)
การใช้แชทบอทอัจฉริยะที่โต้ตอบภาษามนุษย์ได้อย่างเป็นธรรมชาติ
3.2 การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ
-- กำลังปรับปรุง --
4.1 การเขียนอัลกอริทึมด้วยรหัสลำลอง
-- กำลังปรับปรุง --
4.2 หลักเกณฑ์การเขียนรหัสลำลอง
-- กำลังปรับปรุง --
5.1 รูปแบบการเขียนผังงาน
-- กำลังปรับปรุง --
5.2 การเขียนอัลกอริทึมด้วยผังงาน
-- กำลังปรับปรุง --
5.3 กรณีศึกษการออกแบบและการเขียนอัลกอริทึม
-- กำลังปรับปรุง --
-- กำลังปรับปรุง --
-- กำลังปรับปรุง --