Language com

24
เรื่อง ภาษาชั้นสูงมาก (Very high - Level Language) ภาษาคอมพิวเตอร์

description

ภาษาที่ใช้กับคอมพิวเตอร์

Transcript of Language com

Page 1: Language com

เรอง ภาษาชนสงมาก(Very high - Level Language)

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

Page 2: Language com

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

ภาษาใดๆทผใชงานใชสอสารกบคอมพวเตอรหรอคอมพวเตอรดวยกน แลวคอมพวเตอรสามารถทำางานตามคำาสงนนได

Page 3: Language com

ลกษณะของภาษาคอมพวเตอร

1. คำาสงรบขอมลและแสดงผล คำาสงประเภทนจำาเปนอยางยงทจะตองมใชในภาษา กบทงยงตอง

แจกแจงละเอยดตอไปดวยวา รบผานอปกรณใด และแสดงผลทางอปกรณใด

2. คำาสงคำานวณ โปรแกรมหรอคำาสงทเขยนจะหนไมพนคำาสงทสงใหประมวลผลประเภท บวก ลบ คณ

หาร3. คำาสงทมการเลอกทศทาง หมายถง สงใหมการ

เปรยบเทยบ เชน ถามากกวาใหทำาอยางหนง ถาเทากนใหทำาอยางหนง หรอนอยกวาใหทำาอกอยางหนง

เปนตน นอกจากนนอาจมคำาสงประเภทใหทำางานเปนวงซำาแลวซำาอก จนกวาจะมการเปรยบเทยบคา ซงถาเปนเทานนเทาน หรอมากกวาหรอนอยกวากใหหยดได

4. คำาสงใหนำาโปรแกรมหรอขอมลออกมาจาก และ/หรอสงเขาไปเกบในสออยางใดอยางหนงเพอ

เรยกมาใชใหมได

Page 4: Language com

ภาษาชนสงมาก (Very high - Level Language)

สามารถเรยกไดอกอยางวาภาษาในรนท4 (4GLs:Fourth Generation Languages)ภาษานเปนภาษาทอยในระดบทสงกวาภาษารนท3มลกษณะของภาษาในรนทเปนธรรมชาตคลายๆกบภาษาพดของมนษยจะชวย ในเรองของการสรางแบบฟอรมบนหนาจอเพอจดการเกยวกบขอมล

รวมไปถงการออกรายงาน ซงจะมการจดการ ทงายมากไมยงยากเหมอนภาษารนท3 ตวอยางของภาษาในรนท 4 ไดแก Informix-4GL, Focus, Sybase, InGres เปนตน

Page 5: Language com

ลกษณะของ 4GLsเปนภาษาแบบ Nonprocedural ซง

หมายความวาผใชเพยงแตบอกวาตองการอะไร แตไมตองบอกถงรายละเอยดวาตองทำาอยางไร คอมพวเตอรจะเปนผจดการใหเองหมด ตวอยางเชน ถาตองการสรางแบบฟอรมการรบขอมลจากผใชผเขยนโปรแกรมเพยงแตทำาการออกแบบหนาตาของแบบฟอรมนนบนโปรแกรมอดเตอร (Editor) ใดๆ และเกบเปนไฟลไวเมอจะเรยกใชงานแบบฟอรมนนเพยงแตใชคำาสงเปดไฟลนนขนมาแสดงบนหนาจอคอมพวเตอรไดโดยทนทซงตางจากภาษารนท 3 ซงเปนแบบ Proceduralผเขยนโปรแกรม จะตองเขยนรายละเอยดของโปรแกรมทงหมดวา ทบรรทดนคอลมนนจะใหแสดงขอความหรอขอมลอะไรออกมา

Page 6: Language com

ลกษณะของ 4GLs

ซงถาตอไปจะมการปรบเปลยนหนาตาของแบบฟอรม กจะเปนเรองทยงยากอยางยง หรอในการสรางรายงานดวย 4GLs กสามารถทำาไดอยางงายดายเพยงแตระบลงไปวาตองการรายงานอะไร มขอมลใดทจะนำามาแสดงบาง โดยไมตองบอกถงวธการสรางหรอการดงขอมลแตอยางใด 4GLsจะจดการใหเองหมดสวนใหญจะพบวา 4GLs มกจะอยควบคกบระบบฐานขอมล โดยผใชระบบฐานขอมลจะสามารถจดการฐานขอมลไดโดยผานทาง 4GLs น

Page 7: Language com

สวนประกอบของภาษา 4GLs(Fourth Generation Languages)

โดยทวไปแลว 4GLs จะประกอบดวยสวนสำาคญ 3 สวนดงตอไปนเครองชวยสรางรายงาน (Report Generators)หรออาจเรยกไดอกอยางวา เครองมอชวยเขยนรายงาน (Report Writer) เปนโปรแกรมสำาหรบผใช (end - users) ใหสามารถสรางรายงานอยางงายไดดวยตนเอง โดยผใชสามารถกำาหนดเงอนไขและขอมลทจะออกมาพมพในรายงานรวมไปถงรปแบบ (format) ของการพมพไว โปรแกรมชวยสรางรายงานนจะทำาการพมพรายงานตามรปแบบทเรากำาหนดไวให

Page 8: Language com

สวนประกอบของภาษา 4GLsภาษาชวยคนหาขอมล (Query Languages)เปนภาษาทชวยในการคนหาหรอดงขอมลจากฐานขอมล

ภาษานจะงายตอการใชงานมาก เนองจากจะอยในรปแบบทใกลเคยงกบภาษาองกฤษมาก ตวอยางของภาษาชวยคนหาขอมลนไดแก ภาษา SQL (Structured Query Language)ภาษา QBE (Query - By - Example) และ Intellect เปนตน

เครองมอชวยสรางโปรแกรม (Application Generators)

4GLs จะมรปแบบการเขยนโปรแกรมเฉพาะตว และสามารถเรยกใชเครองมอชวยสรางโปรแกรมนทำาการแปลง 4GLs ใหกลายเปนโปรกรมในภาษารนท 3 ได เชน ภาษาโคบอล หรอ ภาษาซ เปนตน ซงอาจนำาภาษาโคบอล หรอซทแปลงไดไปพฒนาตอเพอใชกบงานทมความซบซอนมากๆ ตอไป

Page 9: Language com

ประโยชนของ 4GLs

เปนภาษาทงายตอการเรยนร คำาสงแตละคำาสงสอความหมายไดอยางชดเจน ดงนน

จงสามารถใชเวลาในการศกษาสนกวาภาษารนท 3 ประหยดเวลาในการเขยนโปรแกรมไดมาก เนองจาก 1

คำาสงของ 4GL ถาตองเขยนดวยภาษารนท 3 อาจตองเขยนถง 100 กวาคำาสงใน

การทำางานแบบเดยวกน สนบสนนระบบจดการฐานขอมล ทำาใหสามารถจดการ

กบขอมลไดอยางสะดวก และรวดเรว สามารถสรางแบบฟอรมเพอจดการกบขอมลในฐาน

ขอมล และออกรายงานไดอยางงายดาย ไมยงยาก มเครองมอการใชงานเพออำานวยความสะดวกในการ

เขยนโปรแกรมมาพอสมควร สามารถทำางานไดในลกษณะ Interactive คอมการ

โตตอบกบผใชไดทนท

Page 10: Language com

ตวอยางการเขยน 4GLs

มนกเขยนโปรแกรมกลาววา ถาใชภาษาในยคท 4 นเขยนโปรแกรมจะทำาใหไดงานทเพมขนถงสบเทาตว ตวอยางเชน ถาตองการพมพรายงานแสดงจำานวนรายการสนคาทขายใหลกคาแตละคนในหนงเดอน โดยใหแสดงยอดรวมของลกคาแตละคน และใหขนหนาใหมสำาหรบการพมพรายงานลกคาแตละคน จะเขยนโดยใชภาษาในยคท 4 ไดดงน

Page 11: Language com

รายงานแสดงจำานวนรายการสนคาทขายใหลกคาแตละคนในหนงเดอน

Page 12: Language com

ตวอยางโปรแกรม 4GLs

โปรแกรม Visual Basic (VB) เปนโปรแกรมสำาหรบพฒนาโปรแกรมประยกตทกำาลงเปนท นยมใชอยในปจจบน โปรแกรม

Visual Basic เปนโปรแกรมทไดเปลยนรปแบบการเขยนโปรแกรมใหม โดยมชดคำาสงมาสนบสนนการทำางาน มเครองมอตาง ๆ ทเรยกกนวา

คอนโทรล(Controls) ไวสำาหรบชวยในการออกแบบโปรแกรม โดยเนนการออกแบบหนาจอแบบกราฟฟก หรอทเรยกวา Graphic User

Interface (GUI)

Page 13: Language com

ตวอยางการเขยนโปรแกรม ภาษาชนสงมาก

(Very high - Level Language)การสรางเครองคดเลข ดวยโปรแกรม Visual

Basic.Net

Page 14: Language com

ขนตอนการสราง

• ปม 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

Page 15: Language com

โคดในการทำางาน

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

Page 16: Language com

ดบเบลคลกทปม 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

Page 17: Language com

ดบเบลคลกทปม . (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

Page 18: Language com

ดบเบลคลกทปม + แลวเขยนโคดลงไปดงน 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

Page 19: Language com

ดบเบลคลกทปม - แลวเขยนโคดลงไปดงน 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

Page 20: Language com

ดบเบลคลกทปม 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

Page 21: Language com

ดบเบลคลกทปม / แลวเขยนโคดลงไปดงน 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

Page 22: Language com

ดบเบลคลกทปม 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

Page 23: Language com

ดบเบลคลกทปม = แลวเขยนโคดลงไปดงน

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

Page 24: Language com

โคดสมการแปลผล

• 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