สารบัญ
การทำงานของคอมพิวเตอร์
คอมพิวเตอร์ทำงานโดยใช้หลักการประมวลผลข้อมูลแบบดิจิทัล ซึ่งประกอบด้วยส่วนประกอบหลัก 4 ส่วน:
- หน่วยรับข้อมูล (Input Unit) - รับข้อมูลจากผู้ใช้ผ่านอุปกรณ์ เช่น คีย์บอร์ด เมาส์ หรือเซ็นเซอร์ต่างๆ
- หน่วยประมวลผลกลาง (CPU) - ทำหน้าที่คำนวณและประมวลผลข้อมูลตามคำสั่งที่ได้รับ
- หน่วยความจำ (Memory) - เก็บข้อมูลและคำสั่งที่ใช้ในการประมวลผล แบ่งเป็นหน่วยความจำหลัก (RAM) และหน่วยความจำสำรอง (Storage)
- หน่วยแสดงผล (Output Unit) - แสดงผลลัพธ์จากการประมวลผลให้ผู้ใช้ทราบ เช่น หน้าจอ ลำโพง หรือเครื่องพิมพ์
การทำงานของคอมพิวเตอร์เป็นไปตามวงจรการทำงานที่เรียกว่า "Fetch-Decode-Execute Cycle" โดย CPU จะดึงคำสั่งจากหน่วยความจำ ถอดรหัสคำสั่ง และประมวลผลตามคำสั่งนั้น
แผนภาพการทำงานของคอมพิวเตอร์
ระดับของภาษาในการเขียนโปรแกรม
ภาษาในการเขียนโปรแกรมสามารถแบ่งออกเป็นระดับต่างๆ ตามความใกล้ชิดกับภาษาเครื่อง (Machine Language) และภาษามนุษย์:
ภาษาระดับต่ำ
ใกล้ชิดกับภาษาเครื่อง ทำงานได้เร็ว แต่เขียนและแก้ไขยาก
ตัวอย่าง:
- ภาษาเครื่อง (Machine Language)
- ภาษาแอสเซมบลี (Assembly)
ภาษาระดับกลาง
ผสมผสานระหว่างภาษาระดับสูงและระดับต่ำ
ตัวอย่าง:
- ภาษา C
- ภาษา C++
ภาษาระดับสูง
ใกล้เคียงกับภาษามนุษย์ เขียนและแก้ไขง่าย
ตัวอย่าง:
- Python, Java, JavaScript
- Ruby, PHP, C#
การแปลงภาษา
ภาษาระดับสูง
Python, Java
คอมไพเลอร์/อินเตอร์พรีเตอร์
แปลงโค้ด
ภาษาเครื่อง
0 และ 1
ชนิดของข้อมูล (Data Types)
ชนิดของข้อมูลเป็นการกำหนดประเภทของข้อมูลที่จะเก็บในโปรแกรม ซึ่งมีผลต่อวิธีการจัดเก็บในหน่วยความจำและการดำเนินการกับข้อมูลนั้น
ข้อมูลพื้นฐาน (Primitive Data Types)
-
Integer (จำนวนเต็ม)
เช่น 1, 42, -10, 0
-
Float (จำนวนทศนิยม)
เช่น 3.14, -0.001, 2.0
-
Boolean (ค่าความจริง)
True (จริง) หรือ False (เท็จ)
-
Character (อักขระ)
เช่น 'a', 'B', '5', '$'
-
String (ข้อความ)
เช่น "Hello", "สวัสดี", "123"
ข้อมูลแบบโครงสร้าง (Structured Data Types)
-
Array (อาร์เรย์)
เช่น [1, 2, 3, 4, 5]
-
Object (อ็อบเจ็กต์)
เช่น {name: "John", age: 30}
-
List (ลิสต์)
เช่น ["apple", "banana", "orange"]
-
Dictionary (พจนานุกรม)
เช่น {"key1": "value1", "key2": "value2"}
-
Tuple (ทูเพิล)
เช่น (1, "hello", true)
หมายเหตุ:
ชนิดข้อมูลอาจแตกต่างกันไปในแต่ละภาษาโปรแกรม บางภาษาอาจมีชนิดข้อมูลเฉพาะเพิ่มเติม หรือเรียกชื่อต่างกัน
ตัวแปร (Variable)
ตัวแปรเป็นพื้นที่ในหน่วยความจำที่ใช้เก็บข้อมูลในโปรแกรม โดยมีชื่อเฉพาะสำหรับอ้างอิงถึงข้อมูลนั้น
องค์ประกอบของตัวแปร
-
ชื่อ (Name)
ชื่อที่ใช้อ้างอิงถึงตัวแปร เช่น age, name, total
-
ชนิดข้อมูล (Data Type)
ประเภทของข้อมูลที่เก็บในตัวแปร เช่น int, string, boolean
-
ค่า (Value)
ข้อมูลที่เก็บในตัวแปร เช่น 25, "Hello", true
-
ตำแหน่งในหน่วยความจำ (Memory Address)
ตำแหน่งที่เก็บข้อมูลในหน่วยความจำ
ตัวอย่างการประกาศตัวแปร
// JavaScript
let age = 25;
const name = "John";
var isActive = true;
# Python
age = 25
name = "John"
is_active = True
// Java
int age = 25;
String name = "John";
boolean isActive = true;
ขอบเขตของตัวแปร (Variable Scope)
Global Variables (ตัวแปรส่วนกลาง)
สามารถเข้าถึงได้จากทุกส่วนของโปรแกรม ประกาศนอกฟังก์ชันหรือบล็อกโค้ด
Local Variables (ตัวแปรเฉพาะที่)
เข้าถึงได้เฉพาะภายในฟังก์ชันหรือบล็อกโค้ดที่ประกาศเท่านั้น
ตัวดำเนินการ (Operator)
ตัวดำเนินการเป็นสัญลักษณ์พิเศษที่ใช้ในการคำนวณหรือดำเนินการกับข้อมูล แบ่งเป็นหลายประเภทตามลักษณะการใช้งาน
ตัวดำเนินการทางคณิตศาสตร์
สัญลักษณ์ | ความหมาย |
---|---|
+ | บวก |
- | ลบ |
* | คูณ |
/ | หาร |
% | หารเอาเศษ |
** | ยกกำลัง |
ตัวดำเนินการเปรียบเทียบ
สัญลักษณ์ | ความหมาย |
---|---|
== | เท่ากับ |
!= | ไม่เท่ากับ |
> | มากกว่า |
< | น้อยกว่า |
>= | มากกว่าหรือเท่ากับ |
<= | น้อยกว่าหรือเท่ากับ |
ตัวดำเนินการทางตรรกะ
สัญลักษณ์ | ความหมาย |
---|---|
&& | และ (AND) |
|| | หรือ (OR) |
! | ไม่ (NOT) |
ตัวดำเนินการกำหนดค่า
สัญลักษณ์ | ความหมาย |
---|---|
= | กำหนดค่า |
+= | บวกแล้วกำหนดค่า |
-= | ลบแล้วกำหนดค่า |
*= | คูณแล้วกำหนดค่า |
/= | หารแล้วกำหนดค่า |
ตัวดำเนินการเพิ่ม/ลดค่า
สัญลักษณ์ | ความหมาย |
---|---|
++ | เพิ่มค่าขึ้น 1 |
-- | ลดค่าลง 1 |
ตัวดำเนินการบิต (Bitwise)
สัญลักษณ์ | ความหมาย |
---|---|
& | AND ระดับบิต |
| | OR ระดับบิต |
^ | XOR ระดับบิต |
~ | NOT ระดับบิต |
ตัวอย่างการใช้งานตัวดำเนินการ
// ตัวอย่างการใช้ตัวดำเนินการทางคณิตศาสตร์
let a = 10;
let b = 3;
let sum = a + b; // 13
let diff = a - b; // 7
let product = a * b; // 30
let quotient = a / b; // 3.333...
let remainder = a % b; // 1
// ตัวอย่างการใช้ตัวดำเนินการเปรียบเทียบ
let isEqual = a == b; // false
let isNotEqual = a != b; // true
let isGreater = a > b; // true
// ตัวอย่างการใช้ตัวดำเนินการทางตรรกะ
let x = true;
let y = false;
let andResult = x && y; // false
let orResult = x || y; // true
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์เป็นชุดของคำสั่งที่ใช้ในการสื่อสารกับคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์ทำงานตามที่ต้องการ มีหลากหลายภาษาที่ถูกพัฒนาขึ้นเพื่อวัตถุประสงค์ที่แตกต่างกัน
ประเภทของภาษาคอมพิวเตอร์
-
ภาษาเครื่อง (Machine Language)
ภาษาระดับต่ำสุดที่คอมพิวเตอร์เข้าใจได้โดยตรง ประกอบด้วยเลขฐานสอง (0 และ 1)
-
ภาษาแอสเซมบลี (Assembly Language)
ภาษาระดับต่ำที่ใช้คำสั่งแทนรหัสเลขฐานสอง ต้องใช้แอสเซมเบลอร์แปลงเป็นภาษาเครื่อง
-
ภาษาระดับสูง (High-level Language)
ภาษาที่ใกล้เคียงกับภาษามนุษย์ เขียนและอ่านง่าย ต้องใช้คอมไพเลอร์หรืออินเตอร์พรีเตอร์แปลงเป็นภาษาเครื่อง
ภาษาโปรแกรมยอดนิยม
Python
ภาษาที่อ่านง่าย เหมาะสำหรับผู้เริ่มต้น นิยมใช้ในด้าน Data Science และ AI
JavaScript
ภาษาหลักสำหรับพัฒนาเว็บไซต์ฝั่ง Client-side
Java
ภาษา OOP ที่ทำงานบน JVM นิยมใช้ในองค์กรขนาดใหญ่
C#
ภาษาจาก Microsoft นิยมใช้พัฒนาแอปพลิเคชัน Windows และเกม
Go
ภาษาจาก Google เน้นประสิทธิภาพและความเรียบง่าย
R
ภาษาสำหรับการวิเคราะห์ข้อมูลทางสถิติและการสร้างกราฟ
การเปรียบเทียบภาษาโปรแกรม
ภาษา | ประเภท | การใช้งานหลัก | ความยากง่าย |
---|---|---|---|
Python | Interpreted | Data Science, AI, Web, Automation | ง่าย |
JavaScript | Interpreted | Web Development, Frontend, Backend | ปานกลาง |
Java | Compiled | Enterprise, Android, Web | ปานกลาง-ยาก |
C++ | Compiled | Game Development, System Software | ยาก |
PHP | Interpreted | Web Development, Backend | ปานกลาง |