วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2560

บทที่ 2 ตัวแปร Input และ Output


            ชนิด ของข้อมูลประเภทสายอักขระ (String) ตัวเลข และอื่น ๆ ที่จะต้องรับเข้ามาเก็บเพื่อประมวลผลนำผลลัพธ์ที่ได้แสดงผลที่จอภาพหรือ เครื่องพิมพ์ เพื่อให้คอมพิวเตอร์และผู้ใช้เข้าใจตรงกัน ผู้เขียนโปรแกรมคอมพิวเตอร์จำเป็นต้องเข้าใจรูปแบบการใช้คำสั่ง ที่ต้องใส่เครื่องหมายพิเศษ สั่งให้แสดงผลถูกต้อง ภาษาไพธอนมีรายการสำหรับจัดการด้านอินพุทเอาต์พุททุก ๆ อย่างเหมือนภาษาอื่น ๆ
ตัวแปร
            ตัวแปร หมายถึง การที่หน่วยความจำในเครื่องคอมพิวเตอร์ต้องการเก็บข้อมูลต่าง ๆ เอาไว้ก่อนที่จะนำไปประมวลผลที่ ซีพียู โปรแกรมคอมพิวเตอร์กำหนดให้ผู้เขียนคำสั่งนำข้อมูลเหล่านั้นเก็บในตัวแปรก่อน  และในทำนองเดียวกัน ผลที่ได้จากการประมวลผลมักจะนำมาเก็บในตัวแปรด้วยเสมอ  เพราะฉะนั้นตัวแปรจึงมีไว้เพื่อเก็บข้อมูลที่เปลี่ยนแปลงบ่อย ๆ โดยที่ข้อมูลเหล่านี้อาจอยู่ในรูปของตัวเลข ตัวอักขระ หรือสายอักขระ   ภาษาไพธอนยินยอมให้ผู้เขียนคำสั่งไม่จำเป็นต้องประกาศตัวแปรก่อนใช้  ซึ่งจะแตกต่างจากภาษาอื่น ๆ ได้แก่ ภาษาซี  ภาษาปาสกาล และจาวา เป็นต้น 
 การดำเนินการกับตัวแปร
            การดำเนินการกับตัวแปรในภาษาไพธอน เป็นการดำเนินการเพื่อให้การเขียนโปรแกรมเป็นไปอย่างถูกต้อง    มีประสิทธิภาพและใช้หน่วยความจำอย่างคุ้มค่า เช่น การกำหนดค่าให้กับตัวแปร   การรับค่าตัวแปร  การเปลี่ยนค่าตัวแปร  การสำเนาตัวแปร เป็นต้น
 1. การกำหนดค่าให้กับตัวแปร
            วิธีการกำหนดค่าให้กับตัวแปร จะต้องประกอบด้วย ชื่อตัวแปร เครื่องหมายเท่ากับ (=) และข้อมูล โดยกำหนดให้ชื่อตัวแปรอยู่ด้านซ้ายมือ เครื่องหมายเท่ากับ อยู่ตำแหน่งตรงกลาง ข้อมูลอยู่ตำแหน่งซ้ายมือ เช่น  salary = 7200 
                                                  salary   หมายถึง ชื่อตัวแปร
                                                  =          หมายถึง   การกำหนดค่า  อ่านว่า  assign
                                                  7200     หมายถึง   ข้อมูลที่มีค่าเท่ากับ 7,200  

เพื่อให้มีความเข้าใจเรื่องตัวแปรที่ถูกต้อง จึงขอยกตัวอย่างการทำงานของตัวแปร ซึ่งตัวแปรมีลักษณะการทำงานเช่นเดียวกับถัง  ที่สามารถเก็บสิ่งใด ๆ ก็ได้ เช่น 
                        ถ้ากำหนดว่า  A = ""    หมายความว่า  ถังภาชนะ A เก็บค่า ว่างเปล่า
                                         A = 0      หมายความว่า  ถังภาชนะ A เก็บค่า  0 แทนที่ค่าว่างเปล่า
                                         A = 9      หมายความว่า  ถังภาชนะ A เก็บค่า 9 แทนที่  0
                                         A = "Hello" หมายความว่า  ถังภาชนะ A เก็บข้อความ Hello แทนที่ 9
รูปที่ 2.1 แสดงลักษณะการจัดเก็บข้อมูลของตัวแปร
         จากรูปที่ 2.1 แสดงการเปรียบเทียบการตัวแปร กับการเก็บข้อมูล จะเห็นว่าตัวแปรในชื่อใด ๆ จะเก็บข้อมูลเป็นค่าใด ๆ หรือข้อความใด ๆ ก็ได้  เมื่อเราสั่ง print ตัวแปรนั้น ค่าหรือข้อมูลที่เก็บอยู่จะแสดงผลขึ้นมา  ในขณะเดียวกันถ้านำข้อมูลเหล่านั้นไปดำเนินการใด ๆ เช่น บวก ลบ คูณ หาร ก็สามารถทำได้เช่นเดียวกัน  นอกจากนี้รูปแบบการกำหนดค่าให้กับตัวแปรยังมีชนิดอื่น ๆ อีกหลายชนิด เช่น ตัวเลขทศนิยม  ตัวอักขระ  อะเรย์  และดิกชันนารี  ให้พิจารณาจากตัวอย่างต่อไปนี้
>>>char = 'A'
>>> first_string = 'ยินดีต้อนรับเข้าสู่'
>>> second_string = 'การเขียนโปรแกรมด้วยภาษาไพธอน'
>>> first_number = 14
>>> second_number = 15.05
>>> a = ('first', 'second', 'third')
รูปที่ 2.2 แสดงคำสั่งการเก็บข้อมูลในตัวแปร       
            จาก รูปที่ 2.2 อธิบายการเก็บข้อมูลของตัวแปรได้ดังนี้ ตัวแปร A จะเก็บค่า A ซึ่งเป็นชนิดข้อความ(ในภาษาไพธอนจะไม่มีตัวแปรชนิด character) และข้อความคำว่า ยินดีต้อนรับเข้าสู่ จะเก็บอยู่ในตัวแปรที่ชื่อ firt_string ข้อความคำว่า การเขียนโปรแกรมด้วยภาษาไพธอน จะเก็บอยู่ในตัวแปรที่ชื่อ second_string และตัวแปรทั้ง first_string และ second_string ต่างก็เป็นตัวแปรชนิดข้อความเช่นเดียวกัน แต่ตัวแปร first_number จะเก็บตัวเลข 14 ซึ่งภาษาไพธอนจะกำหนดให้เป็นตัวแปรชนิด integer อย่างอัตโนมัติ และตัวแปร second_number จะเก็บค่า 15.05 ตัวแปรนี้จะเป็นชนิด float อย่างอัตโนมัติเช่นเดียวกัน สำหรับตัวแปร a จะเก็บค่า first, second และ third ในลักษณะเป็นแถวลำดับหรือเรียกว่า อะเรย์ แต่ในภาษาไพธอน เรียกว่า ลิสต์ ซึ่งจะกล่าวถึงในบทต่อไป
2. การรับค่าตัวแปร
        การ รับข้อมูลเข้ามาเก็บเพื่อประมวลผลนั้น มีชนิดของข้อมูลอยู่หลายชนิด ดังได้กล่าวมาแล้วในบทที่ 1 เพื่อให้การรับข้อมูลได้ถูกต้องเหมาะสมตรงกับชนิดของข้อมูลที่จะนำมาใช้ เช่น กรณีการเก็บข้อมูลของอบรมของ บริษัทบริการฝึกอบรม จะต้องเก็บข้อมูล ดังนี้
  • รหัสหลักสูตร
  • ชื่อหลักสูตร
  • ระยะเวลาอบรม
  • จำนวนชั่วโมงอบรม
  • จำนวนเงิน
  • วันที่เริ่ม
  • วันสุดท้าย
  • จำนวนที่นั่ง 
จาก บทที่ 1 ได้กล่าวถึง ชนิดของข้อมูลมี integer, float, character, string, date และอื่น ๆ ปัญหาที่เกิดขึ้นกับการรับข้อมูลคือ ถ้าข้อมูลไม่ตรงกันจะไม่สามารถดำเนินการได้ถูกต้อง เช่น ถ้าต้องการหาค่าเฉลี่ยของหลักสูตรการอบรม ต้องเสียค่าใช้จ่ายชั่วโมงละเท่าไร ถ้าประกาศตัวแปรข้อมูลเป็น
                course_dur, course_fee เป็น integer
               
fee_avg  เป็น integer
                
fee_avg = course_fee / course_dur
        
    ผลลัพธ์ที่ได้จะไม่ถูกต้องดังนี้
 
>>> course_fee = 12000
>>> course_dur = 35
>>> fee_avg = course_fee/course_dur
>>> print fee_avg
342
รูปที่ 2.3 แสดงคำสั่งการหาค่าเฉลี่ยที่ผลลัพธ์ไม่ถูกต้อง
        จากภาพที่ 2.3 จะเห็นว่า ผลลัพธ์ที่แสดงได้คำตอบ fee_avg = 342  แต่คำตอบที่ถูกต้องจะได้ค่าเท่ากับ 342.8571429   บาท/ชั่วโมง ซึ่งคำตอบที่แสดงด้วยการเขียนคำสั่งด้วยภาษาไพธอนนั้นจะผิดพลาด ทั้งนี้สาเหตุเกิดจากการไม่กำหนดชนิดของตัวแปรให้เป็นชนิด float ในขั้นต้นภาษาไพธอนจะกำหนดค่าขั้นต้นเป็น integer จึงไม่มีการคำนวณเป็นจุดทศนิยม  การแก้ปัญหาจึงควรกำหนดตัวแปลให้เป็น float โดยการเพิ่มฟังชัน float ที่ตัวแปร course_fee  ดังนี้

>>> course_fee = 12000
>>> course_dur = 35
>>> fee_avg = float(course_fee)/course_dur
>>> print fee_avg
342.857142857
รูปที่  2.4 แสดงคำสั่งเพื่อแก้ปัญหาการหาค่าเฉลี่ย
         จากรูปที่  2.4  เมื่อใช้ฟังก์ชัน float()  ไปไว้ด้านหน้าของ operand ฟังก์ชันนี้จำทำหน้าที่แปลงชนิดตัวแปรจาก integer เป็นชนิด float จึงทำให้ผลลัพธ์ออกมาถูกต้อง แต่ถ้ากรณีที่เรากำหนดให้ course = 12000.00 หรือ course_dur = 35.00 ผลลัพธ์ที่ได้จะถูกต้องเช่นเดียวกันเพราะภาษาไพธอนสามารถรับรู้จากข้อมูลถ้ามีค่าเป็นจุดทศนิยมจะรับรู้ว่าตัวแปรเป็นชนิด float            ในตัวอย่างนี้ต้องการให้ทราบว่า ภาษาไพธอนมีฟังก์ชันให้ผู้ใช้  ได้ใช้อย่างสะดวกสบายเป็นจำนวนมาก ซึ่งจะได้กล่าวในบทต่อไป 
3. การเปลี่ยนค่าตัวแปร
        ในการกำหนดชื่อตัวแปร การกำหนดค่าให้กับตัวแปรแล้ว หากต้องการเปลี่ยนแปลงค่าตัวแปรในชื่อตัวแปรเดิม  เราสามารถดำเนินการได้ทันที ทั้งนี้การเปลี่ยนค่าตัวแปร มีการใช้กันโดยทั่วไป ในการเขียนโปรแกรมเพิ่มค่า  ให้พิจารณาจากตัวอย่างต่อไปนี้

>>> course_fee = 12000
>>> course_fee = course_fee - 6000
>>> print course_fee
6000
>>> semester = 1
>>> semester = semester + 1
>>> print semester
2
>>> text = 'ยินดีต้อนรับ'
>>> text = text + 'สู่การเขียนโปรแกรมด้วยภาษาไพธอน'
>>> print text
ยินดีต้อนรับสู่การเขียนโปรแกรมด้วยภาษาไพธอน

รูปที่ 2.5 แสดงคำสั่งการกำหนดค่าใหม่ให้กับตัวแปร
4. การสำเนาตัวแปร
            การสำเนาตัวแปร เป็นการกำหนดตัวแปรที่มีค่าเดียวกัน เหมือนๆ กันให้กับตัวแปรอื่น ๆ เช่น  course_fee = 6000 เราต้องการให้เก็บค่า course_fee ให้เก็บในตัวแปร receive ด้วยเราต้องดำเนินการ ดังนี้
>>> course_fee = 6000
>>> receive = course_fee
>>> print receive
6000
>>> #เราสามารถใช้คำสั่งเพื่อให้สั้น ๆ ได้ในบรรทัดเดียวได้
>>> receive = course_fee = 6000
รูปที่ 2.6 แสดงคำสั่งการสำเนาตัวแปร

        ในการสำเนาตัวแปร  ที่ใช้ในการเขียนโปรแกรม  นิยมใช้สำหรับการสลับค่าข้อมูล ให้กับตัวแปร เช่น ในกรณีตัวแปร a = 3 และ b = 5 ถ้าต้องการให้ตัวแปร a  และ b สลับค่ากัน นั่นคือ ให้ 5 เก็บในตัวแปร a  และ 3 ในเก็บในตัวแปร b เราไม่สามารถใช้คำสั่ง a = b,  b = a  ได้  เราจำเป็นต้องสำเนาตัวแปร a ไปเก็บในตัวแปร temp ก่อนต่อจากนั้นจึงให้  สำเนาตัวแปร b ไปเก็บในตัวแปร a  และสำเนาตัวแปร temp ไปเก็บใน b ดังนี้

 
>>> a = 3
>>> b = 5
>>> print a, b
3  5
>>> temp = a   # นำ a เก็บใน temp
>>> a = b        # นำ b เก็บใน a
>>> b = temp  # นำ temp เก็บใน b
>>> print a, b
5  3
#  คำสั่งด้านล่างเป็นวิธีการสำเนาตัวแปร ที่ใช้ได้เฉพาะภาษาไพธอน เท่านั้น
>>> a = 3; b =5
>>> a  b = b  a
>>> print a, b
5  3 

รูปที่ 2.6 แสดงคำสั่งการสลับค่าในตัวแปร

        จาก รูปแสดง การกำหนดค่าให้กับตัวแปร a และ b โดย a ให้เก็บ 3 และ b เก็บค่า 5 เมื่อสั่งให้แสดงค่า a และ b โปรแกรมจะแสดง 3 และ 5 เมื่อคำสั่ง temp = a จึงมีความหมายว่า ให้นำค่าที่เก็บใน a ไปเก็บในตัวแปร temp เพราะฉะนั้น temp จึงเก็บค่า 3 เท่ากับ a เมื่อคำสั่งถัดมาคือ a = b ค่าที่เก็บอยู่ในตัวแปร b จะนำมาเก็บไว้ที่ตัวแปร a นั่นคือ โปรแกรมจะนำเอาค่า 5 มาเก็บในตัวแปร a เพราะฉะนั้น a จะเก็บค่า 5 เอาไว้ คำสั่งต่อจากนั้น ได้แก่ b = temp หมายถึง temp เดิมที่ เก็บค่า a หรือ 3 เอาไว้ แล้วมาเก็บในตัวแปร b เพราะฉะนั้น b จึงเก็บค่า 3 เอาไว้ เมื่อสั่งให้แสดงผลจึงได้ข้อมูลที่สลับกันตามต้องการ

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

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

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...