วันจันทร์ที่ 19 กันยายน พ.ศ. 2554

การนำข้อมูลออก(Write, WriteLn Statement)

การนำข้อมูลออก(Write, WriteLn Statement)
หลักการนำข้อมูลออกของคอมพิวเตอร์
                ในการประมวลผลข้อมูลของคอมพิวเตอร์ จะมีการนำข้อมูลเข้าไปในหน่วยความจำก่อน ต่อจากนั้นจะมีการเคลื่อนย้ายข้อมูลเข้าและออกระหว่างหน่วยความจำกับหน่วยประมวลผลกลาง (CPU) เพื่อทำการประมวลผลตามคำสั่งจากโปรแกรม ข้อมูลและผลลัพธ์ที่ได้จะคงถูกเก็บอยู่ในหน่วยความจำเช่นเดิม ข้อมูลเหล่านี้จะหายไปเมื่อคอมพิวเตอร์หยุดทำงาน หรือเมื่อมีโปรแกรมอื่นเข้ามาแทน ตามปกติโปรแกรมส่วนใหญ่มักจะมีการสั่งให้นำข้อมูลออกจากหน่วยความจำเสมอ ซึ่งอาจจะเพื่อแสดงที่จอภาพ พิมพ์ที่เครื่องพิมพ์ บันทึกไว้ในดิสก์ ส่งเสียงที่ลำโพง เป็นต้น
                ในภาษาปาสคาล มีวิธีนำข้อมูลออกจากหน่วยความจำโดยใช้คำสั่ง Write หรือ WirteLn (Wirte-Line)
รูปแบบของ Write และ WriteLn
           คำสั่ง Write และ WirteLn มีรูปแบบดังนี้

              Write(OUTPUT, item1, item2,…..,itemN)
              WriteLn(OUTPUT, item1, item2,…..,itemN)





               จากรูปแบบข้างต้นมีความหมายดังต่อไปนี้
1.              OUTPUT หมายถึง ตัวแปรที่เป็นชื่อของอุปกรณ์เอาต์พุตของคอมพิวเตอร์ซึ่งอาจจะเป็นจอภาพ เครื่องพิมพ์ พล็อตเตอร์ ดิสก์ ลำโพง หรืออื่น ๆ ถ้าส่วนนี้ไม่ระบุตัวแปรเอาไว้ แสดงว่าให้แสดงที่จอภาพ
2.              Item1, …… , itemN คือข้อมูลต่าง ๆ ที่นำออกตั้งแต่รายการที่ 1 ถึงรายการที่ N แต่ละรายการจะคั่นด้วยเครื่องหมาย , ข้อมูลแต่ละรายการจะถูกนำออกเรียงตามลำดับจากรายการแรกถึงรายการสุดท้าย ถ้าเป็นการแสดงที่จอภาพ รายการข้อมูลจะเรียงอยู่ในแถวเดียวกัน
3.              ข้อมูลแต่ละรายการ (item) อาจจะมีคุณสมบัติดังต่อไปนี้
8 เป็นสตริง (string) คือข้อมูลที่อยู่ในเครื่องหมาย '   ' เช่น 'HI'  '4+5 = '
8 เป็นตัวแปร เช่น CarnName TotalAmount Done
8 เป็นการคำนวณ เช่น 4 + 5 (ซึ่งจะได้ผลลัพธ์เป็น 9) Value1 + Value2 (จะได้ผลลัพธ์เท่ากับผลบวกของค่าที่อยู่ใน Value1 และ Value2 )
4.              สำหรับที่จอภาพ WriteLn เมื่อแสดงข้อมูลที่มีใน (  ) หมดแล้ว เคอร์เซอร์จะเลื่อนลงมาอยู่ที่คอลัมน์ที่ 1 ของแถวล่างที่อยู่ถัดลงมา ส่วน Write เคอร์เซอร์จะอยู่ตอนท้ายของแถวเดิม
ตัวอย่างที่ 1  คำสั่ง Write (' 4 + 5 = ', 4 +5 )
                                            การแสดงผลที่จอภาพ 4 + 5 = 9 o (ตำแหน่งเคอร์เซอร์)
      ตัวอย่างที่ 2  คำสั่ง WriteLn (' 4 + 5 = ', 4 +5 )
                                 การแสดงผลที่จอภาพ 4 + 5 = 9
                         o (ตำแหน่งเคอร์เซอร์)
5.              สำหรับ WriteLn ที่ไม่มี (  ) ต่อท้าย หมายถึง การเลื่อนเคอร์เซอร์ลงมาอยู่ที่คอลัมน์ที่ 1 ของล่างที่อยู่ถัดลงมา โดยไม่มีการแสดงข้อใด ๆ
ตัวอย่างที่ 3  คำสั่ง WriteLn
                                            การแสดงผลที่จอภาพ
                                                                                                o (ตำแหน่งเคอร์เซอร์)

การกำหนดตำแหน่งแสดงข้อมูลที่จอภาพ

                จากโปรแกรมที่ผ่านมาจะเห็นได้ว่า คอมพิวเตอร์จะแสดงข้อมูลเริ่มจากทางด้านซ้ายสุดของจอภาพและเรียงลำดับไปทางขวาเสมอ ในกรณีที่เราต้องการจัดตำแหน่งแสดงข้อมูลให้แตกต่าง ไปจากนี้สามารถทำได้ โดยปาสคาลกำหนดรูปแบบไว้ดังนี้
Text Box: Write(item : ค่าความยาวของ item, item2,…..,itemN)
WriteLn(item : ค่าความยาวของ item, item2,…..,itemN)

                ข้อมูลที่ไม่มีทศนิยม มีรูปแบบดังนี้


ตัวอย่าง WriteLn ('Pascal' : 20);
                สตริง Pascal ถูกกำหนดให้มีความยาว 20 ตัวอักษร ซึ่งจำนวนที่แท้จริงคือ 6 ตัวอักษร ดั้งนั้นคอมพิวเตอร์จะเติมเครื่องหมายวรรคเข้าข้างหน้าคำ Pascal อีก 14 ตัวเพื่อให้ครบ 20 ตัวอักษร แล้วแสดงข้อมูลโดยกำหนดตำแหน่งต่าง ๆ ดังนี้
                                อักษร     l               อยู่ตำแหน่ง          20           นับจากทางซ้ายของจอภาพ
                                                a              อยู่ตำแหน่ง          19           นับจากทางซ้ายของจอภาพ
                                                c              อยู่ตำแหน่ง          18           นับจากทางซ้ายของจอภาพ
                                                P              อยู่ตำแหน่ง          15           นับจากทางซ้ายของจอภาพ
Text Box: Write(item : ค่าความยาวของ item : จำนวนตำแหน่งทศนิยม, item2,….., itemN)
WriteLn(item : ค่าความยาวของ item : จำนวนตำแหน่งทศนิยม, item2,….., itemN)

                ข้อมูลที่มีทศนิยม มีรูปแบบดังนี้

ตัวอย่าง WriteLn(123.456789 :9:2);
                ในที่นี้กำหนดให้ 123.456789 มีความยาวเป็น 9 ตัวอักษร (รวมจุดทศนิยม 1 อักษรด้วย) และกำหนดให้มีเลขหลังจุดทศนิยม 2 ตำแหน่ง
                คอมพิวเตอร์ จะแสดงที่จอภาพดังนี้ 123.46
                โดย         เลข         6      อยู่ที่ตำแหน่ง             9       นับจากทางซ้าย
                                เลข         4      อยู่ที่ตำแหน่ง             8       นับจากทางซ้าย
เลข         1      อยู่ที่ตำแหน่ง             4       นับจากทางซ้าย
จุดทศนิยม     อยู่ที่ตำแหน่ง             7       นับจากทางซ้าย

การคำนวณเลขคณิต (Arithmatic Expression)
                การคำนวณค่าทางเลขคณิต ปาสคาลมีการกระทำหรือโอเปอเรชัน (operation) รวม 6 รายการ แต่ละรายการมีเครื่องหมายหรือโอเปอเรเตอร์ (operator) ดังตารางต่อไปนี้
โอเปอเรชัน
โอเปอเรเตอร์
ตัวอย่าง
บวก
+
Year + 1
ลบ
-
Year - 1
คูณ
*
Price * Quantity
หาร อินทีเจอร์
DIV
8 DIV 3 {  ได้ค่าเป็น 2    }
หาร
/
8/3       { ได้ค่าเป็น 2.666}
modulue
MOD
17 MOD 12 { ได้ค่าเป็น 5}

ลำดับการคำนวณ (Precedence)
                ในกรณีที่การคำนวณประกอบด้วยโอเปอรเรเตอร์หลายตัว จะมีลำดับการคำนวณดังนี้
1.              การคำนวณที่อยู่ในเครื่องหมายวงเล็บ ( ) จะมีการกระทำเป็นลำดับแรก
2.              เครื่องหมาย * / DIV MOD มีลำดับการคำนวณก่อน + และ -
3.              การคำนวณทีมีเครื่องหมายที่มีลำดับเท่ากันอยู่ด้วยกันจะมีการคำนวณจากทางซ้ายไปทางขวาตามลำดับ

ตัวอย่าง แสดงผลของการคำนวณจากโจทย์ 5*10+2*5 เมื่อกำหนดการคำนวณให้มีลำดับแตกต่างกัน
Program Calc;
Begin
            WriteLn( '5*10+2*5        = ', 5*10+2*5);
            WriteLn( '5*(10+2)*5     = ', 5*(10+2)*5);
            WriteLn( '(5*10)+(2*5) = ', (5*10)+(2*5));
            WriteLn( '((5*10)+2)*5 = ', ((5*10)+2)*5);
            WriteLn( '5*(10+(2*5)) = ', 5*(10+(2*5)));
End.

 
 







                ซึ่งจะได้ผลลัพธ์ดังนี้
                5*10+2*5                             =              60
                                5*(10+2)*5                           =              300
                (5*10)+(2*5)                        =              60
                                ((5*10)+2)*5                        =              260
                5*(10+(2*5))                        =              100
               

การแสดงค่าจากตัวแปร

                ตัวแปรเป็นชื่อของหน่วยความจำที่ใช้สำหรับเก็บข้อมูล
ตัวอย่าง สมมติมีการตั้งชื่อดังนี้
                VAR      Inches    :               Real;
                                Weight  :               Integer;

                สามารถสร้างเป็นภาพความคิดได้ดังนี้
                หน่วยความจำชื่อ Inches มีขนาด 6 ไบต์
                                                                                ใช้สำหรับเก็บข้อมูลชนิดตัวเลขที่มีทศนิยม
                หน่วยความจำชื่อ Weight มีขนาด 2 ไบต์
                                                                                ใช้สำหรับเก็บข้อมูลชนิดตัวเลขที่ไม่มีทศนิยม

ตัวอย่างที่  โปรแกรมแสดงการสร้าง กำหนดค่า และแสดงค่าจากตัวแปรชนิดอินทรีเจอร์ซึ่งใช้สำหรับเก็บค่าตัวเลขที่ไม่มีทศนิยม
Program ExInte;
Var
            A, B, C : Integer;
Begin
            A := 15; B := 10; C:=    20;
            WriteLn( A*B+C );
            WriteLn( A*(B+C) );
            WriteLn( (A*B)+C );
End.

 

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

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