PASCAL - :: Department of Computer Education
Download
Report
Transcript PASCAL - :: Department of Computer Education
Pascal Language Programming
SCC : Suthida Chaichomchuen
[email protected]
1
ความเป็ นมา
ปาสคาล (Pascal) เป็ นภาษาคอมพิวเตอร์
ั ้ สูง ทีพ
ชน
่ ัฒนาขึน
้ มาโดย Prof. Dr. Niklaus
Wirth ในชว่ งต ้นทศวรรษที่ 1970 และคาว่า
ปาสคาล (Pascal) นัน
้ ตัง้ ขึน
้ เพือ
่ เป็ นเกียรติ
ื่ Blaise
แก่นักวิทยาศาสตร์ชาวฝรั่งเศสชอ
Pascal ผู ้คิดประดิษฐ์เครือ
่ งคิดเลขเครือ
่ งแรก
ของโลก
2
้
ปาสคาลทีใ่ ชในไมโครคอมพิ
วเตอร์
ไอบีเอ็มปาสคาล (IBM Pascal)
ไมโครซอฟต์ปาสคาล (Microsoft Pascal)
เอสบีบป
ี าสคาล (SBB Pascal)
ปาสคาลเอ็มทีพลัส (Pascal MT+)
ยูซเี อสดีปาสคาล (UCSD Pascal)
ควิกปาสคาล (Quick Pascal)
เทอร์โบปาสคาล (Turbo Pascal)
3
เทอร์โบปาสคาล (Turbo Pascal)
เทอร์โบปาสคาล เป็ นปาสคาลทีผ
่ ลิตขึน
้ โดย
ั่ แนล
บริษัทบอร์แลนด์ อินเตอร์เนชน
(Borland International) ประเทศ
สหรัฐอเมริกา
4
คุณสมบัตข
ิ องเทอร์โบปาสคาล
เป็ นภาษาคอมพิวเตอร์ประเภทคอมไพเลอร์
มีเอดิเตอร์รวมอยูก
่ บ
ั คอมไพเลอร์ ชว่ ยให ้สามารถ
สร ้าง แก ้ไข และปรับปรุงโปรแกรมได ้สะดวก
รวดเร็ว
คอมไพล์โปรแกรมได ้ 2 แบบคือ
– คอมไพล์และเก็บผลไว ้ในหน่วยความจา
– คอมไพล์และเก็บผลไว ้ในดิสก์เป็ นไฟล์ประเภท
EXE
5
คุณสมบัต ิ . . .
แยกไลบราลีเก็บโปรแกรมย่อยไว ้เป็ นหลายสว่ น
้
ตามกลุม
่ ของการใชงาน
้
้ ้เอง
ผู ้ใชสามารถสร
้างไลบราลีไว ้ใชได
่ ยลดขัน
มีการลิงค์แบบอัตโนมัต ิ ชว
้ ตอนการสร ้าง
โปรแกรมให ้น ้อยลง
เมือ
่ คอมไพล์ไม่ผา่ นเทอร์โบปาสคาลจะกลับไปที่
เอดิเตอร์ พร ้อมกับการแสดงตาแหน่งและสาเหตุ
ี เวลาในการค ้นหา
ของความผิดพลาด ทาให ้ไม่เสย
6
ลักษณะเด่นของภาษาปาสคาล
สนับสนุนการเขียนโปรแกรมแบบโครงสร ้าง
(Structured Programming)
สนับสนุนการเขียนโปรแกรมแบบโมดูล (Modular
Decomposition)
สนับสนุนการเขียนโปรแกรมแบบบนลงล่าง (Topdown Development)
้
สามารถเขียนเป็ นโปรแกรมย่อยเก็บไว ้เพือ
่ ใชงานใด
ๆ ก็ได ้
้ ่
สามารถใชกั้ บระบบกราฟิ กสเ์ กือบทุกชนิดทีม
่ ใี ชอยู
ในเครือ
่ งคอมพิวเตอร์ปัจจุบน
ั
7
โครงสร ้างของโปรแกรมภาษาปาสคาล
ประกอบด ้วยโครงสร ้าง 4 สว่ นคือ
1. สว่ นหัวโปรแกรม (Heading)
2. สว่ นกาหนดชนิดข ้อมูล (Declaration part)
3. สว่ นประโยคคาสงั่ (Statement part)
4. สว่ นคาอธิบาย (Comments)
8
โครงสร ้างของโปรแกรมภาษาปาสคาล
PROGRAM
First;
} สว่ นหัวโปรแกรม
VAR
Name : String;
} สว่ นกาหนดชนิดข ้อมูล
BEGIN
Write(‘Your name please? ’);
ReadLn(Name);
WriteLn(‘Hello ! ’,Name)
สว่ นประโยคคาสงั่
END.
9
1. สว่ นหัวโปรแกรม (Heading)
ื่ ของโปรแกรม มี
เป็ นสว่ นทีใ่ ชส้ าหรับกาหนดชอ
รูปแบบดังนี้
ื่ โปรแกรม;
PROGRAM ชอ
ตัวอย่าง
PROGRAM Hello;
10
2. สว่ นกาหนดชนิดข ้อมูล
(Declaration part)
ใชส้ าหรับกาหนดจานวนและชนิดของ
้
ข ้อมูลทีจ
่ ะใชในโปรแกรม
ซงึ่ ประกอบไปด ้วย
รายการต่าง ๆ ทีต
่ ้องกาหนดต่อไปนี้
11
2. สว่ นกาหนดชนิดข ้อมูล . . .
2.1 USES ใชส้ าหรับกาหนดไลบรารีทโี่ ปรแกรม
ต ้องใช ้ มีรป
ู แบบดังนี้
ื่ ไลบรารี [,ไลบรารี];
USES ชอ
ตัวอย่างที่ 1
ตัวอย่างที่ 2
USES
USES
Crt;
Dos, Crt, Printer;
12
2. สว่ นกาหนดชนิดข ้อมูล . . .
ื่ ซงึ่ เป็ นตาแหน่ง
2.2 LABEL ใชส้ าหรับกาหนดชอ
ทีค
่ าสงั่ GOTO จะไปหา มีรป
ู แบบดังนี้
ื่ [,ชอ
ื่ ];
LABEL ชอ
ตัวอย่างที่ 1
ตัวอย่างที่ 2
LABEL
LABEL
Return;
10, 20, Return;
13
2. สว่ นกาหนดชนิดข ้อมูล . . .
ื่ และ
2.3 CONST (constant) ใชส้ าหรับกาหนดชอ
ค่าทีไ่ ม่เปลีย
่ นแปลง มีรป
ู แบบดังนี้
ื่ = ค่าทีก
CONST ชอ
่ าหนด;
ตัวอย่างที่ 1
CONST Limit = 255;
14
2. สว่ นกาหนดชนิดข ้อมูล . . .
ตัวอย่างที่ 2
CONST
Limit = 255;
COUNT, SUM = 0.0;
HEAD = ‘XYZ CO.,LTD.’;
UsePrinter = True;
15
2. สว่ นกาหนดชนิดข ้อมูล . . .
ื่ และชนิดของข ้อมูล
2.4 TYPE สาหรับกาหนดชอ
มีรป
ู แบบดังนี้
ื่ = ชนิดของข ้อมูล;
TYPE ชอ
ตัวอย่างที่ 1
TYPE Color = (Red, Green, Blue);
16
2. สว่ นกาหนดชนิดข ้อมูล . . .
ตัวอย่างที่ 2
TYPEAge = 1..100;
Grade = ‘A’..’F’
Student = RECORD
Name
: String[40];
Old : Age;
Addr : String[70];
Point: Grade;
END;
17
2. สว่ นกาหนดชนิดข ้อมูล . . .
ื่ ตัวแปร
2.5 VAR (variable) สาหรับกาหนดชอ
และชนิดข ้อมูลของตัวแปร มีรป
ู แบบดังนี้
ื่ [,ชอ
ื่ ] : ชนิดของข ้อมูล;
VAR ชอ
ตัวอย่างที่ 1
VAR Color: (Red, Green, Blue);
18
2. สว่ นกาหนดชนิดข ้อมูล . . .
ตัวอย่างที่ 2
VAR Age: 1..100;
Grade : ‘A’..’F’
Number, Total : Integer;
Length, Height, Width : Real;
19
2. สว่ นกาหนดชนิดข ้อมูล . . .
2.6 PROCEDURE ใชส้ าหรับสร ้างโปรแกรมย่อย
้
ไว ้ใชงานในโปรแกรมหลั
ก
ั ไว ้ใชใน
้
2.7 FUNCTION ใชส้ าหรับสร ้างฟั งก์ชน
โปรแกรม
20
3. สว่ นประโยคคาสงั่ (Statement part)
สว่ นนีป
้ ระกอบด ้วยประโยคคาสงั่ ต่าง ๆ สาหรับสงั่
ให ้คอมพิวเตอร์ทางานมีรป
ู แบบคือ
BEGIN
statements หรือคาสงั่ ต่าง ๆ;
END.
21
ข ้อสงั เกต
แต่ละคาสงั่ จะจบด ้วยเครือ
่ งหมาย ;
ขึน
้ ต ้นโปรแกรมด ้วย BEGIN (ไม่ม ี ;) และจบ
โปรแกรมด ้วย END. (มี .)
ั่ ด ้วยตัวใหญ่ และชอ
ื่ ตัวแปรด ้วย
นิยมเขียนคาสง
ตัวเล็ก
ั่ สุดท ้ายก่อน END. ไม่จาเป็ นต ้องมี
คาสง
เครือ
่ งหมาย ;
22
ประเภทของประโยคคาสงั่
1. คาสงั่ กาหนดค่า (Assignment statement)
มีรป
ู แบบดังนี้
ื่ ตัวแปร := ค่าทีต
ชอ
่ ้องการกาหนด;
ตัวอย่าง
Number := 20;
TotalNumber := Number+20;
23
ประเภท . . .
2. คาสงั่ นาข ้อมูลออก (Output statement)
สาหรับนาข ้อมูลจากหน่วยความจาไปที่
อุปกรณ์แสดงผลของคอมพิวเตอร์
3. คาสงั่ นาข ้อมูลเข ้า (Input statement)
สาหรับนาข ้อมูลจากอุปกรณ์รับข ้อมูลของ
คอมพิวเตอร์เข ้ามาในหน่วยความจา
4. คาสงั่ ควบคุมลาดับการทางานของโปรแกรม
เป็ นการควบคุมเกีย
่ วกับจานวนรอบของการ
ทางานและการทางานตามเงือ
่ นไข
24
ลักษณะของประโยคคาสงั่
แบ่งได ้เป็ น 2 ลักษณะคือ
1. ประโยคคาสงั่ เดีย
่ ว (Single statement)
คือ ประโยคคาสงั่ ทีม
่ ก
ี ารทางานเป็ นอิสระไม่
เกีย
่ วข ้องกับประโยคคาสงั่ อืน
่
25
ลักษณะ . . .
2. ประโยคคาสงั่ ผสม (Compound statement)
คือ ประโยคคาสงั่ ทีม
่ ก
ี ารทางานร่วมกันทัง้
ชุด จะประกอบด ้วยประโยคคาสงั่ เดีย
่ วหลาย ๆ
ประโยครวมกัน จะอยูร่ ะหว่าง BEGIN กับ END; มี
ลักษณะดังนีค
้ อ
ื
26
ลักษณะ . . .
2. ประโยคคาสงั่ ผสม (Compound statement)
BEGIN
Single statement;
...
Single statement;
END;
27
4. สว่ นคาอธิบาย (Comments)
สว่ นนีจ
้ ะไม่มส
ี ว่ นเกีย
่ วข ้องกับการ
้ อ
ประมวลผล ใชเพื
่ ชว่ ยอธิบายความหมายและ
หน ้าทีข
่ องสว่ นโปรแกรมต่าง ๆ ทีเ่ ขียนขึน
้ ใน
โปรแกรม ข ้อความทีเ่ ขียนต ้องอยูภ
่ ายใน
เครือ
่ งหมาย { } หรือ (* *) เท่านัน
้
28
4. สว่ นคาอธิบาย . . .
{This Procedures for Calculation}
หรือ
(* This Procedures for Calculation *)
29
รูปแบบของภาษาปาสคาล
ภาษาปาสคาลไม่กาหนดรูปแบบของการ
เขียนโปรแกรม ดังนัน
้ จึงสามารถกาหนดได ้
ตามทีผ
่ ู ้เขียนต ้องการ เพียงแต่ต ้องกาหนด
เครือ
่ งหมาย ; (semicolon) ให ้เป็ นเครือ
่ งหมาย
จบประโยคคาสงั่ ทุกครัง้
30
ตัวอย่างที่ 1
PROGRAM First; VAR Name : String;
BEGIN
Write (‘Your name please? ’);
ReadLn(Name); WriteLn(‘Hello ! ’,Name)
END.
31
ตัวอย่างที่ 2
PROGRAM First;
VAR
Name : String;
BEGIN
Write (‘Your name please? ’);
ReadLn(Name);
WriteLn(‘Hello ! ’,Name)
END.
32
ตัวอย่างที่ 3
PROGRAM
VAR
BEGIN
END.
First;
Name : String;
(* start program *)
Write(‘Your name please? ’);
{display text}
ReadLn(Name);
(*get name*)
WriteLn(‘Hello ! ’,Name)
{display name}
(* end program *)
33
สรุป
การเขียนโค ้ดโปรแกรม ควรจะเขียนให ้มี
รูปแบบทีด
่ งู า่ ย และสามารถมองหาสงิ่ ทีต
่ ้องการ
ได ้รวดเร็ว และควรจะเขียนข ้อความอธิบายไว ้ใน
แต่ละสว่ นของโปรแกรม เพือ
่ เสริมสร ้างความ
เข ้าใจให ้แก่ผู ้อ่านได ้มากขึน
้
34
การพัฒนาโปรแกรม
เทอร์โบปาสคาล เป็ นโปรแกรม
ภาษาคอมพิวเตอร์ชนิดคอมไพเลอร์ ทาหน ้าที่
คอมไพล์ ซอร์สโค ้ด ให ้เป็ น ออบเจ็กต์โค ้ด
โดยมีการลิงค์ แบบอัตโนมัต ิ
35
ขัน
้ ตอนการพัฒนาโปรแกรม
Edit
Source Code
Prog.PAS
Compile
Run
Program
Link
Prog.OBJ
Prog.EXE
36
Source code
เป็ นภาษาอังกฤษทีเ่ ขียนขึน
้ ตาม
กฎเกณฑ์ของภาษาปาสคาล การพิมพ์ซอร์
้
สโค ้ดจะต ้องใชโปรแกรมประเภทเอดิ
เตอร์
(editor) หรือเวิรด
์ โปรเซสเซอร์ (word
processor) โดยจะบันทึกเป็ นไฟล์ชนิด PAS
37
Compile
เป็ นการตรวจสอบว่าโปรแกรมเขียน
ถูกต ้องตามกฎหรือไม่
ถ ้าไม่ถก
ู จะมีการ
แสดงข ้อความระบุสาเหตุของความผิดพลาด
และแสดงตาแหน่งทีผ
่ ด
ิ พลาดในซอร์สโค ้ด ถ ้า
ไม่พบความผิดพลาดถือว่าโปรแกรมนัน
้
คอมไพล์ผา่ น
38
Link
เป็ นการรวมโปรแกรมย่อยเข ้ากับ
โปรแกรมหลัก เมือ
่ ผ่านขัน
้ ตอนนีโ้ ปรแกรมจะ
สามารถทางานได ้
การสงั่ ให ้โปรแกรมทางานเรียกว่าการรัน
(run) ขณะรันโปรแกรมอาจมีความผิดพลาดขึน
้
ได ้ เรียกความผิดพลาดกลุม
่ นีว้ า่ run-time
errors ซงึ่ โปรแกรมจะหยุดทางานทันทีและ
แสดงสาเหตุของความผิดพลาด
39
Object code
เป็ นการสร ้างไฟล์ชนิด EXE ไปเก็บไว ้ใน
ดิสก์ ซงึ่ โปรแกรมทีไ่ ด ้มานีส
้ ามารถนาไปรันได ้
อย่างอิสระกับ DOS โดยทีเ่ ครือ
่ งคอมพิวเตอร์
นัน
้ ไม่จาเป็ นต ้องมีโปรแกรมภาษาปาสคาลได ้
40
วิธก
ี ารติดตัง้ โปรแกรม Turbo Pascal
ดาวน์โหลดโปรแกรมจาก ced.kmitnb.ac.th/scc
เข ้าสูเ่ มนู Links
คลิกเลือก Turbo Pascal for DOS V 7.0 เพือ
่ save
Unzip โปรแกรม
เข ้าโฟลเดอร์ Turbo Pascal v 7.0 for DOS
เรียกโปรแกรม install.exe
41
้
การเรียกใชงาน
เข ้าไปทีโ่ ฟลเดอร์ C:\TP\BIN
เรียกโปรแกรม turbo.exe
42