วันพฤหัสบดีที่ 17 กรกฎาคม พ.ศ. 2557

เครื่องหมายเปรียบเทียบ

ชุดคำสั่ง if

เป็นคำสั่งที่ให้ทำงาน คำสั่งใดคำสั่งหนึ่งโดยมีเงื่อนไขให้ตัดสินใจ อย่างใดอย่างหนึ่งก่อน แล้วจึงจะลงมือทำงาน โดยผลของการ ตัดสินใจมีโอกาสเป็นไปได้ 2 ทางคือ

1. จริงหมายความว่า  มีค่าไม่เท่ากับศูนย์

2. ไม่จริงหมายความว่่า  มีค่าเท่าศูนย์



กฏการใช้คำสั่ง for

1.  ค่าที่เพิ่มขึ้นในแต่ละรอบของตัวแปรควบคุมนั้นจะเป็นเท่าไหร่ก็ได้

2.  ค่าของตัวแปรควบคุมอาจถูกกำหนดให้ลดลงก็ได้

3.  ตัวแปปควบคุมอาจจะเป็น character ก็ได้

4.  ตัวแปรควบคุมสามารถมีได้มากกว่า 1 ตัวแปร

5.  ในคำสั่ง for สามารถมีคำสั่ง for ซ้อนอยู่ภายในได้อีก



เครื่องหมายเปรียบเทียบ (Relational and Logical Operators)

 หมายถึง เครื่องหมายที่ใช้ในการเปรียนเทียบและตัดสินใจซึ่งผลของการเปรียบเทียบจะได้เป็น  2 กรณี คือ
       1. จริง จะให้ค่าเป็น 1

       2.  เท็จ จะให้ค่าเป็น 0



เครื่องหมายตรรกะ (Logical Operators)

 1. && (AND) หมายถึง การนำเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันแล้วจะได้ผลของการเปรียบเทียบตามตารางต่อไปนี้

                                   
  
P
Q
P&&Q
0

0

1

1
0

1

0

1
0

0

0

1












2. ll  (OR)

หมายถึง  การนำเงื่อนไข 2 เงื่อนไขมาเปรียบเทียบกันแล้วจะได้ผลของการเปรีบยเทียบตามตารางต่อไปนี้


P
Q
P ll Q
0

0

1

1
0

1

0

1
0

1

1

1


















บรรณานุกรม


    รศ.มัณฑนา  ปราการสมุทร ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์
จุฬาลงกรณ์มหาวิทยาลัย , ชื่อหนังสือ การเขียนชุดคำสั่งภาษา C , สำนักพิมพ์ ดวงกมลสมัย , หน้าอ้างอิง หน้า 39, 77, 98-99







วันอังคารที่ 1 กรกฎาคม พ.ศ. 2557

การออกแบบโปรแกรม


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

 1).  แบบมีจำนวนรอบที่แน่นอน

 2).  แบบใช้เงื่อนไขเป็นตัวตัดสินว่าจะทำซ้ำต่อไปหรือไม่


คำสั่ง For
คำสั่ง for นี้จะใช้ในกรณีที่เราต้องการทำซ้ำโดยทราบจำนวนครั้งที่เราต้องการ เช่น ถ้าต้องการทำ 10 ครั้ง 20 ครั้ง หรือ 30 ครั้ง เรามักจะให้คำสั่ง for


While และ do..while
การใช้คำสั่ง while และ do..while  จะต่างจากคำสั่ง for เล็กน้อยตรงที่การทำซ้ำแบบนี้  ไม่จำเป็นต้องบอกถึงจำนวนรอบของการทำซ้ำ แต่จะทำซ้ำไปเรื่อยๆจนกว่าเงื่อนไข จะเป็นเท็จ


ข้อมุลที่ใช้ในการเขียนโปรแกรม

1.  Integer  คือ  จำนวนเต็ม

2.  Real  คือ  ทศนิยม

3.  String  คือ  ข้อความ

4.  Char  คือ  ตัวอักษร


ตัวอย่าง

1.  ปรับตัวเลข Num ให้มีค่าเป็นจำนวนเต็ม ถ้าต้องประกาศตัวแปร Num ต้องประกาศเป็นตัวแปรชนิดใด
     ตอบ  Integer

2.  กำหนดให้หาค่าของพื้นที่สามเหลี่ยม โดยพื้นที่สามเหลี่ยมมีค่า Pi = 3.12579 จะต้องประกาศตัวแปรชนิดใด
     ตอบ  Real

3.  ให้รับค่าชื่อเข้ามา โดยให้ใส่ตัวแปรชื่อ Name  ถ้าต้องการประกาศตัวแปร Name ต้องประกาศตัวแปรชนิดใด
    ตอบ  Integer



ตารางตรรกะ

A && B
A ll  B
A
B
A  and  B
A  or B
T
T
T
T
T
F
F
T
F
T
F
T
F
F
F
F

ตัวอย่าง

a = 10   b = 20  c = 15

1. ( a > b )  &&  ( b <= c )
     10 > 20  &&   20<=15
         T        &&        F
                     F


2. ( a <= b ) ll ( b < c )
   10 <= 20  ll  20 < 15
          F       ll       F
                   F

3. ( a = b )  &&  ( b = c )
    10 = 20   &&   20 = 15
        F         &&       F
                     F




ลำดับความสำคัญ
โอเปอร์เรเตอร์
ลำดับของโอเปอร์เรชั่น
1
(  )
ซ้ายไปขวา
2
1,++,--  (!not)
ขวาไปซ้าย
3
^ ยกกำลัง
ขวาไปซ้าย
4
+ ,  / , %
ซ้ายไปขวา
5
+ , -
ซ้ายไปขวา
6
< , < = , > , >=
ซ้ายไปขวา
7
=, !=  (ไม่เท่ากับ)
ซ้ายไปขวา
8
&& , and
ซ้ายไปขวา
9
ll (or)
ซ้ายไปขวา
10
*=,/=,%=,+=,-=
ซ้ายไปขวา


ตัวอย่าง

1.)  1*3/3*20%5  = 0



2.)  3+8*2-8(4-2)/2-2^2+(5-3)
      = 3+8*2-8*2/2+4+2
      = 3+16-16/2+4+2
      = 19-16 / 2+4+2
      = 11+4+2
      = 17




^_______อ้างอิง_______^

1.) หนังสือคู่มือเขียนโปรแกรม  ผู้เขียน : นิรุธ  อำนวยศิลป์  (หนังสือห้องสมุดคณะ)

2.) ความรู้จากการจดบันทึกเวลาเรียน  ผู้สอน : อาจารย์ตวงสิทธิ์  สนขำ
















วันพุธที่ 25 มิถุนายน พ.ศ. 2557

ซูโดโค้ดและการเขียนผังงาน

          ก่อนที่จะลงมือเขียนโปรแกรม ต้องออกแบบขั้นตอนการทำงาน หรืออัลกอริทึม (Algorithm) ก่อน ซึ่งเป็นเครื่องมือในการแสดงขั้นตอนการทำงานของระบบงานใด ๆ เพื่อให้การเขียนโปรแกรมเป็นไปได้อย่างรวดเร็วและง่ายขึ้น โดยเราจะเขียนอัลกอริทึมในลักษณะรหัสลำลองที่เรียกว่า ซูโดโค้ด (Pseudocode) หรือผังงาน (Flowchart) ก็ได้

1. ซูโดโค้ด (Pseudocode)

           เป็นคำอธิบายขั้นตอนการทำงานของโปรแกรม โดยใช้ถ้อยคำผสมระหว่างภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้าง จะช่วยให้ผู้เขียนโปรแกรมสามารถพัฒนาขั้นตอนต่าง ๆ ให้เป็นโปรแกรมได้ง่ายขึ้น ส่วนใหญ่มักใช้คำเฉพาะ (Reserve Word) ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่ ซูโดโค้ดที่ดี จะต้องมีความชัดเจน สั้น และได้ใจความ ข้อมูลต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร

Algorithm <ชื่อของอัลกอริทึม>
    1……………………………….
    2……………………………….
    …………………………………
END

Algorithm Average_Sum
    1. START
    2. READ X
    3. READ Y
    4. Compute ARRAY = ( X*Y ) / 2
    5. Print ARRAY
END

2. การเขียนผังงาน (Flowchart)

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

ตารางแสดงสัญลักษณ์และความหมายของผังงาน

สัญลักษณ์ชื่อเรียกความหมาย
เริ่มต้นและสิ้นสุด
(terminal, start, stop)
จุดเริ่มต้นและสิ้นสุดของผังงาน
การนำข้อมูลเข้าออกทั่วไป
(general input/output)
จุดที่จะนำข้อมูลเข้าจากภายนอก หรือออกสู่ภายนอก โดยไม่ระบุชนิดของอุปกรณ์
การปฏิบัติงาน (process)จุดที่มีการปฏิบัติงานอย่างใดอย่างหนึ่ง
การตัดสินใจ (decision)จุดที่จะต้องเลือกปฏิบัติอย่างใดอย่างหนึ่ง
ทิศทาง (flow line)ทิศทางขั้นตอนการดำเนินงาน ซึ่งจะปฏิบัติต่อเนื่องกันตามทิศทางของลูกศร
จุดเชื่อมต่อในหน้าเดียวกัน
(on page connector)
จุดเชื่อมต่อของผังงาน ใช้สัญลักษณ์นี้เพื่อให้ดูง่าย
จุดเชื่อมต่อหน้ากระดาษ
(off page connector)
จุดเชื่อมต่อของผังงาน ที่อยู่คนละหน้ากระดาษ
ตัวอย่างผังงาน

ตัวอย่างที่ 1 ผังงานโครงสร้างแบบลำดับ


ตัวอย่างที่ 2 ผังงานแบบเลือกทำ


ตัวอย่างที่ 3 ผังงานแบบทำซ้ำ


การพัฒนาโปรแกรม

         การเขียนโปรแกรมคอมพิวเตอร์ให้ทำงานได้ตามที่ต้องการนั้น ผู้เขียนโปรแกรมจะต้องรู้ว่าจะให้โปรแกรทำอะไร มีข้อมูลอะไรที่ต้องให้กับโปรแกรมบ้าง และต้องการอะไรจากโปรแกรมรวมทั้งรูปแบบการแสดงผลด้วย โดยทั่วไปแล้วขั้นตอนการพัฒนาโปรแกรมแบ่งได้ดังนี้


  1. กำหนดและวิเคราะห์ปัญหา (Problem Definition and Problem Analysis)
  2. เขียนผังงานและซูโดโค้ด (Pseudocoding)
  3. เขียนโปรแกรม (Programming)
  4. ทดสอบและแก้ไขโปรแกรม (Program Testing and Debugging)
  5. ทำเอกสารและบำรุงรักษาโปรแกรม (Program Documentation and Maintenance)


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

              มนุษย์ ใช้ภาษาในการสื่อสารมาตั้งแต่สมัยโบราณ การใช้ภาษาเป็นเรื่องที่มนุษย์พยายามถ่ายทอดความคิดและความรู้สึกต่าง ๆ เพื่อการโต้ตอบและสื่อความหมาย ภาษาที่มนุษย์ใช้ติดต่อสื่อสารในชีวิตประจำวัน เช่น ภาษาไทย ภาษาอังกฤษ หรือภาษาจีน ต่างเรียกว่า “ภาษาธรรมชาติ” จึงจัดภาษาคอมพิวเตอร์เป็นภาษาที่มีรูปแบบเป็นทางการ (Formal Language) ต่างกับภาษาธรรมชาติที่มีขอบเขตกว้างมาก ไม่มีรูปแบบตายตัวที่แน่นอน  กฎเกณฑ์ของภาษาจะขึ้นกับหลักไวยากรณ์และการยอมรับของกลุ่มผู้ใช้นั้น ๆ

          ภาษา คอมพิวเตอร์อาจแบ่งได้เป็น 3 ระดับ คือ ภาษาเครื่อง (Machine Language) ภาษาระดับต่ำ (Low Level Language) และภาษาระดับสูง (High Level Language)

1  ภาษาเครื่อง (Machine Language)
การ เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานในยุคแรก ๆ จะต้องเขียนด้วยภาษาซึ่งเป็นที่ยอมรับของเครื่องคอมพิวเตอร์ที่เรียกว่า “ภาษาเครื่อง” ภาษานี้ประกอบด้วยตัวเลขล้วน ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้ทันที ผู้ที่จะเขียนโปรแกรมภาษาเครื่องได้ ต้องสามารถจำรหัสแทนคำสั่งต่าง ๆ ได้

2  ภาษาระดับต่ำ (Low Level Language)
เนื่อง จากภาษาเครื่องเป็นภาษาที่มีความยุ่งยากในการเขียนดังได้กล่าวมาแล้ว จึงไม่มีผู้นิยมและมีการใช้น้อย ดังนั้นได้มีการพัฒนาภาษาคอมพิวเตอร์ขึ้นอีกระดับหนึ่ง โดยการใช้ตัวอักษรภาษาอังกฤษเป็นรหัสแทนการทำงาน การใช้และการตั้งชื่อตัวแปรแทนตำแหน่งที่ใช้เก็บจำนวนต่าง ๆ 


ตาราง แสดงความสัมพันธ์ของคำสั่งในภาษาระดับต่ำและภาษาเครื่อง
ภาษาระดับต่ำ    ภาษาเครื่อง    รหัสเลขฐานสิบหก
MOV   AL,05    10110000     00000101    B0     05
MOV   BL,08    10110011     00001000    B3     08
ADD   AL,BL    00000000     11011000    00     D8
MOV   CL,AL    10001000     11000001    88     C1

 3  ภาษาระดับสูง (High Level Language)
ภาษา ระดับสูงเป็นภาษาที่สร้างขึ้นเพื่อช่วยอำนวยความสะดวกในการเขียนโปรแกรม กล่าวคือลักษณะของคำสั่งจะประกอบด้วยคำต่าง ๆ ในภาษาอังกฤษ ซึ่งผู้อ่านสามารถเข้าใจความหมายได้ทันที ผู้เขียนโปรแกรมจึงเขียนโปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอ

ความหมายและความเป็นมาของคอมพิวเตอร์

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


การทำงานของคอมพิวเตอร์

            คอมพิวเตอร์ไม่ว่าจะเป็นประเภทใดก็ตาม จะมีลักษณะการทำงานของส่วนต่างๆ ที่มีความสัมพันธ์กันเป็นกระบวนการ  โดยมีองค์ประกอบพื้นฐานหลักคือ  Input  Process และ output   ซึ่งมีขั้นตอนการทำงานดังภาพ