pascal
posted on 10 Jul 2011 17:31 by noppestภาษาปาสคาล

ภาษาปาสคาลสร้างขึ้นเพื่อใช้สอนการเขียนโปรแกรมคอมพิวเตอร์ให้เป็นระบบและมี ระเบียบเป็นโครงสร้างเนื่องจากเป็นภาษาที่มีรูปแบบง่าย ต่อความเข้าใจ เขียนเป็นโปรแกรมได้เร็วแก้ไขปรับปรุงง่าย ผู้สร้างภาษานี้คือ ดร.เวียร์ เมื่อประมาณปี พ.ศ.2514 ซึ่งหลังจากออกแบบแล้ว ได้มีผู้นำไปเขียนเป็น โปรแกรมตัวแปร
(COMPILER) โดยที่ตัวแปรที่ได้รับความนิยมมากที่สุดคือ TURBO PASCAL ของบริษัทบอร์แลนด์และปัจจุบันได้ถูกพัฒนาไปเรื่อยๆ
ในอดีตภาษาคอมพิวเตอร์ที่เรียกว่าฟอร์แทรนและโคบอลเป็นภาษาที่นิยมให้มากที่สุด ภาษาฟอร์แทรนพัฒนาขึ้นใช้ในปี พ.ศ. 2499 เป็นภาษาที่ใช้เพื่อประยุกต์
งานด้านตัวเลขได้ดีเยี่ยม ส่วนภาษาโคบอลพัฒนาขึ้นในปี พ.ศ. 2502 มุ่งใช้งานด้านประมวลผลธุรกิจ สำหรับภาษาปาสคาลได้รับการพัฒนาขึ้นในปี พ.ศ. 2513
โดย นิเคลาส์ เวียร์ธ(Niklaus Wirth) แห่งเทคนิเคิล ยูนิเวอร์ซิตี้ ในเมืองซูริค ประเทศสวิสเซอร์แลนด์ ซึ่งกำลังเป็นที่นิยมแพร่หลายในปัจจุบันและจะนิยมกันมาก
ในอนาคต จุดประสงค์ของการใช้ภาษาปาสคาลเบื้องแรกก็คือ ฝึกนิสัยการเขียนโปรแกรมให้มีระเบียบระบบหรือฝึกการเขียนโปรแกรมโครงสร้าง ภาษาปาสคาลเป็น
ภาษาที่ออกแบบขึ้นให้มีความง่ายต่อการทำงาน การเข้าใจและการใช้ ปาสคาลเป็นชื่อของนักคณิตศาสตร์ชาวฝรั่งเศสชื่อว่า Blaise Pascal ซึ่งได้คิดเครื่องคำนวณ
ระบบกลไกขึ้นเป็นคนแรกจึงได้รับเกียรติให้ตั้งเป็นชื่อภาษาคอมพิวเตอร์ซึ่งเวียร์ธเป็นผู้สร้างภาษานี้ขึ้น ใช้กันกว้างขวางในสหรัฐอเมริกาและยุโรปเพื่อสอนการเขียน
โปรแกรมโครงสร้าง และใช้เป็นภาษาเอนกประสงค์(general purpose) ซึ่งประยุกต์ใช้ได้ทั้งคอมพิวเตอร์เครื่องใหญ่และไมโครคอมพิวเตอร์โปรแกรมง่าย ๆ
โปรแกรมภาษาปาสคาลที่สมบูรณ์และง่ายที่สุดจะต้องเป็นดังนี้
PROGRAM MyfirstProgram(OUTPUT);
BEGIN
WRITELN(‘This is my program);
END.
เมื่อโปรกรม ดำเนินการจะให้ผลลัพธ์ดังนี้ This my program. โปรแกรมภาษาปาสคาลจะเขียนอักษรตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ เมื่อไร ตรงไหนปนเปกันอย่างไร
ก็ได้ คอมพิวเตอร์จะดูด้วยตนเองว่ามันจะทำงานจริงหรือไม่
โครงสร้างของโปรแกรมปาสคาล
โครงสร้างของโปรแกรมประกอบด้วยการตั้งหัวเรื่อง โดยการตั้งชื่อของโปรแกรมขึ้นเองในบรรทัดแรกด้วยคำว่า PROGRAM MyfirstProgram คำว่าBEGIN เป็นส่วนที่แสดงจุดเริ่มต้นของโปรแกรม ในทางตรงกันข้าม END. แสดงว่าเป็นส่วนของโปรแกรมที่สิ้นสุดการทำงาน และเมื่อจั่วหัวโปรแกรมจะตามด้วยชื่อโปรแกรมที่เรา
ตั้งเอง แล้วตามด้วยเครื่องหมาย ; สรุปได้ว่าโครงสร้างของโปรแกรมเป็นดังนี้ ในขั้นแรก ไปดูโครงสร้างของการเขียน pascal กันค่ะ
|
โครงสร้าง pascal |
|
program ...; |
|
program |
|
|
program myprogram; |
|
|
var ส่วนนี้เป็นส่วนที่ใช้สำหรับประกาศตัวแปร |
|
|
program myprogram; var a : integer ; b : string ; c : char ;
|
|
ในเรื่องของตัวแปร ( variable )
|
การประกาศตัวแปรให้ เริ่มด้วย var
|
||
|
ชื่อของตัวแปร |
ชนิดของตัวแปร
มีหลายชนิด ส่วนที่ใช้บ่อยๆ มีดังนี้
|
ชนิดของตัวแปร |
ขอบเขต |
|
Shortint |
-128 ... +127 |
|
Byte |
0 ... 255 |
|
Integer |
-32768 ... +32767 |
|
Word |
0 ... 65535 |
|
Longint |
-2147483648 ... +2147483647 |
|
Real |
2.9 * 10-39 ... 1.7 * 1038 |
|
String |
ตัวอักษร 255 ตัวอักษร |
|
Char |
ตัวอักษร 1 ตัวอักษรเท่านั้น |
ที่ต้องมี การกำหนด ชนิดตัวแปรไว้หลายประเภทนี้ ก็เพื่อสะดวกในการใช้งาน
เช่น integer ก็ไว้สำหรับตัวแปรตัวเลขที่ใช้คำนวณ ส่วน string ก็ใช้จัดการข้อมูลตัวอักษร
เพื่อความเหมาะสม คือ เมื่อเราประกาศตัวแปรแล้ว โปรแกรมจะทำการจองหน่วยความจำ
ให้กับตัวแปรหากเราใช้ ชนิดตัวแปรให้กว้างที่สุดแบบเดียวกันหมด.. ก็อาจจะกินหน่วยความ
จำมากเกินไปก็เลยกำหนดไว้หลายประเภท เพื่อให้เหมาะสมกับขนาดของข้อมูล
ตัวอย่าง
myname : string ;
yourname : string ;
age : byte ;
money : word ;
* ในการตั้งชื่อตัวแปร *
ควรตั้งชื่อ ที่สื่อความหมายได้ดี
เพื่อสะดวกในการแก้ไขโปรแกรม
|
begin |
|
program myprogram; var a : integer ; b : string ; c : char ; begin |
คำสั่งพื้นฐานที่จะต้องทำความรู้จักก็คือ
write( ) ;
ใช้สำหรับสั่งให้แสดงตัวอักษรบนจอ โดยใช้ร่วมกับเครื่องหมาย ' ... '
หรือจะใช้ตัวแปร ช่วยในการแสดงตัวอักษรก็ได้
|
ตัวอย่างที่ 1 write( ); |
this is a string in pascal program |
|
program write_string ; var mystring : string ;
begin mystring := ' in pascal program' ; write('this is a string') ; write(mystring); end. |
หลังจากเขียนโปรแกรมนี้เสร็จให้ลอง Compile โดย กด Ctrl+F9
ตามด้วย Alt+F5 เพื่อดูผลลัพธ์
โครงสร้างขั้นพื้นฐาน
เป็นไปตามที่ได้กล่าวไว้ ได้แก่
1. ส่วนประกาศตัวแปร ( var .. )
2. ส่วนการทำงาน ( begin .. ไปถึง end.)แต่ความจริงยังมีส่วนประกอบ อีกหลายส่วน เช่น การประกาศค่าคงที่ การเรียกยูนิตมาใช้การเขียน โพรซีเจอร์ และฟังชั่น
การประกาศตัวแปร local และ global
ลักษณะการใช้ถ้อยคำและชื่อในภาษาปาสคาลมี2 ลักษณะ
1. คำสงวน (Reserved word) คือชื่อต่าง ๆ ที่มีความหมายอย่างเดียวกันเสมอไม่ว่าจะเขียนขึ้นที่ใดของโปรแกรม เป็นคำหรือชื่อที่นิยามไว้เป็นการเฉพาะ เช่น คำที่เขียน
ว่า BEGIN END REPEAT DIVเป็นต้น
2. ชื่อที่ตั้งขึ้น (identifier) คือชื่อต่าง ๆ ที่ผู้เขียนโปรแกรมตั้งขึ้นเพื่อจะระบุถึงตัวแปรที่จะเก็บไว้ในหน่วยความจำ เพื่อช่วยเตือนความทรงจำของผู้เขียนโปรแกรมว่าชื่อที่ตั้ง
ขึ้นมีจุดประสงค์ที่จะใช้ในโปรแกรมอย่างไร ดังนั้นจึงนิยามขึ้นมาเฉพาะในแต่ละโปรแกรม ความหมายของชื่อจึงเปลี่ยนไป ชื่อที่ตั้งขึ้น(identifier) จะต้องด้วยตัวอักษรแล้วตาม
ด้วยศูนย์ หรือตัวอักษรหรือตัวเลขเท่านั้น และต้องเขียนทุกตัวติดกันหมด เช่น CURRENTSCORE,Y12,MY_BIRTH_DAY, NCC1997 เป็นต้น จำนวนตัวอักษรหรือ
ความยาวของชื่อเขียนได้โดยไม่จำกัด แต่คอมไพเลอร์บางตัวจะใช้อักขระเพียง 8 ตัวแรกเท่านั้น นิยมใช้ชื่อที่สื่อความหมายในสิ่งที่เราหมายถึงโดยใช้คำสั้น ๆ แทนข้อความที่สมบูรณ์
กฎเกณฑ์ของซีนเท็กซ์ (syntax) คือกฎที่นิยามโครงสร้างของภาษา ภาษาที่เราใช้ในการเขียนโปรแกรมมนุษย์สามารถเข้าใจความหมายได้แต่ คอมพิวเตอร์ไม่สามารถเข้าใจเว้นแต่โปรแกรมปาสคาลนี้จะต้องถูกแปลหรือคอมไพล์ ให้เป็นภาษาเครื่อง
ก่อนหากถูกคอมไพล์โดยไม่ผิดพลาดในเรื่องซีนแท็กซ์แล้วละก็ โปรแกรมสามารถดำเนินการ(execute) ได้