9
บบบบบ 4 บบบบบบบ บบบบบบบบบบบ

คอมพิวเตอร์พื้นฐาน บทที่ 4

Embed Size (px)

Citation preview

Page 1: คอมพิวเตอร์พื้นฐาน บทที่ 4

บทท�� 4 ภาษาของคอมพิ�วเตอร์�

Page 2: คอมพิวเตอร์พื้นฐาน บทที่ 4

ลั�กษณะท��คลั�ายคลั�งก�นของภาษาคอมพิ�วเตอร์�ท�กภาษา ก ค!อต�องม�ค"าสั่��งต$อไปน�'

1. ค"าสั่��งร์�บข�อม(ลัแลัะแสั่ดงผลั ค"าสั่��งปร์ะเภทน�'จำ"าเป-นอย$างย��งท��จำะต�องม�ใช้�ในภาษา ก�บท�'งย�งต�องแจำกแจำงลัะเอ�ยดต$อไปด�วยว$า ร์�บผ$านอ�ปกร์ณ�ใด แลัะแสั่ดงผลัทางอ�ปกร์ณ�ใด

2. ค"าสั่��งค"านวณ โปร์แกร์มหร์!อค"าสั่��งท��เข�ยนจำะหน�ไม$พิ�นค"าสั่��งท��สั่��งให�ปร์ะมวลัผลัปร์ะเภท บวก ลับ ค(ณ หาร์

3. ค"าสั่��งท��ม�การ์เลั!อกท�ศทาง หมายถึ�ง สั่��งให�ม�การ์เปร์�ยบเท�ยบ เช้$น ถึ�ามากกว$าให�ท"าอย$างหน��ง ถึ�าเท$าก�นให�ท"าอย$างหน��ง หร์!อน�อยกว$าให�ท"าอ�กอย$างหน��ง เป-นต�น นอกจำากน�'นอาจำม�ค"าสั่��งปร์ะเภทให�ท"างานเป-นวงซ้ำ"'าแลั�วซ้ำ"'าอ�ก จำนกว$าจำะม�การ์เปร์�ยบเท�ยบค$า ซ้ำ��งถึ�าเป-นเท$าน�'นเท$าน�' หร์!อมากกว$าหร์!อน�อยกว$าก ให�หย�ดได�

4. ค"าสั่��งให�น"าโปร์แกร์มหร์!อข�อม(ลัออกมาจำาก แลัะ/หร์!อสั่$งเข�าไปเก บในสั่!�ออย$างใดอย$างหน��งเพิ!�อเร์�ยกมาใช้�ใหม$ได�

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

Page 3: คอมพิวเตอร์พื้นฐาน บทที่ 4

ภาษาเคร์!�อง เป-นภาษาท��ใช้�ก�นมาต�'งแต$เร์��มม�คอมพิ�วเตอร์�ใหม$ๆ ลั�กษณะท��วไปก ค!อใช้�ร์ห�สั่เป-นเลัขฐานสั่องท�'งหมด ซ้ำ��งน�บว$าย�$งยากก�บผ(�ใช้�มาก แต$ก เป-นภาษาเด�ยวท��คอมพิ�วเตอร์�จำะเข�าใจำได�ท�นท� 

ค"าสั่��งท��เข�ยนด�วยภาษาน�'จำะแบ$งเป-นสั่องสั่$วน สั่$วนแร์กเป-นค"าสั่��งท��จำะสั่��งให�เคร์!�องคอมพิ�วเตอร์�ร์(�ว$าจำะต�องท"าอะไร์ เร์�ยกสั่$วนน�'ว$า ออปโคด (Opcode หร์!อท��ย$อมาจำากค"า Operation code) สั่$วนท��สั่องจำะบอกคอมพิ�วเตอร์�ว$าให�ไปน"าข�อม(ลัมาจำากท��ใด เร์�ยกสั่$วนน�'ว$า โอเปอร์�แร์นด�(Operand) ในการ์เข�ยนด�วยค"าสั่��งภาษาน�' ผ(�ท"าโปร์แกร์มจำะต�องจำ"าท��อย($ (Address) ของข�อม(ลัหร์!อท��เก บข�อม(ลัเหลั$าน�'น (ซ้ำ��งจำะเป-นต�วเลัขท�'งหมด)ได� อาจำม�ต�'งแต$ 1-100,000 แลั�วแต$ขนาดของเคร์!�อง ปกต�กว$าจำะจำ"าได� ม�กจำะใช้�เวลัามากแลัะแม�กร์ะน�'นก ย�งผ�ดพิลัาดอย($เสั่มอ เช้$น ถึ�าจำะสั่��งให�น"าค$าท��หน$วยความจำ"าเลัขท�� 0184 บวกก�บค$าท��อย($ในหน$วยความจำ"า 8672 จำะเข�ยนว$า00100000000000000000000000010111000

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

Page 4: คอมพิวเตอร์พื้นฐาน บทที่ 4

หร์!อแม�แต$เข�ยนเป-นเลัขฐานสั่�บก ย�งย�$งยาก ค"าสั่��งของภาษาเคร์!�องน�' จำะต$างก�นไปตามช้น�ดของเคร์!�องคอมพิ�วเตอร์�ท��ใช้�

ภาษาเคร์!�อง (Machine Language) เป-นภาษาเด�ยวท��คอมพิ�วเตอร์�เข�าใจำ แลัะเป-นภาษาท��ปร์ะกอบด�วยต�วอ�กษร์เพิ�ยงสั่องต�วค!อ 0 ก�บ 1 เท$าน�'น การ์ใช้�ภาษาเคร์!�องน�'นค$อนข�างยากมาก นอกจำากจำะต�องจำ"าค"าสั่��งเป-นลั"าด�บของเลัข 0 ก�บ 1 แลั�วย�งจำะต�องออกค"าสั่��งต$างๆ อย$างลัะเอ�ยดมากๆ ด�วย

ต�วอย$างเช้$น ค"าสั่��งภาษาเคร์!�องสั่"าหร์�บบวกเลัขสั่องจำ"านวนอาจำม�ลั�กษณะด�งน�'

011000000000011001101100000100001010010000010001

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

Page 5: คอมพิวเตอร์พื้นฐาน บทที่ 4

ภาษามน�ษย�ภาษามน�ษย� เม!�อการ์ใช้�ภาษาเคร์!�องเป-นเร์!�องท��ย�$งยากแลัะ

ผ�ดพิลัาดง$าย มน�ษย�ก ค�ดหาว�ธี�ท"าหร์!อว�ธี�สั่!�อสั่าร์ว�ธี�อ!�นเพิ!�อให�ง$ายข�'น จำ�งม�ผ(�ค�ดให�ม�การ์ท"าโปร์แกร์มท��ใช้�ภาษาท��มน�ษย�สั่ามาร์ถึเข�าใจำได�ด�วยแลัะจำ"าได�ง$ายๆ เร์�ยกภาษาน�'ว$า ภาษามน�ษย� โดยผ(�ผลั�ตเคร์!�องคอมพิ�วเตอร์�ต�องม�ต�วแปลัท��จำะแปลัจำากภาษามน�ษย�ท��เคร์!�องไม$เข�าใจำให�เป-นภาษาเคร์!�อง (Machine language) โดยเก บต�วแปลัน�'เป-นโปร์แกร์มร์ะบบไว�ในต�วเคร์!�องเลัย การ์พิ�ฒนาเช้$นน�'ท"าให�มน�ษย�ก�บคอมพิ�วเตอร์�เข�าใจำแลัะสั่!�อสั่าร์ก�นได�มากข�'นการ์สั่��งงานจำ�งท"าได�ง$ายแลัะสั่ะดวกข�'นท�กท�

ภาษาท��เร์�ยกว$าภาษามน�ษย�น�' ย�งแบ$งเป-นอ�ก 2 ร์ะด�บ ค!อ2.1 ภาษาร์ะด�บต"�า (Low level language)2.2 ภาษาร์ะด�บสั่(ง (High level language)

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

Page 6: คอมพิวเตอร์พื้นฐาน บทที่ 4

ภาษาร์ะด�บต"�า หมายถึ�ง ภาษาท��ย�งใกลั�เค�ยงก�บภาษาเคร์!�องมาก ภาษาน�'ย�งใช้�สั่�ญลั�กษณ�ต$างๆแทนต�วเลัขฐานสั่องซ้ำ��งย�$งยาก เช้$น ถึ�าสั่��งให�บวกก ใช้�สั่�ญลั�กษณ� A ถึ�าสั่��งให�ลับก ใช้�สั่�ญลั�กษณ� S เป-นต�น ภาษาท��ใช้�สั่�ญลั�กษณ�เช้$นน�' เร์�ยกว$า mnemonic code อย$างไร์ก ตามภาษาน�'ม�เพิ�ยงภาษาเด�ยว ค!อ ภาษาแอสั่เซ้ำมบลั� (Assembly language) เม!�อคอมพิ�วเตอร์�ร์�บค"าสั่��งภาษาแอสั่เซ้ำมบลั�'เข�าไปแลั�ว ก จำะต�องสั่$งไปให�ต�วแปลัท��ม�ช้!�อว$า แอสั่เซ้ำมเบลัอร์� (Assembler) ถึอดร์ห�สั่ให�เสั่�ยก$อน คอมพิ�วเตอร์�ก จำะเข�าใจำ โปร์แกร์มท��เข�ยนสั่$งเข�าไปให�ตอนแร์ก เร์�ยกว$า โปร์แกร์มด�บ (Source program) แลัะโปร์แกร์มท��แปลัเป-นภาษาเคร์!�องแลั�ว เร์�ยกว$า โปร์แกร์มผลั (Object program)

ภาษาร์ะด�บสั่(ง (High Level Language)เป-นภาษาท��ใช้�ง$ายข�'นกว$าภาษาสั่�ญลั�กษณ� โดยผ(�ค�ดค�นภาษาได�ออกแบบค"าสั่��ง ไวยากร์ณ� แลัะกฏเกณฑ์�ต$างๆ ออกมาให�ร์�ดก�ม แลัะจำ"าได�ง$าย ภาษาร์ะด�บสั่(งน�'ย�งอาจำจำะแบ$งออกได�เป-นหลัายปร์ะเภท เช้$น ปร์ะเภทท��เหมาะก�บงานว�ทยาศาสั่ตร์�แลัะว�ศวกร์ร์มศาสั่ตร์�ได�แก$ ภาษา Fortran ภาษา BASIC ภาษา PASCAL ภาษา Cปร์ะเภทท��เหมาะก�บงานธี�ร์ก�จำได�แก$ ภาษา COBOL ภาษา RPGปร์ะเภทท��เหมาะก�บงานควบค�มเคร์!�องคอมพิ�วเตอร์�เอง ได�แก$ ภาษา Cโปร์แกร์มท��จำ�ดท"าข�'นโดยใช้�ภาษาร์ะด�บน�'ก เช้$นเด�ยวก�บโปร์แกร์มภาษาสั่�ญลั�กษณ�ค!อ จำะต�องใช้�ต�วแปลัภาษาแปลัให�เป-นโปร์แกร์มภาษาเคร์!�องก$อน คอมพิ�วเตอร์�จำ�งจำะเข�าใจำแลัะท"างานให�ได�อ้�างอ้�ง

http://www4.csc.ku.ac.th/~b5340204758/lean7.html

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

Page 7: คอมพิวเตอร์พื้นฐาน บทที่ 4

ต�วอย$างภาษาร์ะด�บสั่(ง 1. ภาษาเบสั่�ค (BASIC ย$อมาจำาก Beginnig's All Purpose

Symbolic Instruction Code) เป-นภาษาท��น�ยมมากท��สั่�ดภาษาหน��ง สั่$วนมากใช้�ก�บม�น�แลัะไมโคร์คอมพิ�วเตอร์� เพิร์าะสั่!�อสั่าร์โต�ตอบได�ท�นท� (Interactive language) การ์เข�ยนค$อนข�างง$าย การ์แก�ไขโปร์แกร์มก สั่ะดวก ภาษาน�'จำะต�องใช้�ต�วแปลัปร์ะเภท "ต�วแปลัค"าสั่��ง" (Interpreter) แปลัให�เป-นภาษาเคร์!�อง การ์แปลัน�'นจำะแปลัท�ลัะค"าสั่��ง แลั�วปฏ�บ�ต�การ์ตามค"าสั่��งเลัย ถึ�าม�การ์สั่��งให�ท"าซ้ำ"'า ก จำะต�องแปลัใหม$ท�กคร์�'ง

ภาษาเบสั่�ก เป-นภาษาท��เก$าแก$แลัะได�ร์�บการ์ค�ดค�นข�'นเพิ!�อให�ง$ายต$อการ์เร์�ยนแลัะใช้�น�กว�ช้าการ์คอมพิ�วเตอร์�เองไม$ช้อบภาษาน�' แลัะกลั$าวหาว$าเป-นภาษาท��ม�โคร์งสั่ร์�างภาษาไม$ค$อยด�จำ�งไม$สั่$งเสั่ร์�มให�น"าไปใช้�ในการ์เข�ยนโปร์แกร์มอย$างจำร์�งจำ�ง อย$างไร์ก ตามผ(�ผลั�ตไมโคร์คอมพิ�วเตอร์�เห นไม$ตร์งก�น ค!อค�ดว$าเป-นภาษาท��ง$าย ด�งน�'นจำ�งบร์ร์จำ�ต�วแปลัภาษาน�'เอาไว�ในหน$วยความจำ"าร์อม เพิ!�อให�ผ(�ใช้�ไมโคร์คอมพิ�วเตอร์�ใช้�ภาษาน�'ได�

2. ภาษาฟอร์�แทร์น (FORTRAN ค"าน�'ย$อมาจำาก Formular Translator) เร์��มพิ�ฒนาข�'นใช้�ต�'งแต$ ค.ศ. 1954 โดยบร์�ษ�ท IBM ได�ว$าจำ�างให�ปร์ะด�ษฐ�ข�'น เพิ!�อใช้�ในการ์ค"านวณทางว�ทยาศาสั่ตร์� ภาษาน�'ได�ม�การ์ด�ดแปลังแก�ไขมาตลัอดจำาก FORTRAN I จำนมาเป-น FORTRAN 77 ภาษาน�'เหมาะก�บงานค"านวณมาก จำ�งเป-นท��น�ยมในกลั�$มว�ศวกร์ น�กสั่ถึ�ต�แลัะน�กว�จำ�ย ในการ์ค"านวณจำะม�ฟ>งก�ช้�นต$างๆ ไว�ให�เร์�ยกใช้�ได�เต มท�� เช้$น การ์หาร์ากท��สั่อง การ์หาค$าสั่�มบ(ร์ณ� เป-นต�น แต$ไม$สั่ามาร์ถึสั่��งพิ�มพิ�ผลัหร์!อร์ายงานได�ด�เหม!อนภาษาโคบอลั

ภาษาคอ้มพิ�วเตอ้ร์� (Computer languages)

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

Page 8: คอมพิวเตอร์พื้นฐาน บทที่ 4

ข�'นตอนว�ธี� ค!อ กร์ะบวนว�ธี�การ์ (procedure) ซ้ำ��งปร์ะกอบด�วยกลั�$มของกฎเกณฑ์� ข�อก"าหนดเฉพิาะท��ไม$สั่�บสั่น ก"าหนดถึ�งลั"าด�บของว�ธี�การ์(operations) ซ้ำ��งให�ผลัลั�พิธี�สั่"าหร์�บป>ญหาต$าง ๆ ในร์(ปของข�'นตอนท��ม�จำ"านวนจำ"าก�ดโดยท��วไป ข�'นตอนว�ธี� จำะปร์ะกอบด�วย ว�ธี�การ์เป-นข�'นๆ แลัะม�สั่$วนท��ต�องท"าแบบวนซ้ำ"'า (iterate) หร์!อ เว�ยนเก�ด (recursive) โดยใช้�ตร์ร์กะ (logic) แลัะ/หร์!อ ในการ์เปร์�ยบเท�ยบ (comparison) ในข�'นตอนต$างๆ จำนกร์ะท��งเสั่ร์ จำสั่�'นการ์ท"างาน

ในการ์ท"างานอย$างเด�ยวก�น เร์าอาจำจำะเลั!อกข�'นตอนว�ธี�ท��ต$างก�นเพิ!�อแก�ป>ญหาได� โดยท��ผลัลั�พิธี�ท��ได�ในข�'นสั่�ดท�ายจำะออกมาเหม!อนก�นหร์!อไม$ก ได� แลัะจำะม�ความแตกต$าง ท��จำ"านวนแลัะช้�ดค"าสั่��งท��ใช้�ต$างก�นซ้ำ��งสั่$งผลัให� เวลัา (time) แลัะขนาดหน$วยความจำ"า (space) ท��ต�องการ์ต$างก�น หร์!อเร์�ยกได�อ�กอย$างว$าม�ความซ้ำ�บซ้ำ�อน (complexity) ต$างก�นการ์น"าข�'นตอนว�ธี�ไปใช้� ไม$จำ"าก�ดเฉพิาะการ์เข�ยนโปร์แกร์มคอมพิ�วเตอร์� แต$สั่ามาร์ถึใช้�ก�บป>ญหาอ!�น ๆ ได�เช้$น การ์ออกแบบวงจำร์ไฟฟAา, การ์ท"างานเคร์!�องจำ�กร์กลั, หร์!อแม�กร์ะท��งป>ญหาในธีร์ร์มช้าต� เช้$น ว�ธี�ของสั่มองมน�ษย�ในการ์ค�ดเลัข หร์!อว�ธี�การ์ขนอาหาร์ของแมลัง

ข�'นตอนการ์ท"างานของโปร์แกร์ม 1. เข�าใจำป>ญหา2. วางแผนลั"าด�บข�'นตอนการ์แก�ป>ญหา3. เข�ยนโปร์แกร์ม4. แปลังโปร์แกร์มเป-นภาษาเคร์!�อง5. ทดสั่อบโปร์แกร์ม6. น"าโปร์แกร์มไปใช้�

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html

(Algorithm) 

Page 9: คอมพิวเตอร์พื้นฐาน บทที่ 4

ผ�งงาน เป-นข�'นตอนว�ธี�ท��เข�ยนโดยใช้�ร์(ปสั่�ญลั�กษณ� ม�เสั่�นเช้!�อมแลัะห�วลั(กศร์บอกข�'นตอนการ์ท"างาน การ์เข�ยนข�'นตอนว�ธี�ด�วยว�ธี�น�'เป-นท��น�ยมมากกว$าแบบอ!�น ๆ เน!�องจำากม�เสั่�นลัากโยงใยท"าให�เห นข�'นตอนการ์ท"างานท��ช้�ดเจำน ม�ลั(กศร์ก"าก�บท�ศทางการ์ท"างานช้$วยให�เข�าใจำง$ายข�'น แลัะสั่ามาร์ถึตร์วจำสั่อบความถึ(กต�องได�ง$าย ม�กใช้�เข�ยนแทนข�'นตอน ค"าอธี�บาย ข�อความ หร์!อค"าพิ(ด ท��ใช้�ในอ�ลักอร์�ท�ม (Algorithm) เพิร์าะการ์น"าเสั่นอข�'นตอนของงานให�เข�าใจำตร์งก�น ร์ะหว$างผ(�เก��ยวข�อง ด�วยค"าพิ(ด หร์!อข�อความท"าได�ยากกว$า

ผ�งงานม� 2 ช้น�ด ค!อ1.ผ�งงานร์ะบบ (System Flowchart) ค!อ ผ�ง

งานท��แสั่ดงข�'นตอนการ์ท"างานในร์ะบบอย$างกว�าง ๆ แต$ไม$เจำาะลังในร์ะบบงานย$อย

2.ผ�งงานโปร์แกร์ม (Program Flowchart) ค!อ ผ�งงานท��แสั่ดงถึ�งข�'นตอนในการ์ท"างานของโปร์แกร์ม ต�'งแต$ร์�บข�อม(ลั ค"านวณ จำนถึ�งแสั่ดงผลัลั�พิธี�

ผ�งงาน (Flowchart) 

อ้�างอ้�ง http://www4.csc.ku.ac.th/~b5340204758/lean7.html