2.วิธีการออกแบบโปรแกรม (Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven
- แนวความคิดและมีกระบวนการ (Processes)หรือ ฟังก์ชัน(Function)
2.2 การออกแบบโปรแกรม Event-Driven
- แนวความคิดและเหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
2.3 การออกแบบโปรแกรมแบบ Data-Driven
- แนวความคิดและข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
3.1 การเขียนโปรแกรมแบบบนลงล่าง
(Top - Down Development)
3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
ตัวอย่างที่1
ตัวอย่างที่ 2
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้น
ในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า
งานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย
-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เ
พียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ
ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักวิธีการเขียนซูโดโค้ด
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
-ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
-ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
-แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
6.การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการของคอมพิวเตอร์ (Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
-อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล
เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
-read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
-get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น
read studentName
get systemDate
read number1,number2
get taxCode
6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
-print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
-write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
-put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display “End of data”
6.3 คำนวณได้ (Cont.)
-คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
-คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ
+ ใช้แทนการบวก (Add)
- ใช้แทนการลบ (subtract)
* ใช้แทนการคูณ (multiply)
/ ใช้แทนการหาร (divide)
() ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
ตัวอย่าง เช่น
divide totalMarks by studentCount
salesTax costPrice*0.10
computeC=(F-32)*5/9
6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
-ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น
initialize totalPrice to zero
set studentCount to o
totalPrice = costPrice+salesTax
totalPrice ← costPrice+salesTax
store customerId lastCustomerID
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น
if employeeStatus is partTime then
add to partTimeCount
else
add to fullTimeCount
end if
***if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงจะทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if
6.6 ทำซ้ำได้ (repeation or loop)
ใช้คำ dowhile และ enddo หรือ repeat.until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof”
read student record
print studentName,address to report
add 1 to studentTotal
enddo
eof และ End of File
***dowhileและenddo ใช้ในกรณีที่ประมวลผลขั้นตอนหรือทำกิจกรรมซ้ำๆจะทำงานซ้ำๆไปเรื่อยๆ เมื่อตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริง
จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข
7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข
บทที่2 ภาษา C
วัตถุประสงค์
เข้าใจรูปแบบคำสั่งที่ใช้ในภาษา C
เข้าใจวิธีการดำเนินการการวนรอบ
สมารถสร้างโปรแกรมที่เกี่ยวข้องกับการจัดการหน่วยความจำ
สามารถสร้างเงื่อนไขและการกำหนดเงื่อนไขต่างๆ
สารบัญ (Contents)
คำสั่งพื้นฐานต่างๆ - ตัวดำเนินการ (Operator) - Selection/Condition - Function
- printf : ใช้แสดง ข้อความหรือ ข้อมูลจากค่าคงที่ และตัวแปรที่จอภาพ
เช่น printf (“abc”);
printf (“%s”,”abc”);
-scanf : ใช้รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงในหน่วยความจำของข้อมูล
เช่น scanf (“%d”,&x);
Format Code
ความหมาย
%d
ใช้กับข้อมูลแบบ integer(เก็บข้อมูลแบบตัวเลขจำนวนเต็ม)
%c
ใช้กับข้อมูลแบบ character(เก็บข้อมูลแบบอักขระ)
%f
ใช้กับข้อมูลแบบ floating(เก็บข้อมูลแบบตัวเลขทศนิยม),double
%s
ใช้กับข้อมูลแบบ string
2.ตัวดำเนินการ(Operator)
แบ่งออกเป็น 3 ชนิด คือ 2.1 เครื่องหมายการคำนวณทางคณิตศาสตร์(Arithmetic Operation) ได้แก่ +,-,*,/,%,--,++
2.2 ตัวดำเนินการเปรียบเทียบ(Relational and Equality Operators) ได้แก่ < , > , <= , >= , == , !=
2.3 ตัวดำเนินการตรรกะ(Logical Operators) การดำเนินการเปรียบเทียบค่าทางตรรกะ( และ หรือ ไม่) ได้แก่ ! , && , ||
นิพจน์ (Expression) หมายถึง การนำตัวแปรค่าคงที่มาสัมพันธ์กัน โดยใช้เครื่องหมายอย่างใดอย่างหนึ่ง เช่น x + 1 a * b / c
นิพจน์จะทำงานจากซ้ายไปขวา ส่วนใหญ่นิพจน์ที่เขียนขึ้นในโปรแกรมมักจะซับซ้อน มีการดำเนินการหลายอย่างปะปนอยู่ภายในนิพจน์เดียวกัน
ลำดับความสำคัญ
ลำดับความสำคัญจากสูงไปต่ำ
1
( )
2
!,++,- -
3
*,/,%
4
+,-
5
<,<=,>,>=
6
= =,!=
7
&&
8
||
2.3 ทางเลือก/ลักษณะ(selection/Condition)
if statement
Format : if (เงื่อนไข) คำสั่ง;
- รูปแบบ 1: if statement Format :
if (เงื่อนไข)
คำสั่ง;
-รูปแบบ 2 : if-else statement Format :
if (เงื่อนไข)
คำสั่งชุดที่ 1(กรณีเงื่อนไขเป็นจริง);
else
คำสั่งชุดที่ 2(กรณีเงื่อนไขเป็นจริง);
-รูปแบบ 3: if-else statement (Nested if) Format :
If (เงื่อนไขประโยคที่ 1)
คำสั่งชุดที่ 1 ; (กรณีเงื่อนไขประโยคที่ 1 เป็นจริง)
else if (เงื่อนไขประโยคที่ 2)
คำสั่งชุดที่ 2 ; (กรณีเงื่อนไขประโยคที่ 2 เป็นจริง)
else
คำสั่งชุดที่ n ; (นอกเหนือจากเงื่อนไขประโยคข้างต้น)
คำสั่งชุดถัดไป
-รู ปแบบ 4: switch statement Format :
switch (var / expression) {
case ค่าที่ 1 : คำสั่งชุด 1;
break;
case ค่าที่ 2 : คำสั่งชุด 2;
break;
case ค่าที่ n : คำสั่งชุด n;
break;
default: คำสั่ง;
}
คำสั่ง switch
โยคเงื่อนไขแบบ 1ประโยค ไม่สามารถใช้
เงื่อนไขแบบซ้อนได้ switch จะต้องมีคำสั่ง break เพื่อออกจากการทำงานของ case นั้น โดยไม่ต้องผ่าน case ถัดไป 3. การทำซ้ำ(Repetition/Loop) -while statement Format :
-for statement Format :
for (ตัวแปร = ค่าเริ่มต้น ; นิพจน์ตรรกะ ; ค่าเพิ่มหรือค่าลดและจะต้องเป้นจำนวนเต็มเท่านั้น)
4.ฟังก์ชัน(Function)
ข้อดี
-เขียน Code ครั้งเดียว แต่สามารถเรียกใช้ได้หลายครั้ง
-สามารถนำหลับมาใช้ใหม่ในโปรแกรมอื่นได้
-ถ้าต้องการเปลี่ยนแปลงแก้ไขเพียงที่เดียว
-ทำให้โปรแกรมมีความเป็นโครงสร้าง
-สามารถแบ่งเป็นโมดูลย่อยๆได้
ฟังก์ชันแบ่งเป็น 2 ประเภท คือ 1. Library Function ฟังก์ชันมาตรฐานหรือไลบรารีฟังก์ชัน ฟังก์ชันที่ใช้ในงานนี้ เป็นรูปแบบฟังก์ชันที่ต้องมีการส่งค่ากลับ ดังนั้นตัวแปรที่จะใช้งานต้องเป็นตัวเลขกลุ่มทศนิยม เช่น float, double เป็นต้น
วิธีเรียกใช้งาน Library Function -เรียกชื่อของฟังก์ชันที่ต้องการใช้งาน -เอาค่าที่จะส่งไปทำงานในฟังก์ชัน ใส่ลงในวงเล็บตามหลังชื่อฟังก์ชันนั้น
ตัวอย่าง Library Function strcpy () –อยู่ในแฟ้มข้อมูล string.h ทำหน้าที่ : คัดลอกข้อมูลจาก string หนึ่งไปยัง string หนึ่ง Format : strcpy (str1, str2);
strcat () -อยู่ในแฟ้มข้อมูล string.h ทำหน้าที่ : ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน Format : strcat (str1, str2);
strlen () -อยู่ในแฟ้มข้อมูล string.h ทำหน้าที่ : หาความยาวของข้อความ Format :
strlen (string);
getchar () –อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นพังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระโดยต้องกด enter และข้อมูลที่ป้อนเข้าจะปรากฏทางจอภาพ Format :
getchar ();
getch() –อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นฟังก์ชั่นรับข้อมูลเข้าทางคีย์บอร์ดครั้งละ 1 อักขระ โดยไม่ต้องกด enter และข้อมูลที่ป้อนเข้าจะไม่ปรากฏทางจอภาพ Format :
getchar ();
gets( ) -อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นฟังก์ชั่นรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์ เข้ามาเก็บไว้ในตัวแปรชุด (อาร์เรย์) Format :
gets ();
putchar(); -อยู่ในแฟ้มข้อมูล stdio.h ทำหน้าที่ : เป็นฟังก์ชั่นให้แสดงผลทางจอภาพครั้งละ 1 อักขระ Format :
putchar ();
2.การสร้างฟังก์ชันใช้เอง (User defined function) เป็นฟังก์ชันที่ผู้เขียนโปรแกรมนิยามขึ้นใหม่ โดยอาจจะเขียนรวมไว้ในตัวโปรแกรมต้นฉบับเดียวกัน หรือเขียนแยกไว้ในไฟล์อื่น ซึ่งจะนำมาแปลร่วมโดยการใช้ Include Directives เช่นเดียวกับฟังก์ชันมาตรฐานการสร้าง Function ประกอบด้วย - Function Definition หรือนิยามฟังก์ชัน คือ รายละเอียดในการทำงานของฟังก์ชัน Format :
-Invocation คือการเรียกใช้ฟังก์ชัน ลักษณะของฟังก์ชัน -ฟังก์ชันที่ไม่มีการส่งค่ากลับ การเรียกใช้ทำได้โดยอ้างถึงชื่อฟังก์ชัน Print_banner () ; -ฟังก์ชันที่มีการส่งค่ากลับ การเรียกใช้ทำได้เหมือนแบบแรก แต่ต้องมีตัวแปรมารับค่าด้วย การเรียกใช้ทำได้โดย
int main(void) {
int k, j;
j = prompt ();
k = prompt ();
printf(“j = %d and k = %d”, j, k);
- ฟังก์ชันที่มีการรับค่า argument การเรียกใช้ฟังก์ชันทำได้โดยอ้างถึงชื่อของฟังก์ชันพร้อมทั้งส่งค่าของตัวแปร(parameter)ไปด้วย โดยจะต้องมีชนิดสอดคล้องกับ argument ของฟังก์ชัน ที่เรียกใช้
การผ่านค่า Argument ให้ฟังก์ชัน ทำได้ 2 แบบ คือ 1) Pass by Value คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งค่าของตัวแปรหรือค่าที่ส่งไปโดยค่าคงที่ผ่านให้กับค่าฟังก์ชันจะถูกคัดลอกส่งให้กับ ฟังก์ชันและจะถูกเลี่ยนแปลงเฉพาะภายในฟังก์ชัน โดยค่าของ argumentในโปรแกรมที่เรียกใช้จะไม่มีการเปลี่ยนแปลง 2) Pass by Reference คือ การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นตำแหน่งที่อยู่ของตัวแปรไป ซึ่งหากภายในฟังก์ชันก็มีการเปลี่ยนแปลงค่าของ argument ที่ส่งไป ก็จะมีผลทำให้ค่าของ argument นั้นในโปรแกรมที่เรียกใช้เปลี่ยนไป
เขียนโดย Yingying ที่ 6:10 0 ความคิดเห็น
ส่งอีเมลข้อมูลนี้
BlogThis!
แบ่งปันไปที่ Twitter
แบ่งปันไปที่ Facebook
แบ่งปันใน Google Buzz
2.วิธีการออกแบบโปรแกรม (Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven
- แนวความคิดและมีกระบวนการ (Processes)หรือ ฟังก์ชัน(Function)
2.2 การออกแบบโปรแกรม Event-Driven
- แนวความคิดและเหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
2.3 การออกแบบโปรแกรมแบบ Data-Driven
- แนวความคิดและข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
3.1 การเขียนโปรแกรมแบบบนลงล่าง
(Top - Down Development)
3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
ตัวอย่างที่1
ตัวอย่างที่ 2
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้น
ในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า
งานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย
-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เ
พียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ
ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักวิธีการเขียนซูโดโค้ด
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
-ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
-ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
-แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล 6.การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการของคอมพิวเตอร์ (Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
-อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล
เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
-read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
-get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น
read studentName
get systemDate
read number1,number2
get taxCode
6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
-print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
-write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
-put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display “End of data”
6.3 คำนวณได้ (Cont.)
-คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
-คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ
+ ใช้แทนการบวก (Add)
- ใช้แทนการลบ (subtract)
* ใช้แทนการคูณ (multiply)
/ ใช้แทนการหาร (divide)
() ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
ตัวอย่าง เช่น
divide totalMarks by studentCount
salesTax costPrice*0.10
computeC=(F-32)*5/9
6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
-ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น
initialize totalPrice to zero
set studentCount to o
totalPrice = costPrice+salesTax
totalPrice ← costPrice+salesTax
store customerId lastCustomerID
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น
if employeeStatus is partTime then
add to partTimeCount
else
add to fullTimeCount
end if
***if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงจะทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if
6.6 ทำซ้ำได้ (repeation or loop)
ใช้คำ dowhile และ enddo หรือ repeat.until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof”
read student record
print studentName,address to report
add 1 to studentTotal
enddo
eof และ End of File
***dowhileและenddo ใช้ในกรณีที่ประมวลผลขั้นตอนหรือทำกิจกรรมซ้ำๆจะทำงานซ้ำๆไปเรื่อยๆ เมื่อตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริง
จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข
ป้ายกำกับ: โครงสร้างข้อมูล
ความรู้พื้นฐานเกี่ยวกับการออกแบบโปรแกรม
มีดังนี้
1.ขั้นตอนการพัฒนาโปรแกรม
(Steps in Program Development )
1. 1กำหนดปัญหา(Define the Problem)
ประกอบด้วย - Input
- Outputs
-Processing
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
- แตกงานให้เป็นช้งานนย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
- การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
- ขั้นตอนการประเมณผลส่วนหลักๆ
- ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
- ส่วนความสัมพันธ์กับผู้ใช้งาน
- โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
- ตัวแปรและโครงสร้างของเรคอร์ด
- ตรรกะโปรแกรม (Logic)
1.3 พัฒนาอัลกอลิทึม (Develop and Algorithm)
- ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
- ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม (Test the Algorithm for Correctness)
- เป็นขั้นตอนที่สำคัญที่สุด
- ตรวจสอบทั้งตรรกะของอัลกอริทึม ตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละขั้นตอน
1.5. เขียนโปรแกรม (Proramming)
- นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
- เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น C,PASCAL เป็นต้น
1.6 ทดสอบโปรแกรม (Testing)
- นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
- การตรวจสอบ
- รูปแบบชุดคำสั่ง (Syntax Errors)
- โปรแกรม (Logic Errors)
- ข้อมูลทดสอบต้องมีความแตกต่างกันไปตามแต่ละสถานการณ์และสภาพแวดล้อม
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม (Document and Maintain the Program)
- การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน การกำหนดปัญหาจนถึงขั้นตอนสุดท้าย คือการทดสอบผลลัพธ์
- เอกสารประกอบโปรแกรมประกอบด้วย
- เอกสารภายนอก(External document) เช่น ผังโครงสร้าง อัลกอริทึมที่ใช้แก้ปัญหา และผลของการทดสอบข้อมูล
-เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม
- การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม
2.วิธีการออกแบบโปรแกรม (Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven
- แนวความคิดและมีกระบวนการ (Processes)หรือ ฟังก์ชัน(Function)
2.2 การออกแบบโปรแกรม Event-Driven
- แนวความคิดและเหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อโปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ
2.3 การออกแบบโปรแกรมแบบ Data-Driven
- แนวความคิดและข้อมูลในโปรแกรมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
3.1 การเขียนโปรแกรมแบบบนลงล่าง
(Top - Down Development)
3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่าจะเกิดผลลัพธ์อะไรขึ้น
ในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้นตอนวิธีซึ่งจะใช้อธิบายว่า
งานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย
-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่าย เ
พียงพอต่อการดำเนินงานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่นำเสนอ
ในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักวิธีการเขียนซูโดโค้ด
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
-ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
-ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
-แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
6.การใช้งานคอมพิวเตอร์ขั้นพื้นฐาน 6 ประการของคอมพิวเตอร์ (Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
-อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บข้อมูล
เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
-read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
-get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น
read studentName
get systemDate
read number1,number2
get taxCode
6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
-print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
-write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
-put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display “End of data”
6.3 คำนวณได้ (Cont.)
-คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสารโต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
-คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ
+ ใช้แทนการบวก (Add)
- ใช้แทนการลบ (subtract)
* ใช้แทนการคูณ (multiply)
/ ใช้แทนการหาร (divide)
() ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด
ตัวอย่าง เช่น
divide totalMarks by studentCount
salesTax costPrice*0.10
computeC=(F-32)*5/9 6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
-ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น
initialize totalPrice to zero
set studentCount to o
totalPrice = costPrice+salesTax
totalPrice ← costPrice+salesTax
store customerId lastCustomerID
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น
if employeeStatus is partTime then
add to partTimeCount
else
add to fullTimeCount
end if
***if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงจะทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if
6.6 ทำซ้ำได้ (repeation or loop)
ใช้คำ dowhile และ enddo หรือ repeat.until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof”
read student record
print studentName,address to report
add 1 to studentTotal
enddo
eof และ End of File
***dowhileและenddo ใช้ในกรณีที่ประมวลผลขั้นตอนหรือทำกิจกรรมซ้ำๆจะทำงานซ้ำๆไปเรื่อยๆ เมื่อตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริง
จนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข
7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงไปล่าง
แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข