More Related Content
Similar to 3.8 การทำงานแบบลำดับ (20)
More from รัสนา สิงหปรีชา (20)
3.8 การทำงานแบบลำดับ
- 2. การทางานแบบลาดับ
ในการเขียนโปรแกรมนั้น หลังจากที่ผ่านขั้นตอนการวิเคราะห์ปัญหา
มาแล้ ว ขั้ น ตอนต่ อ ไปคื อ การเขี ย นผั ง งานและซู โ ดโค้ ด อธิ บ าย
หลักการแก้ไขปัญหา ผู้ที่เขียนโปรแกรมจะต้องเปลี่ยนผังงานให้เป็น
การอธิบายขั้นตอนการทางานในลักษณะข้อความก่อน จากนั้นจึง
เปลี่ ย นข้ อ ความนั้ น ๆ ให้ เ ป็ น ซู โ ดโค้ ด แล้ ว จึ ง เขี ย นเป็ น โปรแกรม
คอมพิวเตอร์ลาดับต่อไป รูปแบบของโปรแกรมนั้นมีหลายรูปแบบ
สาหรับหัวข้อนี้จะกล่าวถึงรายละเอียดและตัวอย่างการทางานแบบ
ลาดับซึ่งถือว่าเป็นพื้นฐานในการเขียนโปรแกรมทั่ว ๆ ไป ลักษณะ
การทางานของโปรแกรมแบบลาดับนี้จะกระทาตามลาดับกิจกรรม
ก่อนหลัง โดยไม่มีการเปลี่ยนแปลงทิศทางไปในลักษณะอื่น
- 6. #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 เป็นเลขทศนิยม*/
/*รับค่าความยาวฐาน*/
/*รับค่าความสูง*/
/*คานวณหาพื้นที่สามเหลี่ยม*/
/*แสดงผลออกทางจอภาพเป็นทศนิยมสองตาแหน่ง*/
- 7. เมื่อคีย์โปรแกรมลงในโปรแกรม DEV – C++ แล้วทดลองแล้วรันโปรแกรมผลลัพธ์ที่
ได้จะเป็นดังรูป โดยคอมพิวเตอร์จะให้ป้อนค่าฐานและความสูงของสามเหลี่ยมเข้าไปทางอินพุต
จากนั้นจะแสดงผลเป็นพื้นที่ของสามเหลี่ยมออกมา โดยในตัวอย่างจะป้อนความยาวฐานเท่ากับ
17 และส่วนสูงเท่ากับ 12
ป้อนความยาวฐาน
และความสูง
- 8. จงเขี ย นโปรแกรมหา
ค่ า ผลรวมของตั ว เลข
จานวนเต็ม 4 ค่า
วิธทา
ี
จากที่โจทย์กาหนดสามารถวิเคราะห์ปัญหาได้หลายแบบ เช่น
ข้อมูลอินพุต
ข้อมูลเอาต์พต
ุ
วิธีการประมวลผล
กาหนดค่าข้อมูลโดยตรงหรือรับจากคีย์บอร์ด
ต้องเป็นเลขจานวนเต็มเนื่องจากข้อมูลทั้งสี่ค่าเป็นจานวนเต็ม
ประกาศตัวแปรขึ้นมา 4 ตัว สาหรับเก็บจานวนเต็ม
เก็บตัวเลขในตัวแปร
นาตัวเลขทั้งสี่ค่ามารวมกันแล้วเก็บไว้ในตัวแปร
จากโจทย์ถ้าหากมีการรับข้อมูลก็ต้องประกาศตัวแปรสาหรับเก็บข้อมูล
และโจทย์บอกว่าหาผลรวมของเลขจานวนเต็ม ดังนั้นตัวแปรควรเป็นตัวแปรที่
เก็บเลขจานวนเต็ม
- 9. วิธีที่ 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
รูปแสดงเปรียบเทียบผังงานและโปรแกรมภาษาซี
- 10. วิธีที่ 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;
}
รูปแสดงการประมวลผลข้อมูลโดยตรงโดยไม่ตองมีตวแปรทุกตัว
้
ั
- 11. วิธีที่ 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
รูปแสดงผังงานและโปรแกรมสาหรับรับข้อมูลเข้าไปทีละค่า
- 15. printf(“20/6 = %fn”,a/c);
printf(“20%6 = %15fn”,a%c);
printf(“20%6 = %.2fn”,a%c);
getch ();
return 0;
}
/*หารเอาทั้งเศษและส่วน*/
/*แสดงผลโดยจองพื้นที่ 15 ช่อง*/
/*แสดงผลทศนิยม 2 ตาแหน่ง*/
- 17. ร้านขายผลไม้แห่งหนึง หากยอดซื้อเกิน 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);
}
- 18. 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;
}
- 23. 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
- 24. 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;
}
- 26. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER