240 likes | 405 Views
ภาษาคà¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œ. เรื่à¸à¸‡ ภาษาชั้นสูงมาภ( Very high - Level Language). ภาษาคà¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œ. ภาษาใดๆที่ผู้ใช้งานใช้สื่à¸à¸ªà¸²à¸£à¸à¸±à¸šà¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¸«à¸£à¸·à¸à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¸”้วยà¸à¸±à¸™ à¹à¸¥à¹‰à¸§à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¸ªà¸²à¸¡à¸²à¸£à¸–ทำงานตามคำสั่งนั้นได้. ลัà¸à¸©à¸“ะขà¸à¸‡à¸ าษาคà¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œ.
E N D
ภาษาคอมพิวเตอร์ เรื่อง ภาษาชั้นสูงมาก (Very high - Level Language)
ภาษาคอมพิวเตอร์ ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้
ลักษณะของภาษาคอมพิวเตอร์ลักษณะของภาษาคอมพิวเตอร์ 1. คำสั่งรับข้อมูลและแสดงผล คำสั่งประเภทนี้จำเป็นอย่างยิ่งที่จะต้องมีใช้ในภาษา กับทั้งยังต้องแจกแจงละเอียดต่อไปด้วยว่า รับผ่านอุปกรณ์ใด และแสดงผลทางอุปกรณ์ใด 2. คำสั่งคำนวณ โปรแกรมหรือคำสั่งที่เขียนจะหนีไม่พ้นคำสั่งที่สั่งให้ประมวลผลประเภท บวก ลบ คูณ หาร 3. คำสั่งที่มีการเลือกทิศทาง หมายถึง สั่งให้มีการเปรียบเทียบ เช่น ถ้ามากกว่าให้ทำอย่างหนึ่ง ถ้าเท่ากันให้ทำอย่างหนึ่ง หรือน้อยกว่าให้ทำอีกอย่างหนึ่ง เป็นต้น นอกจากนั้นอาจมีคำสั่งประเภทให้ทำงานเป็นวงซ้ำแล้วซ้ำอีก จนกว่าจะมีการเปรียบเทียบค่า ซึ่งถ้าเป็นเท่านั้นเท่านี้ หรือมากกว่าหรือน้อยกว่าก็ให้หยุดได้ 4. คำสั่งให้นำโปรแกรมหรือข้อมูลออกมาจาก และ/หรือส่งเข้าไปเก็บในสื่ออย่างใดอย่างหนึ่งเพื่อเรียกมาใช้ใหม่ได้
ภาษาชั้นสูงมาก (Very high - Level Language) สามารถเรียกได้อีกอย่างว่าภาษาในรุ่นที่4 (4GLs:Fourth Generation Languages)ภาษานี้เป็นภาษาที่อยู่ในระดับที่สูงกว่าภาษารุ่นที่3มีลักษณะของภาษาในรุ่นที่เป็นธรรมชาติคล้ายๆกับภาษาพูดของมนุษย์จะช่วย ในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการ ที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase, InGres เป็นต้น
ลักษณะของ 4GLs เป็นภาษาแบบ Nonprocedural ซึ่งหมายความว่าผู้ใช้เพียงแต่บอกว่าต้องการอะไร แต่ไม่ต้องบอกถึงรายละเอียดว่าต้องทำอย่างไร คอมพิวเตอร์จะเป็นผู้จัดการให้เองหมด ตัวอย่างเช่น ถ้าต้องการสร้างแบบฟอร์มการรับข้อมูลจากผู้ใช้ผู้เขียนโปรแกรมเพียงแต่ทำการออกแบบหน้าตาของแบบฟอร์มนั้นบนโปรแกรมอิดิเตอร์ (Editor) ใดๆ และเก็บเป็นไฟล์ไว้เมื่อจะเรียกใช้งานแบบฟอร์มนั้นเพียงแต่ใช้คำสั่งเปิดไฟล์นั้นขึ้นมาแสดงบนหน้าจอคอมพิวเตอร์ได้โดยทันทีซึ่งต่างจากภาษารุ่นที่ 3 ซึ่งเป็นแบบ Proceduralผู้เขียนโปรแกรม จะต้องเขียนรายละเอียดของโปรแกรมทั้งหมดว่า ที่บรรทัดนี้คอลัมน์นี้จะให้แสดงข้อความหรือข้อมูลอะไรออกมา
ลักษณะของ 4GLs ซึ่งถ้าต่อไปจะมีการปรับเปลี่ยนหน้าตาของแบบฟอร์ม ก็จะเป็นเรื่องที่ยุ่งยากอย่างยิ่ง หรือในการสร้างรายงานด้วย 4GLs ก็สามารถทำได้อย่างง่ายดายเพียงแต่ระบุลงไปว่าต้องการรายงานอะไร มีข้อมูลใดที่จะนำมาแสดงบ้าง โดยไม่ต้องบอกถึงวิธีการสร้างหรือการดึงข้อมูลแต่อย่างใด 4GLsจะจัดการให้เองหมดส่วนใหญ่จะพบว่า 4GLs มักจะอยู่ควบคู่กับระบบฐานข้อมูล โดยผู้ใช้ระบบฐานข้อมูลจะสามารถจัดการฐานข้อมูลได้โดยผ่านทาง 4GLs นี้
ส่วนประกอบของภาษา 4GLs(Fourth Generation Languages) โดยทั่วไปแล้ว 4GLs จะประกอบด้วยส่วนสำคัญ 3 ส่วนดังต่อไปนี้ • เครื่องช่วยสร้างรายงาน (Report Generators) หรืออาจเรียกได้อีกอย่างว่า เครื่องมือช่วยเขียนรายงาน (Report Writer) เป็นโปรแกรมสำหรับผู้ใช้ (end - users) ให้สามารถสร้างรายงานอย่างง่ายได้ด้วยตนเอง โดยผู้ใช้สามารถกำหนดเงื่อนไขและข้อมูลที่จะออกมาพิมพ์ในรายงานรวมไปถึงรูปแบบ (format) ของการพิมพ์ไว้ โปรแกรมช่วยสร้างรายงานนี้จะทำการพิมพ์รายงานตามรูปแบบที่เรากำหนดไว้ให้
ส่วนประกอบของภาษา 4GLs • ภาษาช่วยค้นหาข้อมูล (Query Languages) เป็นภาษาที่ช่วยในการค้นหาหรือดึงข้อมูลจากฐานข้อมูล ภาษานี้จะง่ายต่อการใช้งานมาก เนื่องจากจะอยู่ในรูปแบบที่ใกล้เคียงกับภาษาอังกฤษมาก ตัวอย่างของภาษาช่วยค้นหาข้อมูลนี้ได้แก่ ภาษา SQL (Structured Query Language)ภาษา QBE (Query - By - Example) และ Intellect เป็นต้น • เครื่องมือช่วยสร้างโปรแกรม (Application Generators) 4GLs จะมีรูปแบบการเขียนโปรแกรมเฉพาะตัว และสามารถเรียกใช้เครื่องมือช่วยสร้างโปรแกรมนี้ทำการแปลง 4GLs ให้กลายเป็นโปรกรมในภาษารุ่นที่ 3 ได้ เช่น ภาษาโคบอล หรือ ภาษาซี เป็นต้น ซึ่งอาจนำภาษาโคบอล หรือซีที่แปลงได้ไปพัฒนาต่อเพื่อใช้กับงานที่มีความซับซ้อนมากๆ ต่อไป
ประโยชน์ของ 4GLs • เป็นภาษาที่ง่ายต่อการเรียนรู้ คำสั่งแต่ละคำสั่งสื่อความหมายได้อย่างชัดเจน ดังนั้น จึงสามารถใช้เวลาในการศึกษาสั้นกว่าภาษารุ่นที่ 3 • ประหยัดเวลาในการเขียนโปรแกรมได้มาก เนื่องจาก 1 คำสั่งของ 4GL ถ้าต้อง เขียนด้วยภาษารุ่นที่ 3 อาจต้องเขียนถึง 100 กว่าคำสั่งในการทำงานแบบเดียวกัน • สนับสนุนระบบจัดการฐานข้อมูล ทำให้สามารถจัดการกับข้อมูลได้อย่างสะดวก และรวดเร็ว • สามารถสร้างแบบฟอร์มเพื่อจัดการกับข้อมูลในฐานข้อมูล และออกรายงานได้ อย่างง่ายดาย ไม่ยุ่งยาก • มีเครื่องมือการใช้งานเพื่ออำนวยความสะดวกในการเขียนโปรแกรมมาพอสมควร • สามารถทำงานได้ในลักษณะ Interactive คือมีการโต้ตอบกับผู้ใช้ได้ทันที
ตัวอย่างการเขียน 4GLs มีนักเขียนโปรแกรมกล่าวว่า ถ้าใช้ภาษาในยุคที่ 4 นี้เขียนโปรแกรมจะทำให้ได้งานที่เพิ่มขึ้นถึงสิบเท่าตัว ตัวอย่างเช่น ถ้าต้องการพิมพ์รายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน โดยให้แสดงยอดรวมของลูกค้าแต่ละคน และให้ขึ้นหน้าใหม่สำหรับการพิมพ์รายงานลูกค้าแต่ละคน จะเขียนโดยใช้ภาษาในยุคที่ 4 ได้ดังนี้
รายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือนรายงานแสดงจำนวนรายการสินค้าที่ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน
ตัวอย่างโปรแกรม 4GLs โปรแกรม Visual Basic (VB)เป็นโปรแกรมสำหรับพัฒนาโปรแกรมประยุกต์ที่กำลังเป็นที่ นิยมใช้อยู่ในปัจจุบัน โปรแกรม Visual Basic เป็นโปรแกรมที่ได้เปลี่ยนรูปแบบการเขียนโปรแกรมใหม่ โดยมีชุดคำสั่งมาสนับสนุนการทำงาน มีเครื่องมือต่าง ๆ ที่เรียกกันว่า คอนโทรล(Controls) ไว้สำหรับช่วยในการออกแบบโปรแกรม โดยเน้นการออกแบบหน้าจอแบบกราฟฟิก หรือที่เรียกว่า Graphic User Interface (GUI)
ตัวอย่างการเขียนโปรแกรม ภาษาชั้นสูงมาก (Very high - Level Language) การสร้างเครื่องคิดเลข ด้วยโปรแกรม Visual Basic.Net
ขั้นตอนการสร้าง • ปุ่ม C ที่Nameเปลี่ยนชื่อเป็น btnCLR • ปุ่ม 7 "---------------" btn_Num_7 • ปุ่ม 8 "---------------" btn_Num_8 • ปุ่ม 9 "---------------" btn_Num_9 • ปุ่ม 4 "---------------" btn_Num_4 • ปุ่ม 5 "---------------" btn_Num_5 • ปุ่ม 6 "---------------" btn_Num_6 • ปุ่ม 1 "---------------" btn_Num_1 • ปุ่ม 2 "---------------" btn_Num_2 • ปุ่ม 3 "---------------" btn_Num_3 • ปุ่ม 0 "---------------" btn_Num_0 • ปุ่ม . "dotหรือจุด------" btnNumPeriod • ปุ่ม + "บวก-----------" btn_Operator_Add • ปุ่ม - "ลบ------------" btn_Operator_Subt • ปุ่ม x "คูณ------------" btn_Operator_Multi • ปุ่ม / "หาร------------" btn_Operator_div • ปุ่ม = "เท่ากับ---------" btnCalculate
โค้ดในการทำงาน Public Class Form1 Inherits System.Windows.Forms.Form Private Var1 As Double Private var2 As Double Private Temp As Double Private Memory As Double Private period As Boolean Private [Operator] As String Private Status As Boolean
ดับเบิ้ลคลิ๊กที่ปุ่ม 7 แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btn_Num_7_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Num_7.Click If Status = False Then TextBox1.Text = TextBox1.Text + CStr(7) Else TextBox1.Text = 7 Status = False End If End Sub ปุ่มตัวเลขจะใช้วิธีการเขียนโค้ดเหมือนกัน โดยการดับเบิ้ลคลิกที่ปุ่มตัวเลข แล้วแก้ไขเฉพาะตัวเลขที่แสดงค่าของปุ่ม หรือ บริเวณ CStr(7) และ TextBox1.Text = 7
ดับเบิ้ลคลิ๊กที่ปุ่ม . (dot หรือ จุด) แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btnNumPeriod_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnNumPeriod.Click If Status = False Then If period = False Then If TextBox1.Text.Length > 0 Then TextBox1.Text = TextBox1.Text + "." Else TextBox1.Text = "0." End If period = True End If End If
ดับเบิ้ลคลิ๊กที่ปุ่ม + แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btn_Operator_Add_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Operator_Add.Click If TextBox1.Text.Length <> 0 Then If [Operator] = "" Then Var1 = CDbl(TextBox1.Text) TextBox1.Text = "" Else Calculate() End If [Operator] = "Add" period = False End If End Sub
ดับเบิ้ลคลิ๊กที่ปุ่ม - แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btn_Operator_Subt_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Operator_Subt.Click If TextBox1.Text.Length <> 0 Then If [Operator] = "" Then Var1 = CDbl(TextBox1.Text) TextBox1.Text = "" Else Calculate() End If [Operator] = "Sub" period = False End If End Sub
ดับเบิ้ลคลิ๊กที่ปุ่ม x แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btn_Operator_Multi_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Operator_Multi.Click If TextBox1.Text.Length <> 0 Then If [Operator] = "" Then Var1 = CDbl(TextBox1.Text) TextBox1.Text = "" Else Calculate() End If [Operator] = "Mult" period = False End If End Sub
ดับเบิ้ลคลิ๊กที่ปุ่ม / แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btn_Operator_div_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Operator_div.Click If TextBox1.Text.Length <> 0 Then If [Operator] = "" Then Var1 = CDbl(TextBox1.Text) TextBox1.Text = "" Else Calculate() End If [Operator] = "Div" period = False End If End Sub
ดับเบิ้ลคลิ๊กที่ปุ่ม C แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btnCLR_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnCLR.Click TextBox1.Text = "" Var1 = 0 var2 = 0 [Operator] = "" period = False End Sub
ดับเบิ้ลคลิ๊กที่ปุ่ม = แล้วเขียนโค๊ดลงไปดังนี้ Private Sub btnCalculate_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnCalculate.Click If TextBox1.Text.Length <> 0 AndAlso Var1 <> 0 Then Calculate() [Operator] = "" period = False End If End Sub
โค๊ดสมการแปลผล • Public Sub Calculate() • var2 = CDbl(TextBox1.Text) • If [Operator] = "Add" Then • Var1 = Var1 + var2 • ElseIf [Operator] = "Sub" Then • Var1 = Var1 - var2 • ElseIf [Operator] = "Mult" Then • Var1 = Var1 * var2 • ElseIf [Operator] = "Div" Then • Var1 = Var1 / var2 • ElseIf [Operator] = "Sqrt" Then • Exit Sub • ElseIf [Operator] = "Pow" Then • Var1 = System.Math.Pow(Var1, var2) • ElseIf [Operator] = "Inve" Then • Exit Sub • End If • TextBox1.Text = CStr(Var1) • Status = True • End Sub