ภาษาคอมพิวเตอร์และการพัฒนาโปรแกรม

advertisement
ภาษาคอมพิวเตอร์และการพ ัฒนา
โปรแกรม
Programming Languages and
Program Development
โปรแกรม (Program)
หมายถึงชุดคาสง่ ั ทีเ่ ขียนด้วยภาษา
โปรแกรมเพือ
่ บอกให้คอมพิวเตอร์
ทางานตามต้องการ
How People Make Programs
Programming กระบวนการแก้ปญ
ั หาโดยการ
เขียนชุดคาสง่ ั เป็นขนตอนบอกให้
ั้
คอมพิวเตอร์
ทางานตามความต้องการของผูใ้ ช ้
Computer Programs and Programming Languages

p. 664 Fig. 13-1
Programming language—used to write instructions
Next
How People Make Programs
Programming รวมถึง :
– การกาหนดปั ญหา
– การออกแบบ ตรวจสอบ และทดสอบ algorithm
– เขียนโปรแกรม
– ตรวจสอบและแก ้ไขโปรแกรม
Interpreters and Compilers
Interpreter: แต่ละคาสง่ ั
จะถูกแปลท ันที
• Compiler: จะป้ อน
โปรแกรมเข ้าไป
ทัง้ หมดแล ้วจึงแปล
เป็ นภาษาเครือ
่ ง
Programming Languages
and Methodologies
ระบบคอมพิวเตอร์ทก
ุ เครือ
่ งจะต ้องมี
ภาษาธรรมชาติของตัวเองคือ machine language
้ ทนด้วย
Machine language คือ ภาษาทีใ่ ชแ
เลขฐานสอง ทาให้มก
ี ารเขียน การอ่าน และการ
แก้ไขยุง
่ ยาก
ั
้ ทน
Assembly language เป็นภาษาสญล
ักษณ์ทใี่ ชแ
ด้วยต ัวอ ักษร และง่ายต่อการเข้าใจต่อการอ่านและ
การเขียน
Levels of Languages
Lower-level languages – เปรียบเสมือน
ก ับเลข 0และเลข 1 ทีค
่ อมพิวเตอร์เข้าใจ
Higher-level languages – เปรียบ่สมือน
ก ับภาษาทีม
่ นุษย์ใช ้
Divided into five generations
Low-level
language
คอมพิวเตอร์จะเข้าใจภาษาเครือ
่ ง
ตามชนิดของคอมพิวเตอร์
ภาษาเครือ
่ งและภาษาแอสแซมบลี
จ ัดเป็นภาษาระด ับตา
่
p. 664
Next
High-level
language
เป็นภาษาคอมพิวเตอร์ทส
ี่ ามารถ
้ ับคอมพิวเตอร์ได้ทก
นาไปใชก
ุ
เครือ
่ ง
p. 664
Next
Five Generations of Languages
1.
2.
3.
4.
5.
Machine language
Assembly languages
High-level languages
Very high-level languages
Natural languages
1. Low-Level Languages
What is machine language?


โปรแกรมและตาแหน่งของ
หน่วยความจาจะเขียนในรูปของ
ค่า 0s และ 1s
ปัญหาของภาษาเครือ
่ ง
 โปรแกรมเขียนยากและต้อง
แก้ไข
 คอมพิวเตอร์แต่ละเครือ
่ งจะมี
ภาษาเป็นของต ัวเอง

CPU และ หน่วยความจาหล ักจะ
ื่ มต่อผ่านบ ัส
เชอ
p. 665 Fig. 13-2
Next
2. Low-Level Languages
What is assembly language?


คาสง่ ั จะถูกกาหนดเป็น
ั
รห ัสในรูปของสญล
ักษณ์
้ ัวย่อและรห ัส
โดยใชต
Source program เป็น
รห ัสข้อมูลทีถ
่ ก
ู เปลีย
่ นเป็น
ภาษาเครือ
่ ง
p. 666 Fig. 13-3
Next
2. Assembly Languages


้ ทนค่าบวก add, C ใชแ
้ ทนว่า
ต ัวอย่าง A ใชแ
compare, etc.
“Adding values (Price and ShippingCharge)
stored in memory”
156C
LD
R5, Price
166D
LD
R6, ShippingCharge
5056
ADDI R0, R5 ,R6
306E
ST
R0, TotalCost
C000
HLT
3. Procedural Languages
โปรแกรมเมอร์เขียนชุดคาสง่ ั
บอกให้คอมพิวเตอร์ทางาน
ตามต้องการจนสมบูรณ์
การเขียนคาสง่ ั เหมือนก ับ
การเขียนภาษาอ ังกฤษ
บางครงจ
ั้ ัดอยูใ่ นภาษายุคที่ 3
้ ว้างขวางคือ
ภาษาทีใ่ ชก
third-generation
BASIC, COBOL, and C
language (3GL)
p. 666
Next
High-Level Languages
Well known high-level programming
languages include:
– FORTRAN (Formula Translation): เป็ น
้
ภาษาระดับสูงภาษาแรกทีน
่ ามาใชในเช
งิ ธุรกิจ
– COBOL (Common Business Oriented
้
Language): เป็ นภาษาทีพ
่ ัฒนาเพือ
่ ใชในการ
แก ้ปั ญหาทางธุรกิจ
High Level Languages
 LISP
(List Processing): เป็นภาษาทีพ
่ ัฒนา
่ ัวเลขเป็นต ัว
ในการประมวลผลข้อมูลทีไ่ ม่ใชต
ั
อ ักขระ คา หรือสญล
ักษณ์อน
ื่ ๆ
 BASIC (Beginners All-purpose Symbolic
้ มา
Instruction Code): เป็นภาษาทีพ
่ ัฒนาขึน
เพือ
่ ให้ใชง้ า่ ยต่อการเรียนรูส
้ าหร ับผูเ้ ริม
่ ต้น
High-Level Languages
Pascal: เป็นภาษาที่
ออกแบบเป็นภาษา
โครงสร้าง
้
C: เป็นการพ ัฒนาขึน
มาเพือ
่ เป็นเครือ
่ งมือ
สาหร ับการโปรแกรม
่
ระบบปฏิบ ัติการเชน
UNIX
Object-Oriented Programming Languages
What is C++?


เป็นภาษาทีพ
่ ัฒนาต่อจากภาษาซ ี โดยการเพิม
้ ความ
้ มาสาหร ับการทางานแบบเชงิ ว ัตถุ (objectสะดวกขึน
oriented)
ใชใ้ นการพ ัฒนาฐานข้อมูลและการเขียนโปรแกรมเว็บ
Next
Object-Oriented Programming Languages
What is Java?


้ มาโดย
พ ัฒนาขึน
บริษ ัท Sun
Microsystems
มีล ักษระเหมือนก ับ
ภาษา C++ เป็นแบบ
just-in-time (JIT)
compiler โดยการ
เปลีย
่ น source code
ให้เป็น machine
code
Next
Object-Oriented Programming Languages
What is a visual programming language?
Visual programming
environment (VPE)
allows developers to
drag and drop objects
to build programs
Provides visual or
graphical interface for
creating source code
Sometimes called
fifth-generation
language
Often used in RAD
(rapid application
development)
environment
p. 671
Programmer writes
and implements
program in segments
Next
Object-Oriented Programming Languages
What is Visual Studio .NET 2003?



Suite of visual programming languages and RAD tools
.NET is set of technologies that allows program to run on Internet
Visual Basic .NET 2003 is used to build complex object-based programs
Step 1. The
Step 2. The programmer
programmer
designs the
user interface.
assigns properties to each
object on the form.
Step 3. The
programmer
writes code
to define the
action of each
command button.
Step 4. The programmer
tests the application.
Next
Object-Oriented Programming Languages
What is Delphi?


Powerful visual programming tool
Ideal for large-scale enterprise and Web
applications
p. 673 Fig. 13-12
Next
Object-Oriented Programming Languages
What is PowerBuilder?


Another powerful visual programming tool
Best suited for Web-based and large-scale
object-oriented applications
p. 674 Fig. 13-13
Next
Nonprocedural Languages
and Program Development Tools
What is a fourth-generation language (4GL)?


Nonprocedural language that allows access to data
in database
Popular 4GL is SQL, query language that allows
users to manage data in relational DBMS
p. 675 Fig. 13-15
Next
Nonprocedural Languages
and Program Development Tools
What is Visual Basic for Applications (VBA)?

Macro programming language

p. 676 Fig. 13-17
Macro—series of statements used to automate tasks
Next
Web Page Development
What is HTML (Hypertext Markup Language)?

Used to create Web pages
p. 678 Fig. 13-18
Next
Web Page Development
What is a scripting language?




Typically easy to learn and use
JavaScript—adds dynamic
content and interactive
elements to Web page
VBScript (Visual Basic,
Scripting Edition)—adds
intelligence and interactivity
to Web page
Perl (Practical Extraction
and Report Language)—has
powerful text processing
capabilities
Next
Web Page Development
What is dynamic HTML (DHTML)?

p. 682 Fig. 13-21
Allows developers to
include more graphical
interest and interactivity
in Web page
Next
Web Page Development
What are XHTML, XML, and WML?
XHTML
(Extensible HTML)
enables Web sites to be displayed
more easily on microbrowsers
XML
(Extensible Markup Language)
allows developers to
create customized tags
Click to view Web Link,
click Chapter 13, Click
Web Link from left
navigation, then click
XML below Chapter 13
p. 682
WML
(Wireless Markup Language)
allows developers to design pages
specifically for microbrowsers
Includes features of HTML
and XML
Server sends entire record to
client, enabling client to do
much of processing without
going back to server
Uses wireless
application protocol (WAP),
standard that specifies
how wireless devices
communicate with Web
Next
Web Page Development
What is Web page authoring software?


p. 683
Creates sophisticated Web pages without using HTML
Generates HTML
Next
The Program Development Cycle
What is the program development cycle?
Steps programmers use to build computer
programs


p. 686 Fig. 13-24
Programming
team—Group
of programmers
working on
program
Next
The Programming Process
Program – a set of detailed, step-by-step instructions
that directs the computer to do what you want it to do
Programming language – a set of rules that provides a
way of telling the computer what operations to perform
Five main steps
 Defining
the problem
 Planning the solution
 Coding the program
 Testing the program
 Documenting the program
1. Defining the Problem
การกาหนดปัญหา
การกาหนดคุณสมบ ัติตามทีก
่ าหนด:



ข้อมูลเข้า
ผลล ัพธ์ทต
ี่ อ
้ งการ
การประมวลผลข้อมูลเข้าให้เป็นผลล ัพธ์
น ักเขียนโปรแกรมจะร ับข้อกาหนดรายละเอียดจาก
น ักวิเคราะห์ระบบ

หรือน ักเขียนโปรแกรมอาจพบก ับลูกค้าโดยตรง
2. Planning & Design the Solution
Algorithm – เป็นการกาหนดรายละเอียดขนตอนของ
ั้
การแก้ปญ
ั หา
่ ยในการวางแผนอ ัลกอริทม
เครือ
่ งมือทีช
่ ว
ึ มีหลายชนิด
Desk-check the solution

การกาหนดขนตอนจะก
ั้
าหนดด้วยดินสอยและ
กระดาษ
Planning Tool:


้ าพแทนขนตอน
Flowchart – เป็นการใชภ
ั้
ของการทางาน
Pseudocode – ล ักษณะเหมือนภาษาอ ังกฤษ
 Specifies algorithm with more
precision than you can in English, but
less than a programming language
Planning & Design Solution
What is involved in designing the solution?
Two
approaches
Devise
solution
algorithm,
step-by-step
procedure
to solve
problem
p. 688
Object-oriented
design
Structured
design, sometimes
called top-down design
Programmer
begins with general
design and moves toward
detailed design
Next
Step 2 — Design Solution
What is a hierarchy chart?


Shows program modules graphically
Also called structure chart
p. 688 Fig. 13-26
Nex
t
Step 2 — Design Solution
โครงสร้างการควบคุมแบบเรียงลาด ับ ?

เป็นการแสดงการทางานตามลาด ับของกิจกรรม

p. 690 Fig. 13-28
Control structure depicts logical order of program
instructions
Next
Step 2 — Design Solution
โครงสร้างการควบคุมแบบเลือก มี 2 ชนิด ?


p. 690 Fig. 13-29
Case control
structure
If-then-else
control
structure—yields
one of two
possibilities: true or
false
Next
Step 2 — Design Solution
What is a case control structure?

มีการเลือกทางเป็นไปได้มากกว่า 3 ทาง
p. 690 Fig. 13-30
Next
Step 2 — Design Solution
What is a repetition control structure?
 Do-while control structure—ตรวจสอบ
เงือ
่ นไขจนกระทั่งเป็ นจริงแล ้วจึงออกจากการ
วนรอบ
p. 691 Figs. 13-31–13-32
Do-While Control Structure
Nex
t
 Do-until control structure—ทางาน
จนกระทั่งเงือ
่ นไขเป็ นจริงจึงออกจากการ
วนรอบ
Do-Until Control Structure
Step 2 — Design Solution
What is a program
flowchart?

ั ักษณ์
เป็นภาพสญ
แสดงขนตอนในการ
ั้
แก้ปญ
ั หา
p. 692 Fig. 13-33
Nex
t
Step 2 — Design Solution
What is an example of a flowchart?
p. 692 Fig. 13-34
Next
Step 2 — Design Solution
What is pseudocode?

เป็นคาสง่ ั เทียมทีม
่ ี
การเขียนขนตอน
ั้
เหมือนก ับ
ภาษาอ ังกฤษ
p. 694 Fig. 13-36
Nex
t
3. Coding the Program
เป็นการเปลีย
่ นอ ัลกอริทม
ึ ทีไ่ ด้จากการวางแผนให้อยู่
ในรูปของภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ทงหมดจะมี
ั้
syntax rules
 เหมือนก ับ grammatical rules
 คอมพิวเตอร์จะไม่ร ับโปรแกรมทีเ่ ขียนผิดพลาด
Programs can be keyed into the computer by
using a text editor
4. Testing the Program
Two phases of testing the program

Translation
 Converting the program you wrote into the
binary instructions the CPU understands
(object codes)

Debugging
 Identifying and correcting logic errors in
the program
5.Documenting the Program
Materials are generated at each part of
the process
Common examples of documentation
Flowchart and/or pseudocode
 Comments within the source code
 Testing procedures
 Layouts of input and output records
 A narrative description of the program

Download