หลักการแก้ปัญหากับ ภาษา ......COBOL, FORTRAN, PL/1,...

Preview:

Citation preview

หลกการแกปญหากบภาษาคอมพวเตอร

ครสรศกด สน าเงน

หลกการแกปญหา ประกอบไปดวย 4 ขนตอน 1. การวเคราะหและการก าหนดรายละเอยด

ของปญหา 2. การเลอกเครองมอและออกแบบขนตอนวธ

3. การด าเนนงานแกปญหา 4. การตรวจสอบและปรบปรง

1. การวเคราะหและการก าหนดรายละเอยดของปญหา

คอการท าความเขาใจกบปญหาเพอแยกใหออกวาขอมลทก าหนดมาใหในปญหาหรอเงอนไขของปญหาคออะไร และสงทตองการคออะไร อกทงวธการทใชประมวลผล ในการวเคราะหปญหาใด กลาวโดยสรปมองคประกอบในการวเคราะหปญหา ดงน

1.1 การระบขอมลออก (output) ไดแก การพจารณาเปาหมายหรอสงทตองหาค าตอบ

1.2 การระบขอมลเขา(input)ไดแก การพจารณาขอมลและเงอนไขทก าหนดมาในปญหา

1.3 การก าหนดวธประมวลผล (process) ไดแก การพจารณาขนตอนวธการดานซงค าตอบหรอขอมลออก

ครมปญหาเสยแลวนกเรยน ? ไอจบตองการหาพนทกรงหมหยองซงเปนพนทสเหลยมผนผาท ายงไงดละครบ

ขนตอนท 1 เขาสกระบวนการวเคราะหปญหา

ระบขอมลออก(output)... ไดแก พนทสเหลยม ----> Area

ระบขอมลเขา(input)... ไดแก กวาง ---->X , ยาว -----> Y

ก าหนดวธประมวลผล (process)

Area=X ×Y

2. การเลอกเครองมอและออกแบบขนตอนวธ

ขนตอนนเปนขนตอนการวางแผนอยางละเอยดถถวน หลงจากทเราท าความเขาใจของปญหา พจารณาขอมลและเงอนไขทมอย

ใหนกเรยนออกแบบวางแผนการแกปญหาในการหาพนทสเหลยม

เรมตน ขนท 1 รบคาความกวาง (X) ขนท 2 รบคาความยาว (Y)

ขนท 3 หาพนทสเหลยม = กวาง × ยาว( Area = X ×Y)

ขนท 4 แสดงผลคาพนทสเหลยม ( Area) จบการท างาน

เครองมอทชวยในการออกแบบ

ผงงาน(Flowchart) ทจ าลองขนตอนวธการแกปญหาในรปของสญลกษณ

รหสจ าลอง (pseudo code) ซงเปนรหสจ าลองขนตอนวธการแกปญหาในของของค าบรรยาย

ศกษาดวยตวเองบางละ....

ใหนกเรยนศกษารปผงงาน(Flowchart) พรอมทงความหมายจากใบความร

ทดสอบน าขนตอนการหาพนทสเหลยมมาเขยนเปนผงงาน(Flowchart)

X

Y

Area = X × Y

Area

Stop

เรมตนขนท 1 รบคาความกวาง (X)ขนท 2 รบคาความยาว (Y)

ขนท 3 หาพนทสเหลยม = กวาง × ยาว( Area = X × Y)

ขนท 4 แสดงผลคาพนทสเหลยม ( Area)จบการท างาน

X เปนชนด double หรอ float

Y เปนชนด double หรอ float

Area เปนชนด double หรอ float

Start

3. การด าเนนการแกปญหา ขนตอนนเปนขนตอนทตองลงมอปฏบตแกปญหาโดยใชเครองมอทไดเลอกไว หากการแกปญหาดงกลาวใชคอมพวเตอรเขามาชวยงาน ขนตอนนกเปนการใชโปรแกรมส าเรจหรอใชภาษาคอมพวเตอรเขยนโปรแกรมแกปญหา

Start

X

Y

Area = X × Y

Area

Stop

Start

#include<stdio.h>

#include<conio.h>

main()

{ float X,Y,Area;

scanf("%f",&X);

scanf("%f",&Y);

Area=X*Y;

printf("%f",Area);

getch();}

4. การตรวจสอบและปรบปรง ตองตรวจสอบใหแนใจวาผลลพธถกตอง โดยผแกปญหาตองตรวจสอบวาขนตอนวธการสรางขนสอดคลองกบรายละเอยดของปญหา ซงไดแก ขอมลเขา และขอมลออก เพอใหมนใจวาสามารถรองรบขอมลเขาไดทกกรณอยางถกตองและสมบรณ ในขณะเดยวกนกตองปรบปรงวธการเพอใหการแกปญหานไดผลลพธทดทสด

ภาษาคอมพวเตอร

1. ภาษาเครอง (Machine Language) เปนภาษาทเครองเขาใจ แตยากในการเขยนและแกไขโปรแกรมเพราะประกอบดวย ตวเลขฐานสอง คอ 0 และ 1

2. ภาษาสญลกษณ (Symbol Language) เปนภาษาทใชสญลกษณแทน 0 และ 1 เชน ADD แทนการบวก SUB แทนการลบ ตวอยางภาษาสญลกษณ เชน ภาษาแอสแซมบล (Assembly)

3. ภาษาระดบสง (High Level Language) เปนภาษาทงายตอการเรยนร เนนการสงใหคอมพวเตอรท างานตามขนตอนทก าหนดไว ตวอยางภาษาระดบสงเชน ภาษา BASIC, PASCAL, RPG,

COBOL, FORTRAN, PL/1, ALGOL และ C เปนตน

ภาษาคอมพวเตอร

4. ภาษาระดบสงมาก (Very High Level Language) เปนชดค าสงภาษาองกฤษเชนเดยวกบภาษาระดบสง ตางกนตรงทไมตองบอกใหคอมพวเตอรท างาน เพยงแตสงวาเราตองการใหคอมพวเตอรท างานอะไร ภาษาระดบนออกแบบาเพอใหใชงานรวมกบโปรแกรมอนในการจดการขอมลในลกษณะตาง ๆ เชน Visual Basic และ Java เปนตน

5. ภาษาธรรมชาต (Natural Language) เปนภาษาทผใชสามารถสงใหคอมพวเตอรท างานไดโดยใชภาษาพด

ตวแปรภาษา

1. คอมไพเลอร (Compiler) เปนโปรแกรมทท าหนาทในการแปลโปรแกรมทเขยนดวยภาษาระดบสง ทเรยกกนวา โปรแกรมตนฉบบ (Source Program) ใหเปนภาษาเครอง ถามขอผดพลาด เครองจะพมพรหสหรอขอผดพลาดออกมาดวย ภายหลงการแปลถาไมมขอผดพลาด ผใชสามารถสงประมวลผลโปรแกรมและสามารถเกบโปรแกรมทแปลภาษาเครองไวใชงานตอไปไดอก โดยไมตองแปลโปรแกรมซ าอก ตวอยางโปรแกรมทแปลภาษาแบบน ไดแก โปรแกรมภาษาฟอรแทรน โปรแกรมแปลภาษาโคบอล โปรแกรมแปลภาษาปาสคาล โปรแกรมแปลภาษาซ

ตวแปรภาษา

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

Recommended