คลิกเพื่อดาวน์โหลดสไลด์ computer-707kb

download report

Transcript คลิกเพื่อดาวน์โหลดสไลด์ computer-707kb

ภาษาคอมพิวเตอร์
เรื่ อง ภาษาชั้นสูงมาก
(Very high - Level Language)
ภาษาคอมพิวเตอร์
ภาษาใดๆที่ผใู ้ ช้งานใช้สื่อสารกับคอมพิวเตอร์หรื อคอมพิวเตอร์
ด้วยกัน แล้วคอมพิวเตอร์สามารถทางานตามคาสัง่ นั้นได้
ลักษณะของภาษาคอมพิวเตอร์
1. คาสั่งรับข้อมูลและแสดงผล คาสั่งประเภทนี้ จาเป็ นอย่างยิ่งที่จะต้องมีใช้
ในภาษา กับ ทั้ง ยัง ต้อ งแจกแจงละเอี ย ดต่ อ ไปด้ว ยว่ า รั บ ผ่า นอุ ป กรณ์ ใ ด และ
แสดงผลทางอุปกรณ์ใด
2. คาสั่งคานวณ โปรแกรมหรื อคาสั่งที่ เขี ยนจะหนี ไม่ พน้ คาสั่งที่ สั่งให้
ประมวลผลประเภท บวก ลบ คูณ หาร
3. คาสั่งที่ มีการเลื อกทิ ศทาง หมายถึ ง สั่งให้มีการเปรี ยบเที ยบ เช่ น ถ้า
มากกว่าให้ทาอย่างหนึ่ ง ถ้าเท่ากันให้ทาอย่างหนึ่ ง หรื อน้อยกว่าให้ทาอีกอย่างหนึ่ ง
เป็ นต้น นอกจากนั้นอาจมีคาสั่งประเภทให้ทางานเป็ นวงซ้ าแล้วซ้ าอีก จนกว่าจะมี
การเปรี ยบเทียบค่า ซึ่ งถ้าเป็ นเท่านั้นเท่านี้ หรื อมากกว่าหรื อน้อยกว่าก็ให้หยุดได้
4. คาสั่งให้นาโปรแกรมหรื อข้อมูลออกมาจาก และ/หรื อส่ งเข้าไปเก็บในสื่ อ
อย่างใดอย่างหนึ่ งเพื่อเรี ยกมาใช้ใหม่ได้
ภาษาชั้นสู งมาก
(Very high - Level Language)
สามารถเรี ยกได้อีกอย่างว่าภาษาในรุ่ นที่4 (4GLs:Fourth
Generation Languages)ภาษานี้เป็ นภาษาที่อยูใ่ นระดับที่สูงกว่าภาษารุ่ นที่3มี
ลักษณะของภาษาในรุ่ นที่เป็ นธรรมชาติคล้ายๆกับภาษาพูดของมนุษย์จะ
ช่วย ในเรื่ องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล
รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการ
ที่ง่ายมากไม่ยงุ่ ยากเหมือนภาษารุ่ นที่3
ตัวอย่างของภาษาในรุ่ นที่ 4 ได้แก่ Informix4GL, 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 ได้ดงั นี้
รายงานแสดงจานวนรายการสิ นค้าที่
ขายให้ลูกค้าแต่ละคนในหนึ่งเดือน
TABLE FILE SALES
SUM UNIT BY MONTH BY CUSTOMER BY PROJECT
ON CUSTOMER SUBTOTAL PAGE BREAK
END
ตัวอย่างโปรแกรม 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