computer
DESCRIPTION
TRANSCRIPT
ภาษาภาษาคอมพิ�วเตอร์ คอมพิ�วเตอร์
ภาษาภาษาคอมพิ�วเตอร์ คอมพิ�วเตอร์
ภาษาคอมพิ�วเตอร์ • คอมพิ�วเตอร์ จะสามาร์ถทำ�างานได้�จะ
ต�องม�การ์เขี�ยนโปร์แกร์มหร์!อซอร์ ฟแวร์ เพิ!$อส%$งให�คอมพิ�วเตอร์ ทำ�างาน โปร์แกร์ม
ต'าง ๆ ทำ�$เขี�ยนขี)*นมาน%*น จะต�องเขี�ยนไปตามกฎเกณฑ์ ขีองภาษาทำ�$คอมพิ�วเตอร์
เขี�าใจ เร์�ยกว'า ภาษาคอมพิ�วเตอร์ ภาษาคอมพิ�วเตอร์
ภาษาคอมพิ�วเตอร์ ภาษาคอมพิ�วเตอร์ • สามาร์ถแบ่�งออกได้�เป็�น สามาร์ถแบ่�งออกได้�เป็�น 5 5 ยุ�คค�อยุ�คค�อ 1. 1. ภาษาเคร์!$อง ภาษาเคร์!$อง (Machine language) (Machine language)
2. 2. ภาษาแอสเซมบลี� ภาษาแอสเซมบลี� (Assembly language) (Assembly language)
3. 3. ภาษาชั้%*นส2ง ภาษาชั้%*นส2ง - (High level language)- (High level language)หร์!อ ภาษาร์4 'นทำ�$ หร์!อ ภาษาร์4 'นทำ�$ 3 3 ((3GL:Third Generation3GL:Third Generation Language)Language)
4. 4. ภาษาชั้%*นส2งมาก ภาษาชั้%*นส2งมาก - (Very high level language) - (Very high level language) หร์!อภาษาร์4 'นทำ�$ หร์!อภาษาร์4 'นทำ�$ 44 (4GL)(4GL)
5. 5. ภาษาธร์ร์มชั้าต� ภาษาธร์ร์มชั้าต� (Natural language) (Natural language) หร์!อภาษาร์4 'นทำ�$ หร์!อภาษาร์4 'นทำ�$ 55 (5GL)(5GL)
1. 1. ภาษาเคร์!$องภาษาเคร์!$อง (Machine language)
•เป6นภาษาพิ!*นฐานทำ�$คอมพิ�วเตอร์ สามาร์ถเขี�าใจได้� แต'ลีะค�าส%$งปร์ะกอบ
ขี)*นจากกลี4'มต%วเลีขี 0 แลีะ 1 ซ)$งเป6นเลีขีฐานสอง
2. 2. ภาษาแอสเซมบลี� ภาษาแอสเซมบลี� (Assembly language) (Assembly language)
• เป6นภาษาทำ�$ใชั้�ส%ญลี%กษณ ขี�อความ แทำนกลี4'มขีองต%วเลีขีฐานสอง เพิ!$อให�ง'ายต'อ
การ์เขี�ยนแลีะการ์จด้จ�ามากขี)*น การ์ทำ�างานขีองโปร์แกร์มจะต�องทำ�าการ์แปลีภาษาแอสเซมบลี�ให�เป6นภาษาเคร์!$อง โด้ยใชั้�ต%วแปลี
ทำ�$เร์�ยกว'า แอสเซมเบลีอร์ (Assembler)
3. 3. ภาษาชั้%*นส2ง ภาษาชั้%*นส2ง - (High level language)- (High level language) หร์!อภาษาร์4 'นทำ�$ หร์!อภาษาร์4 'นทำ�$ 3 3
((3GL:Third Generation Language)3GL:Third Generation Language)
• ถ2กสร์�างขี)*นมาเพิ!$อให�เขี�ยนโปร์แกร์มได้�ง'ายขี)*น โด้ยม�ลี%กษณะเหม!อนก%บภาษาอ%งกฤษทำ%$วไป ผู้2�เขี�ยนไม'จ�าเป6นต�องม�ความร์2 �เก�$ยวก%บฮาร์ แวร์ แต'อย'างใด้
ภาษาน�*จ�าเป6นต�องม�ต%วแปลีภาษาเคร์!$องเชั้'นก%น เร์�ยกต%วแปลีน�*ว'า คอมไพิเลีอร์ (compiler) หร์!อ อ�นเตอร์
พิร์�เตอร์ (Interpreter) อย'างใด้อย'างหน)$ง• ต%วอย'างขีองภาษาชั้%*นส2ง เชั้'น ภาษาปาสคาลี ภาษาซ�
ภาษโคบอลี ภาษเบส�ก ภาษาฟอร์ แทำร์น
4. 4. ภาษาชั้%*นส2งมาก ภาษาชั้%*นส2งมาก - (Very high level language) - (Very high level language)
หร์!อภาษาร์4 'นทำ�$ หร์!อภาษาร์4 'นทำ�$ 44 (4GL)(4GL)
• เป6นภาษาทำ�$ม�ลี%กษณะคลี�ายภาษาพิ2ด้ตามปกต�ขีองมน4ษย ภาษาน�*จะชั้'วยให�การ์เขี�ยนโปร์แกร์มเร์<วมากขี)*นกว'าภาษาในร์4 'นทำ�$ 3 เน!$องจากม�เคร์!$องม!อทำ�$ชั้'วยในการ์สร์�างแบบฟอร์ มหน�าจอ เพิ!$อจ%ด้การ์ก%บขี�อม2ลีร์วมไปถ)งการ์ออกร์ายงาน เมน2ต'าง ๆ
• ต%วอย'างขีองภาษาชั้%*นส2งมากได้�แก' informix-4GL,
MAGIC , Delphi , Power Builder ฯลีฯ
5. 5. ภาษาธร์ร์มชั้าต�ภาษาธร์ร์มชั้าต� (Natural language) (Natural language) หร์!อภาษาร์4 'นทำ�$ หร์!อภาษาร์4 'นทำ�$
55 (5GL)(5GL)
• เป6นภาษาทำ�$สามาร์ถส%$งงานคอมพิ�วเตอร์ โด้ยใชั้�ร์2ปแบบขีองภาษามน4ษย ได้�เลีย ค�าส%$งอย2'ในร์2ปแบบทำ�$ไม'แน'นอนตายต%ว แต'คอมพิ�วเตอร์ จะทำ�าการ์แปลีให�ออกมาในร์2ปทำ�$คอมพิ�วเตอร์ เขี�าใจได้� ภาษาน�*ถ2กสร์�างขี)*นมาจากเทำคโนโลีย�ทำางด้�านร์ะบบผู้2�เชั้�ยวชั้าญ (Expert system)
• ต%วอย'างภาษาในร์4 'นทำ�$ 5 ได้�แก' ภาษา PROLOG เป6นต�น
ขี%*นตอนการ์เขี�ยนโปร์แกร์มคอมพิ�วเตอร์
1. การ์ว�เคร์าะห ป>ญหา(Analysis the problem)
2 . ออกแบบโปร์แกร์ม (Design a program)
3 . การ์เขี�ยนโปร์แกร์มด้�วยภาษาคอมพิ�วเตอร์ (Coding program)
4 . การ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีองโปร์แกร์ม (Testing and Debugging)
5 . การ์ทำด้สอบความถ2กต�องขีองโปร์แกร์ม (Testing and Validating) 6. การ์ทำ�าเอกสาร์ปร์ะกอบโปร์แกร์ม(Documentation) 7. การ์บ�าร์4งร์%กษาโปร์แกร์ม (Program maintenance)
• การ์ร์ะบ4ขี�อม2ลีออก– ก�าหนด้ว%ตถ4ปร์ะสงค ขีองงาน– ร์2ปแบบขีองผู้ลีลี%พิธ
• การ์ร์ะบ4ขี�อม2ลีเขี�า– ขี�อม2ลีทำ�$น�าเขี�าส2'คอมพิ�วเตอร์ ปร์ะกอบด้�วย
อะไร์บ�าง• การ์ก�าหนด้ว�ธ�การ์ปร์ะมวลีผู้ลี
– ต�องทำร์าบส2ตร์หร์!อว�ธ�การ์ปร์ะมวลีผู้ลี
1. การ์ว�เคร์าะห ป>ญหา
ต%วอย'าง ต�องการ์หาพิ!*นทำ�$ขีองสามเหลี�$ยม
ก�าหนด้ว!ตถ�ป็ร์ะสงค การ์ค�านวณหาพิ�$นที่&'สามเหลี่&'ยุมข้�อม*ลี่เข้�า 1. ความยุาวฐาน 2. ความส*งร์*ป็แบ่บ่ผลี่ลี่!พิธ์ ความยุาวฐาน = ………………..ความส*ง = ……………………..พิ�$นที่&'สามเหลี่&'ยุม = ………………………
ข้!$นตอนการ์ป็ร์ะมวลี่ผลี่ 1. ป็.อนความยุาวฐาน
2. ป็.อนความส*ง 3. ค�านวณพิ�$นที่&'สามเหลี่&'ยุม จากส*ตร์
พิ�$นที่&'สามเหลี่&'ยุม = ½ x ความยุาวฐาน x ความส*ง
2. 2. การ์ออกแบบโปร์แกร์มการ์ออกแบบโปร์แกร์ม• เคร์!$องม!อทำ�$ชั้'วยในการ์ออกแบบโปร์แกร์มเชั้'น ผู้%ง
งาน, ร์ห%สจ�าลีอง,แผู้นภ2ม�โคร์งสร์�าง , ฮ�โปชั้าร์ ต• ผู้%งงาน (Flowchart ) ค!อแผู้นภาพิแสด้งขี%*นตอนการ์
ทำ�างานขีองโปร์แกร์มหร์!อร์ะบบร์วมทำ%*งการ์ไหลีขีองขี�อม2ลีต%*งแต'แร์กจนได้�ผู้ลีลี%พิธ ตามต�องการ์
• ปร์ะโยชั้น ขีองผู้%งงาน– ชั้'วยลี�าด้%บขี%*นตอนการ์ทำ�างาน ให�เขี�ยนโปร์แกร์มได้�ไม'ส%บสน– ชั้'วยในการ์ตร์วจสอบแลีะแก�ไขีโปร์แกร์มเม!$อเก�ด้ขี�อผู้�ด้
พิลีาด้– ชั้'วยให�สามาร์ถศึ)กษาการ์ทำ�างานขีองโปร์แกร์มได้�อย'าง
ร์วด้เร์<ว
2. การ์ออกแบบโปร์แกร์ม(ต'อ)
• ปร์ะเภทำขีองผู้%งงาน แบ'งได้�เป6น 2 แบบค!อ1. ผู้%งงานร์ะบบ (System Flowchart)
– แสด้งขีอบเขีตขีองร์ะบบทำ%*งหมด้– แสด้งขี�อม2ลีเขี�าถ2กเก<บอย2'ทำ�$ใด้บ�าง ใชั้�ส!$อบ%นทำ)กขี�อม2ลีแบบ
ใด้– ปร์ะมวลีผู้ลีแลีะแสด้งผู้ลีลี%พิธ ทำ�$ใด้
2. ผู้%งงานโปร์แกร์ม (Program Flowchart)
- แสด้งลี�าด้%บขี%*นตอนการ์ทำ�างานขีองโปร์แกร์มหน)$งๆ
ร์2ปแสด้งส%ญลี%กษณ ขีองผู้%งร์2ปแสด้งส%ญลี%กษณ ขีองผู้%งงานโปร์แกร์มงานโปร์แกร์ม
เร์�'มต�น/จบ่งาน
การ์ต!ด้ส�นใจเลี่�อก
แที่นการ์ก�าหนด้ค�าหร์�อค�านวณค�า
อ�านข้�อม*ลี่เข้�าหร์�อแสด้งข้�อม*ลี่โด้ยุไม�ร์ะบ่�ชน�ด้ส�'อข้�อม*ลี่ที่&'ใช�
จ�ด้เช�'อมต�อ
ข้3$นหน�าใหม�
แสด้งผลี่ลี่!พิธ์ บ่นจอภาพิ
ลี่*กศร์แสด้งที่�ศที่าง
แสด้งผลี่ลี่!พิธ์ ที่างเคร์�'องพิ�มพิ
ว�ธ�เขี�ยนผู้%งงานทำ�$ด้�ว�ธ�เขี�ยนผู้%งงานทำ�$ด้�• ใชั้�ส%ญลี%กษณ ตามทำ�$ก�าหนด้• สามาร์ถแสด้งทำ�ศึทำางการ์ไหลีขีองขี�อม2ลีจากบนลีงลี'าง ซ�ายไปขีวา• ค�าอธ�บายส%*น กะทำ%ด้ร์%ด้ เขี�าใจง'าย
• ม�ลี2กศึร์แสด้งทำ�ศึทำางเขี�าออกทำ4กแผู้นภาพิ• ไม'ควร์โยงเส�นไกลีก%นมากๆ ควร์ใชั้�ส%ญลี%กษณ เชั้!$อมต'อแทำน• ควร์ทำด้สอบความถ2กต�องก'อนน�าไปเขี�ยนโปร์แกร์ม
ต%วอย'าง ผู้%งงานการ์เขี�ยนแลีะส'งจด้หมาย
เข้&ยุนจม.
จ�าหน�าซอง
ใส�ซองจม.
พิ!บ่จม.
ป็6ด้ซองจม.
1
1
ม&แสตมป็7หร์�อไม�
ซ�$อแสตมป็7
ต�ด้แสตมป็7
ส�งจม.
ม& ไม�ม&เร์�'มต�น
จบ่งาน
ต%วอย'าง2 ผู้%งงานการ์หาพิ!*นทำ�$สามเหลี�$ยม
ป็.อนความยุาวฐาน
ค�านวณหาพิ�$นที่&'สามเหลี่&'ยุม จากส*ตร์= ½ x ฐาน x ส*ง
เร์�'มต�น
จบ่งาน
ป็.อนความส*ง
พิ�มพิ พิ�$นที่&'สามเหลี่&'ยุม
3. 3. การ์เขี�ยนโปร์แกร์มด้�วยการ์เขี�ยนโปร์แกร์มด้�วยภาษาคอมพิ�วเตอร์ ภาษาคอมพิ�วเตอร์
• เป6นการ์น�าผู้%งงานทำ�$เขี�ยนไว�มาแปลีงเป6นโปร์แกร์มภาษาคอมพิ�วเตอร์
• โด้ยผู้%งงานไม'ได้�ขี)*นก%บภาษาใด้จ)งสามาร์ถเลี!อกใชั้�ภาษาได้�ตามต�องการ์
4. 4. การ์ตร์วจสอบขี�อผู้�ด้พิลีาด้การ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีองโปร์แกร์มขีองโปร์แกร์ม
ปร์ะเภทำขีองขี�อผู้�ด้พิลีาด้• Syntax error
– เก�ด้จากการ์เขี�ยนไวยากร์ณ ขีองภาษาผู้�ด้– ตร์วจพิบได้�ในขีณะทำ�าการ์แปลี (compile ) โปร์แกร์ม– สามาร์ถแก�ไขีได้�ง'ายทำ�$ส4ด้– เชั้'น a:=10;
writtln(a);Syntax error
Writeln(a);
4. 4. การ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีองการ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีอง โปร์แกร์ม โปร์แกร์ม ((ต'อต'อ))
• Run-time error– เป6นความผู้�ด้พิลีาด้ขีองโปร์แกร์มในร์ะหว'างการ์ปฎ�บ%ต�งาน– ตร์วจไม'พิบในขีณะทำ�าการ์แปลีโปร์แกร์ม– เชั้'น ค�าส%$ง 1/x โด้ยก�าหนด้ให� x>=0 แลีะ x <=10 ซ)$งการ์หาร์
ด้�วย 0 จะทำ�าให�เก�ด้ขี�อผู้�ด้พิลีาด้ตอน Run-time (ซ)$งในการ์แปลีจะไม'พิบขี�อผู้�ด้พิลีาด้)
• Logical error
– เก�ด้จากการ์ต�ความหมายขีองป>ญหาผู้�ด้ไป– เป6นขี�อผู้�ด้พิลีาด้ทำ�$แก�ไขีได้�ยากทำ�$ส4ด้– เชั้'น x = b เขี�ยน x = b/2*a ต�ความเป6น x = b*a จะผู้�ด้ ทำ�$ถ2กต�อง
เป6น
x = b/(2*a)
2a 2
4. 4. การ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีองการ์ตร์วจสอบขี�อผู้�ด้พิลีาด้ขีอง โปร์แกร์ม โปร์แกร์ม ((ต'อต'อ))
• การ์ตร์วจสอบด้�วยตนเอง– เป6นการ์ตร์วจสอบทำ�ลีะขี%*นขีองโปร์แกร์มด้�วยตนเอง– อาจเจอ syntax error หร์!อ logical error
• การ์ตร์วจสอบด้�วยการ์แปลีโปร์แกร์ม– โด้ยใชั้�ต%วแปลีภาษา (Compiler หร์!อ Interpreter)– อาจเจอ syntax error
– ไม'สามาร์ถตร์วจเจอ Logical error แลีะ Run-time error ได้�
5. 5. การ์ทำด้สอบความถ2กต�องการ์ทำด้สอบความถ2กต�องขีองโปร์แกร์มขีองโปร์แกร์ม
• ทำด้สอบว'าโปร์แกร์มให�ผู้ลีลี%พิธ ออกมาถ2กต�อง ตามทำ�$ต�องการ์หร์!อไม'
• โด้ยการ์ป@อนขี�อม2ลีสมมต�หลีาย ๆ ค'าทำ�$เป6นไปได้�เขี�าไปแลี�วด้2ผู้ลีลี%พิธ ว'าถ2กต�องหร์!อไม'
6. 6. การ์ทำ�าเอกสาร์ปร์ะกอบการ์ทำ�าเอกสาร์ปร์ะกอบโปร์แกร์มโปร์แกร์ม
1 . เอกสาร์ปร์ะกอบโปร์แกร์มส�าหร์%บผู้2�ใชั้�
(User Documentation)
2. เอกสาร์ปร์ะกอบส�าหร์%บผู้2�เขี�ยนโปร์แกร์ม
(Technical Documentation)
7. 7. การ์บ�าร์4งร์%กษาโปร์แกร์มการ์บ�าร์4งร์%กษาโปร์แกร์ม
• หลี%งจากทำ�$ม�การ์ใชั้�งานโปร์แกร์มไปนาน ๆ แลี�ว อาจต�องม�การ์ปร์%บปร์4งแก�ไขี
โปร์แกร์มให�ตร์งตามความต�องการ์ขีองผู้2�ใชั้�ทำ�$อาจเปลี�$ยนแปลีงไป