ภาษาปาสคาล
ภาษาปาสคาล
ประวัติภาษาปาสคาล
ภาษาปาสคาลเป็นภาษาชั้นสูง ที่ถูกพัฒนาขึ้นมาจากภา Algol-60 โดย ดร.นิคอส เวิร์ธ(dr. Niklaus Wirth)จากสถาบันเทคโนโลยี แห่งซูริค ประเทศสวิสเซอร์แลนด์
ประวัติภาษาปาสคาล
ภาษาปาสคาลเป็นภาษาชั้นสูง ที่ถูกพัฒนาขึ้นมาจากภา Algol-60 โดย ดร.นิคอส เวิร์ธ(dr. Niklaus Wirth)จากสถาบันเทคโนโลยี แห่งซูริค ประเทศสวิสเซอร์แลนด์
ปาสคาล(pascal) เป็นชื่อที่ได้รับสมญานามจาก basic pascal นักวิทยาศาสตร์ และคณิตศาสตร์ชาวฝรั่งเศษ ผู้ซึ่งมีชิ่อเสียงในการประดิษฐ์เครื่องจักรที่ใช้ในการคำนวณ ซึ่งเป็นต้นแบบของคอมพิวเตอร์ในปัจจุบัน
จากรูปแบบของภาษาปาสคาลที่มีรากฐานมาจากภาษา algol-60 นี้ได้มีการปรับปรุงเพิ่มเติมคำสั่งต่างๆเข้าไป เพื่อพยายามสร้างให้มีความเป็นมาตรฐานที่เรียกว่า standard pascal โดยองค์กรที่เรียกตัวเองว่า the international standard organization หรือ iso ซึ่งเป็นมาตรฐานทาง้ดานยุโรป ต่อมาได้มีการสร้างมาตรฐานทางด้านอเมริกัน โดยกลุ่มของ amarican national standard institute หรือ ANSI ร่วมมือกับกลุ่ม the institute of electronical and electronic engineers หรือ IEEE ซึ่งมาตรฐานทางด้านอเมริกาจะมีความแตกต่างกันเล็กน้อยกับมาตรฐานทางด้านยุโรป
ภาษาปาสคาลสามารถใช้กับเครื่องคอมพิวเตอร์ได้ในหลายระดับตั้งแต่เครื่องระดับเล็กสุดเช่น แล็ปท็อบ จนกระทั่งเมมเฟรม ซึ่งโครงสร้างของภาษาที่ไม่แตกต่างกันมากนัก สำหรับในเครื่องระดับไม่โครคอมพิวเตอร์ในปัจจุบันจะมีการพัฒนาซอฟต์แวร์ที่ชื่อเรียกว่า เทอร์โบปาสคาล เพื่อใช้กับเครื่องระดับไม่โครคอมพิวเตอร์โดยเฉพาะ ซึ่งมีการเพิ่มเติมเครื่องมือในการใช้งานต่างๆมากมาย จากปาสคาลมาตรฐาน ในปัจจุบันมีการพัฒนาเทอร์โบปาสคาล จากเวอร์ชั่น 1.0 2.0 3.0 4.0 5.0 5.5 6.0 จนกระทั่งมาถึงเวอร์ชั่น 7.0 ในปัจจุบัน และมีเวอร์ชั่นทำงานบนวินโดว์ 3.xx และวินโดว์ 95
คุณลักษระของภาษาปาสคาล
ภาษาปาสคาลเป็นภาษาชั้นสูง(Hight level language) อีกภาษาหนึ่งที่ได้รับความนิยมในการใช้งานมากในปัจจุบัน รูปแบบของคำสั่งจะมีลักษณะเป็นภาษาอังกฤษ ทำให้ง่ายต่อการเขียน และการจดจำ เช่น คำสั่ง read write if then เป็นต้น นอกจากนี้ตัวโปรแกรมยังมีลักษณะทีเป็นโครงสร้าง(Structure Programming) ทำให้ง่ายต่อการศึกษา ทำความเข้าใจ หรือการแก้ไขโปรแกรม และยังเป็นภาษาที่มีใช้ได้ในหลายระบบคอมพิวเตอร์ นอกจากนี้ยังเป็นภาษาที่เหมาะกับงานทุกประเภท ไม่ว่าจะเป็นงานทางด้านวิทยาศาสตร์การคำนวณที่ซับซ้อน งานทางด้านการศึกษา ซึ่งเหมาะกับผู้เริ่มเขียนโปรแกรม
ภาษาปาสคาลเป็นภาษาชั้นสูง(Hight level language) อีกภาษาหนึ่งที่ได้รับความนิยมในการใช้งานมากในปัจจุบัน รูปแบบของคำสั่งจะมีลักษณะเป็นภาษาอังกฤษ ทำให้ง่ายต่อการเขียน และการจดจำ เช่น คำสั่ง read write if then เป็นต้น นอกจากนี้ตัวโปรแกรมยังมีลักษณะทีเป็นโครงสร้าง(Structure Programming) ทำให้ง่ายต่อการศึกษา ทำความเข้าใจ หรือการแก้ไขโปรแกรม และยังเป็นภาษาที่มีใช้ได้ในหลายระบบคอมพิวเตอร์ นอกจากนี้ยังเป็นภาษาที่เหมาะกับงานทุกประเภท ไม่ว่าจะเป็นงานทางด้านวิทยาศาสตร์การคำนวณที่ซับซ้อน งานทางด้านการศึกษา ซึ่งเหมาะกับผู้เริ่มเขียนโปรแกรม
โครงสร้างของภาษาปาสคาล
ก่อนที่จะกล่าวถึงองค์ประกอบพื้นฐานต่างๆของภาษาปาสคาล จะขอกล่าวถึงโครงสร้างหลักของภาษาปาสคาลก่อน ซึ่งภาษาปาสคาลโดยทั่วจะประกอบด้วยส่วนประกอบหลัก 2 ส่วนคือ ส่วนหัวโปรแกรม(Programe Heading)และกลุ่มคำสั่ง(program block)
ก่อนที่จะกล่าวถึงองค์ประกอบพื้นฐานต่างๆของภาษาปาสคาล จะขอกล่าวถึงโครงสร้างหลักของภาษาปาสคาลก่อน ซึ่งภาษาปาสคาลโดยทั่วจะประกอบด้วยส่วนประกอบหลัก 2 ส่วนคือ ส่วนหัวโปรแกรม(Programe Heading)และกลุ่มคำสั่ง(program block)
Program example; ส่วนหัวโปรแกรม
Var x.y : integer;
Begin
Readln(x,y); ส่วนกลุ่มคำสั่ง
Writeln(x,y);
End.
ส่วนหัวของโปรแกรม(Program heading)
จะต้องเริ่มต้นด้วยคำว่า Program แล้วตามด้วยชื่อของโปรแกรม ตัวอย่างเช่น
Program alas; หรือ Program alaska;
ถ้าเป็นภาษาปาสคาลมาตรฐาน(Standard Pascal) ต้องมีคำว่า input และ/หรือ output อยู่ภายในวงเล็บหลังชื่อโปรแกรมเพื่อแสดงถึง Standard input และ Standard Output ของระบบคอมพิวเตอร์นั้นๆตัวอย่าง
Program alas(input,output); หรือ Program alaska(Output);
หมายเหตุ ** ต้องมีเครื่องหมาย semicolon(;) เมื่อจบแต่ละประโยคคำสั่ง เพื่อเป็นการแบ่งแยกประโยคคำสั่งเหล่านั้นออกจากกัน **
ส่วนกลุ่มคำสั่ง(Program Block)
จะประกอบด้วย 2 ส่วนประกอบหลัก ได้แก่
ส่วนประกาศ(Declarations)
เป็นส่วนที่ใช้กำหนดประเภทของข้อมูลแบบต่างๆเช่น การประกาศตัวแปร(Variable) การประกาศค่าคงที่(Constands)หรือชนิดข้อมูล (Data types)เป็นต้น
ส่วนของคำสั่ง(Exeutable Statements)
เป็นส่วนของประโยคคำสั่ง ที่มีผลให้การปฏิบัติการอย่างใดอย่างหนึ่ง ส่วนของคำสั่งนี้มักเป็นส่วนที่อยู่ในขอบเขตของ Begin และ End
1 Program Heading ………………………………… กำหนดชื่อโปรแกรม
2 Program Block ……………………………………….กลุ่มคำสั่ง
2.1 declarations ………………………………………..ส่วนประกาศ
labels ……………………………………………..กำหนดชื่อ ลาเบล
Constants ………………………………………….กำหนดตัวคงที่
Type Definitions……………………………………กำหนดแบบข้อมูล
Variables…………………………………………...ประกาศตัวแปร
2.2 procedures and Functions…………………………ส่วนโปรแกรมย่อยหรือฟังก์ชัน
2.3 Begin
Executable Statements …………………….. ประโยคคำสั่งของโปรแกรมหลัก
End.
องค์ประกอบพื้นฐานของภาษาปาสคาล
ก่อนที่จะเริ่มต้นเขียนโปรแกรมไม่ว่าจะเป็นภาษาใดก็ตาม ควรจะต้องมีการศึกษาองค์ประกอบพื้นฐานซึ่งถือว่าเป็นหน่วยย่อยที่สุดของภาษาแต่ละภาษานั้น สำหรับภาษาปาสคาลมีองค์ประกอบพื้นฐานต่างๆที่ควรจะต้องรู้จักก่อนเขียนโปรแกรมกังนี้
ก่อนที่จะเริ่มต้นเขียนโปรแกรมไม่ว่าจะเป็นภาษาใดก็ตาม ควรจะต้องมีการศึกษาองค์ประกอบพื้นฐานซึ่งถือว่าเป็นหน่วยย่อยที่สุดของภาษาแต่ละภาษานั้น สำหรับภาษาปาสคาลมีองค์ประกอบพื้นฐานต่างๆที่ควรจะต้องรู้จักก่อนเขียนโปรแกรมกังนี้
1 ตัวอักขระ(Character)
2 ชื่อ(Identifiers)
3 คำสงวน(Reserved Words)
4 ชื่อมาตรฐาน(Standard Identifiers)
5 ข้อมูลแบบพื้นฐาน(Simple Data Types)
6 ค่าคงที่(Constans)
7 ตัวแปร(Variables)
8 นิพจน์(Expressions)
9 ประโยคคำสั่ง(Statements)
10 โพรซิเจอร์ละฟังก์ชัน(Procedures and Functions)
ตัวอักขระ(Character)
หมายถึงสัญลักษณ์ต่างๆที่ไม่สามารถนำไปใช้ในการคำนวณได้แบ่งออกได้เป็น 3 ประเภทคือ
? ตัวเลข(numeric) ได้แก่เลขฐานสิบ 0 ถึง 9
? ตัวอักษร(Alphabetic) ได้แก่ ตัวอักษรภาษาอังกฤษ A ถึง Z
? สัญลักษณ์พิเศษ(Special Symbol)ได้แก่เครื่องหมายทางคณิตศาสตร์ และสัญลักษณ์ต่างๆเช่น
+ . < ( [
- : < ) ]
* ; > (*
/ , > *)
:= ‘ <> {
= ^ .. }
หมายเหตุ 1 ในบางระบบคอมพิวเตอร์ อาจใช้เครื่องหมาย (* และ *) และ { และ } ตามลำดับ หรือ อาจใช้ (. และ .) แทน [ และ ] ตามลำดับ
2 สัญลักษณ์พิเศษบางตัวอาจประกอบขึ้นจากสัญลักษณ์พิเศษสองตัวมาประกอบกันเช่น := <= >= <> เป็นต้น
ชื่อ(Identifiers)
เป็นการกำหนดชื่อต่างๆเช่น ชื่อค่าคงที่ ชื่อตัวแปร ชื่อโปรแกรม ชื่อ ฟังก์ชัน ชื่อประเภทข้อมูล ชื่อฟิลด์ในเรคคอร์ด ชื่อยูนิต หรือชื่อมาตรฐาน เพื่อนำไปใช้งานในโปรแกรม ซึ่งเป็นชื่อที่ผู้เขียนโปรแกรมกำหนดขึ้นมา
การกำหนดชื่อมีกฎเกณฑ์ดังต่อไปนี้
? ประกอบด้วยตัวอักษรตั้งแต่ A ถึง Z หรือตัวเลขตั้งแต่ 0 ถึง 9 ที่ไม่มีสัญลักษณ์พิเศษอื่นๆอยู่
? ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ (ห้ามเป็นตัวเลข) และตัวถัดไปอาจเป็นตัวเลข ตัวอักษร หรือ เครื่องหมาย Underscore(_)ก็ได้
? ตัวอักษรตัวใหญ่กับเล็กจะถือว่าเหมือนกัน เช่น Num กับ num จะถือว่าเป็นชื่อเดียวกัน
? ชื่อตัวแปรจะมีความยาวได้ไม่เกิน 255 ตัวอักขระ
? ชื่อจะต้องไม่เป็นคำสงวน(Reserve word)เช่น begin end if
คำสงวน(Reserved Word)
เป็นคำเฉพาะที่ภาษาปาสคาลได้สร้างหรือกำหนดขึ้นมา เพื่อใช้ในตัวภาษาโดยเฉพาะ ซึ่งผู้เขียนโปรแกรมไม่สามารถนำไปกำหนดเป็นชื่อ(Identifires) ได้เช่น begin ไม่สามารถนำไปกำหนดเป็นตัวแปร หรือชื่อโปรแกรมได้เป็นต้น
ในภาษาปาสคาล ถ้าเป็นคำสงวน มักนิยมเขียนด้วยตัวอักษรใหญ่ เพื่อให้มีความแตกต่างจากชื่ออื่นๆ
ตัวอย่างคำสงวน
And end nil set array file not then begin for of
To case function or type const goto packed until
Div if procedure var do in program while downto
Label record with else mod repeat
ชื่อมาตรฐาน(Standard Identifiers)
เป็นชื่อที่ภาษาปาสคาลได้สร้างหรือกำหนดขึ้นมาให้มีคุณสมบัติเฉพาะอย่าง เพื่อให้ผู้เขียนโปรแกรมสามารถนำไปใช้งานได้ โดยชื่อมาตรฐานเหล่านี้อาจเป็นชนิดข้อมูลหรือโพรซีเจอร์หรือฟังก์ชัน เช่น integer คือชื่อมาตรฐานของภาษาปาสคาลที่มีคุณสมบัติคือเป็นชนิดข้อมูลเลขจำนวนเต็ม
ตัวอย่างของชื่อมาตรฐาน
Abs false pack sin arctan get page sqr boolean input
Pred sqrt char integer put succ cos maxint readln true dispose
New real trunc eof odd reset unpack eoln ord rewrite write
Exp output round writeln
ข้อมูลแบบพื้นฐาน(Simple Data types)
ภาษาปาสคาลมีข้อมูลพื้นฐานหลายแบบด้วยกัน ได้แก่ integer real character string boolean จะได้กล่าวถึงข้อมูลพื้นฐานในแต่ละแบบพอสังเขปก่อนดังนี้
? ข้อมูลแบบจำนวนเต็ม(integer)
หมายถึงตัวเลขที่มีค่าเป็นเลขจำนวนเต็ม ไม่มีเศษเหลือทศนิยมซึ่งมีค่าได้ตั้งแต่ -32768 ถึง 32767 (สำหรับเครื่องไมโครคอมพิวเตอร์)ได้แก่
เลขจำนวนเต็มบวก เลขจำนวนเต็มลบ และเลขฐานเต็มศูนย์
? ข้อมูลแบบเลขจำนวนจริง(real)
หมายถึงชุดของตัวเลขที่ประกอบด้วยตัวเลข จุดทศนิยม ตัวเลขหลังจุดทศนิยม รวมทั้งเครื่องหมายบวกหรือลบ
ขอบเขตของเลขจำนวนจริงนี้จะอยู่ที่ค่า ระหว่าง 1*10-38 และ 1*1038 ซึ่งจะสามารถเขียนเลขจำนวนจริงนี้ให้อยู่ในรูปแบบของเลขยกกำลัง(Exponent)โดยใช้ตัวอักษร E เป็นสัญลักษณ์ที่แสดงการคูณ
? ข้อมูลแบบอักขระ(Character)
ได้แก่ตัวอักขระเพียง 1 ตัว ที่อยู่ภายในเครื่องหมาย Single Quote หรือ apostrophes(‘’) ซึ่งอาจเป็นตัวอักษร หรือตัวเลขหรือสัญลักษณ์พิเศษต่างๆและเป็นข้อมูลที่ไม่สามารถนำไปคำนวณไดๆได้ เช่น ‘A’ ‘2’ ‘*’ ‘*’ เป็นต้น
? ข้อมูลแบบสตริง(string)
ได้แก่กลุ่มของตัวอักขระ(Character) ที่นำนาเขียนเรียงกันอยู่ภายในเครื่องหมาย ‘ ’ และไม่สามารถนำไปคำนวณใดๆได้ ข้อมูลชนิดนี้มีความยาวสูงสุดถึง 255 ตัวอักขระ
หมายเหตุ ในกรณีที่ต้องการให้ข้อความสตริงมีเครื่องหมาย apostrophes(‘) อยู่ด้วยจะต้องใส่เครื่องหมาย apostrophes อีกหนึ่งตัว ติดกับเครื่องหมาย apostrophes ที่ต้องการนอกจากนี้สตริงที่ไม่มีตัวอักขระใดๆ อยู่เลย(‘’) จะเรียกว่า Null string
? ข้อมูลแบบตรรกศาสตร์(boolean)
เป็นข้อมูลที่แสดงถึงการตัดสินใจ ว่าข้อความหรือนิพจน์(Expression)นั้นจริงหรือเท็จ (true or false)ข้อมูลแบบตรรกศาสตร์มีค่าข้อมูลอยู่ 2 แบบ คือ true กับ false ตัวอย่างเช่น
เลขจำนวนเต็ม 10 เป็นเลขคู่ ใช่หรือไม่ คำตอบคือ true
ค่าคงที่(constants)
เป็นค่าคงที่ที่กำหนดข้นมาเพื่อนำไปประมวลผลในโปรแกรม เป็นค่าคงที่ที่ไม่สามารถเปลี่ยนแปลงค่าได้ ข้อมุลของค่าคงที่เป็นได้ทั้งข้อมุลชนิดตัวเลข ตัวอักขระ ตัวอักษร หรือข้อมูลทางตรรกศาสตร์
ประโยชน์ของค่าคงที่
? ในกรณีที่ต้องการใช้ค่าคงที่เดียวกันหลายๆครั้งในโปรแกรม การใช้ค่าคงที่จะทำให้การเขียนโปรแกรมได้ดีและมีข้อผิดพลาดน้อย กะทัดรัดกว่าการเขียนโปรแกรมด้วยการแทนค่าค่าคงที่จริง ในโปรแกรม
? ทำให้ง่ายต่อการแก้ไข เปลี่ยนแปลงค่าคงที่
การเรียกใช้งานค่าคงที่
ในภาษาปาสคาล การใช้ค่าคงที่ในโปรแกรม จะต้องมีการประกาศชื่อค่าคงที่นั้นไว้ก่อนจะเรียกเสมอการประกาศค่าคงที่ ทำได้โดยการใช้คำสั่งดังนี้
รูปแบบ
Const identifier = constant;
? Identifier หมายถึง ชื่อค่าคงที่
? Constant หมายถึง ค่าคงที่
ตัวอย่างการประกาศค่าคงที่
Const fraction = 0.166667;
Title = ’alaska’;
จากตัวอย่างจะมีชื่อค่าคงที่ 2 ชื่อ fraction ซึ่งเก็บค่าคงที่ชนิดตัวเลขจำนวนจริง title เก็บค่าคงที่ชนิดสตริง
ตัวแปร(Variables)
เป็นชื่อ(identifier) ชนิดหนึ่งสำหรับใช้เก็บข้อมูลในการประมวลผลในโปรแกรมที่สามารถเปลี่ยนแปลงค่าได้ตลอดเวลา การประกาศชื่อตัวแปร เป็นการจองเนื้อที่ในหน่วยความจำของเครื่องสำหรับเก็บข้อมูลของตัวแปร การนำข้อมูลมาประมวลผลในการเขียนโปรแกรมจะอ้างถึงตัวแปร แทนการอ้างถึงตำแหน่งของข้อมูลเพื่อให้ได้ข้อมูลที่เก็บไว้ในหน่วยความจำ
เกณฑ์การตั้งชื่อตัวแปร
เป็นการตั้งชื่อ identifier ชนิดหนึ่งดุรายละเอียดจากการตั้งชื่อ identifier
การเรียกใช้งานตัวแปร
ก่อนการเรียนใช้ตัวแปร จะต้องทำการประกาศตัวแปรในส่วนการประกาศก่อนเสมอ โดยมีรูปแบบการประกาศตัวแปรดังนี้
Var identifier : type;
? Identifier หมายถึง ชื่อตัวแปร(Variable name) ที่ใช้สำหรับการเรียกใช้งานในโปรแกรม
? Type หมายถึง ชนิดข้อมูลของตัวแปร ซึ่งอาจเป็น integer real string character หรือ boolean
? ชนิดข้อมูลที่จะเก็บอยู่ในตัวแปรแต่ละตัว ต้องสัมพันธ์กับชนิดของตัวแปรที่ประกาศไว้ในส่วนของ var นี้ด้วย
ในกรณีที่มีตัวแปรหลายตัวที่มีชนิดของข้อมูลแบบเดียวกัน สามารถประกาศตัวแปร ได้อีกแบบดังนี้
Var identifier_1,identifier_2,identiier_3,…,identifier_n :type;
ตัวแปรแต่ล่ะตัวจะถูกคั่นด้วยเครื่องหมาย comma(,)
นิพจน์(Expression)
นิพจน์คือกลุ่มของข้อมูล ซึ่งประกอบด้วยโอเปอแรนด์และโอเปอเรเตอร์ โดยโอเปอแรนด์(operand) ประกอบด้วยตัวแปร ค่าคงที่ 1 ตัวหรือมากกว่า ซึ่งเชื่อมกันโดยสัญลักษณ์ทางการคำนวณหรือเปรียบเทียบที่เรียกว่า โอเปอเรเตอร์(operator)
? นิพจน์ทางคณิตศาสตร์
เป็นนิพจน์ที่ประกอบด้วยโอเปอเรเตอร์ ที่เป็นสัญลักษณ์แสดงความสัมพันธ์การเปรียบเทียบเช่น มากกว่า น้อยกว่า เท่ากับเป็นต้น หรือสัญลักษณ์ทางตรรกศาสตร์ได้แก่ and or not
ประโยคคำสั่งปฏิบัติการ(Executable Statements)
เป็นคำสั่งในโปรแกรมที่สั่งให้คอมพิวเตอร์ปฏิบัติการอย่างใดอย่างนึ่งสามารถแบ่งออกได้เป็นหลายกลุ่มด้วยกันเช่น
? คำสั่งการกำหนดค่า(Assignment Statement)
การกำหนดค่าให้กับตัวแปรใช้เครื่องหมาย := ตัวอย่างเช่น
Alas := 100.00;
Alas2:=0.07*alas;
ข้อสังเกตุ ในภาษาปาสคาลสัญลักษณ์ที่ใช้กำหนดค่าข้อมูลให้กับตัวแปร จะใช้เครื่องหมาย := ไม่ใช่เครื่องหมาย = เหมือนกับภาษาอื่น ยกเว้นส่วนของการกำหนดค่าในส่วนของการประกาศตัวแปร(Declaration) ที่สามารถใช้เครื่องหมาย = ได้เช่น
Const alas=10;
หรือการเปรียบเทียบนิพจน์ทางตรรกศาสตร์ ก็สามารถใช้เครื่องหมาย = ได้เช่นกัน
? คำสั่งการเปรียบเทียบเงื่อนไข(Condition statement)
หมายถึงคำสั่งเปรียบเทียบเงื่อนไขทางตรรกศาสตร์ เพื่อตัดสินใจเลือกการปฏิบัติการอย่างใดอย่างหนึ่งตัวอย่างเช่น
If sex=’m’ then write(‘male’)
Else write(‘female’);
เป็นคำสั่งการเปรียบเทียบเงื่อนไขโดยถ้าค่าข้อมูลที่เก็บอยู่ในตัวแปร sex มีค่าเท่ากับ ‘M’ จะพิมพ์ข้อความ ว่า male แต่ถ้าค่าของข้อมูลเป็น sex มีค่าไม่เท่ากับ ‘M’ female
? คำสั่งการทำซ้ำหรือการวนลูป(Repetitive statement or looping)
เป็นคำสั่งให้มีการทำงานซ้ำๆตามคำสั่งต่างๆภายในลูปตามเงื่อนไขที่กำหนด ตัวอย่างเช่น
Count:=1;
While(count<=100) do
Begin
Writeln(count);
Count:=count+1;
End;
จากตัวอย่างข้างต้น เป็นการใช้คำสั่ง while….do โปรแกรมจะมีขั้นตอนการทำงานดังนี้
1 ตรวจสอบเงื่อนไขเป็นจริงหรือไม่ ในที่นี้ค่าของ count มีค่าเริ่มต้นเท่ากับ 1 ดังนั้น count<=100 จึงจะเป็นจริง
2 ทำงานตามคำสั่งที่อยู่ในลูป(ระหว่าง begin และ end) ซึ่งได้แก่การพิมพ์ค่าตัวแปร count ออกมาทางจอภาพและการเพิ่มค่าตัวแปร count อีก1
3 กลับไปตรวจสอบเงื่อนไข ถ้า count<=100 ก็จะทำงานตามขั้นที่2 จนกว่า count มีค่ามากกว่า 100 จึงสะออกจากลูป
หรือ
count:=1;
Repeat
Writeln(count);
Count:=count+1;
Until count>100;
การใช้คำสั่ง repeat….until การทำงานรอยเหมือนกับ while….do ในตัวอย่างที่แล้ว
? คำสั่งกำหนดลำดับการทำงานของโปรแกรม(goto statement)
เป็นคำสั่งให้เปลี่ยนลำดับการปฏิบัติการไปทำงานที่คำสั่งอื่น โดยไม่มีการตรวจสอบเงื่อนไขใดๆตัวย่างเช่น
Goto loopa
เป็นคำสั่งให้ไปทำคำสั่งถัดไป ณ คำสั่งที่มี label เป็น loopa ซึ่งต้องมีการประกาศ label ไว้ที่ต้นโปรแกรมด้วย
โพรซีเจอร์และฟังก์ชัน
เป็นโปรแกรมย่อยที่เขียนแยกไว้เป็นส่วนหนึ่งของโปรแกรมหลัก เพื่อทำหน้าที่อย่างใดอย่างหนึ่งโดยเฉพาะ ภาษาปาสคาลสามารถสร้างโปรแกรมย่อย 2 ลักษณะ คือ โพรซีเจอร์และฟังก์ชัน ทั้งโพรซีเจอร์และฟังก์ชันสามารถแบ่งอกเป็น 1 โพรซีเจอร์และฟังก์ชันมาตรฐาน(Standard Procedures and Function) และ 2 โพรซีเจอร์และฟังก์ชันที่สร้างขึ้นเอง(Users-defined procedures and functions)
เป็นโปรแกรมย่อยที่เขียนแยกไว้เป็นส่วนหนึ่งของโปรแกรมหลัก เพื่อทำหน้าที่อย่างใดอย่างหนึ่งโดยเฉพาะ ภาษาปาสคาลสามารถสร้างโปรแกรมย่อย 2 ลักษณะ คือ โพรซีเจอร์และฟังก์ชัน ทั้งโพรซีเจอร์และฟังก์ชันสามารถแบ่งอกเป็น 1 โพรซีเจอร์และฟังก์ชันมาตรฐาน(Standard Procedures and Function) และ 2 โพรซีเจอร์และฟังก์ชันที่สร้างขึ้นเอง(Users-defined procedures and functions)
? โพรซีเจอร์และฟังก์ชันมาตรฐาน(Standard procrdures and function)
เป็นโพรซีเจอร์และฟังก์ชันที่ภาษาปาสคาลสร้างมาให้แล้ว ผู้เขียนโปรแกรมสามารถที่จะนำมาใช้ในโปรแกรมได้ทันที ซึ่งไม่สามารถทำการแก้ไขเปี่ยนแปลงได้
เช่น readln(a,c,d);
Writeln(a,b,c);
คำสั่งแรกเป็นคำสั่งรับค่าข้อมูลจากแป้นพิมพ์โดยข้อมูลจะเก็บไว้ที่ตัวแปร a b c ตามลำดับ
คำสั่งที่สองเป็นคำสั่งการพิมพ์ค่าของข้อมูลในตัวแปร a b cตามลำดับ ตัวแปร a b c จะสามารถเรียกได้ว่าเป็นพารามิเตอร์(parameters) ที่ต้องการส่งค่า a b c ให้แก่ โพรซีเจอร์ มาตรฐานคือ readln และ writeln นั่งเอง
? โพรซีเจอร์และฟังก์ชันที่สร้างขึ้นเอง(user-defined Procedure and function)
เป็นโพรซีเจอร์และฟังก์ชันที่ผู้เขียนโปรแกรมเป็นผู้สร้างขึ้นเอง เพื่ออำนวยความสะดวกในการทำงานบางอย่างซึ่งจะสามารถทำการแก้ไขหรือเปลี่ยนแปลงได้
แหล่งอ้างอิง:
http://www.thaigoodview.com/library/teachershow/sakolnakorn/saranya_k/index.html
มีสาระดีนะ
http://www.thaigoodview.com/library/teachershow/sakolnakorn/saranya_k/index.html