การทางานแบบลาดับ
การทางานแบบลาดับ
ในการเขียนโปรแกรมนั้น หลังจากที่ผ่านขั้นตอนการวิเคราะห์ปัญหา
มาแล้ ว ขั้ น ตอนต่ อ ไปคื อ การเขี ย นผั ง งานและซู โ ดโค้ ด อธิ บ าย
หลักการแก้ไขปัญหา ผู้ที่เขียนโปรแกรมจะต้องเปลี่ยนผังงานให้เป็น
การอธิบายขั้นตอนการทางานในลักษณะข้อความก่อน จากนั้นจึง
เปลี่ ย นข้ อ ความนั้ น ๆ ให้ เ ป็ น ซู โ ดโค้ ด แล้ ว จึ ง เขี ย นเป็ น โปรแกรม
คอมพิวเตอร์ลาดับต่อไป รูปแบบของโปรแกรมนั้นมีหลายรูปแบบ
สาหรับหัวข้อนี้จะกล่าวถึงรายละเอียดและตัวอย่างการทางานแบบ
ลาดับซึ่งถือว่าเป็นพื้นฐานในการเขียนโปรแกรมทั่ว ๆ ไป ลักษณะ
การทางานของโปรแกรมแบบลาดับนี้จะกระทาตามลาดับกิจกรรม
ก่อนหลัง โดยไม่มีการเปลี่ยนแปลงทิศทางไปในลักษณะอื่น
START
READ Base, HIGH

ANS = 0.5*Base*high

WRITE ANS

END

รูปแสดงตัวอย่างผังงานการหาพื้นทีสามเหลียม
่
่
จากผังงานในรูปเป็นการทางานแบบลาดับ ถ้าหากเขียนเป็นคาอธิบาย
โปรแกรมในลักษณะของข้อความภาษาไทยจะเขียนได้ดังนี้
2006

2008

2007

หาพื้นที่สามเหลี่ยม
เริ่มต้น
1. รับค่าฐาน Base, รับค่าส่วนสูง High
2. คานวณหาพื้นที่โดยใช้ตัวแปร ANS เท่ากับ 0.5*Base*High
3. แสดงค่าพื้นที่ ANS
จบ

2009
ซึ่งจะเห็นว่าการทางานจะทางานเป็นลาดับต่อเนื่องกันไป ถ้าหากต้องการให้ค่า
ฐานของสามเหลี่ยมและส่วนสูงเป็นเลขจานวนเต็ม จะเขียนเป็นซูโดโค้ดที่ใช้คา
ภาษาอังกฤษได้ดังนี้
START
INT Base, High : INTEGER
INT ANS : REAL
READ Base, High
ANS = 0.5*Base*High
WRITE ANS
END

และจากซูโดโค้ดที่ได้นี้จะทาให้สามารถเขียนเป็นโปรแกรมคอมพิวเตอร์ได้ง่าย โดย
เปลี่ยนซูโดโค้ดแต่ละบรรทัดให้เป็นไปตามหลักการเขียนโปนแกรมภาษานั้น ๆ ตาม
ตัวอย่างต่อไป
#include<stdio.h>
#<conio.h>
main()
{
int Base, High;
float ANS;
printf(“Input Base”);
scanf(“%d”,&Base);
printf(“Input Base”);
scanf(“%d”,&Base);
ANS = 0.5*Base*High;
printf(“ANS : %.2fn”,ANS);
getch ();
return 0;
}

/*ประกาศตัวแปร Base และ High เป็นเลขจานวนเต็ม*/
/*ประกาศตัวแปร ANS เป็นเลขทศนิยม*/
/*รับค่าความยาวฐาน*/
/*รับค่าความสูง*/
/*คานวณหาพื้นที่สามเหลี่ยม*/
/*แสดงผลออกทางจอภาพเป็นทศนิยมสองตาแหน่ง*/
เมื่อคีย์โปรแกรมลงในโปรแกรม DEV – C++ แล้วทดลองแล้วรนโปรแกรมผลลัพธ์ที่
ได้จะเป็นดังรูป โดยคอมพิวเตอร์จะให้ป้อนค่าฐานและความสูงของสามเหลี่ยมเข้าไปทางอินพุต
จากนั้นจะแสดงผลเป็นพื้นที่ของสามเหลี่ยมออกมา โดยในตัวอย่างจะป้อนความยาวฐานเท่ากับ
17 และส่วนสูงเท่ากับ 12

ป้อนความยาวฐาน
และความสูง
จงเขี ย นโปรแกรมหา
ค่ า ผลรวมของตั ว เลข
จานวนเต็ม 4 ค่า

วิธทา
ี

จากที่โจทย์กาหนดสามารถวิเคราะห์ปัญหาได้หลายแบบ เช่น

ข้อมูลอินพุต
ข้อมูลเอาต์พต
ุ
วิธีการประมวลผล

กาหนดค่าข้อมูลโดยตรงหรือรับจากคีย์บอร์ด
ต้องเป็นเลขจานวนเต็มเนื่องจากข้อมูลทั้งสี่ค่าเป็นจานวนเต็ม
ประกาศตัวแปรขึ้นมา 4 ตัว สาหรับเก็บจานวนเต็ม
เก็บตัวเลขในตัวแปร
นาตัวเลขทั้งสี่ค่ามารวมกันแล้วเก็บไว้ในตัวแปร

จากโจทย์ถ้าหากมีการรับข้อมูลก็ต้องประกาศตัวแปรสาหรับเก็บข้อมูล
และโจทย์บอกว่าหาผลรวมของเลขจานวนเต็ม ดังนั้นตัวแปรควรเป็นตัวแปรที่
เก็บเลขจานวนเต็ม
วิธีที่ 1 ถ้าหากเป็นการกาหนดค่าข้อมูลโดยตรงจะเขียนผังงานและโปรแกรมภาษาซีได้ดังนี้

START
x1 = 32
x2 = 14
x3 = 25
x4 = 10
SUM = x1 + x2 + x3 + x4
สัญลักษณ์ของผัง
งานแสดงข้อมูล
ทางจอภาพ

WRITE SUM

#include<stdio.h>
ประกาศตัวแปร
#include<conio.h>
เก็บจานวนเต็ม
main()
และผลรวม
{
int x1, x2, x3, x4, SUM;
x1 = 32;
x2 = 14;
x3 = 25;
x4 = 10;
SUM = x1 + x2 + x3 + x4;
printf(“SUM = %dn”,SUM);
getch ();
return 0;
}

END
รูปแสดงเปรียบเทียบผังงานและโปรแกรมภาษาซี
วิธีที่ 2 ถ้าหากต้องการให้กาหนดข้อมูลเพื่อหาผลรวมทันทีก็ทาได้โดยไม่ต้องประกาศตัวแปร สามารถ
เขียนผังงานและโปรแกรมได้ดังรูปด้านล่าง วิธีนี้จะทาให้โปรแกรมใช้หน่วยความจาของคอมพิวเตอร์
น้อยลงด้วย เนื่องจากการประกาศตัวแปรหนึ่งตัวสาหรับเก็บเลขจานวนเต็มคอมพิวเตอร์ต้องจอง
หน่วยความจาให้กับตัวแปรนั้นจานวน 4 ไบต์ (สาหรับ DEV-C++)

START
SUM = x1 + x2 + x3 + x4
WRITE SUM

END

#include<stdio.h>
#include<conio.h>
main()
{
int SUM;
SUM = x1 + x2 + x3 + x4;
printf(“SUM = %dn”,SUM);
getch ();
return 0;
}

รูปแสดงการประมวลผลข้อมูลโดยตรงโดยไม่ตองมีตวแปรทุกตัว
้
ั
วิธีที่ 3 ถ้าหากต้องการรับข้อมูลทางแป้นพิมพ์ทีละตัวก็ทาได้ โดยจะต้องประกาศตัวแปรสาหรับรับข้อมูล
ทางแป้นพิมพ์ด้วย และการรับข้อมูลตัวเลขแต่ละตัวจะต้องใช้ฟังก์ชัน scanf() ดังผังงานและโปรแกรม
ในรูป START
#include<stdio.h>
#include<conio.h>
main()
READ x1
{
int x1, x2, x3, x4, SUM;
สัญลักษณ์การรับ
READ x2
ข้อมูลทางคีย์บอร์ด
scanf(“%d”&x1);
scanf(“%d”&x1);
READ x3
scanf(“%d”&x1);
scanf(“%d”&x1);
READ x4
SUM = x1 + x2 + x3 + x4;
printf(“SUM = %dn”,SUM);
SUM = x1 + x2 + x3 + x4
getch ();
WRITE SUM
return 0;
}

END

รูปแสดงผังงานและโปรแกรมสาหรับรับข้อมูลเข้าไปทีละค่า
การแสดงลาดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่างๆ

#include<stdio.h>
#include<conio.h>
int main ()
{
int a, b, c, d, e;
a = (3+4)*5;
b = 3 + 4 *5;
c = (2 + 7)*4%10;
d = 2 + 7*4%10;
e = 10 + 2 *8/4*3-5;
printf(“3+4)*5=%dn”,a);
printf(“3 + 4 *5 =%dn”,b);
ผลลัพธ์ที่ได้
โปรแกรมคานวณหาผลลัพธ์จากการหาร
#include<stdio.h>
#include<conio.h>
int main ()
{
int a, b;
float c;
a = 20;
b = 6;
c = 6;
printf(“20/6 = %dn”,a/b);
printf(“20%6 = %dn”,a%b);

/*หารเอาเฉพาะส่วน*/
/*หารเอาเฉพาะเศษ*/
printf(“20/6 = %fn”,a/c);
printf(“20%6 = %15fn”,a%c);
printf(“20%6 = %.2fn”,a%c);
getch ();
return 0;

}

/*หารเอาทั้งเศษและส่วน*/
/*แสดงผลโดยจองพื้นที่ 15 ช่อง*/
/*แสดงผลทศนิยม 2 ตาแหน่ง*/
ผลลัพธ์ที่ได้
ร้านขายผลไม้แห่งหนึง หากยอดซื้อเกิน 200 บาทจะลดราคาให้ 5% และถ้ายอดขายเกิน 400
่
บาท จะลดราคาให้ 10 % จงเขียนโปรแกรมให้ผู้ใช้ป้อนน้าหนักของผลไม้ที่ซื้อเป็นกิโลกรัม
จากนั้นให้โปรแกรมแจ้งราคาที่ต้องชาระออกมา
#include<stdio.h>
#include<conio.h>
int main ()
{
int Price;
int Sale;
printf("Enter Price= ");
scanf("%d",&Price);
if(Price <= 200)
{
Sale = Price;
printf ("nnSale = %d", Sale);
}
else
if(Price <= 400)
{
Sale = (Price * 95)/100;
printf ("nnSale = %d", Sale);
}
else
if (Price > 400)
{
Sale = (Price * 90)/100;
printf ("nnSale = %d", Sale);
}
getch ();
return 0;
}
ผลลัพธ์ที่ได้
เมื่อซือสินค้า 200 บาท
้
เมื่อซือสินค้าเกิน 200 บาท จะลดราคาให้ 5%
้
เมื่อซือสินค้าเกิน 400 บาท จะลดราคาให้ 10%
้

ตั้งใจ

กัน
เรียน

หน่อย
โปรแกรมคานวณค่าโทรศัพท์
ถ้าคิดค่าโทรศัพท์ดังนี้

นาทีแรก 3 บาท
นาทีที่ 2 – 2.50 บาท
นาทีที่ 3 – 1.50 บาท
นาทีที่ 4 – 1 บาท
นาทีที่ 5 เป็นต้นไป – 0.25 บาท
ถ้าโทรศัพท์ 7 นาทีจะเสียค่าโทรเป็นเงินกี่บาท
#include<stdio.h>
#include<conio.h>
int main ()
{
float Price;
int Minute;
printf("Enter Minute= ");
scanf("%d",&Minute);
if(Minute <= 1)
{
Price = 3;
printf ("nnPrice = %f", Price);
}
else
if(Minute <= 2)
{
Price = 5.50;
printf ("nnPrice = %f", Price);
}
else
if(Minute <= 3)
{
Price = 7;
printf ("nnPrice = %f", Price);
}
else
if(Minute <= 4)
{
Price = 8;
printf ("nnPrice = %f", Price);
}
else
if(Minute > 5)
{
Price = ((Minute - 4) * 0.25) + 8;
printf ("nnPrice = %f", Price);
}
getch ();
return 0;
}
ผลลัพธ์ที่ได้ เมื่อโทรศัพท์เป็นเวลา 7 นาที
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

More Related Content

PDF
3.8 การทำงานแบบลำดับ
PDF
3.8 การทำงานตามลำดับ
PDF
3.8 การทำงานแบบลำดับ
PDF
3.6 ฟังก์ชัน
PDF
แนวคิดในการเขียนโปรแกรม
PDF
3.7 การเขียนผังงาน
PDF
3.6 การเขียนโปรแกรมคำนวณ
PDF
3.8 การทำงานแบบลำดับ
3.8 การทำงานตามลำดับ
3.8 การทำงานแบบลำดับ
3.6 ฟังก์ชัน
แนวคิดในการเขียนโปรแกรม
3.7 การเขียนผังงาน
3.6 การเขียนโปรแกรมคำนวณ

What's hot (6)

PDF
3.1 โครงสร้างของภาษาซี
PDF
2 การรับข้อมูลและการแสดงผลข้อมูล 8-10-2555
PDF
PDF
โจทย์ปัญญา Pbl
PPT
การพัฒนาโปรแกรม34
PDF
โครงสร้างของโปรแกรมภาษาซี
3.1 โครงสร้างของภาษาซี
2 การรับข้อมูลและการแสดงผลข้อมูล 8-10-2555
โจทย์ปัญญา Pbl
การพัฒนาโปรแกรม34
โครงสร้างของโปรแกรมภาษาซี
Ad

Similar to 3.8 การทำงานแบบลำดับ (20)

PDF
3.8 การทำงานตามลำดับ
PDF
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
PDF
PPT
2. โครงสร้างภาษาซี
PPT
1. ประวัติภาษาซี
PPTX
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
PPTX
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
PPT
4.ฟังก์ชันในภาษาซี
PPT
ภาษาซี
PDF
ใบความรู้ที่ 1.4
PDF
การเขียนโปรแกรมเบื้องต้น
PDF
งานนำเสนอ1 คอม
PDF
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
PDF
3.8 การเขียนโปรแกรมคำนวณ
PDF
PPT
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
PPT
พื้นฐานภาษาจาวา
3.8 การทำงานตามลำดับ
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
2. โครงสร้างภาษาซี
1. ประวัติภาษาซี
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
4.ฟังก์ชันในภาษาซี
ภาษาซี
ใบความรู้ที่ 1.4
การเขียนโปรแกรมเบื้องต้น
งานนำเสนอ1 คอม
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
3.8 การเขียนโปรแกรมคำนวณ
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
พื้นฐานภาษาจาวา
Ad

More from รัสนา สิงหปรีชา (20)

PDF
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
PDF
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
PDF
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
PPT
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
PDF
3.1 องค์ประกอบของคอมพิวเตอร์
PDF
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
PDF
3.3. ชนิดของข้อมูล
PDF
3.3. ชนิดของข้อมูล
PDF
3.3. ชนิดของข้อมูล
PDF
3.2 ตัวแปรและคำสงวน
PDF
คู่มือนักเรียน 3.1
PDF
คู่มือครู
PDF
3.5 การแสดงผลและการรับข้อมูล
PDF
3.4 ตัวดำเนินการและนิพจน์
PDF
3.3 ชนิดของข้อมูล
PDF
3.1 โครงสร้างของภาษาซี
PDF
3.1 โครงสร้างของภาษาซี
PDF
3.3 ชนิดของข้อมูล
PDF
3.2 ตัวแปรและคำสงวน
PDF
3.1 โครงสร้างของภาษาซี
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 องค์ประกอบของคอมพิวเตอร์
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
3.2 ตัวแปรและคำสงวน
คู่มือนักเรียน 3.1
คู่มือครู
3.5 การแสดงผลและการรับข้อมูล
3.4 ตัวดำเนินการและนิพจน์
3.3 ชนิดของข้อมูล
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
3.3 ชนิดของข้อมูล
3.2 ตัวแปรและคำสงวน
3.1 โครงสร้างของภาษาซี

Recently uploaded (6)

PDF
road accident for children education 2025-1
PDF
Theory-based evaluation Presentation.pdf
PDF
-โดสยาในเด็ก ใช้บ่อยบ่อย เปิดง่ายง่าย แบบไวไว - Toxic Version _ Mar 2020.pdf.pdf
PDF
CIPP- Presentation 3. แนวคิดการประเมินของสตัฟเฟิลบีม หรือโมเดลซิป
PDF
บทที่ 2 เรื่อง เซลล์ไฟฟ้าเคมี (เซลล์กัลวานิก)
PDF
สื่อประกอบการสอน_เรื่อง_การหารทศนิยมด้วยจำนวนนับ___ผลหารเป็นทศนิยมไม่เกิน__3_...
road accident for children education 2025-1
Theory-based evaluation Presentation.pdf
-โดสยาในเด็ก ใช้บ่อยบ่อย เปิดง่ายง่าย แบบไวไว - Toxic Version _ Mar 2020.pdf.pdf
CIPP- Presentation 3. แนวคิดการประเมินของสตัฟเฟิลบีม หรือโมเดลซิป
บทที่ 2 เรื่อง เซลล์ไฟฟ้าเคมี (เซลล์กัลวานิก)
สื่อประกอบการสอน_เรื่อง_การหารทศนิยมด้วยจำนวนนับ___ผลหารเป็นทศนิยมไม่เกิน__3_...

3.8 การทำงานแบบลำดับ