วันจันทร์ที่ 20 กันยายน พ.ศ. 2553

ภาษาโปรเเกรมคอมพิวเตอร์

ประมาณปี พ.ศ. 2514 ดร.นิคลอล เวียร์ต (Professor Doctor Nicklaus Wirth) ชาวเมืองซูริค ประเทศสวิตเซอร์แลนด์ ได้พัฒนาภาษาสำหรับเขียนโปรแกรมคอมพิวเตอร์ขึ้นมาภาษาหนึ่ง ซึ่งจุดมุ่งหมายหลักในการพัฒนาภาษานี้ คือ ให้เป็นภาษาสำหรับฝึกเขียนโปแกรมสั่งงานคอมพิวเตอร์อย่างมีระบบและมีระเบียบ และได้กำหนดให้ภาษาใหม่นี้มีชื่อว่า ภาษาปาสคาล (Pascal Language) เพื่อเป็นเกียรติแก่ Blaise Pascal นักคณิตศาสตร์และปรัชญาแมธีชาวฝรั่งเศสผู้สร้างเครื่องคิดเลขเครื่องแรกของโลก


ภาษาปาสคาลมีต้นแบบมาจากภาษา ALGOL (Algorithmic Language) และตัวภาษาปาสคาลเองก็ได้ถูกพัฒนาต่อไปเป็นภาษาที่รู้จักกันในชื่อต่าง ๆ เช่น ภาษา MODULA2 ภาษา Ada ซึ่งเป็นภาษาที่ได้รับการคาดหมายว่าจะได้รับความนิยมในอนาคต แต่เป็นภาษาใหม่ที่มีโครงสร้างซับซ้อน


การเขียนโปรแกรมด้วยภาษาปาสคาลต้องเขียนโปรแกรมแบบมีโครงสร้างและมีระเบียบ แบบแผน เป็นภาษาที่ไม่มีหมายเลขบรรทัดแต่ทำงานตามลำดับโครงสร้างของโปรแกรม ดังนั้นภาษาปาสคาลเหมาะกับการศึกษาภาษาที่ใช้งานกับเครื่องคอมพิวเตอร์โดย ตรงและวิธีการเขียนโปรแกรมที่ถูกต้องเพื่อนำไปใช้ในการเขียนโปรแกรมภาษาชั้น สูงอื่น ๆ และ ภาษาเครื่อง รวมทั้งซอฟต์แวร์กึ่งสำเร็จรูป ต่อไปได้

สัญลักษณ์เบื้องต้น (Basic Symbol)

สัญลักษณ์ที่ใช้ในภาษาปาสคาลแบ่งออกได้เป็น 3 พวก ได้แก่

1. letter ได้แก่ A-Z , a-z และ มีขีดล่าง (_ อ่านว่า Underscore)

2. digit ได้แก่ 0-9 3 . Special symbol สัญลักษณ์พิเศษได้แก่ + - * / = ^ () [] {}. , : ; ' # $


หมายเหตุ ไม่มีความแตกต่างระหว่างอักษรพิมพ์ใหญ่และอักษรพิมพ์เล็ก

คำอธิบาย

โดยหลักการเขียนโปรแกรมด้วยภาษาปาสคาลแล้วจะต้องเขียนโปรแกรมให้ถูกต้องตามรูปแบบของคำสั่งภาษาซึ่งจะมีความหมายในตัวเองแล้ว แต่บางครั้งถ้าต้องการคำอธิบายเพิ่มเติมเพื่อสร้างความเข้าใจสามารถเขียนคำอธิบายเพิ่มเติมไว้ได้ในเครื่องหมาย { } ซึ่งสิ่งที่อยู่ในเครื่องหมาย { } ภาษาปาสคาลจะไม่ทำการคอมไพ

การเขียนคำอธิบายอาจจะเขียนอยู่ในโปรแกรม คือ ตั่งแต่คำว่า PROGRAM จนถึงคำว่า END. หรือจะอยู่นอกโปรแกรมก็ได้ เช่น

ตัวอย่าง 1.3.1 การเขียนคำอธิบายในโปรแกรม

Program Show Name;


Uses Crt;


Ch : Char;


Begin

{โปรแกรมแนะนำตนเอง}


Clrscr;

Writeln(‘อรทัย ชัยรัตนศักดิ์’);

Writeln(‘โปรแกรมวิทยาการคอมพิวเตอร์ ’);

Writeln(‘สถาบันราชภัฎพิบูลสงคราม’);


Ch := read key;

End.

ตัวอย่าง 1.3.2 การเขียนคำอธิบายนอกโปรแกรม

{โปรแกรมแนะนำตนเอง}

Program Show Name;


Uses Crt;


Ch : Char;

Begin

Closure;


Written(‘อรทัย ชัยรัตนศักดิ์’);


Written(‘โปรแกรมวิทยาการคอมพิวเตอร์ ’);

Written(‘สถาบันราชภัฎพิบูลสงคราม’);

Ch := read key;

End.


ชื่อ (Identifier)

ชื่อ ได้แก่ ชื่อที่ใช้ในโปรแกรม เช่น ใช้เป็นชื่อโปรแกรม ชื่อตัวแปร ชื่อตัวคงที่ ชื่อ procedure ชื่อ Function ชื่อประกอบขึ้นจาก letter หรือ digit แต่จะต้องไม่ขึ้นต้นด้วย digit และจะต้องไม่มีช่องว่างในส่วนประกอบเหล่านี้ ชื่อต้องมีความยาวอย่างน้อย 1 อักขระ แต่ไม่เกิน 127 อักขระ หรือไม่เกิน 1 ไลน์ (Line)

ตัวอย่าง
1. ต่อไปนี้เป็น identifier

power ,Supper ,x_bar ,X2

2. ต่อไปนี้ไม่เป็น identifier

4time ไม่เป็นเพราะขึ้นต้นด้วยตัวเลข

No. ไม่เป็นเพราะมีเครื่องหมาย .

name#5 ไม่เป็นเพราะมีเครื่องหมาย #


xy 8 ไม่เป็นเพราะมีช่องว่าง

คำในภาษาปาสคาล (Word)


Word ได้แก่คำที่ใช้ในปาสคาลแบ่งออกได้เป็น

1. คำสงวน (Reserved Word) ได้แก่คำที่ใช้ในการกำหนดรูปแบบต่าง ๆ ในProgram ตามข้อกำหนดของภาษาปาสคาล ซึ่งคำสงวนนี้ไม่สามารถเปลี่ยนแปลงแก้ไขได้ และไม่สามารถนำมาตั้งเป็นชื่อได้


2. คำมาตรฐาน (Standard Word) ได้แก่คำที่เป็น Procedure หรือ Functionมาตรฐาน เป็นคำที่เปรียบเสมือนคำสั่งในโปรแกรม แต่ตัวมันเองเป็นโปรแกรม สามารถนำคำมาตรฐานมาเป็นชื่อได้แต่ไม่ควรทำเพราะจะทำให้เสียความหมายเดิมไป จึงต้องระวังอย่ากำหนดชื่อให้ซ้ำกับคำมาตรฐาน คำมาตรฐานได้แก่คำที่กำหนดใหม่ (User defined Word) โดยผู้ใช้ ซึ่งอาจจะเขียนเป็น Procedure หรือ Function และต้องไม่เป็นคำที่ปรากฏในข้อ 1, 2

ค่าคงที่ (Constants)


ค่าคงที่ (Constants) คือ ค่าที่กำหนดขึ้นมาใช้ในโปรแกรม โดยค่าคงที่นี้จะไม่มีการเปลี่ยนแปลงค่านั้นอีกตลอดการรันโปรแกรมนั้น ๆ เช่น


‘G’ เป็นค่าคงที่แบบอักขระ


‘Computer’ เป็นค่าคงที่แบบสตริง


2546 เป็นค่าคงที่แบบตัวเลข

หมายเหตุ


1. ค่าคงที่แบบอักขระและแบบสตริงต้องอยู่ในเครื่องหมายคำพูดเดี่ยวเท่านั้น (‘ ‘) และภายในเครื่องหมายคำพูดหากมีการเว้นช่องว่างจะถือว่าเป็นอักขระตัวหนึ่ง คือเป็นช่องว่างเมื่อออกจอภาพ

2. 2456 เป็นค่าคงที่แบบตัวเลข อ่านว่า สองพันสี่ร้อยห้าสิบหก สามารถนำไปทำการคำนวณทางคณิตศาสตร์ได้ แต่ถ้าเขียนไว้ในเครื่องหมายคำพูด ’2456’ จะเป็นค่าคงที่แบบสตริง อ่านว่า สองสี่ห้าหก ไม่สามารถนำมาทำการคำนวณทางคณิตศาสตร์ได้

แบบของข้อมูล (Data Type)

แบบของข้อมูล (Data Type) คือ การกำหนดคุณสมบัติให้กับตัวแปรข้อมูลชนิดนั้น ๆ ซึ่งแต่ละภาษาจะมีแบบของข้อมูลที่กำหนดมาให้เป็นมาตรฐานแล้ว เช่น Integer Real Boolean Char หรือผู้ใช้สามารถกำหนดแบบของข้อมูลชนิดใหม่ขึ้นมาใช้ได้ด้วยตัวเอง เช่น String Array

ตัวแปร (Variables)

ตัวแปร (Variables) คือ การตั้งชื่อหน่วยความจำที่ใช้ในการอ้างถึงหน่วยความจำที่เก็บข้อมูลในภาษาเครื่องโดยอ้างถึงแอดเดรส สามารถอ่านค่าและเปลี่ยนแปลงค่าได้ตลอดเวลา

สำหรับขนาดของหน่วยความจำของแต่ละข้อมูลหรือแต่ละตัวแปรนั้น จะมีขนาดไม่เท่ากัน ขึ้นกับแบบของข้อมูลของตัวแปรนั้น ๆ และตัวแปรแต่ละตัวถ้ากำหนดมาสำหรับแบบข้อมูลแบบไหนจะเก็บข้อมูลแบบนั้นได้ เท่านั้นไม่สามารถเก็บข้อมูลแบบอื่น ๆ ได้ การกำหนดตัวแปร เช่น


Var I : Integer;


R : Real;


Ch : Char;


St : String(10);


เป็นการกำหนดตัวแปร I เก็บข้อมูลแบบ Integer คือจำนวนเต็ม R เป็นตัวแปรเก็บข้อมูลแบบจำนวนจริง Ch เป็นตัวแปรเก็บข้อมูลแบบอักขระ และ St เป็นตัวแปรเก็บข้อมูลแบบสตริงยาวไม่เกิน 10 อักขระ

การให้ค่าคงที่ตัวแปร (Aassignment Variables )

เมื่อกำหนดตัวแปรแล้ว การดำเนินการทำสำคัญกับตัวแปร คือ การให้ค่ากับตัวแปร ซึ่งทำได้ 2 วิธีการ คือ

1. การอ่านจากอุปกรณ์ภายนอก เช่น การรับข้อมูลจากคีย์บอร์ด การอ่านค่าจากไฟล์ข้อมูล

2. การให้ค่าแก่ตัวแปรในโปรแกรม การให้ค่าแก่ตัวแปรในโปรแกรม ด้วยเครื่องหมาย := หมายความว่า เอาค่าที่อยู่ทางด้านซ้ายมือของเครื่องหมาย มาเก็บไว้ที่ตัวแปรที่อยู่ทางด้านขวามือของเครื่องหมาย สิ่งที่อยู่ทางด้านซ้ายมือของเครื่องหมาย ต้องเป็นตัวแปรครั้งละ 1 ตัวเท่านั้น ส่วนสิ่งที่อยู่ทางด้านขวามือของเครื่องหมาย สามารถเป็นได้ คือ

1. ค่าคงที่ เช่น Num: = 3; เป็นการให้ค่า 3 แก่ตัวแปร Num


Name: = ‘อรทัย’; เป็นการให้ค่า ‘อรทัย’ แก่ตัวแปร Name

2. ตัวแปร เช่น Sum: = Num; เป็นการให้ค่า Num แก่ตัวแปร Sum ดังนั้น Sum ก็จะมีค่า 3 ตามค่าของ Num

3. นิพจน์ทางคณิตศาสตร์ เช่น Sum: = Num + 5; จะนำค่า Num มาเพิ่มอีก 5 แล้วให้ค่าแก่ตัวแปร Sum ดังนั้น Sum จะมีค่าเป็น 8



Num := Num + 1; จะนำค่า Num มาเพิ่มอีก 1 แล้วเก็บค่าไว้ที่ Num เหมือนเดิม ดังนั้น Num จะมีค่า เป็น 4


4. ฟังก์ชั่น เช่น Ch := Chr (125); เป็นการนำค่า 125 มาทำการแปลงด้วยคำสั่ง Chr ซึ่งเป็นการอ่านค่าตามรหัส ASCII ให้แก่ตัวแปร Ch

คณิตศาสตร์บูลีน (Boolean algebra)

คณิตศาสตร์บูลีน (Boolean Algebra) เป็นการดำเนินกรรมวิธีทางตรรกตัวดำเนินการ (Operators) ที่ใช้มากและมีในภาษาปาสคาลได้ได้ AND, OR และ XOR เรียกว่าตัวดำเนินการบูลีน (Boolean Operators) AND ให้ความเป็นจริงเมื่อเงื่อนไขเป็นจริงทั้งหมด นอกนั้นอีก 3 กรณีเป็นเท็จ OR ให้ความเป็นจริงเมื่อเงื่อนไขอันใดอันหนึ่งเป็นจริง ให้ความเป็นเท็จเมื่อเงื่อนไขเป็นเท็จทั้งหมด XOR ให้ความเป็นจริงเมื่อเงื่อนไขอันใดอันหนึ่งเป็นจริงเพียงหนึ่งเดียวเท่านั้น ถ้าเหมือนทุกเงื่อนไขจะเป็นเท็จ





http://fws.cc/chokajub/index.php?topic=1012.0

ไม่มีความคิดเห็น:

แสดงความคิดเห็น