Computer

885 views
801 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
885
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Computer

  1. 1. เรื่อง ภาษาชั้นสูงมาก ( Very high - Level Language) ภาษาคอมพิวเตอร์
  2. 2. ภาษาคอมพิวเตอร์ <ul><li>ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ </li></ul>
  3. 3. ลักษณะของภาษาคอมพิวเตอร์ <ul><li>1. คำสั่งรับข้อมูลและแสดงผล คำสั่งประเภทนี้จำเป็นอย่างยิ่งที่จะต้องมีใช้ในภาษา กับทั้งยังต้องแจกแจงละเอียดต่อไปด้วยว่า รับผ่านอุปกรณ์ใด และแสดงผลทางอุปกรณ์ใด </li></ul><ul><li>2. คำสั่งคำนวณ โปรแกรมหรือคำสั่งที่เขียนจะหนีไม่พ้นคำสั่งที่สั่งให้ประมวลผลประเภท บวก ลบ คูณ หาร </li></ul><ul><li>3. คำสั่งที่มีการเลือกทิศทาง หมายถึง สั่งให้มีการเปรียบเทียบ เช่น ถ้ามากกว่าให้ทำอย่างหนึ่ง ถ้าเท่ากันให้ทำอย่างหนึ่ง หรือน้อยกว่าให้ทำอีกอย่างหนึ่ง เป็นต้น นอกจากนั้นอาจมีคำสั่งประเภทให้ทำงานเป็นวงซ้ำแล้วซ้ำอีก จนกว่าจะมีการเปรียบเทียบค่า ซึ่งถ้าเป็นเท่านั้นเท่านี้ หรือมากกว่าหรือน้อยกว่าก็ให้หยุดได้ </li></ul><ul><li>4. คำสั่งให้นำโปรแกรมหรือข้อมูลออกมาจาก และ / หรือส่งเข้าไปเก็บในสื่ออย่างใดอย่างหนึ่งเพื่อเรียกมาใช้ใหม่ได้ </li></ul>
  4. 4. ภาษาชั้นสูงมาก ( Very high - Level Language) <ul><li>สามารถเรียกได้อีกอย่างว่าภาษาในรุ่นที่ 4 (4 GLs:Fourth Generation Languages) ภาษานี้เป็นภาษาที่อยู่ในระดับที่สูงกว่าภาษารุ่นที่ 3 มีลักษณะของภาษาในรุ่นที่เป็นธรรมชาติคล้ายๆกับภาษาพูดของมนุษย์จะช่วย ในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล </li></ul>รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการ ที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase, InGres เป็นต้น
  5. 5. ลักษณะของ 4 GLs <ul><li>เป็นภาษาแบบ Nonprocedural ซึ่งหมายความว่าผู้ใช้เพียงแต่บอกว่าต้องการอะไร แต่ไม่ต้องบอกถึงรายละเอียดว่าต้องทำอย่างไร คอมพิวเตอร์จะเป็นผู้จัดการให้เองหมด ตัวอย่างเช่น ถ้าต้องการสร้างแบบฟอร์มการรับข้อมูลจากผู้ใช้ผู้เขียนโปรแกรมเพียงแต่ทำการออกแบบหน้าตาของแบบฟอร์มนั้นบนโปรแกรมอิดิเตอร์ ( Editor) ใดๆ และเก็บเป็นไฟล์ไว้เมื่อจะเรียกใช้งานแบบฟอร์มนั้นเพียงแต่ใช้คำสั่งเปิดไฟล์นั้นขึ้นมาแสดงบนหน้าจอคอมพิวเตอร์ได้โดยทันทีซึ่งต่างจากภาษารุ่นที่ 3 ซึ่งเป็นแบบ Procedural ผู้เขียนโปรแกรม จะต้องเขียนรายละเอียดของโปรแกรมทั้งหมดว่า ที่บรรทัดนี้คอลัมน์นี้จะให้แสดงข้อความหรือข้อมูลอะไรออกมา </li></ul>
  6. 6. ลักษณะของ 4 GLs <ul><li>ซึ่งถ้าต่อไปจะมีการปรับเปลี่ยนหน้าตาของแบบฟอร์ม ก็จะเป็นเรื่องที่ยุ่งยากอย่างยิ่ง หรือในการสร้างรายงานด้วย 4 GLs ก็สามารถทำได้อย่างง่ายดายเพียงแต่ระบุลงไปว่าต้องการรายงานอะไร มีข้อมูลใดที่จะนำมาแสดงบ้าง โดยไม่ต้องบอกถึงวิธีการสร้างหรือการดึงข้อมูลแต่อย่างใด 4 GLs จะจัดการให้เองหมดส่วนใหญ่จะพบว่า 4 GLs มักจะอยู่ควบคู่กับระบบฐานข้อมูล โดยผู้ใช้ระบบฐานข้อมูลจะสามารถจัดการฐานข้อมูลได้โดยผ่านทาง 4 GLs นี้ </li></ul>
  7. 7. ส่วนประกอบของภาษา 4 GLs (Fourth Generation Languages) <ul><li>โดยทั่วไปแล้ว 4 GLs จะประกอบด้วยส่วนสำคัญ 3 ส่วนดังต่อไปนี้ </li></ul><ul><li>เครื่องช่วยสร้างรายงาน ( Report Generators) </li></ul><ul><li>หรืออาจเรียกได้อีกอย่างว่า เครื่องมือช่วยเขียนรายงาน ( Report Writer) เป็นโปรแกรมสำหรับผู้ใช้ ( end - users) ให้สามารถสร้างรายงานอย่างง่ายได้ด้วยตนเอง โดยผู้ใช้สามารถกำหนดเงื่อนไขและข้อมูลที่จะออกมาพิมพ์ในรายงานรวมไปถึงรูปแบบ ( format) ของการพิมพ์ไว้ โปรแกรมช่วยสร้างรายงานนี้จะทำการพิมพ์รายงานตามรูปแบบที่เรากำหนดไว้ให้ </li></ul>
  8. 8. ส่วนประกอบของภาษา 4 GLs <ul><li>ภาษาช่วยค้นหาข้อมูล ( Query Languages) </li></ul><ul><li>เป็นภาษาที่ช่วยในการค้นหาหรือดึงข้อมูลจากฐานข้อมูล ภาษานี้จะง่ายต่อการใช้งานมาก เนื่องจากจะอยู่ในรูปแบบที่ ใกล้เคียงกับภาษาอังกฤษมาก ตัวอย่างของภาษาช่วยค้นหาข้อมูลนี้ได้แก่ ภาษา SQL (Structured Query Language) ภาษา QBE (Query - By - Example) และ Intellect เป็นต้น </li></ul><ul><li>เครื่องมือช่วยสร้างโปรแกรม ( Application Generators) </li></ul>4GLs จะมีรูปแบบการเขียนโปรแกรมเฉพาะตัว และสามารถเรียกใช้เครื่องมือช่วยสร้างโปรแกรมนี้ทำการแปลง 4 GLs ให้กลายเป็นโปรกรมในภาษารุ่นที่ 3 ได้ เช่น ภาษาโคบอล หรือ ภาษาซี เป็นต้น ซึ่งอาจนำภาษาโคบอล หรือซีที่แปลงได้ไปพัฒนาต่อเพื่อใช้กับงานที่มีความซับซ้อนมากๆ ต่อไป
  9. 9. ประโยชน์ของ 4 GLs <ul><li>เป็นภาษาที่ง่ายต่อการเรียนรู้ คำสั่งแต่ละคำสั่งสื่อความหมายได้อย่างชัดเจน ดังนั้น </li></ul><ul><li>จึงสามารถใช้เวลาในการศึกษาสั้นกว่าภาษารุ่นที่ 3 </li></ul><ul><li>ประหยัดเวลาในการเขียนโปรแกรมได้มาก เนื่องจาก 1 คำสั่งของ 4 GL ถ้าต้อง </li></ul><ul><li>เขียนด้วยภาษารุ่นที่ 3 อาจต้องเขียนถึง 100 กว่าคำสั่งในการทำงานแบบเดียวกัน </li></ul><ul><li>สนับสนุนระบบจัดการฐานข้อมูล ทำให้สามารถจัดการกับข้อมูลได้อย่างสะดวก และรวดเร็ว </li></ul><ul><li>สามารถสร้างแบบฟอร์มเพื่อจัดการกับข้อมูลในฐานข้อมูล และออกรายงานได้ </li></ul><ul><li>อย่างง่ายดาย ไม่ยุ่งยาก </li></ul><ul><li>มีเครื่องมือการใช้งานเพื่ออำนวยความสะดวกในการเขียนโปรแกรมมาพอสมควร </li></ul><ul><li>สามารถทำงานได้ในลักษณะ Interactive คือมีการโต้ตอบกับผู้ใช้ได้ทันที </li></ul>
  10. 10. ตัวอย่างการเขียน 4GLs <ul><li>มีนักเขียนโปรแกรมกล่าวว่า ถ้าใช้ภาษาในยุคที่ 4 นี้เขียนโปรแกรมจะทำให้ได้งานที่เพิ่มขึ้นถึงสิบเท่าตัว ตัวอย่างเช่น ถ้าต้องการพิมพ์รายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน โดยให้แสดงยอดรวมของลูกค้าแต่ละคน และให้ขึ้นหน้าใหม่สำหรับการพิมพ์รายงานลูกค้าแต่ละคน จะเขียนโดยใช้ภาษาในยุคที่ 4 ได้ดังนี้ </li></ul>
  11. 11. รายงานแสดงจำนวนรายการสินค้าที่ ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน
  12. 12. ตัวอย่างโปรแกรม 4 GLs <ul><li>โปรแกรม Visual Basic (VB) เป็นโปรแกรมสำหรับพัฒนาโปรแกรมประยุกต์ที่กำลังเป็นที่ นิยมใช้อยู่ในปัจจุบัน โปรแกรม Visual Basic เป็นโปรแกรมที่ได้เปลี่ยนรูปแบบการเขียนโปรแกรมใหม่ โดยมีชุดคำสั่งมาสนับสนุนการทำงาน มีเครื่องมือต่าง ๆ ที่เรียกกันว่า คอนโทรล ( Controls) ไว้สำหรับช่วยในการออกแบบโปรแกรม โดยเน้นการออกแบบหน้าจอแบบกราฟฟิก หรือที่เรียกว่า Graphic User Interface (GUI) </li></ul>
  13. 13. ตัวอย่างการเขียนโปรแกรม ภาษาชั้นสูงมาก ( Very high - Level Language) <ul><li>การสร้างเครื่องคิดเลข ด้วยโปรแกรม Visual Basic.Net </li></ul>
  14. 14. ขั้นตอนการสร้าง <ul><li>ปุ่ม C ที่ Name เปลี่ยนชื่อเป็น btnCLR </li></ul><ul><li>ปุ่ม 7 &quot;---------------&quot; btn_Num_7 </li></ul><ul><li>ปุ่ม 8 &quot;---------------&quot; btn_Num_8 </li></ul><ul><li>ปุ่ม 9 &quot;---------------&quot; btn_Num_9 </li></ul><ul><li>ปุ่ม 4 &quot;---------------&quot; btn_Num_4 </li></ul><ul><li>ปุ่ม 5 &quot;---------------&quot; btn_Num_5 </li></ul><ul><li>ปุ่ม 6 &quot;---------------&quot; btn_Num_6 </li></ul><ul><li>ปุ่ม 1 &quot;---------------&quot; btn_Num_1 </li></ul><ul><li>ปุ่ม 2 &quot;---------------&quot; btn_Num_2 </li></ul><ul><li>ปุ่ม 3 &quot;---------------&quot; btn_Num_3 </li></ul><ul><li>ปุ่ม 0 &quot;---------------&quot; btn_Num_0 </li></ul><ul><li>ปุ่ม . &quot; dot หรือจุด ------&quot; btnNumPeriod </li></ul><ul><li>ปุ่ม + &quot; บวก -----------&quot; btn_Operator_Add </li></ul><ul><li>ปุ่ม - &quot; ลบ ------------&quot; btn_Operator_Subt </li></ul><ul><li>ปุ่ม x &quot; คูณ ------------&quot; btn_Operator_Multi </li></ul><ul><li>ปุ่ม / &quot; หาร ------------&quot; btn_Operator_div </li></ul><ul><li>ปุ่ม = &quot; เท่ากับ ---------&quot; btnCalculate </li></ul>
  15. 15. โค้ดในการทำงาน <ul><li>Public Class Form1 </li></ul><ul><li>Inherits System.Windows.Forms.Form </li></ul><ul><li>Private Var1 As Double </li></ul><ul><li>Private var2 As Double </li></ul><ul><li>Private Temp As Double </li></ul><ul><li>Private Memory As Double </li></ul><ul><li>Private period As Boolean </li></ul><ul><li>Private [Operator] As String </li></ul><ul><li>Private Status As Boolean </li></ul>
  16. 16. ดับเบิ้ลคลิ๊กที่ปุ่ม 7 แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btn_Num_7_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btn_Num_7.Click </li></ul><ul><li>If Status = False Then </li></ul><ul><li>TextBox1.Text = TextBox1.Text + CStr( 7 ) </li></ul><ul><li>Else </li></ul><ul><li>TextBox1.Text = 7 </li></ul><ul><li>Status = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>ปุ่มตัวเลขจะใช้วิธีการเขียนโค้ดเหมือนกัน โดยการดับเบิ้ลคลิกที่ปุ่มตัวเลข แล้วแก้ไขเฉพาะตัวเลขที่แสดงค่าของปุ่ม หรือ บริเวณ CStr( 7 ) และ TextBox1.Text = 7
  17. 17. ดับเบิ้ลคลิ๊กที่ปุ่ม . (dot หรือ จุด ) แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btnNumPeriod_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btnNumPeriod.Click </li></ul><ul><li>If Status = False Then </li></ul><ul><li>If period = False Then </li></ul><ul><li>If TextBox1.Text.Length > 0 Then </li></ul><ul><li>TextBox1.Text = TextBox1.Text + &quot;.&quot; </li></ul><ul><li>Else </li></ul><ul><li>TextBox1.Text = &quot;0.&quot; </li></ul><ul><li>End If </li></ul><ul><li>period = True </li></ul><ul><li>End If </li></ul><ul><li>End If </li></ul>
  18. 18. ดับเบิ้ลคลิ๊กที่ปุ่ม + แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btn_Operator_Add_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btn_Operator_Add.Click </li></ul><ul><li>If TextBox1.Text.Length <> 0 Then </li></ul><ul><li>If [Operator] = &quot;&quot; Then </li></ul><ul><li>Var1 = CDbl(TextBox1.Text) </li></ul><ul><li>TextBox1.Text = &quot;&quot; </li></ul><ul><li>Else </li></ul><ul><li>Calculate() </li></ul><ul><li>End If </li></ul><ul><li>[Operator] = &quot;Add&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>
  19. 19. ดับเบิ้ลคลิ๊กที่ปุ่ม - แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btn_Operator_Subt_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btn_Operator_Subt.Click </li></ul><ul><li>If TextBox1.Text.Length <> 0 Then </li></ul><ul><li>If [Operator] = &quot;&quot; Then </li></ul><ul><li>Var1 = CDbl(TextBox1.Text) </li></ul><ul><li>TextBox1.Text = &quot;&quot; </li></ul><ul><li>Else </li></ul><ul><li>Calculate() </li></ul><ul><li>End If </li></ul><ul><li>[Operator] = &quot;Sub&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>
  20. 20. ดับเบิ้ลคลิ๊กที่ปุ่ม x แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btn_Operator_Multi_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btn_Operator_Multi.Click </li></ul><ul><li>If TextBox1.Text.Length <> 0 Then </li></ul><ul><li>If [Operator] = &quot;&quot; Then </li></ul><ul><li>Var1 = CDbl(TextBox1.Text) </li></ul><ul><li>TextBox1.Text = &quot;&quot; </li></ul><ul><li>Else </li></ul><ul><li>Calculate() </li></ul><ul><li>End If </li></ul><ul><li>[Operator] = &quot;Mult&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>
  21. 21. ดับเบิ้ลคลิ๊กที่ปุ่ม / แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btn_Operator_div_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btn_Operator_div.Click </li></ul><ul><li>If TextBox1.Text.Length <> 0 Then </li></ul><ul><li>If [Operator] = &quot;&quot; Then </li></ul><ul><li>Var1 = CDbl(TextBox1.Text) </li></ul><ul><li>TextBox1.Text = &quot;&quot; </li></ul><ul><li>Else </li></ul><ul><li>Calculate() </li></ul><ul><li>End If </li></ul><ul><li>[Operator] = &quot;Div&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>
  22. 22. ดับเบิ้ลคลิ๊กที่ปุ่ม C แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btnCLR_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btnCLR.Click </li></ul><ul><li>TextBox1.Text = &quot;&quot; </li></ul><ul><li>Var1 = 0 </li></ul><ul><li>var2 = 0 </li></ul><ul><li>[Operator] = &quot;&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End Sub </li></ul>
  23. 23. ดับเบิ้ลคลิ๊กที่ปุ่ม = แล้วเขียนโค๊ดลงไปดังนี้ <ul><li>Private Sub btnCalculate_Click(ByVal sender As System.Object, _ </li></ul><ul><li>ByVal e As System.EventArgs) Handles btnCalculate.Click </li></ul><ul><li>If TextBox1.Text.Length <> 0 AndAlso Var1 <> 0 Then </li></ul><ul><li>Calculate() </li></ul><ul><li>[Operator] = &quot;&quot; </li></ul><ul><li>period = False </li></ul><ul><li>End If </li></ul><ul><li>End Sub </li></ul>
  24. 24. โค๊ดสมการแปลผล <ul><li>Public Sub Calculate() </li></ul><ul><li>var2 = CDbl(TextBox1.Text) </li></ul><ul><li>If [Operator] = &quot;Add&quot; Then </li></ul><ul><li>Var1 = Var1 + var2 </li></ul><ul><li>ElseIf [Operator] = &quot;Sub&quot; Then </li></ul><ul><li>Var1 = Var1 - var2 </li></ul><ul><li>ElseIf [Operator] = &quot;Mult&quot; Then </li></ul><ul><li>Var1 = Var1 * var2 </li></ul><ul><li>ElseIf [Operator] = &quot;Div&quot; Then </li></ul><ul><li>Var1 = Var1 / var2 </li></ul><ul><li>ElseIf [Operator] = &quot;Sqrt&quot; Then </li></ul><ul><li>Exit Sub </li></ul><ul><li>ElseIf [Operator] = &quot;Pow&quot; Then </li></ul><ul><li>Var1 = System.Math.Pow(Var1, var2) </li></ul><ul><li>ElseIf [Operator] = &quot;Inve&quot; Then </li></ul><ul><li>Exit Sub </li></ul><ul><li>End If </li></ul><ul><li>TextBox1.Text = CStr(Var1) </li></ul><ul><li>Status = True </li></ul><ul><li>End Sub </li></ul>

×