การเขียนโปรแกรม

Download Report

Transcript การเขียนโปรแกรม

Chapter1
โปรแกรมคอมพิวเตอร์และภาษาคอมพิวเตอร์
1
www.facebook.com/nipaporn.songserm
1. ความหมายของโปรแกรมคอมพิวเตอร์
2. ภาษาสาหรับการพัฒนาโปรแกรม
3. เครื่องมือของภาษา
4. ขั้นตอนในการพัฒนาโปรแกรม
2
1. ความหมายของโปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์ (Computer Program/Software)
หมายถึง ชุดของคาสั่ งที่ใช้ ควบคุมการทางานของระบบคอมพิวเตอร์
ให้ ดาเนินการตามขั้นตอนต่ างๆ เพือ่ ให้ ได้ ผลลัพธ์ ตามต้องการ
ภาษาคอมพิวเตอร์ คือ สื่ อทีผ่ ู้เขียนโปรแกรมสามารถใช้ ติดต่ อกับ
เครื่องคอมพิวเตอร์ เพือ่ ให้ เกิดการทางานตามวัตถุประสงค์ ที่ต้องการ
เช่ น ภาษา BASIC , PASCAL , C , Dev C, C++ , HTML
หรือ JAVA เป็ นต้ น ,
3
2. ภาษาสาหรับการพัฒนาโปรแกรม
การแบ่งระดับของภาษา
2.1 ภาษาโปรแกรมมิ่ง ประกอบไปด้ วยกลุ่มของคา
สั ญลักษณ์ และรหัส (Code) ที่สามารถสื่ อสารให้ คอมพิวเตอร์
ทางานตามอัลกอริทึมทีโ่ ปรแกรมเมอร์ เป็ นผู้ออกแบบได้
1 ภาษาระดับต่า (Low-level Language) เป็ นภาษาที่เขียนขึน้ เพือ่ ใช้
ควบคุมการทางานของคอมพิวเตอร์ เครื่องใดเครื่องหนึ่งเท่ านั้น เช่ น ภาษาเครื่อง
และภาษาแอสเซมบลี
2. ภาษาระดับสู ง (High-level Language) เป็ นภาษาที่มีอสิ ระ สามารถเขียน
ชุ ดคาสั่ งในคอมพิวเตอร์ เครื่องหนึ่ง เพือ่ นาไปใช้ กบั คอมพิวเตอร์ อกี เครื่องหนึ่ง
ได้ เช่ น ภาษา COBOL, Pascal, C++, DEV C , BASIC, Perl, FORTRAN
4
เครื่องมือของภาษา
เครื่องมือของภาษาโปรแกรมมิ่ง หมายถึง โปรแกรมหรื อ
ซอร์ฟแวร์ต่างๆที่สร้างขึ้นเพือ่ ช่วยอานวยความสะดวก และช่วยใน
การเขียนโปรแกรมของโปรแกรมเมอร์หรื อบุคคลทัว่ ไปทาได้ง่ายขึ้น
ตัวอย่างเครื่ องมือของภาษาโปรแกรมมิ่ง Turbo
Pascal, Borland C, Visual C++
5
 2.2 ภาษาสาหรับการพัฒนาเว็บแอปพลิเคชั่น
ภาษาที่ใช้ สาหรับการพัฒนาเว็บแอปพลิเคชั่น ได้ แก่
HTML, XHTML, Xml, WML, CGI, PERL และ
Script Language
ตัวอย่ างเครื่องมือ...ของภาษาโปรแกรมมิ่งบนเว็บ
เช่ น Microsoft FrontPage, Macromedia
Dreamweaver, และ Macromedia Flash
6
ขั้นตอนในการพัฒนาโปรแกรม
ประกอบด้ วย 5 ขั้นตอน ดังนี้
1. การวิเคราะห์ ปัญหา (Program Analysis)
2. การออกแบบโปรแกรม (Program Design)
3. การเขียนโปรแกรม (Program Coding)
4. การทดสอบโปรแกรม (Program Testing)
5. การจัดทาเอกสาร & บารุงรักษาโปรแกรม
(Documentation & Maintenance)
7
1. การวิเคราะห์ ปัญหา (Problem Analysis)
1. การพิจารณาตรวจสอบความต้ องการของระบบต้ องกาหนด
นาเข้ าข้ อมูล ข้ อมูลทีใ่ ช้ ในการประมวลผล และข้ อมูลแสดงผล
ของระบบ
- ข้ อมูลเข้ า (Input ) เป็ นการกาหนดข้ อมูลทีต่ ้ องป้อนเข้ าสู่
โปรแกรม
- การประมวลผล (Process) เป็ นการพิจารณาขั้นตอนหรือ
วิธีการทางานทีใ่ ช้ ในโปรแกรม
8
- การแสดงผล (Output) เป็ นการกาหนดรู ปแบบของผลลัพธ์
ทีต่ ้ องการให้ แสดงผลออกมา
ตัวอย่าง การวิเคราะห์ปัญหา
1. การคานวณหาพื้นที่ส่เี หลี่ยมผืนผ้ า
1. ข้ อมูลนาเข้ า คือ ด้ านกว้ าง ด้ านยาว
2. ประมวลผล คือ การคานวณหาพื้นที่ = กว้ าง*ยาว
3. แสดงผล พื้นที่ของสี่เหลี่ยมผืนผ้ า
22. การคานวณหาพื้นที่สามเหลี่ยม
1. ข้ อมูลนาเข้ า คือ ความยาวฐาน ความสูง
2. ประมวลผล คือ การคานวณหาพื้นที่ = (1/2)*ฐ*ส
9
3. แสดงผล พื้นที่สามเหลี่ยม
2. การออกแบบโปรแกรม (Program Design)
การออกแบบโปรแกรม เป็ นการนาเอาวิธีการที่ได้ จากการ
วิ เ ค ร า ะ ห์ โ ป ร แ ก ร ม ม า เ ขี ย น เ ป็ น ภ า พ ห รื อ สั ญ ลั ก ษ ณ์
/ ผังงาน (Flowchart) โดยนาเครื่ องมือต่ างๆ มาช่ วยในออกแบบ
โปรแกรม เพื่ อ ให้ ทราบขั้ น ตอนการท างานของโปรแกรม
(Algorithm) และง่ ายต่ อการตรวจสอบ มีรายละเอียดดังต่ อไปนี้
10
เครื่องมือ....ทีส่ นับสนุนการออกแบบโปรแกรม (Design tools)
1. อัลกอริทึม (Algorithm)
2. ผังงานโปรแกรม (Program Flowchart)
11
1. อัลกอริทึม (Algorithm) เป็ นเครื่ องมือสาคัญ
ในการแสดงขั้นตอนการทางานของโปรแกรม/
ระบบงาน เพื่อให้การเขียนโปรแกรมเป็ นไปได้อย่าง
รวดเร็ วและง่ายยิง่ ขึ้น
12
2. ผั ง งาน (Flowchart) คื อ การอธิ บ ายขั้น ตอน
การประมวลผลโดย ใช้สัญลักษณ์ ในการแสดงความหมาย
หรื อกาหนดลาดับการทางาน
- การเขียนผังงานโปรแกรมจะต้องเชื่อมโยงความสัมพันธ์
ของลาดับการทางานด้วยเส้นที่ลากอย่างต่อเนื่ อง เพื่อแสดง
ทิศทางการทางานของโปรแกรมขั้นตอนหนึ่งไปยังอีกขั้นตอน
หนึ่ง
13
รูปแสดงสัญลักษณ์ของผังงานโปรแกรม
เริ่มต้ น/จบงาน
จุดเชื่อมต่ อ
การตัดสิ นใจเลือก
ขึน้ หน้ าใหม่
แทนการกาหนดค่ า
หรือคานวณค่ า
อ่ านข้ อมูลเข้ า
หรือแสดงข้ อมูล
โดยไม่ ระบุชนิดสื่ อ
ข้ อมูลทีใ่ ช้
14
แสดงผลลัพธ์
บนจอภาพ
ลูกศรแสดงทิศทาง
แสดงผลลัพธ์ ทาง
เครื่องพิมพ์
วิธีเขียนผังงานที่ดี
 ใช้ สญ
ั ลักษณ์ตามที่กาหนด
 สามารถแสดงทิศทางการไหลของข้ อมูลจากบนลงล่าง ซ้ ายไปขวา
 คาอธิบายสั้น กะทัดรัด เข้ าใจง่าย
• มีลูกศรแสดงทิศทางเข้าออกทุกแผนภาพ
• ไม่ควรโยงเส้นไกลกันมากๆ ควรใช้สญ
ั ลักษณ์เชื่อมต่อแทน
• ควรทดสอบความถูกต้องก่อนนาไปเขียนโปรแกรม
15
ตัวอย่างที่ 1 ผังงานการเขียนและส่งจดหมาย
เริ่มต้ น
เขียนจม.
A
มี
มีแสตมป์
หรือไม่
ซื้อแสตมป์
พับจม.
ใส่ ซองจม.
จ่ าหน้ าซอง
ปิ ดซองจม.
16
A
ไม่ มี
ติดแสตมป์
ส่ งจม.
จบงาน
ตัวอย่างที่ 2 ผังงานการเขียนและส่ง e-mail
เริ่มต้ น
Login mail
A
มี
มี email Address
สมัคร e-mail
เขียน e-mail
A
ส่ งจม.
จบงาน
17
ไม่ มี
ตัวอย่าง 3 ผังงานการหาพื้นที่สามเหลี่ยม
เริ่มต้ น
ป้ อนความยาวฐาน
ป้ อนความสู ง
คานวณหาพืน้ ที่สามเหลีย่ ม จากสู ตร= ½ * ฐาน *สู ง
แสดงพืน้ ที่สามเหลีย่ ม
18
จบงาน
ตัวอย่าง 3 ผังงานการหาพื้นที่สี่เหลี่ยมจตุรัส
เริ่มต้ น
ป้ อนความยาวของด้ าน
คานวณหาพืน้ ที่สี่เหลีย่ มจตุรัส จากสู ตร= ด้ าน * ด้ าน
แสดงพืน้ ที่สี่เหลีย่ ม
จตุรัส
19
จบงาน
Sequence Structure
Repetition Structure
ExStart
1
Start
รับค่ า R
รับค่ า R
Area = 22/7*R*R
R<0
No
The area of
circle is ,Area
Stop
20
The area of
circle is, area
Area = 22/7*R*R
The area of
circle is ,Area
Stop
3. การเขียนโปรแกรม (Program Coding)
เลือกภาษาที่เหมาะสม
ลงมือเขียนโปรแกรม โดยการแปลงขั้นตอนการ
ทางาน (ประมวลผล) ที่ได้ จากการออกแบบ
ให้ อยู่ในรูปของคาสั่งที่ถูกต้ อง ตรงตามรูปแบบ
ของภาษาที่เลือกนั้น
21
4. การทดสอบและแก้ ไขโปรแกรม (Program Testing
&Verification)
เป็ นขั้นตอนการตรวจสอบโปรแกรมที่เขียนได้
ทางานถูกต้ องตรงตามความต้ องการของผู้ใช้
หรือตรงตามลักษณะงานของโปรแกรมนั้น
หรือไม่
22
5. การจัดทาเอกสาร & บารุงรักษาโปรแกรม
(Documentation & Maintenance)
 จัดทาเอกสารต่างๆ ที่เกี่ยวข้องกับระบบ/ โปรแกรม ได้แก
1. เอกสารแสดงการวิเคราะห์และออกแบบระบบ :
System Manual --> สาหรับผูพ้ ฒั นาระบบ/
โปรแกรม
2.เอกสารอธิบายวิธีการใช้ระบบ / โปรแกรม :
User Manual --> สาหรับผูใ้ ช้ระบบ /
โปรแกรม
23
รูปแบบการเขียนโปรแกรมแบบโครงสร้าง
มี 3 ลักษณะ คือ
1. การเขียนแบบลาดับ (Sequential)
2. การเขียนแบบเลือกทา (Selection)
3. การเขียนแบบวนซ้า (Repetition)
24
1. โครงสร้ างควบคุมการทางานแบบเรียงลาดับ
(Sequence Control Structure)
เป็ นโครงสร้างที่มีการทางานทุกคาสัง่ อย่างเป็ นลาดับขั้นตอน
ประกอบไปด้วยคาสัง่ ทัว่ ๆ ไป ไม่มีการตัดสิ นใจ ไม่มีการวนซ้ า
(Looping) ไม่มีการข้ามขั้นตอนหรื อย้อนกลับไปทาขั้นตอนเดิม
คาสั่งที่ 1
คาสัง่ ที่ 2
คาสัง่ ที่ 3
25
รูป แสดงโครงสร้ างควบคุมการทางานแบบเรียงลาดับ
2. โครงสร้ างควบคุมการทางานแบบเลือกกระทา
(Selection Control Structure)
เป็ นโครงสร้างที่ใช้ในการตัดสิ นใจเลือกการกระทาต่อไปโดยทาการ
ตรวจสอบเงื่อนไขก่อน มีโครงสร้างอยู่ 2 ลักษณะ คือ
2.1 If-Then-Else
2.2 Case
26
2.1 เงื่อนไขเป็ นแบบ If-Then-Else
โปรแกรมจะยอมรับเพียงจริ งหรื อเท็จเท่านั้น โดยการตรวจสอบเงื่อนไข
จะอยู่ในรู ปสี่ เหลี่ ยมข้าวหลามตัด ถ้าผลลัพธ์จากการตรวจสอบเงื่ อนไขของ
โปรแกรมเป็ นจริ งจะกระทาคาสั่งที่ 1 แต่หากผลลัพธ์การตรวจสอบเงื่ อนไข
ของโปรแกรมเป็ นเท็จจะกระทาคาสัง่ ที่ 2 ซึ่งแตกต่างออกไป
ประโยคเงือ
่ นไข
คำสงั่ ที่ 1
27
คำสงั่ ที่ 2
รูป แสดงโครงสร ้ำงเงือ
่ นไขแบบ If-Then-Else
2.2 เงื่อนไขเป็ นแบบ Case
เมื่อมีการตรวจสอบเงื่อนไขจะยอมให้เลือกกระทาคาสัง่ เพียง
หนึ่งทางเลือก...เท่านั้น
ประโยคเงือ
่ นไข
เงือ่ นไขที่ 1
คาสั่ งที่ 1
เงือ่ นไขที่ 2
เงือ่ นไขที่ 3
เงือ่ นไขที่ 4
คาสั่ งที่ 2
คาสั่ งที่ 3
คาสั่ งที่ 4
ภาพ แสดงโครงสร้ างเงือ่ นไขแบบ Case
28
3. การเขียนโปรแกรมแบบ วนซ้ า (Repetition & Loop)
กระบวนการหนึ่งที่สาคัญในการออกแบบอัลกอริทมึ
ก็คือความสามารถในการวนลูปของการทางานของกลุ่มคาสั่งตามที่
นักพัฒนาต้ องการ เพื่อให้ บางส่วนของคาสั่งสามารถมีการวนซา้ ได้
หลายครั้ง สาหรับคาสั่งที่สามารถใช้ ในการเขียนโปรแกรม
แบบวนซา้ ได้ แก่ For , While, Do-while ,Do Until
29
3.1 โครงสร้างแบบวนซ้าเป็ นจานวนรอบที่แน่นอน (For
Loop)
 โครงสร้างแบบ FOR Loop
กาหนดค่าเริ่ มต้นให้กบั
ตัวแปรที่นบั รอบ
จะทางานเมือ่ เงือ่ นไขเป็ นจริง และระบุจานวนรอบ
ทีแ่ น่ นอน
เงื่อนไขที่ตรวจสอบค่า
ของตัวแปรที่นบั รอบ
NO
YES
กลุ่มของผังงาน
ที่ตอ้ งการวนซ้ า
บวกสะสมให้ตวั แปรที่นบั รอบ
หรื อ ลดค่าให้ตวั แปรที่นบั รอบ
30
3.2 โครงสร้างแบบวนซ้ามีการทดสอบเงื่อนไขก่อน (WHILE Loop)
เงือ่ นไข
No
Yes
กลุ่มผังงานที่ต้องการวนซ้า
31
while ( เงื่อนไข )
{
… จะทางานเมื่อ
เงื่อนไขเป็ นจริง ...
}
3.3 ชุดคาสั่ งแบบ Do While
จะวนซ้ าการทางานเมื่อผลการตรวจสอบเงื่อนไขเป็ น...จริ ง
ประโยคเงือ่ นไข เท็จ
จริง
คาสั่ งการทางาน
ภาพ แสดงชุ ดคาสั่ งแบบ Do While
32
3.4 ชุดคาสั่ งแบบ Do Until
จะตรวจสอบเงื่อนไขหลังจากโปรแกรมทางานแล้ว และ
จะวนซ้ าการงานเมื่อผลการตรวจสอบเงื่อนไขเป็ น..เท็จ
คาสั่ งการทางาน
ประโยคเงือ่ นไข
จริง
เท็จ
ภาพแสดงชุ ดคาสั่ งแบบ Do Until
33