• user warning: Table 'cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:21615dd9e752ae0235f588ee0c9ecfef' in /home/tgv/htdocs/includes/cache.inc on line 27.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<!--paging_filter--><div class=\"Section1\">\nภาษาปาสคาล<br />\nประวัติภาษาปาสคาล<br />\n          ภาษาปาสคาลเป็นภาษาชั้นสูง  ที่ถูกพัฒนาขึ้นมาจากภา  Algol-60  โดย  ดร.นิคอส  เวิร์ธ(dr.  Niklaus  Wirth)จากสถาบันเทคโนโลยี  แห่งซูริค  ประเทศสวิสเซอร์แลนด์\n</div>\n<div class=\"Section1\">\nปาสคาล(pascal)  เป็นชื่อที่ได้รับสมญานามจาก  basic  pascal  นักวิทยาศาสตร์  และคณิตศาสตร์ชาวฝรั่งเศษ  ผู้ซึ่งมีชิ่อเสียงในการประดิษฐ์เครื่องจักรที่ใช้ในการคำนวณ  ซึ่งเป็นต้นแบบของคอมพิวเตอร์ในปัจจุบัน\n</div>\n<div class=\"Section1\">\n          จากรูปแบบของภาษาปาสคาลที่มีรากฐานมาจากภาษา  algol-60   นี้ได้มีการปรับปรุงเพิ่มเติมคำสั่งต่างๆเข้าไป  เพื่อพยายามสร้างให้มีความเป็นมาตรฐานที่เรียกว่า  standard  pascal  โดยองค์กรที่เรียกตัวเองว่า  the  international  standard  organization  หรือ  iso  ซึ่งเป็นมาตรฐานทาง้ดานยุโรป  ต่อมาได้มีการสร้างมาตรฐานทางด้านอเมริกัน  โดยกลุ่มของ  amarican  national  standard  institute  หรือ    ANSI  ร่วมมือกับกลุ่ม  the  institute  of  electronical  and  electronic  engineers  หรือ IEEE  ซึ่งมาตรฐานทางด้านอเมริกาจะมีความแตกต่างกันเล็กน้อยกับมาตรฐานทางด้านยุโรป\n</div>\n<div class=\"Section1\">\n          ภาษาปาสคาลสามารถใช้กับเครื่องคอมพิวเตอร์ได้ในหลายระดับตั้งแต่เครื่องระดับเล็กสุดเช่น  แล็ปท็อบ  จนกระทั่งเมมเฟรม  ซึ่งโครงสร้างของภาษาที่ไม่แตกต่างกันมากนัก  สำหรับในเครื่องระดับไม่โครคอมพิวเตอร์ในปัจจุบันจะมีการพัฒนาซอฟต์แวร์ที่ชื่อเรียกว่า  เทอร์โบปาสคาล  เพื่อใช้กับเครื่องระดับไม่โครคอมพิวเตอร์โดยเฉพาะ  ซึ่งมีการเพิ่มเติมเครื่องมือในการใช้งานต่างๆมากมาย  จากปาสคาลมาตรฐาน  ในปัจจุบันมีการพัฒนาเทอร์โบปาสคาล  จากเวอร์ชั่น  1.0  2.0  3.0  4.0  5.0 5.5  6.0  จนกระทั่งมาถึงเวอร์ชั่น  7.0  ในปัจจุบัน  และมีเวอร์ชั่นทำงานบนวินโดว์  3.xx  และวินโดว์  95\n</div>\n<div class=\"Section1\">\nคุณลักษระของภาษาปาสคาล<br />\n          ภาษาปาสคาลเป็นภาษาชั้นสูง(Hight  level  language)  อีกภาษาหนึ่งที่ได้รับความนิยมในการใช้งานมากในปัจจุบัน  รูปแบบของคำสั่งจะมีลักษณะเป็นภาษาอังกฤษ  ทำให้ง่ายต่อการเขียน  และการจดจำ  เช่น  คำสั่ง  read  write  if then  เป็นต้น  นอกจากนี้ตัวโปรแกรมยังมีลักษณะทีเป็นโครงสร้าง(Structure  Programming)      ทำให้ง่ายต่อการศึกษา  ทำความเข้าใจ  หรือการแก้ไขโปรแกรม  และยังเป็นภาษาที่มีใช้ได้ในหลายระบบคอมพิวเตอร์  นอกจากนี้ยังเป็นภาษาที่เหมาะกับงานทุกประเภท  ไม่ว่าจะเป็นงานทางด้านวิทยาศาสตร์การคำนวณที่ซับซ้อน  งานทางด้านการศึกษา  ซึ่งเหมาะกับผู้เริ่มเขียนโปรแกรม\n</div>\n<div class=\"Section1\">\nโครงสร้างของภาษาปาสคาล<br />\n          ก่อนที่จะกล่าวถึงองค์ประกอบพื้นฐานต่างๆของภาษาปาสคาล  จะขอกล่าวถึงโครงสร้างหลักของภาษาปาสคาลก่อน ซึ่งภาษาปาสคาลโดยทั่วจะประกอบด้วยส่วนประกอบหลัก  2  ส่วนคือ  ส่วนหัวโปรแกรม(Programe  Heading)และกลุ่มคำสั่ง(program  block)\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\n          Program  example;                    ส่วนหัวโปรแกรม\n</div>\n<div class=\"Section1\">\n          Var  x.y : integer;\n</div>\n<div class=\"Section1\">\n          Begin\n</div>\n<div class=\"Section1\">\n                   Readln(x,y);                    ส่วนกลุ่มคำสั่ง\n</div>\n<div class=\"Section1\">\n                   Writeln(x,y);\n</div>\n<div class=\"Section1\">\n          End.<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nส่วนหัวของโปรแกรม(Program  heading)\n</div>\n<div class=\"Section1\">\nจะต้องเริ่มต้นด้วยคำว่า  Program  แล้วตามด้วยชื่อของโปรแกรม  ตัวอย่างเช่น\n</div>\n<div class=\"Section1\">\n          Program  alas;  หรือ  Program  alaska;\n</div>\n<div class=\"Section1\">\nถ้าเป็นภาษาปาสคาลมาตรฐาน(Standard  Pascal)   ต้องมีคำว่า  input  และ/หรือ  output  อยู่ภายในวงเล็บหลังชื่อโปรแกรมเพื่อแสดงถึง  Standard  input  และ   Standard  Output  ของระบบคอมพิวเตอร์นั้นๆตัวอย่าง\n</div>\n<div class=\"Section1\">\n          Program  alas(input,output);  หรือ Program  alaska(Output);\n</div>\n<div class=\"Section1\">\nหมายเหตุ  **  ต้องมีเครื่องหมาย  semicolon(;)  เมื่อจบแต่ละประโยคคำสั่ง  เพื่อเป็นการแบ่งแยกประโยคคำสั่งเหล่านั้นออกจากกัน  **\n</div>\n<div class=\"Section1\">\nส่วนกลุ่มคำสั่ง(Program  Block)\n</div>\n<div class=\"Section1\">\n          จะประกอบด้วย  2  ส่วนประกอบหลัก  ได้แก่\n</div>\n<div class=\"Section1\">\n          ส่วนประกาศ(Declarations)\n</div>\n<div class=\"Section1\">\n                   เป็นส่วนที่ใช้กำหนดประเภทของข้อมูลแบบต่างๆเช่น  การประกาศตัวแปร(Variable)  การประกาศค่าคงที่(Constands)หรือชนิดข้อมูล (Data  types)เป็นต้น\n</div>\n<div class=\"Section1\">\nส่วนของคำสั่ง(Exeutable  Statements)\n</div>\n<div class=\"Section1\">\n          เป็นส่วนของประโยคคำสั่ง  ที่มีผลให้การปฏิบัติการอย่างใดอย่างหนึ่ง  ส่วนของคำสั่งนี้มักเป็นส่วนที่อยู่ในขอบเขตของ  Begin และ End\n</div>\n<div class=\"Section1\">\n1 Program  Heading      …………………………………  กำหนดชื่อโปรแกรม\n</div>\n<div class=\"Section1\">\n2 Program  Block  ……………………………………….กลุ่มคำสั่ง\n</div>\n<div class=\"Section1\">\n2.1   declarations ………………………………………..ส่วนประกาศ\n</div>\n<div class=\"Section1\">\n       labels  ……………………………………………..กำหนดชื่อ  ลาเบล\n</div>\n<div class=\"Section1\">\n       Constants ………………………………………….กำหนดตัวคงที่\n</div>\n<div class=\"Section1\">\n       Type  Definitions……………………………………กำหนดแบบข้อมูล\n</div>\n<div class=\"Section1\">\n       Variables…………………………………………...ประกาศตัวแปร\n</div>\n<div class=\"Section1\">\n2.2   procedures  and  Functions…………………………ส่วนโปรแกรมย่อยหรือฟังก์ชัน\n</div>\n<div class=\"Section1\">\n2.3   Begin\n</div>\n<div class=\"Section1\">\n       Executable  Statements ……………………..  ประโยคคำสั่งของโปรแกรมหลัก\n</div>\n<div class=\"Section1\">\n       End.<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nองค์ประกอบพื้นฐานของภาษาปาสคาล<br />\n          ก่อนที่จะเริ่มต้นเขียนโปรแกรมไม่ว่าจะเป็นภาษาใดก็ตาม  ควรจะต้องมีการศึกษาองค์ประกอบพื้นฐานซึ่งถือว่าเป็นหน่วยย่อยที่สุดของภาษาแต่ละภาษานั้น  สำหรับภาษาปาสคาลมีองค์ประกอบพื้นฐานต่างๆที่ควรจะต้องรู้จักก่อนเขียนโปรแกรมกังนี้\n</div>\n<div class=\"Section1\">\n1        ตัวอักขระ(Character)\n</div>\n<div class=\"Section1\">\n2        ชื่อ(Identifiers)\n</div>\n<div class=\"Section1\">\n3        คำสงวน(Reserved  Words)\n</div>\n<div class=\"Section1\">\n4        ชื่อมาตรฐาน(Standard  Identifiers)\n</div>\n<div class=\"Section1\">\n5        ข้อมูลแบบพื้นฐาน(Simple  Data  Types)\n</div>\n<div class=\"Section1\">\n6        ค่าคงที่(Constans)\n</div>\n<div class=\"Section1\">\n7        ตัวแปร(Variables)\n</div>\n<div class=\"Section1\">\n8        นิพจน์(Expressions)\n</div>\n<div class=\"Section1\">\n9        ประโยคคำสั่ง(Statements)\n</div>\n<div class=\"Section1\">\n10   โพรซิเจอร์ละฟังก์ชัน(Procedures  and  Functions)\n</div>\n<div class=\"Section1\">\nตัวอักขระ(Character)\n</div>\n<div class=\"Section1\">\n          หมายถึงสัญลักษณ์ต่างๆที่ไม่สามารถนำไปใช้ในการคำนวณได้แบ่งออกได้เป็น  3  ประเภทคือ\n</div>\n<div class=\"Section1\">\n?        ตัวเลข(numeric)  ได้แก่เลขฐานสิบ  0  ถึง  9\n</div>\n<div class=\"Section1\">\n?        ตัวอักษร(Alphabetic) ได้แก่  ตัวอักษรภาษาอังกฤษ  A ถึง Z\n</div>\n<div class=\"Section1\">\n?        สัญลักษณ์พิเศษ(Special  Symbol)ได้แก่เครื่องหมายทางคณิตศาสตร์  และสัญลักษณ์ต่างๆเช่น\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\n+        .         &lt;       (        [\n</div>\n<div class=\"Section1\">\n-        :         &lt;       )        ]\n</div>\n<div class=\"Section1\">\n*        ;         &gt;       (*      \n</div>\n<div class=\"Section1\">\n/         ,         &gt;       *)\n</div>\n<div class=\"Section1\">\n:=       ‘        &lt;&gt;     {\n</div>\n<div class=\"Section1\">\n=       ^        ..        }\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nหมายเหตุ  1  ในบางระบบคอมพิวเตอร์  อาจใช้เครื่องหมาย  (* และ *)  และ { และ }       ตามลำดับ  หรือ  อาจใช้ (. และ .) แทน [ และ ] ตามลำดับ\n</div>\n<div class=\"Section1\">\n2       สัญลักษณ์พิเศษบางตัวอาจประกอบขึ้นจากสัญลักษณ์พิเศษสองตัวมาประกอบกันเช่น := &lt;= &gt;= &lt;&gt;  เป็นต้น\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nชื่อ(Identifiers)\n</div>\n<div class=\"Section1\">\n          เป็นการกำหนดชื่อต่างๆเช่น  ชื่อค่าคงที่  ชื่อตัวแปร  ชื่อโปรแกรม  ชื่อ ฟังก์ชัน  ชื่อประเภทข้อมูล  ชื่อฟิลด์ในเรคคอร์ด   ชื่อยูนิต  หรือชื่อมาตรฐาน  เพื่อนำไปใช้งานในโปรแกรม  ซึ่งเป็นชื่อที่ผู้เขียนโปรแกรมกำหนดขึ้นมา\n</div>\n<div class=\"Section1\">\nการกำหนดชื่อมีกฎเกณฑ์ดังต่อไปนี้\n</div>\n<div class=\"Section1\">\n?        ประกอบด้วยตัวอักษรตั้งแต่  A ถึง Z  หรือตัวเลขตั้งแต่  0  ถึง  9  ที่ไม่มีสัญลักษณ์พิเศษอื่นๆอยู่\n</div>\n<div class=\"Section1\">\n?        ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ  (ห้ามเป็นตัวเลข)  และตัวถัดไปอาจเป็นตัวเลข  ตัวอักษร  หรือ  เครื่องหมาย  Underscore(_)ก็ได้\n</div>\n<div class=\"Section1\">\n?        ตัวอักษรตัวใหญ่กับเล็กจะถือว่าเหมือนกัน  เช่น  Num  กับ num  จะถือว่าเป็นชื่อเดียวกัน\n</div>\n<div class=\"Section1\">\n?        ชื่อตัวแปรจะมีความยาวได้ไม่เกิน  255  ตัวอักขระ\n</div>\n<div class=\"Section1\">\n?        ชื่อจะต้องไม่เป็นคำสงวน(Reserve  word)เช่น begin end if\n</div>\n<div class=\"Section1\">\nคำสงวน(Reserved  Word)\n</div>\n<div class=\"Section1\">\n          เป็นคำเฉพาะที่ภาษาปาสคาลได้สร้างหรือกำหนดขึ้นมา  เพื่อใช้ในตัวภาษาโดยเฉพาะ  ซึ่งผู้เขียนโปรแกรมไม่สามารถนำไปกำหนดเป็นชื่อ(Identifires) ได้เช่น  begin  ไม่สามารถนำไปกำหนดเป็นตัวแปร  หรือชื่อโปรแกรมได้เป็นต้น\n</div>\n<div class=\"Section1\">\n          ในภาษาปาสคาล  ถ้าเป็นคำสงวน  มักนิยมเขียนด้วยตัวอักษรใหญ่  เพื่อให้มีความแตกต่างจากชื่ออื่นๆ\n</div>\n<div class=\"Section1\">\nตัวอย่างคำสงวน\n</div>\n<div class=\"Section1\">\nAnd   end    nil      set     array  file     not     then   begin  for     of\n</div>\n<div class=\"Section1\">\nTo     case   function       or      type   const goto   packed                  until\n</div>\n<div class=\"Section1\">\nDiv    if        procedure    var     do      in       program       while  downto         \n</div>\n<div class=\"Section1\">\nLabel record         with   else    mod   repeat<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nชื่อมาตรฐาน(Standard  Identifiers)\n</div>\n<div class=\"Section1\">\n          เป็นชื่อที่ภาษาปาสคาลได้สร้างหรือกำหนดขึ้นมาให้มีคุณสมบัติเฉพาะอย่าง  เพื่อให้ผู้เขียนโปรแกรมสามารถนำไปใช้งานได้  โดยชื่อมาตรฐานเหล่านี้อาจเป็นชนิดข้อมูลหรือโพรซีเจอร์หรือฟังก์ชัน  เช่น  integer  คือชื่อมาตรฐานของภาษาปาสคาลที่มีคุณสมบัติคือเป็นชนิดข้อมูลเลขจำนวนเต็ม\n</div>\n<div class=\"Section1\">\nตัวอย่างของชื่อมาตรฐาน\n</div>\n<div class=\"Section1\">\nAbs   false   pack  sin     arctan get     page   sqr     boolean       input\n</div>\n<div class=\"Section1\">\nPred   sqrt    char   integer         put     succ   cos    maxint         readln          true    dispose\n</div>\n<div class=\"Section1\">\nNew   real    trunc  eof     odd    reset   unpack        eoln   ord    rewrite          write\n</div>\n<div class=\"Section1\">\nExp    output          round writeln<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nข้อมูลแบบพื้นฐาน(Simple  Data  types)\n</div>\n<div class=\"Section1\">\n          ภาษาปาสคาลมีข้อมูลพื้นฐานหลายแบบด้วยกัน  ได้แก่  integer  real  character  string  boolean จะได้กล่าวถึงข้อมูลพื้นฐานในแต่ละแบบพอสังเขปก่อนดังนี้\n</div>\n<div class=\"Section1\">\n?        ข้อมูลแบบจำนวนเต็ม(integer)\n</div>\n<div class=\"Section1\">\nหมายถึงตัวเลขที่มีค่าเป็นเลขจำนวนเต็ม  ไม่มีเศษเหลือทศนิยมซึ่งมีค่าได้ตั้งแต่  -32768   ถึง  32767  (สำหรับเครื่องไมโครคอมพิวเตอร์)ได้แก่ \n</div>\n<div class=\"Section1\">\nเลขจำนวนเต็มบวก  เลขจำนวนเต็มลบ  และเลขฐานเต็มศูนย์\n</div>\n<div class=\"Section1\">\n?        ข้อมูลแบบเลขจำนวนจริง(real)\n</div>\n<div class=\"Section1\">\nหมายถึงชุดของตัวเลขที่ประกอบด้วยตัวเลข  จุดทศนิยม  ตัวเลขหลังจุดทศนิยม  รวมทั้งเครื่องหมายบวกหรือลบ\n</div>\n<div class=\"Section1\">\nขอบเขตของเลขจำนวนจริงนี้จะอยู่ที่ค่า  ระหว่าง  1*10-38 และ  1*1038  ซึ่งจะสามารถเขียนเลขจำนวนจริงนี้ให้อยู่ในรูปแบบของเลขยกกำลัง(Exponent)โดยใช้ตัวอักษร  E  เป็นสัญลักษณ์ที่แสดงการคูณ\n</div>\n<div class=\"Section1\">\n?        ข้อมูลแบบอักขระ(Character)\n</div>\n<div class=\"Section1\">\nได้แก่ตัวอักขระเพียง  1  ตัว  ที่อยู่ภายในเครื่องหมาย  Single  Quote หรือ  apostrophes(‘’)  ซึ่งอาจเป็นตัวอักษร หรือตัวเลขหรือสัญลักษณ์พิเศษต่างๆและเป็นข้อมูลที่ไม่สามารถนำไปคำนวณไดๆได้  เช่น  ‘A’ ‘2’  ‘*’ ‘*’ เป็นต้น\n</div>\n<div class=\"Section1\">\n?        ข้อมูลแบบสตริง(string)\n</div>\n<div class=\"Section1\">\nได้แก่กลุ่มของตัวอักขระ(Character)  ที่นำนาเขียนเรียงกันอยู่ภายในเครื่องหมาย ‘ ’ และไม่สามารถนำไปคำนวณใดๆได้  ข้อมูลชนิดนี้มีความยาวสูงสุดถึง  255  ตัวอักขระ\n</div>\n<div class=\"Section1\">\nหมายเหตุ  ในกรณีที่ต้องการให้ข้อความสตริงมีเครื่องหมาย  apostrophes(‘)  อยู่ด้วยจะต้องใส่เครื่องหมาย   apostrophes อีกหนึ่งตัว  ติดกับเครื่องหมาย  apostrophes  ที่ต้องการนอกจากนี้สตริงที่ไม่มีตัวอักขระใดๆ  อยู่เลย(‘’)  จะเรียกว่า  Null string\n</div>\n<div class=\"Section1\">\n?        ข้อมูลแบบตรรกศาสตร์(boolean)\n</div>\n<div class=\"Section1\">\nเป็นข้อมูลที่แสดงถึงการตัดสินใจ  ว่าข้อความหรือนิพจน์(Expression)นั้นจริงหรือเท็จ (true or false)ข้อมูลแบบตรรกศาสตร์มีค่าข้อมูลอยู่  2  แบบ คือ  true กับ  false   ตัวอย่างเช่น\n</div>\n<div class=\"Section1\">\n     เลขจำนวนเต็ม  10  เป็นเลขคู่  ใช่หรือไม่  คำตอบคือ  true\n</div>\n<div class=\"Section1\">\nค่าคงที่(constants)\n</div>\n<div class=\"Section1\">\n          เป็นค่าคงที่ที่กำหนดข้นมาเพื่อนำไปประมวลผลในโปรแกรม  เป็นค่าคงที่ที่ไม่สามารถเปลี่ยนแปลงค่าได้  ข้อมุลของค่าคงที่เป็นได้ทั้งข้อมุลชนิดตัวเลข  ตัวอักขระ   ตัวอักษร หรือข้อมูลทางตรรกศาสตร์\n</div>\n<div class=\"Section1\">\n          ประโยชน์ของค่าคงที่\n</div>\n<div class=\"Section1\">\n?        ในกรณีที่ต้องการใช้ค่าคงที่เดียวกันหลายๆครั้งในโปรแกรม การใช้ค่าคงที่จะทำให้การเขียนโปรแกรมได้ดีและมีข้อผิดพลาดน้อย  กะทัดรัดกว่าการเขียนโปรแกรมด้วยการแทนค่าค่าคงที่จริง  ในโปรแกรม\n</div>\n<div class=\"Section1\">\n?        ทำให้ง่ายต่อการแก้ไข  เปลี่ยนแปลงค่าคงที่\n</div>\n<div class=\"Section1\">\nการเรียกใช้งานค่าคงที่\n</div>\n<div class=\"Section1\">\n          ในภาษาปาสคาล  การใช้ค่าคงที่ในโปรแกรม  จะต้องมีการประกาศชื่อค่าคงที่นั้นไว้ก่อนจะเรียกเสมอการประกาศค่าคงที่  ทำได้โดยการใช้คำสั่งดังนี้\n</div>\n<div class=\"Section1\">\nรูปแบบ\n</div>\n<div class=\"Section1\">\nConst           identifier  =  constant;<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\n?        Identifier  หมายถึง  ชื่อค่าคงที่\n</div>\n<div class=\"Section1\">\n?        Constant  หมายถึง  ค่าคงที่\n</div>\n<div class=\"Section1\">\nตัวอย่างการประกาศค่าคงที่\n</div>\n<div class=\"Section1\">\n                   Const  fraction = 0.166667;\n</div>\n<div class=\"Section1\">\n                             Title = ’alaska’;\n</div>\n<div class=\"Section1\">\nจากตัวอย่างจะมีชื่อค่าคงที่  2 ชื่อ  fraction  ซึ่งเก็บค่าคงที่ชนิดตัวเลขจำนวนจริง  title  เก็บค่าคงที่ชนิดสตริง\n</div>\n<div class=\"Section1\">\nตัวแปร(Variables)\n</div>\n<div class=\"Section1\">\n          เป็นชื่อ(identifier) ชนิดหนึ่งสำหรับใช้เก็บข้อมูลในการประมวลผลในโปรแกรมที่สามารถเปลี่ยนแปลงค่าได้ตลอดเวลา  การประกาศชื่อตัวแปร  เป็นการจองเนื้อที่ในหน่วยความจำของเครื่องสำหรับเก็บข้อมูลของตัวแปร  การนำข้อมูลมาประมวลผลในการเขียนโปรแกรมจะอ้างถึงตัวแปร  แทนการอ้างถึงตำแหน่งของข้อมูลเพื่อให้ได้ข้อมูลที่เก็บไว้ในหน่วยความจำ\n</div>\n<div class=\"Section1\">\n          เกณฑ์การตั้งชื่อตัวแปร\n</div>\n<div class=\"Section1\">\n          เป็นการตั้งชื่อ  identifier  ชนิดหนึ่งดุรายละเอียดจากการตั้งชื่อ  identifier\n</div>\n<div class=\"Section1\">\nการเรียกใช้งานตัวแปร\n</div>\n<div class=\"Section1\">\n          ก่อนการเรียนใช้ตัวแปร  จะต้องทำการประกาศตัวแปรในส่วนการประกาศก่อนเสมอ  โดยมีรูปแบบการประกาศตัวแปรดังนี้\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nVar  identifier : type;<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\n?        Identifier  หมายถึง ชื่อตัวแปร(Variable name)  ที่ใช้สำหรับการเรียกใช้งานในโปรแกรม\n</div>\n<div class=\"Section1\">\n?        Type  หมายถึง  ชนิดข้อมูลของตัวแปร  ซึ่งอาจเป็น  integer  real  string  character หรือ boolean\n</div>\n<div class=\"Section1\">\n?        ชนิดข้อมูลที่จะเก็บอยู่ในตัวแปรแต่ละตัว  ต้องสัมพันธ์กับชนิดของตัวแปรที่ประกาศไว้ในส่วนของ var   นี้ด้วย\n</div>\n<div class=\"Section1\">\nในกรณีที่มีตัวแปรหลายตัวที่มีชนิดของข้อมูลแบบเดียวกัน  สามารถประกาศตัวแปร  ได้อีกแบบดังนี้\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nVar  identifier_1,identifier_2,identiier_3,…,identifier_n :type;<br />\n \n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nตัวแปรแต่ล่ะตัวจะถูกคั่นด้วยเครื่องหมาย  comma(,)\n</div>\n<div class=\"Section1\">\nนิพจน์(Expression)\n</div>\n<div class=\"Section1\">\n          นิพจน์คือกลุ่มของข้อมูล  ซึ่งประกอบด้วยโอเปอแรนด์และโอเปอเรเตอร์  โดยโอเปอแรนด์(operand)  ประกอบด้วยตัวแปร  ค่าคงที่  1  ตัวหรือมากกว่า  ซึ่งเชื่อมกันโดยสัญลักษณ์ทางการคำนวณหรือเปรียบเทียบที่เรียกว่า  โอเปอเรเตอร์(operator)\n</div>\n<div class=\"Section1\">\n?        นิพจน์ทางคณิตศาสตร์\n</div>\n<div class=\"Section1\">\nเป็นนิพจน์ที่ประกอบด้วยโอเปอเรเตอร์  ที่เป็นสัญลักษณ์แสดงความสัมพันธ์การเปรียบเทียบเช่น  มากกว่า  น้อยกว่า  เท่ากับเป็นต้น  หรือสัญลักษณ์ทางตรรกศาสตร์ได้แก่  and  or  not\n</div>\n<div class=\"Section1\">\nประโยคคำสั่งปฏิบัติการ(Executable  Statements)\n</div>\n<div class=\"Section1\">\n          เป็นคำสั่งในโปรแกรมที่สั่งให้คอมพิวเตอร์ปฏิบัติการอย่างใดอย่างนึ่งสามารถแบ่งออกได้เป็นหลายกลุ่มด้วยกันเช่น\n</div>\n<div class=\"Section1\">\n?        คำสั่งการกำหนดค่า(Assignment  Statement)\n</div>\n<div class=\"Section1\">\nการกำหนดค่าให้กับตัวแปรใช้เครื่องหมาย  :=  ตัวอย่างเช่น \n</div>\n<div class=\"Section1\">\nAlas := 100.00;\n</div>\n<div class=\"Section1\">\nAlas2:=0.07*alas;\n</div>\n<div class=\"Section1\">\n</div>\n<div class=\"Section1\">\nข้อสังเกตุ  ในภาษาปาสคาลสัญลักษณ์ที่ใช้กำหนดค่าข้อมูลให้กับตัวแปร  จะใช้เครื่องหมาย := ไม่ใช่เครื่องหมาย =  เหมือนกับภาษาอื่น  ยกเว้นส่วนของการกำหนดค่าในส่วนของการประกาศตัวแปร(Declaration) ที่สามารถใช้เครื่องหมาย  = ได้เช่น\n</div>\n<div class=\"Section1\">\n Const  alas=10;\n</div>\n<div class=\"Section1\">\nหรือการเปรียบเทียบนิพจน์ทางตรรกศาสตร์  ก็สามารถใช้เครื่องหมาย  =  ได้เช่นกัน\n</div>\n<div class=\"Section1\">\n?        คำสั่งการเปรียบเทียบเงื่อนไข(Condition  statement)\n</div>\n<div class=\"Section1\">\nหมายถึงคำสั่งเปรียบเทียบเงื่อนไขทางตรรกศาสตร์  เพื่อตัดสินใจเลือกการปฏิบัติการอย่างใดอย่างหนึ่งตัวอย่างเช่น\n</div>\n<div class=\"Section1\">\nIf  sex=’m’ then write(‘male’)\n</div>\n<div class=\"Section1\">\nElse write(‘female’);\n</div>\n<div class=\"Section1\">\nเป็นคำสั่งการเปรียบเทียบเงื่อนไขโดยถ้าค่าข้อมูลที่เก็บอยู่ในตัวแปร  sex  มีค่าเท่ากับ  ‘M’  จะพิมพ์ข้อความ  ว่า male  แต่ถ้าค่าของข้อมูลเป็น sex  มีค่าไม่เท่ากับ  ‘M’   female\n</div>\n<div class=\"Section1\">\n?        คำสั่งการทำซ้ำหรือการวนลูป(Repetitive  statement  or  looping)\n</div>\n<div class=\"Section1\">\nเป็นคำสั่งให้มีการทำงานซ้ำๆตามคำสั่งต่างๆภายในลูปตามเงื่อนไขที่กำหนด  ตัวอย่างเช่น\n</div>\n<div class=\"Section1\">\nCount:=1;\n</div>\n<div class=\"Section1\">\nWhile(count&lt;=100) do\n</div>\n<div class=\"Section1\">\nBegin\n</div>\n<div class=\"Section1\">\nWriteln(count);\n</div>\n<div class=\"Section1\">\nCount:=count+1;\n</div>\n<div class=\"Section1\">\nEnd;\n</div>\n<div class=\"Section1\">\n          จากตัวอย่างข้างต้น  เป็นการใช้คำสั่ง  while….do โปรแกรมจะมีขั้นตอนการทำงานดังนี้\n</div>\n<div class=\"Section1\">\n1        ตรวจสอบเงื่อนไขเป็นจริงหรือไม่  ในที่นี้ค่าของ count  มีค่าเริ่มต้นเท่ากับ  1  ดังนั้น  count&lt;=100  จึงจะเป็นจริง\n</div>\n<div class=\"Section1\">\n2        ทำงานตามคำสั่งที่อยู่ในลูป(ระหว่าง  begin และ  end)  ซึ่งได้แก่การพิมพ์ค่าตัวแปร  count  ออกมาทางจอภาพและการเพิ่มค่าตัวแปร  count  อีก1\n</div>\n<div class=\"Section1\">\n3        กลับไปตรวจสอบเงื่อนไข  ถ้า  count&lt;=100  ก็จะทำงานตามขั้นที่2  จนกว่า  count  มีค่ามากกว่า  100  จึงสะออกจากลูป\n</div>\n<div class=\"Section1\">\nหรือ\n</div>\n<div class=\"Section1\">\n              count:=1;\n</div>\n<div class=\"Section1\">\nRepeat\n</div>\n<div class=\"Section1\">\nWriteln(count);\n</div>\n<div class=\"Section1\">\nCount:=count+1;\n</div>\n<div class=\"Section1\">\nUntil  count&gt;100;\n</div>\n<div class=\"Section1\">\nการใช้คำสั่ง  repeat….until  การทำงานรอยเหมือนกับ  while….do  ในตัวอย่างที่แล้ว\n</div>\n<div class=\"Section1\">\n?        คำสั่งกำหนดลำดับการทำงานของโปรแกรม(goto  statement)\n</div>\n<div class=\"Section1\">\nเป็นคำสั่งให้เปลี่ยนลำดับการปฏิบัติการไปทำงานที่คำสั่งอื่น  โดยไม่มีการตรวจสอบเงื่อนไขใดๆตัวย่างเช่น\n</div>\n<div class=\"Section1\">\nGoto  loopa\n</div>\n<div class=\"Section1\">\nเป็นคำสั่งให้ไปทำคำสั่งถัดไป  ณ  คำสั่งที่มี  label  เป็น  loopa  ซึ่งต้องมีการประกาศ  label  ไว้ที่ต้นโปรแกรมด้วย\n</div>\n<div class=\"Section1\">\nโพรซีเจอร์และฟังก์ชัน <br />\n          เป็นโปรแกรมย่อยที่เขียนแยกไว้เป็นส่วนหนึ่งของโปรแกรมหลัก  เพื่อทำหน้าที่อย่างใดอย่างหนึ่งโดยเฉพาะ  ภาษาปาสคาลสามารถสร้างโปรแกรมย่อย  2  ลักษณะ  คือ  โพรซีเจอร์และฟังก์ชัน  ทั้งโพรซีเจอร์และฟังก์ชันสามารถแบ่งอกเป็น 1 โพรซีเจอร์และฟังก์ชันมาตรฐาน(Standard  Procedures  and  Function) และ 2 โพรซีเจอร์และฟังก์ชันที่สร้างขึ้นเอง(Users-defined  procedures  and  functions)\n</div>\n<div class=\"Section1\">\n?        โพรซีเจอร์และฟังก์ชันมาตรฐาน(Standard  procrdures  and  function)\n</div>\n<div class=\"Section1\">\nเป็นโพรซีเจอร์และฟังก์ชันที่ภาษาปาสคาลสร้างมาให้แล้ว  ผู้เขียนโปรแกรมสามารถที่จะนำมาใช้ในโปรแกรมได้ทันที ซึ่งไม่สามารถทำการแก้ไขเปี่ยนแปลงได้\n</div>\n<div class=\"Section1\">\nเช่น  readln(a,c,d);\n</div>\n<div class=\"Section1\">\n Writeln(a,b,c);\n</div>\n<div class=\"Section1\">\nคำสั่งแรกเป็นคำสั่งรับค่าข้อมูลจากแป้นพิมพ์โดยข้อมูลจะเก็บไว้ที่ตัวแปร  a b c ตามลำดับ\n</div>\n<div class=\"Section1\">\nคำสั่งที่สองเป็นคำสั่งการพิมพ์ค่าของข้อมูลในตัวแปร  a b cตามลำดับ  ตัวแปร a b c จะสามารถเรียกได้ว่าเป็นพารามิเตอร์(parameters) ที่ต้องการส่งค่า  a b c ให้แก่  โพรซีเจอร์  มาตรฐานคือ  readln  และ  writeln นั่งเอง\n</div>\n<div class=\"Section1\">\n?        โพรซีเจอร์และฟังก์ชันที่สร้างขึ้นเอง(user-defined  Procedure  and  function)\n</div>\n<div class=\"Section1\">\nเป็นโพรซีเจอร์และฟังก์ชันที่ผู้เขียนโปรแกรมเป็นผู้สร้างขึ้นเอง  เพื่ออำนวยความสะดวกในการทำงานบางอย่างซึ่งจะสามารถทำการแก้ไขหรือเปลี่ยนแปลงได้\n</div>\n<div class=\"Section1\">\n<img border=\"0\" width=\"1\" src=\"/\" height=\"1\" />\n</div>\n', created = 1718138142, expire = 1718224542, headers = '', serialized = 0 WHERE cid = '3:21615dd9e752ae0235f588ee0c9ecfef' in /home/tgv/htdocs/includes/cache.inc on line 112.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:24f706adb37e76ede5b1eadd402a094e' in /home/tgv/htdocs/includes/cache.inc on line 27.
  • user warning: Table 'cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<!--paging_filter--><p>\nมีสาระดีนะ\n</p>\n<p>\n <a href=\"/library/teachershow/sakolnakorn/saranya_k/index.html\">http://www.thaigoodview.com/library/teachershow/sakolnakorn/saranya_k/index.html</a>\n</p>\n', created = 1718138142, expire = 1718224542, headers = '', serialized = 0 WHERE cid = '3:24f706adb37e76ede5b1eadd402a094e' in /home/tgv/htdocs/includes/cache.inc on line 112.

ภาษาปาสคาล

รูปภาพของ vku11321
ภาษาปาสคาล
ประวัติภาษาปาสคาล
          ภาษาปาสคาลเป็นภาษาชั้นสูง  ที่ถูกพัฒนาขึ้นมาจากภา  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)      ทำให้ง่ายต่อการศึกษา  ทำความเข้าใจ  หรือการแก้ไขโปรแกรม  และยังเป็นภาษาที่มีใช้ได้ในหลายระบบคอมพิวเตอร์  นอกจากนี้ยังเป็นภาษาที่เหมาะกับงานทุกประเภท  ไม่ว่าจะเป็นงานทางด้านวิทยาศาสตร์การคำนวณที่ซับซ้อน  งานทางด้านการศึกษา  ซึ่งเหมาะกับผู้เริ่มเขียนโปรแกรม
โครงสร้างของภาษาปาสคาล
          ก่อนที่จะกล่าวถึงองค์ประกอบพื้นฐานต่างๆของภาษาปาสคาล  จะขอกล่าวถึงโครงสร้างหลักของภาษาปาสคาลก่อน ซึ่งภาษาปาสคาลโดยทั่วจะประกอบด้วยส่วนประกอบหลัก  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)
?        โพรซีเจอร์และฟังก์ชันมาตรฐาน(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)
เป็นโพรซีเจอร์และฟังก์ชันที่ผู้เขียนโปรแกรมเป็นผู้สร้างขึ้นเอง  เพื่ออำนวยความสะดวกในการทำงานบางอย่างซึ่งจะสามารถทำการแก้ไขหรือเปลี่ยนแปลงได้
รูปภาพของ vku11321

มีสาระดีนะ

 http://www.thaigoodview.com/library/teachershow/sakolnakorn/saranya_k/index.html

มหาวิทยาลัยศรีปทุม ผู้ใหญ่ใจดี
 

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

ช่วยกันนะครับ 
ไทยกู๊ดวิวจะได้อยู่นานๆ 
ไม่ถูกปิดเสียก่อน

ขอขอบคุณในความร่วมมือครับ

อ่านรายละเอียด

ด่วน...... ขณะนี้
พระราชบัญญัติลิขสิทธิ์ (ฉบับที่ 2) พ.ศ. 2558 
มีผลบังคับใช้แล้ว 
ขอให้นักเรียนและคุณครูที่ใช้งาน
เว็บ thaigoodview ในการส่งการบ้าน
ระมัดระวังการละเมิดลิขสิทธิ์ด้วย
อ่านรายละเอียดที่นี่ครับ

 

สมาชิกที่ออนไลน์

ขณะนี้มี สมาชิก 0 คน และ ผู้เยี่ยมชม 651 คน กำลังออนไลน์