7

Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา
Page 2: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

Programming & Algorithm by P'Bank & P'Ball

2

การเขยนโปรแกรมคอมพวเตอร (Computer programming)

การเขยนโปรแกรมคอมพวเตอร (Computer programming) หรอเรยกใหสนลงวา การเขยนโปรแกรม (Programming) หรอ การเขยนโคด (Coding) เปนขนตอนการเขยน ทดสอบ และดแลซอรสโคดของโปรแกรมคอมพวเตอร ซงซอรสโคดนนจะเขยนดวยภาษาโปรแกรม ขนตอนการเขยนโปรแกรมตองการความรในหลายดานดวยกน เกยวกบโปรแกรมทตองการจะเขยน และอลกอรทมทจะใช

ขนตอนการเขยนโปรแกรม ขนตอนการเขยนโปรแกรมหรอพฒนาโปรแกรม มขนตอนโดยสงเขปดงน

วเคราะหปญหาและความตองการ (Problem Analysis and Requirement Analysis)

การออกแบบ (Design)

การโคด (Coding)

การทดสอบ (Testing)

การจดท าเอกสาร (Documentation)

การบ ารงรกษา (Maintenance)

ภาษาในการเขยนโปรแกรม ภาษาในการเขยนโปรแกรมคอมพวเตอร ม 3 ระดบ คอ

1. ภาษาเครอง (Machine Language)

เปนภาษาทสามารถสงใหเครองคอมพวเตอร ท างาน ไดทนท โดยเขยนอยในรปของ รหสของระบบเลขฐานสอง ประกอบดวยเลข 0 และเลข 1 ทน ามาเขยนตดตอกน เชน 10110000 00000101

2. ภาษาระดบตา (Low-level Language)

เปนภาษาทมการปรบปรงมาจากภาษาเครอง ใหสามารถเขาใจไดงายขน มการใชตวอกษรแทนตวเลขฐานสอง เชน ADD A,B เปนตน ตวอยาง ภาษาระดบต า เชนภาษาแอสเซมบล (Assembly

Language)

3. ภาษาระดบสง (High-level Language)

เปนภาษาทสรางขนเพออ านวยความสะดวกในการ เขยนโปรแกรม เพราะลกษณะของค าสงจะคลายกบประโยคในภาษาองกฤษท าใหสามารถเขาใจ โปรแกรมไดงายขน เชน Pascal, C, C++, Java

เปนตน

Page 3: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

Programming & Algorithm by P'Bank & P'Ball

3

โปรแกรมแปลภาษา โปรแกรมแปลภาษาคอมพวเตอร คอ โปรแกรมแปลค าสงตางๆ ทเราเขยนขนเพอใหคอมพวเตอร

เขาใจและน าไปประมวลผลได

1. แอสเซมเบลอร (Assembler)

เปนโปรแกรมแปลภาษาแอสเซมบลใหเปนภาษาเครอง

2. คอมไพเลอร (compiler)

ท าหนาทแปลโปรแกรมตนฉบบ (source program) โดยแปลคราวเดยวทงโปรแกรมใหเปนภาษาเครองและสรางเปน Object program เมอมการเรยกใชโปรแกรม จะเรยก Object program มาใชงานไดทนท

3. อนเทอรพรเตอร (Interpreter)

ท าหนาทแปลโปรแกรมในภาษาระดบสงใหเปนภาษาเครองครงละ 1 ค าสง ในแตละค าสงจะถกแปลและปฏบตตามค าสง หากมค าสงผด จะหยดใหแกไขจนกวาจะถกตอง จงจะแปลค าสงตอไป

ซโดโคด (Pseudo Code)

ซโดโคดเปนค าอธบายขนตอนการท างานของโปรแกรมโดยใชถอยค าผสมระหวางภาษาองกฤษและภาษาการเขยนโปรแกรมแบบโครงสราง หรออาจใชภาษาไทยกได แตควรเขยนเปนภาษาองกฤษ โดยใหผเขยนโปรแกรมสามารถพฒนาขนตอนตางๆ ใหกบโปรแกรมไดงายขน ซโดโคดทดจะตองมความชดเจน สน และไดใจความ ขอมลตางๆ ทใชจะถกเขยนอยในรปแบบของตวแปร ซโดโคดนบางครงจะเรยกวา อลกอรทม รปแบบค าสงทวไปจะเปนดงน

การคานวณ

Compute

Calculate

การรบขอมล

Read

Get

Input

แสดงผลขอมล

Print

Display

Show

Output

Page 4: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

Programming & Algorithm by P'Bank & P'Ball

4

การตดสนใจ

สองทางเลอก

o If เงอนไข Then

…………

Else

…………

End If

มากกวาสองทางเลอก

o Case ตวแปร Of

คาตวแปร : …………

คาตวแปร : …………

คาตวแปร : …………

End Case

การกระทาวนซา

ท าจนกวาจะเปนจรง o Repeat

Statement 1

Statement 2

Until (Condition)

ท าจนกวาจะเปนเทจ

o Do

Statement 1

Statement 2

While (Condition)

ท างานตามจ านวนรอบทแนนอน

o For ตวแปร := คาเรมตน To คาสดทาย Do

Statement 1

Statement 2

Statement n

End For

Page 5: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

Programming & Algorithm by P'Bank & P'Ball

5

ผงงาน (Flow Chart)

ผงงาน (Flowchart) คอ รปภาพ (Image) หรอสญลกษณ(Symbol) ทใชเขยนแทนขนตอน ค าอธบาย ขอความ หรอค าพด ทใชในอลกอรทม (Algorithm) เพราะการน าเสนอขนตอนของงานใหเขาใจตรงกน ระหวางผเกยวของ ดวยค าพด หรอขอความท าไดยากกวา

สญลกษณโดยทวไปของ Flow Chart มดงน

สญลกษณ ความหมาย

เรมตน และสนสดการท างาน

การประมวลผล หรอการค านวณ

ตรวจสอบเงอนไข

การรบ หรอแสดงขอมลโดยไมระบชนดอปกรณ

แสดงผลลพธทางจอภาพ

แสดงผลลพธทางเครองพมพ

รบขอมลจากคยบอรด

จดเชอมตอผงงาน

จดเชอมตอระหวางหนา

แสดงทศทางการท างาน

Page 6: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา

Programming & Algorithm by P'Bank & P'Ball

6

โครงสรางการทางานของโปรแกรม

1. การทางานแบบตามลาดบ (Sequence)

รปแบบการเขยนโปรแกรมทงายทสดคอ เขยนให ท างานจากบนลงลาง เขยนค าสงเปนบรรทด และท าทละบรรทดจากบรรทดบนสดลงไปจนถงบรรทดลางสด

2. การเลอกกระทาตามเงอนไข (Decision

or Selection) การตดสนใจ หรอเลอกเงอนไขคอ เขยนโปรแกรมเพอน าคาไปเลอกกระท า โดยปกตจะมเหตการณใหท า 2 กระบวนการ คอเงอนไขเปนจรงจะกระท ากระบวนการหนง และเปนเทจจะกระท าอกกระบวนการหนง

3. การทาซา(Repeation or Loop) การท ากระบวนการหนงหลายครง โดยมเงอนไขในการควบคม หมายถงการท าซ าเปนหลกการทท าความเขาใจไดยากกวา 2 รปแบบแรก เพราะการเขยนโปรแกรมแตละภาษา จะไมแสดงภาพอยางชดเจนเหมอนการเขยนผงงาน ผเขยนโปรแกรมตองจนตนาการดวยตนเอง

Yes No

No

Yes

Page 7: Programming & Algorithm · Programming & Algorithm. by P'Bank & P'Ball. 3. โปรแกรมแปลภาษา. โปรแกรมแปลภาษา