การเขียนโปรแกรมภาษา PASCAL

            
               รูปแบบ :   
          case นิพจน์ of (*the case expression*)   
               มูลค่าที่ 1 : การทำงาน;   
               มูลค่าที่ 2 : การทำงาน; (*รายชื่อค่าคงตัว*)   
               มูลค่าที่ 3 , มูลค่าที่ 4 , มูลค่าที่ 5 : การทำงาน;   
               มูลค่าที่ N : การทำงาน   
          end;   
ข้อความบรรทัดแรก ของข้อความสั่ง case  ประกอบด้วยนิพจน์ case ที่มีค่าเป็นแบบอันดับ และข้อความในบรรทัดต่อมา คือรายชื่อของค่าคงตัว และคำสั่งที่จะทำงานตามค่าของค่าคงตัว (constant) นอกจากนี้คำสั่ง case จบลงด้วย end เสมอ   

ตัวอย่าง 4-2 โปรแกรมแสดงการทำงาน ของข้อความสั่ง case 
การใช้ข้อความสั่ง case  ในโปรแกรม Election การดำเนินงานของคำสั่ง case ขึ้นกับค่าของปี ที่กำหนดให้ ถึงแม้ในข้อความสั่ง case ประกอบด้วย คำสั่ง ที่เขียนผลลัพธ์ 4 คำสั่ง แต่จะมีเพียงข้อความสั่งเดียวเท่านั้นที่ปฏิบัติงานแล้วเขียนผลลัพธ์ทางหน่วยส่งผลออก

     program election (input, output);   
     (*determine how close an election year is*)   
     VAR   
          year : integer;   
     begin   
          writeln ('What year is this?');   
          readln (year);   
          case (year mod 4) of   
               0 : writeln ('This is an election year.');   
               1 : writeln ('Last year was an election year.');   
               2 : writeln ('The election was two years ago.');   
               3 : writeln ('The election will be next year.')   
          end (*the case structure*)   
     end. (*Election*)   

ผลลัพธ์ที่จอภาพ   
     What year is this?   
     1989   
     Last year was an election year .   

4.3 ข้อความสั่งประเภทวนซ้ำ (Loop หรือ Repeating) 
          แบ่งออกเป็น 3 ประเภท คือ   
          1. ข้อความสั่ง FOR   
          2. ข้อความสั่ง REPEAT UNTIL   
          3. ข้อความสั่ง WHILE DO   

4.3.1ข้อความสั่ง FOR (FOR Statement) 
เป็นข้อความสั่งให้คอมพิวเตอร์ ทำงานซ้ำกันตามจำนวนครั้งที่กำหนดไว้ในข้อความสั่ง for ตัวแปรที่ควบคุมข้อความสั่ง for เรียกว่า ตัวแปรนับจำนวน (counter variable) ต้องเป็นตัวแปรชนิดอันดับ ได้แก่ ตัวแปรเลขจำนวนเต็ม (integer) ตัวอักขระ (character) ตรรกวิทยา (boolean) อีนิวเมอเรท (enumerate) และพิสัยย่อย (sub range) 
รูปแบบ :   
          FOR  ตัวแปรนับจำนวน := ค่าเริ่มต้น TO ค่าสุดท้าย DO การทำงาน (action)   
เมื่อโปรแกรมเริ่มดำเนินงาน ที่ข้อความสั่ง FOR ตัวแปรนับจำนวน ได้รับค่าของค่าเริ่มต้น ค่าของตัวแปรนับจำนวนจะเพิ่มขึ้นครั้งละ 1 หลังจากมีการวนรอบครบ 1 ครั้ง ค่าของตัวแปรนับจำนวนจะเพิ่มขึ้นเรื่อยๆ จนกระทั่ง มีค่าเท่ากับค่าสุดท้ายที่กำหนดไว้ใน for และข้อความสั่งวนซ้ำ (loop) จะมีการทำงานเป็นครั้งสุดท้าย เมื่อวนซ้ำจบลงแล้ว โปรแกรมเริ่มทำงานที่ข้อความสั่งถัดไป จากวนซ้ำ for  (ดูรูปที่ 1-4) 
ในกรณีที่ค่าเริ่มต้นมีค่ามากกว่าค่าสุดท้าย ใช้ downto แทนที่ to 
รูปแบบ :   
          FOR  ตัวแปรนับจำนวน := ค่าเริ่มต้น DOWNTO ค่าสุดท้าย DO การทำงาน   
กรณีนี้การทำงาน คือข้อความสั่งต่างๆในภาษาปาสกาล ซึ่งอาจจะเป็น   
          1. ข้อความสั่งกำหนดค่า (assignment statement)   
          2. การเรียกกระบวนงาน (procedure call)   
          3. ข้อความสั่งแบบโครงสร้าง (structured statement)   
          4.ข้อความสั่งว่างเปล่า (empty statement)   
          5. ข้อความสั่งประกอบ (compound statement)   

ตัวอย่าง 4-3    โปรแกรม Alphabet แสดงว่าสามารถ ใช้ตัวแปรนับจำนวนที่เป็นตัวอักขระได้ 
     PROGRAM Alphabet (output);   
     (*prints the alphabet forward and backward*)   
     VAR   
          countercharacter : char;   
     BEGIN   
          FOR countercharacter := 'A' TO 'Z'   
               DO write (countercharacter);   
          writeln;   
          FOR countercharacter := 'Z' DOWNTO 'A'   
               do write (countercharacter);   
          writeln   
     END.   

ผลลัพธ์   
     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z   
     Z Y X W V U T S R Q P O N M L K J I H G F E D C B A   

4.3.2  ข้อความสั่ง Repeat (Repeat Command) 
เป็นข้อความสั่ง ที่กำหนดให้มีการวนซ้ำ แต่ละครั้งที่มีการวนซ้ำ และบ่วงนั้นดำเนินการเสร็จเรียบร้อยแล้ว จะมี่การทดสอบนิพจน์ทางตรรกวิทยา ที่เรียกว่าเงื่อนไขจบวนซ้ำ (exit condition) ถ้าเงื่อนไขไม่เป็นจริง การวนซ้ำนี้สิ้นสุดลง และโปรแกรมไปทำงานที่ข้อความสั่งบรรทัดต่อไป   
รูปแบบ   
          repeat   
              การทำงาน   
          until นิพจน์ทางตรรกวิทยา;(*exit condition*)   
การทำงานของข้อความสั่ง repeat ดำเนินไป จนเสร็จสิ้นวนซ้ำทุกครั้ง ถ้าเงื่อนไขจบการทำงานเป็นจริง ขณะที่โปรแกรมกำลังดำเนินงานภายในวนซ้ำ โปรแกรมไม่ออกจากการวนโดยทันที เพราะลักษณะของข้อความสั่ง repeat ต้องมีการทำงานจนจบการวนซ้ำทุกครั้ง และไม่สามารถออกจากวนซ้ำที่กำลังทำงานอยู่ได้ การเลิกวนซ้ำนั้น ทำได้หลังจากที่โปรแกรมทำงานครบ 1 รอบแล้วมีการทดสอบเงื่อนไขจบการทำงานซึ่งให้ผลเป็นค่าจริง ลักษณะของ repeat until เป็นข้อความสั่งประกอบดังนั้น ข้อความสั่ง begin และ end ไม่จำเป็นสำหรับข้อความสั่ง repeat 

TOP