language com
DESCRIPTION
ภาษาที่ใช้กับคอมพิวเตอร์TRANSCRIPT
เรอง ภาษาชนสงมาก(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 Form1Inherits System.Windows.Forms.FormPrivate Var1 As DoublePrivate var2 As DoublePrivate Temp As DoublePrivate Memory As DoublePrivate period As BooleanPrivate [Operator] As StringPrivate 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 ThenTextBox1.Text = TextBox1.Text + CStr(7)ElseTextBox1.Text = 7Status = FalseEnd IfEnd Sub
ปมตวเลขจะใชวธการเขยนโคดเหมอนกน โดยการดบเบลคลกทปมตวเลข แลวแกไขเฉพาะตวเลขทแสดงคาของปม หรอ บรเวณ CStr(7) และ TextBox1.Text = 7
ดบเบลคลกทปม . (dot หรอ จด) แลวเขยนโคดลงไปดงน
Private Sub btnNumPeriod_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnNumPeriod.ClickIf Status = False ThenIf period = False ThenIf TextBox1.Text.Length > 0 ThenTextBox1.Text = TextBox1.Text + "."ElseTextBox1.Text = "0."End Ifperiod = TrueEnd IfEnd If
ดบเบลคลกทปม + แลวเขยนโคดลงไปดงน Private Sub btn_Operator_Add_Click(ByVal sender As
System.Object, _ByVal e As System.EventArgs) Handles
btn_Operator_Add.ClickIf TextBox1.Text.Length <> 0 ThenIf [Operator] = "" ThenVar1 = CDbl(TextBox1.Text)TextBox1.Text = ""ElseCalculate()End If[Operator] = "Add"period = FalseEnd IfEnd Sub
ดบเบลคลกทปม - แลวเขยนโคดลงไปดงน Private Sub btn_Operator_Subt_Click(ByVal sender As
System.Object, _ByVal e As System.EventArgs) Handles
btn_Operator_Subt.ClickIf TextBox1.Text.Length <> 0 ThenIf [Operator] = "" ThenVar1 = CDbl(TextBox1.Text)TextBox1.Text = ""ElseCalculate()End If[Operator] = "Sub"period = FalseEnd IfEnd Sub
ดบเบลคลกทปม x แลวเขยนโคดลงไปดงน Private Sub btn_Operator_Multi_Click(ByVal sender As
System.Object, _ByVal e As System.EventArgs) Handles
btn_Operator_Multi.ClickIf TextBox1.Text.Length <> 0 ThenIf [Operator] = "" ThenVar1 = CDbl(TextBox1.Text)TextBox1.Text = ""ElseCalculate()End If[Operator] = "Mult"period = FalseEnd IfEnd Sub
ดบเบลคลกทปม / แลวเขยนโคดลงไปดงน Private Sub btn_Operator_div_Click(ByVal sender As
System.Object, _ByVal e As System.EventArgs) Handles
btn_Operator_div.ClickIf TextBox1.Text.Length <> 0 ThenIf [Operator] = "" ThenVar1 = CDbl(TextBox1.Text)TextBox1.Text = ""ElseCalculate()End If[Operator] = "Div"period = FalseEnd IfEnd Sub
ดบเบลคลกทปม C แลวเขยนโคดลงไปดงน
Private Sub btnCLR_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnCLR.Click
TextBox1.Text = ""Var1 = 0var2 = 0[Operator] = ""period = FalseEnd 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 = FalseEnd IfEnd 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