SlideShare a Scribd company logo
1 of 17
Download to read offline
การทางานตามลาดับ
การทางานแบบลาดับ 
ในการเขียนโปรแกรมนั้น หลังจากที่ผ่านขั้นตอนการวิเคราะห์ปัญหา มาแล้ว ขั้นตอนต่อไปคือการเขียนผังงานและซูโดโค้ดอธิบาย หลักการแก้ไขปัญหา ผู้ที่เขียนโปรแกรมจะต้องเปลี่ยนผังงานให้เป็น การอธิบายขั้นตอนการทางานในลักษณะข้อความก่อน จากนั้นจึง เปลี่ยนข้อความนั้น ๆ ให้เป็นซูโดโค้ดแล้วจึงเขียนเป็นโปรแกรม คอมพิวเตอร์ลาดับต่อไป รูปแบบของโปรแกรมนั้นมีหลายรูปแบบ สาหรับหัวข้อนี้จะกล่าวถึงรายละเอียดและตัวอย่างการทางานแบบ ลาดับซึ่งถือว่าเป็นพื้นฐานในการเขียนโปรแกรมทั่ว ๆ ไป ลักษณะ การทางานของโปรแกรมแบบลาดับนี้จะกระทาตามลาดับกิจกรรม ก่อนหลัง โดยไม่มีการเปลี่ยนแปลงทิศทางไปในลักษณะอื่น
START 
READ Base, HIGH 
ANS = 0.5*Base*high 
WRITE ANS 
END 
รูปแสดงตัวอย่างผังงานการหาพื้นที่สามเหลี่ยม
2006 
2007 
2008 
2009 
จากผังงานในรูปเป็นการทางานแบบลาดับ ถ้าหากเขียนเป็นคาอธิบาย โปรแกรมในลักษณะของข้อความภาษาไทยจะเขียนได้ดังนี้ 
หาพื้นที่สามเหลี่ยม 
เริ่มต้น 
1. รับค่าฐาน Base, รับค่าส่วนสูง High 
2. คานวณหาพื้นที่โดยใช้ตัวแปร ANS เท่ากับ 0.5*Base*High 
3. แสดงค่าพื้นที่ ANS 
จบ
ซึ่งจะเห็นว่าการทางานจะทางานเป็นลาดับต่อเนื่องกันไป ถ้าหากต้องการให้ค่า ฐานของสามเหลี่ยมและส่วนสูงเป็นเลขจานวนเต็ม จะเขียนเป็นซูโดโค้ดที่ใช้คา ภาษาอังกฤษได้ดังนี้ STARTINT Base, High : INTEGERINT ANS : REALREAD Base, HighANS = 0.5*Base*HighWRITE ANSEND และจากซูโดโค้ดที่ได้นี้จะทาให้สามารถเขียนเป็นโปรแกรมคอมพิวเตอร์ได้ง่าย โดย เปลี่ยนซูโดโค้ดแต่ละบรรทัดให้เป็นไปตามหลักการเขียนโปนแกรมภาษานั้น ๆ ตาม ตัวอย่างต่อไป
#include<stdio.h> 
#<conio.h> 
main() 
{ 
intBase, High;/*ประกาศตัวแปร Base และ High เป็นเลขจานวนเต็ม*/ 
float ANS;/*ประกาศตัวแปร 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; 
}
เมื่อคีย์โปรแกรมลงในโปรแกรม DEV –C++ แล้วทดลองแล้วรันโปรแกรมผลลัพธ์ที่ ได้จะเป็นดังรูป โดยคอมพิวเตอร์จะให้ป้อนค่าฐานและความสูงของสามเหลี่ยมเข้าไปทางอินพุต จากนั้นจะแสดงผลเป็นพื้นที่ของสามเหลี่ยมออกมา โดยในตัวอย่างจะป้อนความยาวฐานเท่ากับ 17 และส่วนสูงเท่ากับ 12 
ป้อนความยาวฐาน และความสูง
วิธีทาจากที่โจทย์กาหนดสามารถวิเคราะห์ปัญหาได้หลายแบบ เช่น 
ข้อมูลอินพุตกาหนดค่าข้อมูลโดยตรงหรือรับจากคีย์บอร์ด 
ข้อมูลเอาต์พุตต้องเป็นเลขจานวนเต็มเนื่องจากข้อมูลทั้งสี่ค่าเป็นจานวนเต็ม 
วิธีการประมวลผลประกาศตัวแปรขึ้นมา 4 ตัว สาหรับเก็บจานวนเต็ม 
เก็บตัวเลขในตัวแปร 
นาตัวเลขทั้งสี่ค่ามารวมกันแล้วเก็บไว้ในตัวแปร 
จากโจทย์ถ้าหากมีการรับข้อมูลก็ต้องประกาศตัวแปรสาหรับเก็บข้อมูล และโจทย์บอกว่าหาผลรวมของเลขจานวนเต็ม ดังนั้นตัวแปรควรเป็นตัวแปรที่ เก็บเลขจานวนเต็ม 
จงเขียนโปรแกรมหา ค่าผลรวมของตัวเลข จานวนเต็ม 4 ค่า
วิธีที่ 1 ถ้าหากเป็นการกาหนดค่าข้อมูลโดยตรงจะเขียนผังงานและโปรแกรมภาษาซีได้ดังนี้ 
#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; 
} 
รูปแสดงเปรียบเทยี บผงั งานและโปรแกรมภาษาซี 
START 
x1 = 32 
x2 = 14 
x3 = 25 
x4 = 10 
SUM = x1 + x2 + x3 + x4 
WRITE SUM 
END 
ประกาศตัวแปร 
เก็บจานวนเต็ม 
และผลรวม 
สัญลักษณ์ของผัง 
งานแสดงข้อมูล 
ทางจอภาพ
วิธีที่ 2 ถ้าหากต้องการให้กาหนดข้อมูลเพื่อหาผลรวมทันทีก็ทาได้โดยไม่ต้องประกาศตัวแปร สามารถ เขียนผังงานและโปรแกรมได้ดังรูปด้านล่าง วิธีนี้จะทาให้โปรแกรมใช้หน่วยความจาของคอมพิวเตอร์ น้อยลงด้วย เนื่องจากการประกาศตัวแปรหนึ่งตัวสาหรับเก็บเลขจานวนเต็มคอมพิวเตอร์ต้องจอง หน่วยความจาให้กับตัวแปรนั้นจานวน 4 ไบต์ (สาหรับ DEV-C++) 
#include<stdio.h> 
#include<conio.h> 
main() 
{ 
int SUM; 
SUM = x1 + x2 + x3 + x4; 
printf(“SUM = %dn”,SUM); getch (); 
return 0; 
} 
รูปแสดงการประมวลผลข้อมูลโดยตรงโดยไม่ต้องมีตัวแปรทุกตัว 
START 
SUM = x1 + x2 + x3 + x4 
END 
WRITE SUM
วิธีที่ 3 ถ้าหากต้องการรับข้อมูลทางแป้นพิมพ์ทีละตัวก็ทาได้ โดยจะต้องประกาศตัวแปรสาหรับรับข้อมูล ทางแป้นพิมพ์ด้วย และการรับข้อมูลตัวเลขแต่ละตัวจะต้องใช้ฟังก์ชัน scanf() ดังผังงานและโปรแกรม ในรูป 
#include<stdio.h> 
#include<conio.h> 
main() 
{ 
int x1, x2, x3, x4, SUM; 
scanf(“%d”&x1); 
scanf(“%d”&x1); 
scanf(“%d”&x1); 
scanf(“%d”&x1); 
SUM = x1 + x2 + x3 + x4; 
printf(“SUM = %dn”,SUM); getch (); 
return 0; 
} 
รูปแสดงผังงานและโปรแกรมสาหรับรับข้อมูลเข้าไปทีละค่า 
WRITE SUM 
START 
SUM = x1 + x2 + x3 + x4 
END 
READ x1 
READ x2 
READ x3 
READ x4 
สัญลักษณ์การรับ 
ข้อมูลทางคีย์บอร์ด
การแสดงลาดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่างๆ 
#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);/*แสดงผลโดยจองพื้นที่ 15 ช่อง*/ 
printf(“20%6 = %.2fn”,a%c);/*แสดงผลทศนิยม 2 ตาแหน่ง*/ 
getch (); 
return 0; 
}
ผลลัพธ์ที่ได้
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย 
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย 
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

More Related Content

What's hot (7)

การเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงานการเขียนขั้นตอนวิธีและผังงาน
การเขียนขั้นตอนวิธีและผังงาน
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
การเขียนผังงาน
การเขียนผังงานการเขียนผังงาน
การเขียนผังงาน
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
59170259 ผลคุณี
59170259 ผลคุณี59170259 ผลคุณี
59170259 ผลคุณี
 
บทที่2
บทที่2บทที่2
บทที่2
 
ประโยชน์ของผังงาน
ประโยชน์ของผังงานประโยชน์ของผังงาน
ประโยชน์ของผังงาน
 

Viewers also liked

как охраняются права несовершеннолетних
как охраняются права несовершеннолетнихкак охраняются права несовершеннолетних
как охраняются права несовершеннолетних
Andrey Fomenko
 
Flickr
FlickrFlickr
Flickr
cacuso
 
Maria isabel giraldo_gomez[1]
Maria isabel giraldo_gomez[1]Maria isabel giraldo_gomez[1]
Maria isabel giraldo_gomez[1]
IE Simona Duque
 
Flickr 1
Flickr 1Flickr 1
Flickr 1
cacuso
 
Influenza 2009
Influenza 2009Influenza 2009
Influenza 2009
bueno79
 

Viewers also liked (20)

Andres
AndresAndres
Andres
 
как охраняются права несовершеннолетних
как охраняются права несовершеннолетнихкак охраняются права несовершеннолетних
как охраняются права несовершеннолетних
 
15 josh 8 slides 070614
15 josh 8 slides 07061415 josh 8 slides 070614
15 josh 8 slides 070614
 
Stipendievinnare 2014 Evelyne Zibung Hofmann
Stipendievinnare 2014 Evelyne Zibung HofmannStipendievinnare 2014 Evelyne Zibung Hofmann
Stipendievinnare 2014 Evelyne Zibung Hofmann
 
Varför blir livet i staden så mycket bättre med cykling? (Tony Grimaldi, Cycl...
Varför blir livet i staden så mycket bättre med cykling? (Tony Grimaldi, Cycl...Varför blir livet i staden så mycket bättre med cykling? (Tony Grimaldi, Cycl...
Varför blir livet i staden så mycket bättre med cykling? (Tony Grimaldi, Cycl...
 
Balade al la lune
Balade al la luneBalade al la lune
Balade al la lune
 
Filmoteca de filosofia
Filmoteca de filosofiaFilmoteca de filosofia
Filmoteca de filosofia
 
Flickr
FlickrFlickr
Flickr
 
Blogs
BlogsBlogs
Blogs
 
Toto
TotoToto
Toto
 
Photo Parsa Album221
Photo Parsa Album221Photo Parsa Album221
Photo Parsa Album221
 
Maria isabel giraldo_gomez[1]
Maria isabel giraldo_gomez[1]Maria isabel giraldo_gomez[1]
Maria isabel giraldo_gomez[1]
 
Flickr 1
Flickr 1Flickr 1
Flickr 1
 
Tecnología Educativa
Tecnología EducativaTecnología Educativa
Tecnología Educativa
 
Written Journal
Written JournalWritten Journal
Written Journal
 
PresentacióN Gta
PresentacióN GtaPresentacióN Gta
PresentacióN Gta
 
Ativi39clarice
Ativi39clariceAtivi39clarice
Ativi39clarice
 
Influenza 2009
Influenza 2009Influenza 2009
Influenza 2009
 
Propuestas ganadoras - Competir con los mejores y ganar - EOA Spain
Propuestas ganadoras - Competir con los mejores y ganar - EOA SpainPropuestas ganadoras - Competir con los mejores y ganar - EOA Spain
Propuestas ganadoras - Competir con los mejores y ganar - EOA Spain
 
Presentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swPresentacion.qo s desarrollo sw
Presentacion.qo s desarrollo sw
 

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

พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
Saranyu Srisrontong
 
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 คอมพิวเตอร์เบื้องต้น
-
 
ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์
Onrutai Intanin
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
nitchakan
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
Latcha MaMiew
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
mansuang1978
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
Nattapon
 

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

3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
1
11
1
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
 
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 คอมพิวเตอร์เบื้องต้น
 
ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์ความหมายของโปรแกรมคอมพิวเตอร์
ความหมายของโปรแกรมคอมพิวเตอร์
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
โปรแกรมย่อยและฟังก์ชันมาตรฐาน1
 
การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้นการเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรมเบื้องต้น
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
 
Chapter1
Chapter1Chapter1
Chapter1
 
Lesson5 devenlopment-program
Lesson5 devenlopment-programLesson5 devenlopment-program
Lesson5 devenlopment-program
 
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซีใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
ใบความรู้ที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
Pbl2
Pbl2Pbl2
Pbl2
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 

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.7 การเขียนผังงาน
3.7 การเขียนผังงาน3.7 การเขียนผังงาน
3.7 การเขียนผังงาน
 
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.8 การทำงานตามลำดับ

  • 2. การทางานแบบลาดับ ในการเขียนโปรแกรมนั้น หลังจากที่ผ่านขั้นตอนการวิเคราะห์ปัญหา มาแล้ว ขั้นตอนต่อไปคือการเขียนผังงานและซูโดโค้ดอธิบาย หลักการแก้ไขปัญหา ผู้ที่เขียนโปรแกรมจะต้องเปลี่ยนผังงานให้เป็น การอธิบายขั้นตอนการทางานในลักษณะข้อความก่อน จากนั้นจึง เปลี่ยนข้อความนั้น ๆ ให้เป็นซูโดโค้ดแล้วจึงเขียนเป็นโปรแกรม คอมพิวเตอร์ลาดับต่อไป รูปแบบของโปรแกรมนั้นมีหลายรูปแบบ สาหรับหัวข้อนี้จะกล่าวถึงรายละเอียดและตัวอย่างการทางานแบบ ลาดับซึ่งถือว่าเป็นพื้นฐานในการเขียนโปรแกรมทั่ว ๆ ไป ลักษณะ การทางานของโปรแกรมแบบลาดับนี้จะกระทาตามลาดับกิจกรรม ก่อนหลัง โดยไม่มีการเปลี่ยนแปลงทิศทางไปในลักษณะอื่น
  • 3. START READ Base, HIGH ANS = 0.5*Base*high WRITE ANS END รูปแสดงตัวอย่างผังงานการหาพื้นที่สามเหลี่ยม
  • 4. 2006 2007 2008 2009 จากผังงานในรูปเป็นการทางานแบบลาดับ ถ้าหากเขียนเป็นคาอธิบาย โปรแกรมในลักษณะของข้อความภาษาไทยจะเขียนได้ดังนี้ หาพื้นที่สามเหลี่ยม เริ่มต้น 1. รับค่าฐาน Base, รับค่าส่วนสูง High 2. คานวณหาพื้นที่โดยใช้ตัวแปร ANS เท่ากับ 0.5*Base*High 3. แสดงค่าพื้นที่ ANS จบ
  • 5. ซึ่งจะเห็นว่าการทางานจะทางานเป็นลาดับต่อเนื่องกันไป ถ้าหากต้องการให้ค่า ฐานของสามเหลี่ยมและส่วนสูงเป็นเลขจานวนเต็ม จะเขียนเป็นซูโดโค้ดที่ใช้คา ภาษาอังกฤษได้ดังนี้ STARTINT Base, High : INTEGERINT ANS : REALREAD Base, HighANS = 0.5*Base*HighWRITE ANSEND และจากซูโดโค้ดที่ได้นี้จะทาให้สามารถเขียนเป็นโปรแกรมคอมพิวเตอร์ได้ง่าย โดย เปลี่ยนซูโดโค้ดแต่ละบรรทัดให้เป็นไปตามหลักการเขียนโปนแกรมภาษานั้น ๆ ตาม ตัวอย่างต่อไป
  • 6. #include<stdio.h> #<conio.h> main() { intBase, High;/*ประกาศตัวแปร Base และ High เป็นเลขจานวนเต็ม*/ float ANS;/*ประกาศตัวแปร 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; }
  • 7. เมื่อคีย์โปรแกรมลงในโปรแกรม DEV –C++ แล้วทดลองแล้วรันโปรแกรมผลลัพธ์ที่ ได้จะเป็นดังรูป โดยคอมพิวเตอร์จะให้ป้อนค่าฐานและความสูงของสามเหลี่ยมเข้าไปทางอินพุต จากนั้นจะแสดงผลเป็นพื้นที่ของสามเหลี่ยมออกมา โดยในตัวอย่างจะป้อนความยาวฐานเท่ากับ 17 และส่วนสูงเท่ากับ 12 ป้อนความยาวฐาน และความสูง
  • 8. วิธีทาจากที่โจทย์กาหนดสามารถวิเคราะห์ปัญหาได้หลายแบบ เช่น ข้อมูลอินพุตกาหนดค่าข้อมูลโดยตรงหรือรับจากคีย์บอร์ด ข้อมูลเอาต์พุตต้องเป็นเลขจานวนเต็มเนื่องจากข้อมูลทั้งสี่ค่าเป็นจานวนเต็ม วิธีการประมวลผลประกาศตัวแปรขึ้นมา 4 ตัว สาหรับเก็บจานวนเต็ม เก็บตัวเลขในตัวแปร นาตัวเลขทั้งสี่ค่ามารวมกันแล้วเก็บไว้ในตัวแปร จากโจทย์ถ้าหากมีการรับข้อมูลก็ต้องประกาศตัวแปรสาหรับเก็บข้อมูล และโจทย์บอกว่าหาผลรวมของเลขจานวนเต็ม ดังนั้นตัวแปรควรเป็นตัวแปรที่ เก็บเลขจานวนเต็ม จงเขียนโปรแกรมหา ค่าผลรวมของตัวเลข จานวนเต็ม 4 ค่า
  • 9. วิธีที่ 1 ถ้าหากเป็นการกาหนดค่าข้อมูลโดยตรงจะเขียนผังงานและโปรแกรมภาษาซีได้ดังนี้ #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; } รูปแสดงเปรียบเทยี บผงั งานและโปรแกรมภาษาซี START x1 = 32 x2 = 14 x3 = 25 x4 = 10 SUM = x1 + x2 + x3 + x4 WRITE SUM END ประกาศตัวแปร เก็บจานวนเต็ม และผลรวม สัญลักษณ์ของผัง งานแสดงข้อมูล ทางจอภาพ
  • 10. วิธีที่ 2 ถ้าหากต้องการให้กาหนดข้อมูลเพื่อหาผลรวมทันทีก็ทาได้โดยไม่ต้องประกาศตัวแปร สามารถ เขียนผังงานและโปรแกรมได้ดังรูปด้านล่าง วิธีนี้จะทาให้โปรแกรมใช้หน่วยความจาของคอมพิวเตอร์ น้อยลงด้วย เนื่องจากการประกาศตัวแปรหนึ่งตัวสาหรับเก็บเลขจานวนเต็มคอมพิวเตอร์ต้องจอง หน่วยความจาให้กับตัวแปรนั้นจานวน 4 ไบต์ (สาหรับ DEV-C++) #include<stdio.h> #include<conio.h> main() { int SUM; SUM = x1 + x2 + x3 + x4; printf(“SUM = %dn”,SUM); getch (); return 0; } รูปแสดงการประมวลผลข้อมูลโดยตรงโดยไม่ต้องมีตัวแปรทุกตัว START SUM = x1 + x2 + x3 + x4 END WRITE SUM
  • 11. วิธีที่ 3 ถ้าหากต้องการรับข้อมูลทางแป้นพิมพ์ทีละตัวก็ทาได้ โดยจะต้องประกาศตัวแปรสาหรับรับข้อมูล ทางแป้นพิมพ์ด้วย และการรับข้อมูลตัวเลขแต่ละตัวจะต้องใช้ฟังก์ชัน scanf() ดังผังงานและโปรแกรม ในรูป #include<stdio.h> #include<conio.h> main() { int x1, x2, x3, x4, SUM; scanf(“%d”&x1); scanf(“%d”&x1); scanf(“%d”&x1); scanf(“%d”&x1); SUM = x1 + x2 + x3 + x4; printf(“SUM = %dn”,SUM); getch (); return 0; } รูปแสดงผังงานและโปรแกรมสาหรับรับข้อมูลเข้าไปทีละค่า WRITE SUM START SUM = x1 + x2 + x3 + x4 END READ x1 READ x2 READ x3 READ x4 สัญลักษณ์การรับ ข้อมูลทางคีย์บอร์ด
  • 12. การแสดงลาดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่างๆ #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);
  • 14. โปรแกรมคานวณหาผลลัพธ์จากการหาร #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);/*หารเอาเฉพาะเศษ*/
  • 15. printf(“20/6 = %fn”,a/c);/*หารเอาทั้งเศษและส่วน*/ printf(“20%6 = %15fn”,a%c);/*แสดงผลโดยจองพื้นที่ 15 ช่อง*/ printf(“20%6 = %.2fn”,a%c);/*แสดงผลทศนิยม 2 ตาแหน่ง*/ getch (); return 0; }
  • 17. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER