รหัสวิชา ง 30247 ความเป็นมาของภาษา...
Transcript of รหัสวิชา ง 30247 ความเป็นมาของภาษา...
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 1
บรรยายโดย ครเจตวตร สวสดพาณชย
โดย ครเจตวตร สวสดพาณชย
วชา หลกการแกปญหาดวยภาษาคอมพวเตอร รหสวชา ง 30247
เรอง ความเปนมาของภาษาคอมพวเตอร
บรรยายโดย ครเจตวตร สวสดพาณชย
ภาษาคอมพวเตอร
คอมพวเตอรจะสามารถท างานไดจะตองมการเขยนโปรแกรมหรอซอฟตแวร เพอสงใหคอมพวเตอรท างาน โดยโปรแกรมตาง ๆ ทเขยนขนมานน จะตองเขยนไปตามกฎ เกณฑของภาษาท คอมพว เตอร เ ข า ใจ เ ร ยกว า ภาษาคอมพวเตอร
บรรยายโดย ครเจตวตร สวสดพาณชย
พฒนาการของภาษาคอมพวเตอร
เลขฐานสอง ขอความภาษาองกฤษ
10101010
00000001
00001001
X = 5 + 6 PRINT X
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 2
บรรยายโดย ครเจตวตร สวสดพาณชย
ยคของภาษาคอมพวเตอร
ยคของภาษาคอมพวเตอรสามารถแบงออกไดเปน 5 ยค คอ 1. ภาษาเครอง (Machine language) 2. ภาษาแอสเซมบล (Assembly language) 3. ภาษาชนสง (High-level language) หรอ ภาษารนท 3 (3GL: Third Generation Language) 4. ภาษาชนสงมาก (Very high-level language) หรอภาษารนท 4 (4 GL) 5. ภาษาธรรมชาต (Natural language) หรอภาษารนท 5 (5GL)
บรรยายโดย ครเจตวตร สวสดพาณชย
1. ยคภาษาเครอง (Machine language)
ภาษาเครอง เปนภาษาพนฐานทคอมพวเตอรสามารถเขาใจได แตละค าสงประกอบขนจากกลมตวเลข 0 และ 1 ซงเปนเลขฐานสอง
บรรยายโดย ครเจตวตร สวสดพาณชย
2. ยคภาษาแอสเซมบล (Assembly language)
ภาษาแอสเซมบล เปนภาษาทใชสญลกษณขอความ แทนกลมของตวเลขฐานสอง เพอใหงายตอการเขยนและการจดจ ามากขน การท างานของโปรแกรมจะตองท าการแปลภาษาแอสเซมบลให เปนภาษาเค รอง โดยใชตวแปลท เ รยกวา แอสเซมเบลอร (Assembler)
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 3
บรรยายโดย ครเจตวตร สวสดพาณชย
3. ภาษาชนสง (High-level language)
ภาษาชนสง เปนภาษาทถกสรางขนมาเพอใหเขยนโปรแกรมไดงายขน โดยมลกษณะเหมอนกบภาษาองกฤษทวไป ภาษานจ าเปนตองมตวแปลภาษาเครองเชนกน เรยกตวแปลนวา คอมไพเลอร (compiler) หรอ อนเตอรพรเตอร (Interpreter) อยางใดอยางหนง ตวอยางของภาษาชนสง เชน ภาษาปาสคาล ภาษาซ ภาษาโคบอล ภาษเบสก ภาษาฟอรแทรน เปนตน
บรรยายโดย ครเจตวตร สวสดพาณชย
4. ยคภาษาชนสงมาก (Very high-level language)
ภาษาชนสงมาก เปนภาษาทมลกษณะคลายภาษาพดตามปกตของมนษย ภาษานจะชวยใหการเขยนโปรแกรมเรวมากขนกวาภาษาในรนท 3 เนองจากมเครองมอทชวยในการสรางแบบฟอรมหนาจอ เพอจดการกบขอมลรวมไปถงการออกรายงาน เมนตาง ๆ ตวอยางของภาษาชนสงมากไดแก informix-4GL, MAGIC , Delphi , Power Builder เปนตน
บรรยายโดย ครเจตวตร สวสดพาณชย
5. ภาษาธรรมชาต (Natural language)
ภาษาธรรมชาต เปนภาษาทสามารถสงงานคอมพวเตอรโดยใชรปแบบของภาษามนษยไดเลย ค าสงอยในรปแบบทไมแนนอนตายตว แตคอมพวเตอรจะท าการแปลใหออกมาในรปทคอมพวเตอรเขาใจได ภาษานถกสรางขนมาจากเทคโนโลยทางดานระบบผเชยวชาญ (Expert System) ตวอยางภาษาในรนท 5 ไดแก ภาษา PROLOG เปนตน
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 4
บรรยายโดย ครเจตวตร สวสดพาณชย
ระดบของภาษาคอมพวเตอร ระดบของภาษาคอมพวเตอรจะถกแบงออกเปน 2 ระดบคอ
1. ภาษาระดบสง (High Level Language) เปนภาษาทใกลเคยงกบภาษามนษยมากทสด ท าใหสามารถท าความเขาใจ ไดงาย เชน ภาษา BASIC, Pascal, FORTRAN, C ฯลฯ
2. ภาษาระดบตา (Low Level Language) เปนภาษาทใกลชดกบเครองคอมพวเตอรมาก เครองคอมพวเตอรสามารถเขาใจค าสงในภาษานนไดงาย ซงอาจจะมการแปลเปนภาษาเครองหรอไมกได เชน ภาษาเครอง ภาษาแอสเซมบล
บรรยายโดย ครเจตวตร สวสดพาณชย
ขนตอนการแปลภาษาคอมพวเตอร การเขยนโปรแกรมดวยภาษาระดบสงเปนภาษาเครอง
อนเตอรพรเตอร (Interpretor)
โปรแกรมตนฉบบ Interpretor ภาษาเครอง
แปลทละบรรทด คอมไพเลอร (Compiler)
โปรแกรมตนฉบบ Compiler ภาษาเครอง
แปลทงโปรแกรม
บรรยายโดย ครเจตวตร สวสดพาณชย
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 5
บรรยายโดย ครเจตวตร สวสดพาณชย
ประวตภาษาปาสคาล ในปพ.ศ. 2514 ไดมภาษาคอมพวเตอรระดบสงทถกสรางขนโดย ดร. นคลอส เวรธ (Dr. Niklaus Wirth) จากสถาบนเทคโนโลยแหงเมองซรค ประเทศสวตเซอรแลนด ซงตองการทจะพฒนาใหเปนภาษาส าหรบฝกเขยนโปรแกรมสงงานคอมพวเตอร อยางมระบบระเบยบ และไดก าหนดใหภาษาใหมนชอวา ภาษาปาสคาล (Pascal Language) เพอเปนเกยรตแก Blaise Pascal ผสรางเครองคดเลขเครองแรกของโลก ดร. นคลอส เปนผสรางภาษา PL/1 (Programming Language 1) และ ALGOL มากอน บางสวนของปาสคาลจงมพนฐานมาจากภาษาทงสองน และตวภาษาปาสคาลเองกไดถกพฒนาตอไปเปนภาษาทรจกกนในชอตาง ๆ เชน ภาษา Modulaz ภาษา Ada
บรรยายโดย ครเจตวตร สวสดพาณชย
เหตผลทเลอกใชภาษาปาสคาล ภาษาปาสคาลเปนภาษาชนสงสรางขนเพอใชสอนการเขยนโปรแกรม
คอมพวเตอรใหเปนระบบซงจะชวยใหสามารถเขยนโปรแกรมไดเรว แกไขปรบปรงและคนหาทผดพลาดไดงาย และรวดเรว
ภาษาปาสคาลสามารถใชประมวลผลขอมล ทมคณสมบตแตกตางกนไดหลายชนด ท าใหวธการประมวลผลสอดคลองกบขอมลแตละชนด ซงเปนผลใหการท างานของโปรแกรมมประสทธภาพ
ในปาสคาลรนใหมยงมสงอ านวยความสะดวก ทชวยใหสามารถสรางโปรแกรมไดอยางรวดเรว เพอใชในการประมวลผลขอมลในงานดานตาง ๆ เชน งานธรกจ คณตศาสตร วทยาศาสตร และการควบคมตางๆ รวมทงงานทางดานกราฟก ภาพและเสยง
บรรยายโดย ครเจตวตร สวสดพาณชย
ขอดของภาษาปาสคาล 1. เหมาะส าหรบผเรมตนเขยนโปรแกรมอยางมโครงสราง 2. เปนภาษาทมโครงสราง สามารถแบงเปนโปรแกรมยอยไดงาย รปแบบของ ค าสงมความชดเจน 3. เปนภาษามาตรฐานทแทจรง ซงสะดวกและงายทจะใชกบเครองคอมพวเตอร ไดทกชนด 4. ความสามารถของปาสคาลไมจ ากดอยกบงานในลกษณะใดลกษณะหนง เปน ภาษาทมความสามารถทงในดานการค านวณทซบซอน งานทางดานธรกจ งานทางดานการศกษา งานทางดานกราฟก 5. มสงอ านวยความสะดวกใหผใช ท าใหผใชสามารถพฒนาโปรแกรมไดอยาง รวดเรว
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 6
บรรยายโดย ครเจตวตร สวสดพาณชย
ระดบของภาษาปาสคาล ภาษาปาสคาลจดเปนภาษาระดบสง เพราะตวค าสงตางๆสวนใหญจะใกลเคยงกบภาษามนษย ท าใหเขาใจไดงายตอการท างาน
บรรยายโดย ครเจตวตร สวสดพาณชย
ภาพแสดงกระบวนการสรางโปรแกรมภาษาปาสคาล
Source
File Compile Link
Execute
File
1 2 3 4
บรรยายโดย ครเจตวตร สวสดพาณชย
กระบวนการสรางโปรแกรมภาษาปาสคาล
1. ขนตอนของ Source File Source File เปนภาษาองกฤษทเขยนขนตามกฎเกณฑ ของภาษาปาสคาล ผทรภาษาปาสคาลจะเขาใจความหมายของ Source code วาเปนการสงใหคอมพวเตอรท าอะไร อยางไร และท าเมอไร การน า Source code เขาคอมพวเตอร อาจท าไดโดยการพมพเขาไปหรอโดยการอาน (load) จากดสก ในการพมพ Source code นนจะตองใชโปรแกรมประเภทเทกซอดเตอร (Text Editor) ซงโปรแกรมประเภทนจะชวยอ านวยความสะดวกทางดานการพมพ การเปลยนแปลงแกไขขอความ รวมทงการบนทก (save) ไวในดสก และอานขอความจากดสก โดยชนดของไฟลทบนทก จะถกก าหนดใหเปน .PAS
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 7
บรรยายโดย ครเจตวตร สวสดพาณชย
กระบวนการสรางโปรแกรมภาษาปาสคาล
2. ขนตอนของ Compile Compile เปนขนตอนการตรวจสอบวาโปรแกรมเขยนถกตองตามกฎหรอไม ถาโปรแกรมมความผดพลาดจะมการแจงเตอนและแสดงต าแหนงทผดพลาดใน Source code ถาหากไมพบความผดพลาดถอวาโปรแกรมนนคอมไพลผาน และท าการแปลงภาษาระดบสงใหเปนภาษาเครอง สรปอยางงายๆ คอเปนขนตอนของการแปลงภาษามนษยใหเปนภาษาเครองนนเอง
บรรยายโดย ครเจตวตร สวสดพาณชย
กระบวนการสรางโปรแกรมภาษาปาสคาล
3. ขนตอนของ Link Link ขนตอนนเมอ Source Code ผานการคอมไพลผานแลวจะท าการเชอมเอาโปรแกรมยอยเขารวมกบโปรแกรมหลก หรอค าสงตางๆ ทเราเรยกใชเขามารวมกนเพอใหโปรแกรมนนกสามารถท างานได
บรรยายโดย ครเจตวตร สวสดพาณชย
กระบวนการสรางโปรแกรมภาษาปาสคาล
4. ขนตอนของ Execute File Execute File ขนตอนนคอขนตอนสดทายของกระบวนการ เมอเราไดท าการคอมไพลเสรจแลวและก าหนดใหโปรแกรมท าการบนทกขอมลลงดสก เรากจะได ไฟล Execute File (.exe) ทเอาไปใชงานได
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 8
บรรยายโดย ครเจตวตร สวสดพาณชย
มารจก Text Editor และ Compiler Text Editor คอ โปรแกรมทใชสาหรบสราง แกไข บนทก Source Code
Compiler คอ โปรแกรม / ตวแปลภาษา โดยคอมไพเลอรจะทาการแปลจากภาษาระดบสง ใหเปน ภาษาเครอง ( ภาษามนษย --- > ภาษาเครอง )
AB 10101011
บรรยายโดย ครเจตวตร สวสดพาณชย
มารจกโปรแกรม Turbo Pascal 1.5 For Windows กนเถอะ
เทอรโบปาสคาล เวอรชน 1.5 สาหรบวนโดวส เปนเวอรชนทไดรบการพฒนาตอมาจากยอดจาก เทอรโบปาสคาล เวอรชน 7.0 ส าหรบดอส ผลตโดยบรษทบอรแลนอนเตอรเนชนแนล (Borland International) ส าหรบเวอรชนนมคณลกษณะพเศษคอสามารถท างานบนระบบปฏบตการวนโดวส ชวยใหการท างานนกพฒนาโปรแกรมท าไดงายขน มความสะดวกกวาเวอรชนกอนหนาน
บรรยายโดย ครเจตวตร สวสดพาณชย
หนาตาโปรแกรม Turbo Pascal 1.5 For Windows
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 9
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
น าไฟล Turbo Pascal 1.5 For Windows.zip ทไดท าการดาวนโหลดไปวางไวทหนา Desktop
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
- ท าการคลกขวาแลวท าการคลายไฟลทถกบบอดดวยโปรแกรม WinZip เลอก Extract to here
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
- จะพบโฟลเดอร Turbo Pascal 1.5 For Windows ใหเราคลกเขาไปภายในโฟลเดอร
- ภายในโฟลเดอรจะปรากฏไฟลและโฟลเดอรดงภาพ
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 10
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-ท าการตดตงโปรแกรมโดยคลกทไฟล INSTALL.EXE
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-โปรแกรมจะแสดงรายละเอยดไดเรคทอรทจะตดตงโปรแกรมใหคลกท Insall เพอท าการตดตงโปรแกรม
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-โปรแกรมจะท าการตดตงขอมลลงเครอง ใหรอสกคร
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 11
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-เมอตดตงเสรจแลว โปรแกรมจะแสดงหนาตาง ใหเราคลกท OK
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-จะแสดงต าแหนงทโปรแกรมในสวนของ Star Menu
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-หนาตางการท างานของโปรแกรมจะเปดขนพรอมกบแสดงคมอการใชงานเบองตน
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 12
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-เมอเราเขาไปท Drive C จะพบโฟลเดอร TPW ทเราไดท าการตดตงใหเราคลกเขาไปภายในโฟลเดอร
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-เมอเขามาภายในโฟลเดอรจะพบไฟลและโฟลเดอรดงภาพ
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-เมอเขามาภายในโฟลเดอรจะพบไฟลและโฟลเดอรดงภาพ
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 13
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-ใหท าการสรางโฟลเดอรใหมชอ Work เพอการเกบชนงานของเรา
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
-ใหท าการสรางโฟลเดอรใหมชอ WORK
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาตดตงและตงคาการใชงาน Turbo Pascal 1.5 For Windows
- เรากจะไดโฟลเดอร WORK เพอเอาใวใชเกบชนงานในคราวตอไป เปนอนเสรจสนขนตอนการตดตงโปรแกรม
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 14
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาเรมตนใชงานโปรแกรม Turbo Pascal 1.5 กนเถอะ
-เขาไปท Start Menu >> Program >> TPW 1.5 >> TPW1.5 ดงภาพ
บรรยายโดย ครเจตวตร สวสดพาณชย
เรามาเรมตนใชงานโปรแกรม Turbo Pascal 1.5 กนเถอะ
-จะแสดงหนาตางเปดโปรแกรมดงภาพ
บรรยายโดย ครเจตวตร สวสดพาณชย
สวนประกอบของโปรแกรม Turbo Pascal 1.5
แถบเมน
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 15
บรรยายโดย ครเจตวตร สวสดพาณชย
สวนประกอบของโปรแกรม Turbo Pascal 1.5
พนทการทางานในการเขยนโคด
บรรยายโดย ครเจตวตร สวสดพาณชย
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 16
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
จากนนใหเราทาการบนทกไปทเมนไฟล File
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
1. เลอกโฟลเดอร WORK
2. กรอกชอไฟลพรอมกบระบนามสกล .PAS ซงจากตวอยางระบชอไฟลคอ HELLO.PAS
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
แถบไตเตลบาร จะแสดงชอไฟลทเราบนทก hello.pas
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 17
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
มาทาการแปลง Source ใหเปนภาษาเครองกน โดยเขาไปทเมน Compile => Compile
หรอกดคยลด Alt + F9
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
- หาก Compile ผานแลวใหคลกท OK - หากไมผานใหแก Source ใหถกตองแลวคอย Compile ใหมอกรอบ
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
เมอ Compile ผานแลวตองการดผลลพธ เขาไปทเมน Run=> Run หรอกดคยลด Ctrl + F9
รายวชาหลกการแกปญหาดวยภาษาคอมพวเตอร (ง30247)
จดท าโดย ครเจตวตร สวสดพาณชย 18
บรรยายโดย ครเจตวตร สวสดพาณชย
program Hello;
uses WinCrt;
begin
Write('Hello World');
Read;
end.
เมอเราคลกท Run เสรจแลวโปรแกรมจะแสดงหนาตางผลลพธออกมา คอ Hello World
บรรยายโดย ครเจตวตร สวสดพาณชย
แหลงของ Source File ทเราทางานเสรจแลว
- ไฟล HELLO.PAS ทเราบนทกไวจะอยท C:\TPW\WORK
บรรยายโดย ครเจตวตร สวสดพาณชย
โจทยปญหาชวนคด ชดท 6
1. ยคของภาษาคอมพวเตอรมกยค อะไรบาง ?
2. ภาษาระดบสง และระดบตาตางกนอยางไร ?
3. คาวา Text Editor และ Compiler คอ ?
4. จงบอกขอดของภาษาปาสคาล ?
5. จงอธบายกระบวนสรางโปรแกรมของภาษาปาสคาล ตงแตขนตอนแรก
จนถงขนตอนสดทายวามการทางานยางไร ?