View
8
Download
0
Category
Preview:
Citation preview
การเขยนโปรแกรมเชงภาพVisual Programmingภาคการศกษา 1/2559
อ.ดร. นฐพงศ สงเนยม
สาขาวชาวทยาการคอมพวเตอร
คณะวทยาศาสตรและเทคโนโลย มหาวทยาลยราชภฏพระนคร
Last update : 02-07-2559
คะแนน• จตพสย
– เขาเรยน 10 คะแนน• ขาด หก 2 คะแนน
• ลา หก 1 คะแนน
• สาย หก 1 คะแนน 08.30 - 11.50 , 09.30 น.
• สอบระหวางภาค 20 คะแนน
• สอบปลายภาค 30 คะแนน
• Project 1-3 คน ตอ โปรแกรมระบบสารสนเทศ
– น าเสนอ PPT >> CD
– Source Code >> CD
– เอกสารประกอบโปรแกรม รปเลมรายงาน พรอมทงเขยนลง >> CD• ค าน า สารบญ ปก บรรณานกรม
• บทท 1 บทน า หลกการเหตผล วตถประสงค ....
• บทท 2 การออกแบบ ERD + Data dictionary
• บทท 3 หนาจอ โปรแกรมและวธการใชงาน
• บทท 4 สรป
เกณฑ
• 80 -100 >> A• 75- 79 >> B+• 70-74 >> B• 65-69 >> C+• 60-64 >> C• 55-59 >> D+• 50 – 54 >> D• 0-49 >> E
การพฒนาซอฟตแวร
• SDLC >> Software Development Life Cycle
– วฏจกร การพฒนาซอฟตแวร
– 7 ขนตอน
• 1. การรวมรวมขอมล / ก าหนดปญหา
• 2. การศกษาความเปนไปได การวเคราะหระบบ วเคราะหขอมลในระบบ
– Requirement Gathering
– DFD
• 3. การออกแบบระบบ การออกแบบฐานขอมล
ศกษาความเปนไปได
ฝาย IT กบ ผบรหาร
1. Traditional2. OO
แนวทางในการพฒนาระบบ/ซอฟตแวร
1. Traditional >> แบบดงเดม เนนทออกแบบเชงโครงสราง
2. OOStructural Programming
C , Pascalbasic
• Sequence
• Selection• Loop / Repetition
• มรปแบบทชดเจน• มแบบแผน
ศกษาความเปนไปได
ฝาย IT กบ ผบรหาร
จงพฒนาระบบฐานขอมลทงองคกร เชน ทง ธนาคารไทยพาณชย
มความเปนไปไดเปนไปไมได
• เวลา• ทรพยากร คน เครองมอ• งบประมาณ• ความเสยง• ความคมคา
•ความคมคา• ระบบจดคว ของ รานยา
เลงเหนถงปญหาถาระบบเดม ดอยแลว กไมตองพฒนา*** ก าหนดปญหา
• งบประมาณ • เศรษฐศาสตร• ทรพยากร• เทคโนโลย
• การพฒนาซอฟตแวร– อยๆ บอกวาเขยนโคด >> โปรแกรมเมอร
•PM : Project Manger•SPM : Software Project Manager
TEAM- PM - SA- DBAผดแลระบบฐานขอมล
- ก าหนดสทธ สรางผใช- ความถกตอง
- Log File
- Programmer- Tester
Master-DB BK-DB
ซอฟตแวร บน DOS
ซอฟตแวร บน Windows Windows Application
ซอฟตแวร บน WebWeb Application- e-commerce- mail- ระบบสารสนเทศตางๆ
ซอฟตแวร บน IoTWeb/Mobile Application- e-commerce- mail- ระบบสารสนเทศตางๆ
• การเกบขอมล Information Gathering >> Requirement Specifications
Report 1 เลม
สมมต ธนาคาร ท าฟงกชน• ฝากได()
จ านวน ของ requirements เทาไร ถงจะพอ
IS : Information System
• ระบบสารสนเทศ
– DSS: Decision Support System
– EIS: Executive Information System
– ES: Expert System
– MIS: Management Information System
– TPS: Transaction Processing System
เปนระบบทมฐานขอมลมาเกยว+ DB
ตวอยางท ไมเปน ISApp: Photoshop Control : Robot , HardwareEmbedded : ในรถยนต
Watson : IBM
AI : ANN , Fuzzy , PCA
IS: Integrate Systemระบบรวม เอาหลายๆ IS มารวมกน
TPS: งานธรการ งานประจ า งานรทน
โปรแกรมดานระบบฐานขอมล
• เปนเพยง แนวทางหนงของการพฒนาซอฟตแวร• ระบบแบบเรยลไทม หน ระบบควบคมสายการบน• ระบบควบคมอปกรณ
– อานน าหนกจากตาชง– ปดไฟ เปดไฟ– ควบคมหนยนต– ควบคมรถยนต– แขนกล– เซนเซอร– ฯลฯ
ตองมการวเคราะหระบบ
• SA : System Analyst
• เรยน ในวชา วเคราะหและออกแบบระบบสารสนเทศ 1
• เรยน ในวชา วเคราะหและออกแบบระบบเชงวตถ
• เรยน ในวชา การออกแบบและจดการฐานขอมล
DB DBMS
ERD + Normalize ToolsSQL
Visual Studio.NET
• Tools
– IDE : Integrate Development Environment
• Tools
• Language VB , VC# , VC++ , F# ….
30 up
.NET FRAMEWORK มอง OS คอ Internet
Run Time
คณสมบตของฟอรม
• Name : ชอ ออบเจกตฟอรม• BackColor : สพนหลง • Text : ขอความทปรากฏบนไตเตลบาร• Font : ชนดตวอกษร• Cursor• Windowstate : สถานะของฟอรม Max , Min , Normal
• StartPosition : ต าแหนงของฟอรม เมอ RUN ครงแรก• ฯลฯ
การเขยนบน windows
• Event - Driven Programming– อางองตามเหตการณ
• Visual Programming– เชงภาพ
• WYSIWYG : What you see it What you Get.– เหนผลในขณะทยงออกแบบ
C
• #include <stdio.h>• void main() {• …………• ……….• …………• ……………….• …………………..• …………………• ……………………………• …………………………….• ……………..• }
Sequential
Event-Driven Programming
• ขนอยกบเหตการณ
• ถามเหตการณเกดขน จะเขยนค าสงอะไร
• ถาอยากใหโปรแกรมท างานแบบน จะใชเหตการณอะไร
หนา CODE VIEWObjects Events
เตรยมเรมตน / กอนทจะพรอมท างานเอาขอมลของฟอรมเขาสหนวยความจ าเปนเหตการณแรกสด
การเขยน Code ใน VB
• Case Sensitive
– ตวพมพเลก หรอใหญ จะมความหมายเดยวกน ใชไดทงพมพเลกใหญ ถอวาเปนตวเดยว
• ต าแหนงทพมพ กไวยากรณทางภาษา
Syntax : ไวยากรณทางภาษา
สถาปตยกรรมเครอขายแบบไฟลเซรฟเวอร
• สถาปตยกรรมเครอขายแบบไฟลเซรฟเวอร เปนสถาปตยกรรมทน าพซคอมพวเตอรทน ามาท าเปนเครองแมขายหรอ เซรฟเวอร ทมหนาทบรการแชรทรพยากรตางๆ ใหกบเครองลกขาย ซงประกอบดวยการบรการแชรไฟล โปรแกรมเครองพมพ และเนอทจดเกบขอมล เปนตน ดงแสดงในภาพท 15.2
PascalCBasic
DOS GUI FileData Base
•.txt•…………..•………….•…………….•……………
•.txt•…………..•………….•…………….•……………
•.txt• ธรภาพ ตาย•………….•…………….•……………
ยค
• DOS
• WINDOWS
– 3.11
– 95
– 98
– ME
– XP
– Win7 …win10
Visual ProgrammingEvent-Driven ProgrammingObject-Oriented Programming
Windows Applications
• VB , VC# , VJ# , VC++• Java • Delphi
Microsoft Visual Studio.NET
• 2002
• 2003
• 2005
• 2008
• 2010
• 2012
• 2015
IDEIntegrate Development Environment
• VB , VC# , VJ# , VC++• Java …. Netbean• Delphi
Software : tools
ภาษา / language
RDBMS
• Access , MySQL , …
• MySQL >> Tool
• Microsoft SQL server >> Tools DBMS
• SQL … Structure Query Language
Microsoft Visual Studio.NET
• Visual Basic.NET 2010
• Visual C#
• Visual J#
• Visual C++
เขยนดวยภาษาทสนบสนน แลวท างานรวมกนได ดวย tool ตวเดยวกน
ท างานบนวนโดว
.Net Framework 4.0เปนกรอบการท างานท รนอยบนอนเตอรเนต หรอมองวาอนเตอรเนตเปนระบบปฏบตการ
Function / Procedure / Method / Sub
• Standard Function
– AVG()
– DATE()
– TIME()
– POW()
– SQRT()
– …
• User Define Function เขยนเองสรางเอง
ลาออก()ตาย()
Prerequisite
การเขยนโปรแกรมและขนตอนวธ
การเขยนโปรแกรมภาษาคอมพวเตอร 1 Syntax ไวยากรณทางภาษาเนอหาสวนใหญจะถงเรอง
ฟงกชน/โพรซเยอร
การวเคราะหปญหาการเขยน/ออกแบบ Pseudo
CodeFlowchart
การเขยนโปรแกรมเชงภาพSyntax ไวยากรณทางภาษาเนอหาสวนใหญจะถงท างาน
กบฐานขอมล
ต.ย. ความเกยวเนองกนของรายวชา
เขยนโปรแกรม
ระบบเครอขายถารเรองระบบเครอขาย กเขยนโปรแกรมบนเครอขายได เชน
Face book / แอพฯ บนมอมอ / ฯลฯ
ถารเรองการเขยนโปรแกรมทดกการระบบเครอขาย กเขาใจ ท า
ไดด
ภาษาอะไรทจะเรยน
VB
JAVA
VC#
Basic – VB1.0 –Vb6.0 Vb.net2002 2003 2012
โปรแกรมทวไป งานระบบฐานขอมลควบคมอปกรณ
ขอก าหนดเยอะมแนวปฏบตเยอะ
ตองการใหโปรแกรม Robust สง
นศ. ลองคนควาเพมเตม ด วาแตละภาษามขอดขอเสย
อยางไร ?
Sequence
การเขยนโปรแกรมและขนตอนวธ
การเขยนโปรแกรมภาษาคอมพวเตอร 1 Syntax ไวยากรณทางภาษาเนอหาสวนใหญจะถงเรอง
ฟงกชน/โพรซเยอร
การวเคราะหปญหาการเขยน/ออกแบบ
Pseudo CodeFlowchart
การเขยนโปรแกรมภาษาคอมพวเตอร 2ชนสง Syntax ไวยากรณทางภาษา
เนอหาสวนใหญจะถงท างานกบฐานขอมล
เขยนโปรแกรม
ระบบเครอขายถารเรองระบบเครอขาย กเขยนโปรแกรมบนเครอขายได เชน Facebook /
แอพบนมอมอ
ถารเรองการเขยนโปรแกรมทดกการระบบเครอขาย กเขาใจ ท า
ไดด
เพราะทกภาษาไมไดเหมาะกบทกงาน
• ดงนน ถาเรารธรรมชาต ของภาษานน กท าใหรวาควรเลอกภาษาใดพฒนาระบบงานแบบใด– ถาเรารวาภาษานเหมาะกบงานแบบน กเลอกภาษาน
ท-ป3(2-2)
ท-ป-ต3(2-2-6)
• ความหมายและประเภทของภาษาคอมพวเตอร
– ความหมายของภาษาคอมพวเตอร
– ประเภทของภาษาคอมพวเตอร
• ขนตอนในการพฒนาโปรแกรมคอมพวเตอร
AGENDA
คอมพวเตอรจะสามารถท างานไดจะตองมการเขยนโปรแกรมหรอซอรฟแวร เพอสงใหคอมพวเตอรท างาน โปรแกรมตาง ๆ ท เขยนขนมานน จะตองเขยนไปตามกฎเกณฑของภาษาทคอมพว เตอร เข า ใจ เ รยกว า ภาษาคอมพวเตอร
ภาษาคอมพวเตอร
ภาษาคอมพวเตอร คอ ภาษาทคยกบคอม
• ภาษาคอมพวเตอร (Computer Language)
คอ “ค าสงทใชสงใหคอมพวเตอรท างาน”
• ผเขยนโปรแกรม (Programmer)
–ตองเลอกภาษาคอมพวเตอรทเหมาะสมกบงาน
–ตองเขาใจถงกฎเกณฑไวยากรณของค าสง
– วธการเขยนโปรแกรมของคอมพวเตอรทเลอกใช
ความหมายของภาษาคอมพวเตอร
• ปจจบนภาษาคอมพวเตอรมมากมายหลายภาษา และหลายรปแบบใหเลอกใช
– เชน ภาษาฟอรแทรน (FORTRAN) โคบอล (COBOL) อารพจ (RPG) เบสก (BASIC) ซ (C) ซพลสพลส(C++) ปาสคาล (Pascal) วชวลเบสก (Visual Basic)
ความหมายของภาษาคอมพวเตอร
• ภาษาระดบต า (Low Level Language)• ภาษาสญลกษณ(Symbol Language)• ภาษาระดบสง (High Level Language)• ภาษาระดบสงมาก (Very High Level Language)• ภาษาธรรมชาต (Natural Language)• ภาษาเชงวตถ (Object Oriented Language)
ประเภทของภาษาคอมพวเตอร
• เปนภาษาเครอง ใชสญลกษณ 0 และ 1 (ค ำสงเปนตวเลขฐำนสอง)
• ผเขยนตองมความรความช านาญในดานของฮารดแวร • คอมพวเตอรแตละประเภททมสถาปตยกรรมแตกตางกน จะใชค าสง
ภาษาเครองทแตกตางกน • ภาษาเครองเขยนไดยากกวาภาษาอน แตมความรวดเรวในการท างาน
มากกวาภาษาอน เนองจากคอมพวเตอรเขาใจค าสงไดโดยตรง ไมตองผานการแปล (Compile)
ภาษาระดบต า (Low Level Language)
01100101100110011000000111111000000111000011111100000011000000111010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000011001011001100110000001111110000001110000111111000000110000001100101100110011000000111111000000111000011111100000011000000110010110011001100000011111100000011100001111110000001100000
01100101100110011000000111111000000111000011111100000011000000110010110011001100000011111100000011100001111110000001100000
01100101100110011000000111111000000111000011111100000011000000111010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000
0110010110011001100000011111100000011100001111110000001100000011001011001100110000001111110000001110000111111000000110000001100101100110011000000111111000000111000011111100000011000000110010110011001100000011111100000011100001111110000001100000
01100101100110011000000111111000000111000011111100000011000000110010110011001100000011111100000011100001111110000001100000
2.5GHZ
“A”
• เปนภาษาทเรมพฒนา สญลกษณแทน 0 และ 1 ในค าสงทตองใชบอยๆ ไดแก ภาษา Assembly มตวแปรชอวา Assembler
• เชน ใช IMP แทน รหส 11000011 ซงหมายถง JUMP หรอใหกระโดดไปท างานทก าหนด
• ภาษาแอสแซมบลยงคงเปนภาษาทเฉพาะกบโปรเซสเซอรแตละตวเทานน หากโยกยายไปใชกบเครองทมโปรเซสเซอรไมเหมอนกนไมได ตองเขยนค าสงใหม
ภาษาสญลกษณ (Symbol Language)
• ภาษาแอสแซมบล มความยาว และอานยากกวาโปรแกรมทเขยนดวยภาษา C หรอ BASIC แตท างานไดเรว และใชเนอทนอยกวาโปรแกรมทเขยนดวยภาษาอน
ภาษาสญลกษณ (Symbol Language)
• เหตผลทตองใชภำษำแอสแซมบลมเพยง 2 ประกำร
– ตองการเคนเอำประสทธภำพทงหมดทโปรเซสเซอรมออกมาใหมากทสดเทาทจะท าได (โปรแกรมภาษาแอสแซมบล มกจะท างานไดรวดเรวกวาภาษาระดบสงทท างานแบบเดยวกน)
– เพอเพมควำมสำมำรถในกำรเขำใชงำนฮำรดแวรทมคณสมบตเฉพำะซงภาษาระดบสงท าไมได
ภาษาสญลกษณ (Symbol Language)
• เปนภาษาทใชสญลกษณเตมรปแบบ • ค ำสงเปนรปแบบของอกษรภำษำองกฤษ ใกลเคยงกบขอควำมในภำษำ
มนษย (องกฤษ)
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• องคประกอบหลกของภำษำระดบสง
– ค ำศพท (Vocabulary / Keyword)อาจอยในรปค าศพทเฉพาะ ในรปของฟงกชนหรอ Procedure
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• องคประกอบหลกของภำษำระดบสง
– ไวยำกรณ (Syntax) การน าค าศพทมาเขยนค าสง จะอยในรปประโยคค าสง
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• องคประกอบหลกของภำษำระดบสง
– โครงสรำงภำษำ (Structure) เมอน าภาษาไปเขยนโปรแกรม โครงสรางของโปรแกรมเปนอยางไร
http://www.siam2dev.com การเขยนโปรแกรมภาษาคอมพวเตอรช นสง
ภาษาระดบสง (High Level Language)
• องคประกอบหลกของภาษาระดบสง
– ตวแปลภาษา (Translator) เพอใหคอมพวเตอรเขาใจและท าการประมวลผลได
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
องคประกอบหลกของภำษำระดบสง
ตวแปลภาษาสามารถแบงตามลกษณะการแปลไดดงนแอสเซมเบลอ (Assembler) ใชแปลภาษา Assemblyอนเทอพรเตอร (Interpreter) ใชหลกการแปลในขณะท างาน เปนการแปลทละประโยค
คอมไพเลอร (Compiler) เปนการแปลทงโปรแกรม ผลการแปลทงฉบบเราเรยกวา ออบเจคโคด (Object code)
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวแปรภำษำ (Translator Program) เปนสวนทใชในการแปลรหสค าสงของภาษาคอมพวเตอรทพฒนาขนมาเพอแปลงใหเปนเลขฐานสอง (ภาษาเครอง)
ตวแปรภาษา (TRANSLATOR PROGRAM)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ลกษณะกำรท ำงำนของตวแปรภำษำ• การเขยนโปรแกรมดวยภาษาทใชภาษาเครอง จะถกเรยกวา โปรแกรมตนฉบบ (Source Program) เมอบนทกโปรแกรมลงสอบนทกขอมล เครองจะก าหนดชนดของโปรแกรม (Type) ตามขอก าหนดของแตละภาษาทสรางโดยอตโนมต เชน ภาษาซจะมชนดเปน C หรอภาษา C++ ทจะมชนดเปน CPP มหนาทแปลชดค าสงทใชในรปแบบค าสงทภาษาน น ๆ ก าหนดไว ใหเปนโปรแกรมภำษำเครอง (Object Program) ซงเปนภาษาเดยวทเครองคอมพวเตอรสามารถปฏบตตามค าสงได หลงจากแปลโปรแกรมตนฉบบแลว เครองคอมพวเตอรกจะท าการสรางโปรแกรมเพมขนอก 1 โปรแกรม ใหมชนดของโปรแกรมเปนชนด .EXE หรอ .OBJ เพอใชท างานในลกษณะของภาษาตอไป
ตวแปรภาษา (TRANSLATOR PROGRAM)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ในการพฒนาซอฟตแวรคอมพวเตอรนน โปรแกรมเมอรจะเขยนโปรแกรมในภาษาคอมพวเตอรแบบตาง ๆ ตามแตความช านาญของแตละคน โปรแกรมทไดจะเรยกวา โปรแกรมตนฉบบหรอซอรสโปรแกรม(source program) ซงมนษยจะอานโปรแกรมตนฉบบนไดแตคอมพวเตอรจะไ ม เ ขา ใ จค าส ง เ ห ล าน น จ งตอ ง มก าร ใชโปรแกรม ตว แปลภาษาคอมพวเตอร (Translator) ในการแปลภาษาคอมพวเตอรภาษาตาง ๆ ไปเปนภาษาเครองโปรแกรมทแปลจากโปรแกรมตนฉบบแลวเรยกวา ออบเจคโปรแกรม (object program) ซงจะประกอบดวยรหสค าสง ทคอมพวเตอรสามารถเขาใจและน าไปปฏบตไดตอไป
ตวแปรภาษา (TRANSLATOR PROGRAM)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ประเภทของภาษาทจดวาเปนภาษาระดบสง
พฒนำเมอ ภำษำคอมพวเตอร คณลกษณะเดน
1957 FORTRAN (FORmular
TRANslation)
เปนภาษาทประยกตใชในงานค านวณทางคณตศาสตรหรอการค านวณแบบสตร
1960 ALGOL (ALGOrithmicLanguag
e)
เปนภาษาทมความยดหยนกวาภาษาFORTRAN โดยเนนการค านวณ เพอแกปญหาทางคณตศาสตรและเปนตนแบบของการพฒนาภาษาตาง ๆ หลายภาษา
ประเภทของภาษาทจดวาเปนภาษาระดบสง
พฒนำเมอ ภำษำคอมพวเตอร คณลกษณะเดน
1964 BASIC
Beginner’s All-purpose Symbolic Instruction
Code
เปนภำษำทงำยตอกำรใชงำนและถกออกแบบมำส ำหรบผเรมตนเรยนรกำรใชภำษำคอมพวเตอรและยงสำมำรถน ำไปประยกตใชงำนไดทงทำงดำนธรกจ บรหำร คณตศำสตร กำรค ำนวณทำงสถตและกำรเขยนกรำฟก เปนตน
1969 PASCALตงชอเปนเกยรตแก เบลส ปาสคาล (Blasé Pascal)
เปนภาษาโครงสราง (Structured language) ทใหผลลพธทแนนอนและแมนย า ซงถกเรยกวาเปน ภาษาแหงระบบแบบแผน (Systematiclanguage) หรอเปนภำษำทมระเบยบสงมำก
ประเภทของภาษาทจดวาเปนภาษาระดบสง
พฒนำเมอ ภำษำคอมพวเตอร คณลกษณะเดน
1972 C เปนภาษาทพฒนามาจากภาษา B และเปนภาษาทไดรวมเอาขอดของภาษาตาง ๆ เชน ภาษา Pascal LISP และ CPLจนกลายเปนภาษาโครงสรางทมประสทธภาพในดานการน าไปประยกตใชกบงานไดหลากหลาย
1983 ADAตงชอเปนเกยรตแก
เลดเอดา ออกสตา (LadyAda Augusta Lovelace)
เปนภาษาทถกพฒนาขนมาใชในกระทรวงกลาโหมของสหรฐอเมรกา ลกษณะของภาษาจะคลายกบภาษา Pascal แตซบซอนกวา
• ตวอยำงของภำษำระดบสง
– ภาษาเบสก (BASIC : Beginner’s All-purpose Symbolic Instruction Code) เพอใชในการเรยนการสอน เพอฝกทกษะการเขยนโปรแกรมควบคมการท างานของเครองคอมพวเตอร หลงจากระบบปฏบตวนโดวส ซงตดตอกบผใชแบบกราฟก (GUI : Graphic User Interface) ไดรบความนยม และเปนทแพรหลาย บรษทไมโครซอฟตจงพฒนาภาษาวชวลเบสกขนแทน
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวอยำงของภำษำระดบสง
– ภาษาเบสก (BASIC : Beginner’s All-purpose Symbolic Instruction Code)
ภาษาระดบสง (High Level Language )
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวอยำงของภำษำระดบสง
– ภาษาฟอรแทรน (FORTRAN : FORmula TRANslation) ใชแกปญหางานทางวทยาศาสตร
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวอยำงของภำษำระดบสง
– ภาษาโคบอล (COBOL : COmmon Business Oriented Language ) ภาษาทเนนค าสงดานการพมพรปแบบรายงาน เพอใชในงานทางธรกจ
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวอยำงของภำษำระดบสง
– ภาษาปาสคาล (Pascal) ใชในงานดานการค านวณทวไป ทงงานทางวทยาศาสตร ธรกจ หรอวศวกรรม พฒนาในยค 1970 ตอนตน
http://www.siam2dev.com การเขยนโปรแกรมภาษาคอมพวเตอรช นสง
• ตวอยำงของภำษำระดบสง
– ภาษาเอดา (Ada) เปนภาษาทสรางใหเกยรตแก นางออกสตา เอดา ใชเปนภาษาหลกในงานทางทหาร
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ตวอยำงของภำษำระดบสง
– ภาษาซ (C) ใชในงานดานการค านวณทวไป ทงงานทางวทยาศาสตรธรกจ หรอวศวกรรม เชนเดยวกบภาษาปาสคาล นยมใชกบระบบปฏบตการยนกส (UNIX)
ภาษาระดบสง (High Level Language)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• เปนภาษายคท 4 (Fourth Generation Language = 4GLs) ผเขยนเพยงก าหนดความตองการวาจะใหโปรแกรมท าอะไรบาง โดยไมตองรวาท าอยางไร
• เชน ภาษา SQL (Structured Query Language) และภาษา QBE (Query By Example)
ภาษาระดบสงมาก (Very High Level Language)
กำรเขยนโปรแกรมเชงโครงสรำง (Structured Programming orFunction Oriented Programming )
กำรเขยนโปรแกรมเชงวตถ (Object-Oriented Programming :OOP)
Paradigm
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
START
STOP
SET X 0
COMPUTE X 2*Y + X
READ Y
DISPLAY X
Sequence AlgorithmsSelection/Decision AlgorithmsLoop/Repeat Algorithms
• เปนการเขยนโปรแกรมแบบแยกการท างานเปนโมดลหรอฟงกชน แลวน ามารวมกนเปนโปรแกรมระบบงาน การเขยนโปรแกรมแบบน เปนการสงใหคอมพวเตอรท างานเปนล าดบของค าสง
• ไดรบความนยมเนองจากเขยนโปรแกรมไดงายและรวดเรว• เกบขอมลเปนไฟลหรอฐานขอมลแยกกนกบโปรแกรม• ขอจ ำกด คอ ถาใชงานไปนานๆ การน าโปรแกรมมาพฒนา
ตอนนท าไดยาก
Devide and Conquer
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• เปนการเขยน โปรแกรมทรวมขอมลและชดค าสงเขาไปไวดวยกน เรยกวา “ออบเจกต” (object)
• การเขยนโปรแกรมเชงวตถไมตองเรมตนเขยนโปรแกรมใหม เพยงน าชดค าสงหรอ “ออปเจกต” เดม มาใสชดของรหสค าสงทจะท าให “ออปเจกต” ท างานตามรปแบบใหมทตองการ โปรแกรมกจะท างานไดทนท ถอวาเปนความคลองตว (Reusable)
Reusable
ลอ + เครองยนต
ตนตะขาบ
ปนใหญ ทตก
รถถง
Final
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• เปนภาษารนใหมทนยมใชกนอยางแพรหลายในปจจบน มลกษณะการท างานเชงวตถ มระบบชวยเหลอตางๆ มากมาย
• เชน JAVA, Visual Basic, Visual FoxPro, C++ เปนตน
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ภำษำวชวลเบสก (Visual Basic)
– พฒนาโดยบรษทไมโครซอฟท ใชพฒนาโปรแกรมเชงวตถไดโดยงาย เพราะมค าสงในรปแบบของเครองมอชวยงาน (Tools) ทเปนออบเจกต (Object) ตางๆ ใหเลอกใชไดโดยงาย เพยงเขยนรหสค าสงเพอใหออบเจกตท างาน
– ปจจบนมการพฒนาจนถงรน .NET ทท างานไดดในระบบปฏบตการ 64 บต WindowsXP, 2000, 2003
ต.ย. ภาษาทใชในการเขยนโปรแกรมเชงวตถ
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ภำษำวชวลเบสก (Visual Basic)
Private Sub Timer1_Timer() Text1 = Format(Time, "long time")
End Sub
Class Time
End Class
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• ภำษำซพลสพลส (C++ language)
– เปนภาษาซรนทไดรบการพฒนาขนมา โดยเพมคณสมบตการเขยนโปรแกรมเชงวตถเขาไป (object-oriented)
– เรมเปนทนยมเพราะโปรแกรมซเรยนรไดงาย ใชงานเชงวตถได จงท าใหเขยนโปรแกรมในโครงการขนาดใหญไดงายขน
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ภำษำจำวำ (Java)
พฒนาโดย บรษทซน ไมโครซสเตมส จดประสงค ใหสามารถท างานไดกบระบบการท างานของเครองทกชนด ทกระบบปฏบตการ ท าใหจาวามจดเดนทเหนอกวาภาษาอนๆ
สามารถน าไปประยกตใชกบอปกรณอเลกโทรนกสประเภทฝง เชน ระบบโทรศพท
ปจจบนพฒนาเปนโปรแกรมทใชงานผานเครอขายอนเทอรเนตอยางแพรหลาย
ต.ย. ภาษาทใชในการเขยนโปรแกรมเชงวตถ
กำรพจำรณำเลอกใชภำษำคอมพวเตอรเพอพฒนำเปนโปรแกรม
มขอเสนอแนะ คอ • หากพฒนาระบบงานในลกษณะของงานค านวณ ควรเลอกใช
ภาษาคอมพวเตอรประเภทภาษาระดบสง ทมลกษณะเปนภาษาโครงสราง เชน ภาษาซ ภาษาปาสคาล
• หากระบบงานในลกษณะฐานขอมล การแสดงผลเชงกราฟก ควรเลอกใชภาษาประเภทโปรแกรมเชงวตถ เชน ภาษาวชวลเบสก เพราะมค าสงใหเลอกใชงานไดอยางสะดวก และรวดเรว
กำรพจำรณำเลอกใชภำษำคอมพวเตอรเพอพฒนำเปนโปรแกรม
มขอเสนอแนะ คอ • การจะพจารณาเลอกใชภาษา คอมพวเตอรเพอพฒนาระบบงานใดกตาม สง
ทตองพจำรณำเปนอนดบแรก คอ ควำมสำมำรถของผพฒนำโปรแกรมทสามารถใชงานภาษานนๆ ไดอยางมประสทธภาพดวย
ขนตอนการพฒนาโปรแกรม
คอมพวเตอร
1.
2.
3.
4.
5.
6.
7.
การวเคราะหปญหา(Analysis the problem)
ออกแบบโปรแกรม(Design a program)
การเขยนโปรแกรมดวยภาษาคอมพวเตอร (Coding program)
การตรวจสอบขอผดพลาดของโปรแกรม (Testing and Debugging)
การทดสอบความถกตองของโปรแกรม (Testing and Validating)
การท าเอกสารประกอบโปรแกรม(Documentation)
การบ ารงรกษาโปรแกรม(Program maintenance)
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• การระบขอมลออก
– ก าหนดวตถประสงคของงาน
– รปแบบของผลลพธ
• การระบขอมลเขา
– ขอมลทน าเขาสคอมพวเตอรประกอบดวยอะไรบาง
• การก าหนดวธการประมวลผล
– ตองทราบสตรหรอวธการประมวลผล
ขนตอนการพฒนาโปรแกรม
คอมพวเตอร 1. การวเคราะหปญหา
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ตวอยาง ตองการหาพนทของสามเหลยมก าหนดวตถประสงค การค านวณหาพนทสามเหลยม
ขอมลเขา 1. ความยาวฐาน 2. ความสงรปแบบผลลพธ
ความยาวฐาน = ………………..
ความสง = ……………………..
พนทสามเหลยม = ………………………
ขนตอนการประมวลผล1. ปอนความยาวฐาน2. ปอนความสง3. ค านวณพนทสามเหลยม จากสตรพนทสามเหลยม = ½ x ความยาวฐาน x ความสง
1/2
Algorithms
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
PSEUDO-CODE
1. ปอนความยาวฐาน2. ปอนความสง3. ค านวณพนทสามเหลยม จากสตร
พนทสามเหลยม = ½ x ความยาวฐาน x ความสง
TH-EN
1. START/BEGIN
2. READ/INTPUT / ENTER
3. PROCESS : COMPUTE / SET
4. OUTPUT : DISPLAY / SHOW / PRINT
5. STOP/FINISH/END
PRINTPRINTS
DISPLAY/SHO
WREAD/INPUT ไมระบอปกรณ
Tapes
INITIALIZATION STAGE
SET x 0
SET y 5
SET PI 3.14
SET VAT 7.0
1. START
2. SET Height 0 , Base 0, TriangleArea0
3. DISPLAY “Please Enter Base…”
4. READ Base
5. DISPLAY “Please Enter Height…”
6. READ Height
7. COMPUTE TriangleArea 0.5*Base*Height
8. DISPLAY “The Result is : ” , TriangleArea
9. STOP
PSEUDOCODE : TriangleAreaInitialization Stage
VB Pascal Java C#
2. การออกแบบโปรแกรม• เครองมอทชวยในการออกแบบโปรแกรมเชน ผงงาน, รหสจ าลอง,แผนภม
โครงสราง, ฮโปชารต
• ผงงาน (Flowchart) คอแผนภาพแสดงขนตอนการท างานของโปรแกรมหรอระบบรวมทงการไหลของขอมลตงแตแรกจนไดผลลพธตามตองการ
• ประโยชนของผงงาน
– ชวยล าดบขนตอนการท างาน ใหเขยนโปรแกรมไดไมสบสน
– ชวยในการตรวจสอบและแกไขโปรแกรมเมอเกดขอผดพลาด
– ชวยใหสามารถศกษาการท างานของโปรแกรมไดอยางรวดเรว
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
2. การออกแบบโปรแกรม (ตอ)
ประเภทของผงงาน แบงไดเปน 2 แบบคอ
1. ผงงานระบบ (System Flowchart)
แสดงขอบเขตของระบบทงหมด
แสดงขอมลเขาถกเกบอยทใดบาง ใชสอบนทกขอมลแบบใด
ประมวลผลและแสดงผลลพธทใด
2. ผงงานโปรแกรม (Program Flowchart)
- แสดงล าดบขนตอนการท างานของโปรแกรมหนงๆ
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
รปแสดงสญลกษณของผงงานโปรแกรม
เรมตน/จบงาน
การตดสนใจเลอก
แทนการก าหนดคาหรอค านวณคา
อานขอมลเขาหรอแสดงขอมลโดยไมระบชนดสอขอมลทใช
จดเชอมตอ
ขนหนาใหม
แสดงผลลพธบนจอภาพ
ลกศรแสดงทศทาง
แสดงผลลพธทางเครองพมพ
• ใชสญลกษณตามทก าหนด
• สามารถแสดงทศทางการไหลของขอมลจากบนลงลาง ซายไปขวา
• ค าอธบายสน กะทดรด เขาใจงาย
• มลกศรแสดงทศทางเขาออกทกแผนภาพ
• ไมควรโยงเสนไกลกนมากๆ ควรใชสญลกษณเชอมตอแทน
• ควรทดสอบความถกตองกอนน าไปเขยนโปรแกรม
วธการเขยนผงงานทด
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ตวอยาง ผงงานการเขยนและสงจดหมาย
เขยนจม.
จาหนาซอง
ใสซองจม.
พบจม.
ปดซองจม.
1
1
มแสตมปหรอไม
ซอแสตมป
ตดแสตมป
สงจม.
ม ไมมเรมตน
จบงาน
ตวอยาง2 ผงงานการหาพนทสามเหลยม
ปอนความยาวฐาน
ค านวณหาพนทสามเหลยม จากสตร= ½ x ฐาน x สง
เรมตน
จบงาน
ปอนความสง
พมพพนทสามเหลยม
• เปนการน าผงงานทเขยนไวมาแปลงเปนโปรแกรมภาษาคอมพวเตอร
• โดยผงงานไมไดขนกบภาษาใดจงสามารถเลอกใชภาษาไดตามตองการ
3. การเขยนโปรแกรมดวยภาษาคอมพวเตอร
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ประเภทของขอผดพลาด• Syntax error
– เกดจากการเขยนไวยากรณของภาษาผด
– ตรวจพบไดในขณะท าการแปล (compile) โปรแกรม– สามารถแกไขไดงายทสด
– เชน a:=10;
writtln(a);
Syntax error
Writeln(a);
4. การตรวจสอบขอผดพลาดของโปรแกรม
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
ขนตอนการพฒนาโปรแกรม
คอมพวเตอร
• Run-time error– เปนความผดพลาดของโปรแกรมในระหวางการปฎบตงาน
– ตรวจไมพบในขณะท าการแปลโปรแกรม
– เชน ค าสง 1/x โดยก าหนดให x>=0 และ x <=10 ซงการหารดวย 0 จะท าใหเกดขอผดพลาดตอน Run-time (ซงในการแปลจะไมพบขอผดพลาด)
• Logical error– เกดจากการตความหมายของปญหาผดไป– เปนขอผดพลาดทแกไขไดยากทสด
– เชน x = b เขยน x = b/2*a ตความเปน x = b*a จะผด ทถกตองเปน
x = b/(2*a)2a 2
4. การตรวจสอบขอผดพลาดของโปรแกรม(ตอ)
• การตรวจสอบดวยตนเอง
– เปนการตรวจสอบทละขนของโปรแกรมดวยตนเอง
–อาจเจอ syntax error หรอ logical error
• การตรวจสอบดวยการแปลโปรแกรม
–โดยใชตวแปลภาษา (Compiler หรอ Interpreter)
–อาจเจอ syntax error
–ไมสามารถตรวจเจอ Logical error และ Run-time error ได
4. การตรวจสอบขอผดพลาดของโปรแกรม(ตอ)
• ทดสอบวาโปรแกรมใหผลลพธออกมาถกตองตามทตองการหรอไม
• โดยการปอนขอมลสมมตหลาย ๆ คาทเปนไปไดเขาไปแลวดผลลพธวาถกตองหรอไม
5. การตรวจสอบความถกตองของโปรแกรม
1. เอกสารประกอบโปรแกรมส าหรบผใช(User Documentation)
2. เอกสารประกอบส าหรบผ เขยนโปรแกรม(Technical Documentation)
6. การท าเอกสารประกอบโปรแกรม
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
• หลงจากทมการใชงานโปรแกรมไปนาน ๆ แลว อาจตองมการปรบปรงแกไขโปรแกรมใหตรงตามความตองการของผใชทอาจเปลยนแปลงไป
7. การบ ารงรกษาโปรแกรม
ขนตอนการพฒนาโปรแกรมคอมพวเตอร
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
1. ใหนกศกษานยามความหมายของค าวา “ภาษาคอมพวเตอร” ตามความคดของนกศกษา2. การพจารณาคดเลอกใชภาษาคอมพวเตอรในการพฒนาระบบงานนน ผด าเนนการพฒนา
โปรแกรมตองวเคราะหคดเลอกโดยใชองคประกอบใดบาง3. ในการพฒนาภาษาคอมพวเตอรขนมาใชงานนน เหนไดวามการพฒนาตวแปลภาษาขนมาใช
งานดวย ใหนกศกษาอธบายถงความส าคญของตวแปลภาษาทมตอภาษาคอมพวเตอร4. อธบายลกษณะการท างานของตวแปลภาษาประเภทคอมไพเลอร5. อธบายลกษณะการท างานของตวแปลภาษาประเภทอนเตอรพรเทอร
แบบฝกหด
http://www.siam2dev.net การเขยนโปรแกรมเชงภาพ
Recommended