SlideShare a Scribd company logo
1 of 26
Download to read offline
การทางานแบบลาดับ
การทางานแบบลาดับ
ในการเขียนโปรแกรมนั้น หลังจากที่ผ่านขั้นตอนการวิเคราะห์ปัญหา
มาแล้ ว ขั้ น ตอนต่ อ ไปคื อ การเขี ย นผั ง งานและซู โ ดโค้ ด อธิ บ าย
หลักการแก้ไขปัญหา ผู้ที่เขียนโปรแกรมจะต้องเปลี่ยนผังงานให้เป็น
การอธิบายขั้นตอนการทางานในลักษณะข้อความก่อน จากนั้นจึง
เปลี่ ย นข้ อ ความนั้ น ๆ ให้ เ ป็ น ซู โ ดโค้ ด แล้ ว จึ ง เขี ย นเป็ น โปรแกรม
คอมพิวเตอร์ลาดับต่อไป รูปแบบของโปรแกรมนั้นมีหลายรูปแบบ
สาหรับหัวข้อนี้จะกล่าวถึงรายละเอียดและตัวอย่างการทางานแบบ
ลาดับซึ่งถือว่าเป็นพื้นฐานในการเขียนโปรแกรมทั่ว ๆ ไป ลักษณะ
การทางานของโปรแกรมแบบลาดับนี้จะกระทาตามลาดับกิจกรรม
ก่อนหลัง โดยไม่มีการเปลี่ยนแปลงทิศทางไปในลักษณะอื่น
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

What's hot (6)

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

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

การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
Saranyu Srisrontong
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
mansuang1978
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
mansuang1978
 
4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี4.ฟังก์ชันในภาษาซี
4.ฟังก์ชันในภาษาซี
mansuang1978
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
Passawan' Koohar
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
Nattapon
 
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้นC:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
-
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 

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

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

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

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

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

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