เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เอกสารประกอบการเรียนการสอน เลํมที่ 5 จัดทาเพื่อใช๎ประกอบการจัดกิจกรรม
การเรียนการสอน กลุํมสาระการเรียนรู๎การงานอาชีพและเทคโนโลยี สาระเพิ่มเติม
รายวิชาเทคโนโลยีสารสนเทศ 3 เรื่อง การเขียนโปรแกรมแบบเลือกทา ( if และ
if-else) ระดับชั้นมัธยมศึกษาปีที่ 5
เอกสารประกอบการเรียนการสอนประกอบด๎วย แบบทดสอบกํอนเรียน
แบบทดสอบ หลังเรียน สาระสาคัญ ผลการเรียนรู๎ สาระการเรียนรู๎ การเขียน
โปรแกรมแบบเลือกทา ( if และ if-else) พร๎อมตัวอยํางการเขียนคาสั่ง ตัวอยําง
โปรแกรม แบบตํางๆ ทาให๎งํายตํอการเรียนรู๎และความเข๎าใจของนักเรียน นักเรียน
สามารถฝึกทักษะการเขียนคาสั่งโปรแกรมแบบเลือกทา (if และ if-else)ได๎ โดยการ
ประยุกต์ จากตัวอยํางคาสั่ง ตัวอยํางโปรแกรม เพื่อใช๎ในการเรียนรู๎ในการเขียน
โปรแกรมด๎วยภาษาซีตํอไป
ขอขอบคุณ นางละเอียด พงษ์ภักดี ตาแหนํง ครู วิทยฐานะครูชานาญการพิเศษ
หัวหน๎ากลุํมสาระการเรียนรู๎การงานอาชีพและเทคโนโลยี โรงเรียนห๎วยแถลงพิทยาคม
ที่กรุณาให๎คาปรึกษาและแนะนาการจัดทาเอกสารประกอบการเรียนการสอนฉบับนี้
ให๎มีความสมบูรณ์ ถูกต๎อง ซึ่งเป็นประโยชน์ในการจัดกิจกรรมการเรียนการสอน
และผู๎ที่สนใจทุกทําน
กิตติธัช สืบสุนทร
คานา
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
 คานา
 คาแนะนาในการเรียนรู๎ด๎วยเอกสารประกอบการเรียนการสอน 1
สาหรับนักเรียน
 สาระสาคัญ / ผลการเรียนรู๎ / จุดประสงค์การเรียนรู๎ 2
 แบบทดสอบกํอนเรียน 3
 การเขียนโปรแกรมด๎วยภาษาซี เลํมที่ 5
1. เครื่องหมายในการเปรียบเทียบ 5
2. การใช๎ประโยคคาสั่ง if (ทางเลือกเดียว) 6
3. การใช๎ประโยคคาสั่ง if-else (สองทางเลือก) 8
4. การใช๎ประโยคคาสั่ง if-else (หลายเงื่อนไข) 9
 ใบงานที่ 5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) 11
 แบบทดสอบหลังเรียน 17
 กระดาษคาตอบ 19
 เฉลยใบงานที่ 5 20
 เฉลยแบบทดสอบกํอนเรียน หลังเรียน 26
 บรรณานุกรม 27
สารบัญ
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
การเรียนรู๎ด๎วยเอกสารประกอบการเรียนการสอน รายวิชา เทคโนโลยีสารสนเทศ 3
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) นักเรียนปฏิบัติตามขั้นตอนดังนี้
1. ศึกษาสาระสาคัญ ผลการเรียนรู๎ เพื่อให๎ทราบวําเมื่อเรียนจบจากเอกสาร
ประกอบการเรียนการสอนนี้แล๎ว นักเรียนสามารถเรียนรู๎อะไรบ๎าง
2. ทาแบบทดสอบกํอนเรียน เพื่อให๎นักเรียนประเมินตนเองวํามีความรู๎
พื้นฐานมากน๎อยเทําใดกํอนเรียน
3. ศึกษาเนื้อหาการเขียนโปรแกรมแบบเลือกทา ( if และ if-else) พร๎อมกับ
ตัวอยําง ตามเอกสารประกอบการเรียนการสอน
4. ฝึกเขียนโปรแกรมตามตัวอยํางในเอกสารประกอบการเรียน ให๎ครบ
ทุกตัวอยําง
5. ทาใบงานที่ 5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
6. ทาแบบทดสอบหลังเรียนเพื่อเปรียบเทียบความรู๎ที่นักเรียนมีเพิ่มขึ้นจาก
กํอนเรียน
7. นักเรียน เรียนรู๎และ ทางานด๎วยความรับผิดชอบ ขยัน ประหยัด และ
มีความซื่อสัตย์ตํอตนเองในการทางาน
คาแนะนาในการเรียนรู้ด้วยเอกสารประกอบการเรียนการสอนสาหรับนักเรียน
1
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
สาระสาคัญ
การเขียนโปรแกรมเพื่อแก๎ไขปัญหาที่ซับซ๎อน หรือโปรแกรมที่เกี่ยวข๎องกับ
เงื่อนไขการทางานที่ยุํงยาก จาเป็นต๎องใช๎คาสั่งควบคุมการทางานของโปรแกรม
ประเภทตํางๆ เพื่อทาให๎โปรแกรมใช๎งานได๎อยํางมีประสิทธิภาพ งํายในการเขียน
คาสั่ง ซึ่งคาสั่งควบคุมการทางานของโปรแกรมมีหลายแบบด๎วยกัน แตํใน เลํมนี้จะ
กลําวถึงเฉพาะคาสั่งควบคุมการทางานของโปรแกรมแบบเลือกทา if และ if-else
เทํานั้น
ผลการเรียนรู้
มีความรู้ ความเข้าใจ และสามารถใช้คาสั่งควบคุมการทางานของโปรแกรมแบบ
ทางเลือก if และ if-else ได้
จุดประสงค์การเรียนรู้
1. อธิบายคาสั่งควบคุมการทางานของโปรแกรมแบบทางเลือกif และ if-else
2. เขียนโปรแกรมแบบมีทางเลือกด๎วย if หรือ if-else ได๎
3. เรียนรู๎ในห๎องปฏิบัติการ ด๎วยความรับผิดชอบ มีระเบียบวินัย ขยัน และ
ซื่อสัตย์ตํอตนเอง
สาระการเรียนรู้
1. เครื่องหมายในการเปรียบเทียบ
2. การใช๎ประโยคคาสั่ง if (ทางเลือกเดียว)
3. การใช๎ประโยคคาสั่ง if-else (สองทางเลือก)
2
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
คาชี้แจง ให้นักเรียนเลือกตัวเลือกที่ถูกต้องที่สุด แล้วทาเครื่องหมาย
กากบาท (X) ลงในกระดาษคาตอบ
1. เครื่องหมายในข๎อใดไมํใชํเครื่องหมายในการเปรียบเทียบในภาษาซี
ก. >= ข. <=
ค. <> ง. !=
2. 12 <= 23 มีคําความจริงตรงตามข๎อใด
ก. จริง ข. เท็จ
ค.จริงและเท็จ ง. จริงหรือเท็จ
3. -10>=5 มีคําความจริงตรงตามข๎อใด
ก. จริง ข. เท็จ
ค.จริงและเท็จ ง. จริงหรือเท็จ
4. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบทางเลือกเดียว ?
ก. if
ข. if-else
ค. if-else เชิงซ๎อน
ง. switch
5. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบสองทางเลือก ?
ก. if
ข. if-else
ค. if-else เชิงซ๎อน
ง. switch
6. ข๎อใดเขียนข๎อความสั่ง if ได๎ถูกต๎องตามรูปแบบของภาษาซี
ก. if 5<7 a = 0;
ข. if 5<7 (a = 0);
ค. if (5<7) (a = 0);
ง. if (5<7) a = 0;
แบบทดสอบก่อนเรียน
3
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
7. ข๎อใดเป็นรูปแบบของการใช๎คาสั่ง if ที่ถูกต๎อง
ก. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา;
ข. if (เงื่อนไข) ; คาสั่งที่ต๎องการให๎ทา;
ค. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นจริง;
ง. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นเท็จ;
8. จากสํวนของโปรแกรม
ถ๎ากาหนดให๎คํา x = 2 และ y = 5 คําของ z จะเทํากับข๎อใด
ก. -6 ข. -15
ค. 14 ง. 7
9. จากสํวนของโปรแกรม
ถ๎ากาหนดให๎คํา x = 8 และ y = 5 คําของ z จะเทํากับข๎อใด
ก. 25 ข. 3
ค. 13 ง. -3
10.จากโจทย์ข๎อที่ 9 ถ๎ากาหนดให๎คํา x = 6 และ y = 6 คําของ z จะเทํากับข๎อใด
ก. 36 ข. 1
ค. 0 ง. 12
if (x > y)
z = (x – y)*2;
else
z = (x + y)*2;
if (x < y)
z = y * y;
else if (x == y)
z = x + y;
else
z = x - y;
4
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
การกาหนดเงื่อนไขในคาสั่งในคาสั่ง if และ if-else จะใช๎การเปรียบเทียบให๎ได๎ผล
ลัพธ์ทางตรรกศาสตร์(จริงหรือเท็จ) โดยเครื่องหมายในการเปรียบเทียบได๎แกํ >, <,
>=,<=, ==, และ != รายละเอียดและตัวอยํางในตารางที่ 5.1
ตารางที่ 5.1 เครื่องหมายในการเปรียบเทียบ
เครื่องหมาย ความหมาย
ตัวอยํางเมื่อกาหนดให๎
a=10,b=20,c=30,d=20
ผลลัพธ์
> ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคํา มากกว่าข๎อมูลด๎านขวา
ของเครื่องหมาย
50 > 20
3 > 12
b > a
จริง
เท็จ
จริง
< ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคํา น้อยกว่าข๎อมูลด๎านขวา
ของเครื่องหมาย
1 < 5
12 < 7
c < a
จริง
เท็จ
เท็จ
>= ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคํา มากกว่าหรือเท่ากับ
ข๎อมูลด๎านขวาของเครื่องหมาย
5 >= 5
6 >= a
b >= b
จริง
เท็จ
จริง
<= ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคํา น้อยกว่าหรือเท่ากับ
ข๎อมูลด๎านขวาของเครื่องหมาย
8 <= 9
a <= 5
b <= d
จริง
เท็จ
จริง
== ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคํา เท่ากับ ข๎อมูลด๎านขวา
ของเครื่องหมาย
b == d
a == 2
3 == 0
จริง
เท็จ
เท็จ
!= ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ
เครื่องหมายมีคําไม่เท่ากับข๎อมูลด๎านขวา
ของเครื่องหมาย
5 != a
B != d
10 != 10
จริง
เท็จ
เท็จ
5
1. เครื่องหมายในการเปรียบเทียบ
การเขียนโปรแกรมด้วยภาษาซี เล่มที่การเขียนโปรแกรมด้วยภาษาซี เล่มที่ 55
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
คาสั่ง if ใช๎สาหรับสั่งให๎ทาประโยคคาสั่งที่อยูํหลัง if ถ๎าเงื่อนไขที่เปรียบเทียบนั้น
เป็นจริง แตํถ๎าเป็นเท็จก็ไมํต๎องทาอะไร
รูปแบบคาสั่ง แบบที่ 1 กรณีที่มีประโยคคาสั่งเดียว
เขียนผังงานได๎ดังภาพที่ 5.1
ภาพที่ 5.1 ผังงานของคาสั่ง if กรณีมีประโยคคาสั่งเดียว
ตัวอย่างโปรแกรมที่ 1 โปรแกรมเช็คคําตัวเลขอายุที่รับมา ถ๎าอายุมากกวํา 60
ให๎แสดงผล “You are old”
เขียนประโยคคาสั่งได๎ดังนี้
{
int age;
printf(“How old are you ”);
scanf(“%d”,&age);
if (age>=60)
printf(“You are oldn”);
}
if(เงื่อนไข)
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นจริง;
เงื่อนไข
ประโยคคาสั่งที่ให๎ทาเมื่อ
เงื่อนไขเป็นจริง
จริง
เท็จ
2. การใช้ประโยคคาสั่ง if (ทางเลือกเดียว)
6
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
รูปแบบคาสั่ง แบบที่ 2 กรณีที่มีประโยคคาสั่งหลายประโยคที่ต๎องทา ให๎ใช๎ {}
เขียนผังงานได๎ดังภาพที่ 5.2
ภาพที่ 5.2 ผังงานของคาสั่ง if กรณีมีหลายประโยคคาสั่ง
ตัวอย่างโปรแกรมที่ 2 กาหนดเงื่อนไขการทางานดังนี้
- เช็คเงื่อนไขวํามีเงินในมือ(M) เทํากับ 0 จริงหรือไมํ
ถ๎าจริง ให๎หยิบเงินจากกระเป๋า 20 บาท
- แล๎วแสดงข๎อความวํา “Ready to pay”
เขียนประโยคคาสั่งได๎ดังนี้
if (M==0)
{
printf(“Get money”);
M=20;
}
printf(“Ready to pay”);
if(เงื่อนไข)
{
ประโยคคาสั่งที่ 1 ;
ประโยคคาสั่งที่ 2 ;
ประโยคคาสั่งที่ … ;
}
เงื่อนไข
ประโยคคาสั่งที่ 1
ประโยคคาสั่งที่ 2
ประโยคคาสั่งที่ …
จริง
เท็จ
7
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
ในการทางานของคาสั่ง if – else จะเป็นคาสั่งสาหรับการทางานหลาย
ทางเลือก คือ ถ๎าเงื่อนไขหลัง if เป็นจริงก็จะทางานอยํางหนึ่ง แตํถ๎าเป็นเท็จ ก็จะไป
ทางานอีกอยํางหนึ่ง
รูปแบบคาสั่ง if-else
ตัวอย่างโปรแกรมที่ 3 โปรแกรมหาคําที่มากที่สุด ของตัวเลข 2 ตัวที่รับเข๎ามา
เขียนเป็น flowchart ได้ดังนี้ เขียนโปรแกรมได้ดังนี้
ผลลัพธ์จากการรันโปรแกรม
int main()
{
int A,B;
scanf(“%d %d”,&A,&B);
if(A>B)
printf("Maximum is %d",A);
else
printf("Maximum is %d",B);
system("PAUSE");
}
if(เงื่อนไข)
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นจริง;
else
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นเท็จ;
Start
input A,B
A>B
End
“Maximum is ” A “Maximum is ” B
เท็จจริง
หมายเหตุ กรณีที่ประโยคคาสั่งหลังเงื่อนไข มีมากกวํา 1 ประโยคให๎ใช๎
เครื่องหมาย { } ครอบ
3. การใช้ประโยคคาสั่ง if-else (สองทางเลือก)
8
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เมื่อมีเงื่อนไขหลายอยํางตํอเนื่องกัน ต๎องใช๎ประโยคคาสั่ง if….else ให๎ครอบคลุม
ทุกเงื่อนไขตามรูปแบบ ดังนี้
ตัวอย่างโปรแกรมที่ 4 โปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมีเงื่อนไขดังนี้
คะแนน 85 ขึ้นไป ได๎เกรด A
คะแนน 75 ถึง 85 ได๎เกรด B
คะแนน 60 ถึง 75 ได๎เกรด C
คะแนน 50 ถึง 59 ได๎เกรด D
ต่ากวํา 50 ได๎เกรด F
กาหนดให้ sc คือ คะแนนรวม เขียนเป็น flowchart ได้ดังนี้
if(เงื่อนไขที่ 1)
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 1 เป็นจริง;
else if(เงื่อนไขที่ 2)
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 2 เป็นจริง;
else if(เงื่อนไขที่ 3)
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 3 เป็นจริง;
else
ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 3 เป็นเท็จ;
4. การใช้ประโยคคาสั่ง if-else (หลายเงื่อนไข)
Start
sc
sc>=85
width*le
ngth
sc, “Grade A”
1 2
จริง
เท็จ
9
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เขียนเป็นโปรแกรมได้ดังนี้
ผลลัพธ์จากการรันโปรแกรม
#include <cstdlib>
#include <iostream>
int main() {
int sc;
scanf(“%d ”,&sc);
if(sc>=85)
printf("%d Grade A",sc);
else if(sc>=75)
printf("%d Grade B",sc);
else if(sc>=60)
printf("%d Grade C",sc);
else if(sc>=50)
printf("%d Grade D",sc);
else
printf("%d Grade F",sc);
system("PAUSE");
}
1 2
sc>=75 Sc, “Grade B”
sc>=60 Sc, “Grade C”
จริง
เท็จ
sc>=50 Sc, “Grade D”
sc<50 Sc, “Grade F”
เท็จ
เท็จ
จริง
จริง
จริง
End
10
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
กิจกรรมใบงานที่ 5
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
ชื่อ-สกุล……………………………………………..ชั้น……………เลขที่………...
คาชี้แจง ให๎นักเรียนศึกษาเนื้อหา และตัวอยํางโปรแกรมในเอกสารประกอบการสอน
เลํมนี้ให๎เข๎าใจกํอนทาใบงานที่ 5
1. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับข๎อมูลตัวเลขจานวนจริง 2 จานวน
ทางแป้นพิมพ์คือ x และ y แล๎วเปรียบเทียบหาคําที่น๎อยสุด นามาแสดงผลทางจอภาพ
เป็นเลขทศนิยม 2 ตาแหนํง
1.1 เขียนผังงานได๎ดังนี้
1.2 เขียนโปรแกรมได๎ดังนี้
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………….
…………………………………………………………………………………..……………
……………………………………………………………………………………………….
…………………………………………………………………………………………..……
…………………………………………………………………………………………………
………………..………………………………………………..……………………………
system("PAUSE");
return EXIT_SUCCESS;
}
Start
……………………..
……………
End
“Minimum is ”….... “Minimum is ” ……….
เท็จ จริง
11
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
2. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมี
เงื่อนไขดังนี้ โดยกาหนดให๎ S_c คือ คะแนนรวม
-คะแนน 80 ขึ้นไป ได๎เกรด 4 -คะแนน 75 ถึง 79 ได๎เกรด 3.5
-คะแนน 70 ถึง 74 ได๎เกรด 3 -คะแนน 65 ถึง 69 ได๎เกรด 2.5
-คะแนน 60 ถึง 64 ได๎เกรด 2 -คะแนน 55 ถึง 59 ได๎เกรด 1.5
-คะแนน 50 ถึง 54 ได๎เกรด 1 -คะแนน น๎อยกวํา 50 ได๎เกรด 0
2.1 เขียนผังงานได้ดังนี้
Start
…………….
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
……………........
width*length
S_c, “Grade ……”
End
………..
………..
………..
………..
………..
………..
………..
………..
………..
………..
………..
………..
………..
………..……
………..
12
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
2.2 เขียนโค๊ดโปรแกรมได้ดังนี้
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
int S_c;
scanf(“%d”,&S_c);
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
……………………………………………………………………………………………………….
………………………………………..………………………………………………………………
system("PAUSE");
return EXIT_SUCCESS;
}
13
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
3. ให๎นักเรียนเขียนผังงานและโปรแกรมหาผลรวมของคะแนนหนํวย(unit),
คะแนนกลางภาค(midterm), คะแนนปลายภาค(final) แล๎วนาผลรวมที่ได๎ไปเช็ค
เงื่อนไขดังนี้ (กาหนดให๎sum คือผลรวม)
- ผลรวม 80 ขึ้นไป ดีมาก (Very good)
- ผลรวม 65 – 79 ดี (Good)
- ผลรวม 50 – 64 พอใช๎ (So So)
- ผลรวมน๎อยกวํา 50 ปรับปรุง (Repair)
3.1 ให๎นักเรียนเขียนผังงานให๎ถูกต๎องสมบูรณ์
start
end
14
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
3.2 เขียนโค๏ดโปรแกรมได๎ดังนี้
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
……………………………………………………………………………………………………….…
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
system("PAUSE");
return EXIT_SUCCESS;
}
15
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
4. ให๎นักเรียนเขียนผังงานและโปรแกรมรับตัวเลขจานวนเต็ม 1 ตัว(num) แล๎วเช็ค
วําเป็นเลขคูํ หรือ เลขคี่ โดย
ถ๎าเป็นเลขคูํให๎แสดงข๎อความ “Even number” ทางจอภาพ
ถ๎าเป็นเลขคี่ให๎แสดงข๎อความ “Odd number” ทางจอภาพ
4.1) เขียนผังงานให๎ถูกต๎องสมบูรณ์
4.2) เขียนโค๏ดโปรแกรมได๎ดังนี้
Start
……………………..
……………
End
“…………………………..” “…………………………..”
เท็จ จริง
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
system("PAUSE");
return EXIT_SUCCESS;
}
16
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
คาชี้แจง ให้นักเรียนเลือกตัวเลือกที่ถูกต้องที่สุด แล้วทาเครื่องหมาย
กากบาท (X) ลงในกระดาษคาตอบ
1. เครื่องหมายในข๎อใดไมํใชํเครื่องหมายในการเปรียบเทียบในภาษาซี
ก. <> ข. !=
ค. >= ง. <=
2. 12 <= 23 มีคําความจริงตรงตามข๎อใด
ก. จริงหรือเท็จ ข. จริงและเท็จ
ค.เท็จ ง. จริง
3. -10>=5 มีคําความจริงตรงตามข๎อใด
ก. จริงและเท็จ ข. จริงหรือเท็จ
ค.เท็จ ง. จริง
4. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบทางเลือกเดียว ?
ก. if-else เชิงซ๎อน
ข. if
ค. switch
ง. if-else
5. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบสองทางเลือก ?
ก. if-else เชิงซ๎อน
ข. switch
ค. if
ง. if-else
6. ข๎อใดเขียนข๎อความสั่ง if ได๎ถูกต๎องตามรูปแบบของภาษาซี
ก. if (5<7) a = 0;
ข. if 5<7 (a = 0);
ค. if 5<7 a = 0;
ง. if (5<7) (a = 0);
แบบทดสอบหลังเรียน
17
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
7. ข๎อใดเป็นรูปแบบของการใช๎คาสั่ง if ที่ถูกต๎อง
ก. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นเท็จ;
ข. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นจริง;
ค. if (เงื่อนไข) ; คาสั่งที่ต๎องการให๎ทา;
ง. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา;
8. จากสํวนของโปรแกรม
ถ๎ากาหนดให๎คํา x = 2 และ y = 5 คําของ z จะเทํากับข๎อใด
ก. -15 ข. 7
ค. -6 ง. 14
9. จากสํวนของโปรแกรม
ถ๎ากาหนดให๎คํา x = 8 และ y = 5 คําของ z จะเทํากับข๎อใด
ก. 13 ข. -3
ค. 3 ง. 25
10.จากโจทย์ข๎อที่ 9 ถ๎ากาหนดให๎คํา x = 6 และ y = 6 คําของ z จะเทํากับข๎อใด
ก. 12 ข. 0
ค. 36 ง. 1
if (x > y)
z = (x – y)*2;
else
z = (x + y)*2;
if (x < y)
z = y * y;
else if (x == y)
z = x + y;
else
z = x - y;
18
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
ชื่อ-นามสกุล....................................................ชั้น...............เลขที่...........
แบบทดสอบ กํอนเรียน/หลังเรียน เรื่อง.................................................................
กระดาษคาตอบ
ก่อนเรียน หลังเรียน
ข้อ ก ข ค ง ข้อ ก ข ค ง
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
19
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เฉลยกิจกรรมใบงานที่ 5
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
คาชี้แจง ให๎นักเรียนศึกษาเนื้อหา และตัวอยํางโปรแกรมในเอกสารประกอบการสอน
เลํมนี้ให๎เข๎าใจกํอนทาใบงานที่ 5
1. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับข๎อมูลตัวเลขจานวนจริง 2 จานวน
ทางแป้นพิมพ์คือ xและ y แล๎วเปรียบเทียบหาคําที่น๎อยสุด นามาแสดงผลทางจอภาพ
เป็นเลขทศนิยม 2 ตาแหนํง
1.1 เขียนผังงานได๎ดังนี้
1.2 เขียนโปรแกรมได๎ดังนี้
Start
x,y .
x<y
End
“Minimum is ” y . “Minimum is ” x .
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………….
…………………………………………………………………………………..……………
……………………………………………………………………………………………….
…………………………………………………………………………………………..……
…………………………………………………………………………………………………
………………..………………………………………………..……………………………
system("PAUSE");
return EXIT_SUCCESS;
}
จริงเท็จ
float x,y;
scanf(“%f %f”,&x,&y);
if(x<y)
printf(“Minimum is %.2f”,x);
else
printf(“Minimum is %.2f”,y);
20
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
2. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมี
เงื่อนไขดังนี้ โดยกาหนดให๎ S_c คือ คะแนนรวม
-คะแนน 80 ขึ้นไป ได๎เกรด 4 -คะแนน 75 ถึง 79 ได๎เกรด 3.5
-คะแนน 70 ถึง 74 ได๎เกรด 3 -คะแนน 65 ถึง 69 ได๎เกรด 2.5
-คะแนน 60 ถึง 64 ได๎เกรด 2 -คะแนน 55 ถึง 59 ได๎เกรด 1.5
-คะแนน 50 ถึง 54 ได๎เกรด 1 -คะแนน น๎อยกวํา 50 ได๎เกรด 0
2.1 เขียนผังงานได้ดังนี้
Start
S_c .
S_c>=80 S_c, “Grade 4 ”
S_c>=75 S_c, “Grade 3.5”
S_c>=70 S_c, “Grade 3 ”
S_c>=65 S_c, “Grade 2.5”
S_c>=60
width*length
S_c, “Grade 2 ”
S_c>=55 S_c, “Grade 1.5 ”
S_c>=50 S_c, “Grade 1 ”
S_c<50 S_c, “Grade 0”
End
จริง .
เท็จ .
จริง .
จริง .
จริง .
จริง .
จริง .
จริง .
จริง .
เท็จ .
เท็จ .
เท็จ .
เท็จ .
เท็จ .
เท็จ .
21
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
2.2 เขียนโปรแกรมได้ดังนี้
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
int S_c;
scanf(“%d”,&S_c);
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
……………………………………………………………………………………………………….
………………………………………..………………………………………………………………
system("PAUSE");
return EXIT_SUCCESS;
}
if(S_c>=80)
printf(“%d Grade 4”,S_c);
else if(S_c>=75)
printf(“%d Grade 3.5”,S_c);
else if(S_c>=70)
printf(“%d Grade 3”,S_c);
else if(S_c>=65)
printf(“%d Grade 2.5”,S_c);
else if(S_c>=60)
printf(“%d Grade 2”,S_c);
else if(S_c>=55)
printf(“%d Grade 1.5”,S_c);
else if(S_c>=50)
printf(“%d Grade 1”,S_c);
else
printf(“%d Grade 0”,S_c);
22
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
3. ให๎นักเรียนเขียนผังงานและโปรแกรมหาผลรวมของคะแนนหนํวย(unit), คะแนน
กลางภาค(midterm), คะแนนปลายภาค(final) แล๎วนาผลรวมที่ได๎ไปเช็คเงื่อนไขดังนี้
(กาหนดให๎sum คือผลรวม)
- ผลรวม 80 ขึ้นไป ดีมาก (Very good)
- ผลรวม 65 – 79 ดี (Good)
- ผลรวม 50 – 64 พอใช๎ (So So)
- ผลรวมน๎อยกวํา 50 ปรับปรุง (Repair)
3.1 ให๎นักเรียนเขียนผังงานให๎ถูกต๎องสมบูรณ์
start
unit,midterm,final
sum=unit+midterm+final
sum>=80 “Very good”
sum>=65 “Good”
sum>=50 “So So”
sum<50 “Repair”
end
จริง
จริง
จริง
จริง
เท็จ
เท็จ
เท็จ
23
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
3.2 เขียนโค๏ดโปรแกรมได๎ดังนี้
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
……………………………………………………………………………………………………….…
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
……………………………………..………………………………………………………………….
system("PAUSE");
return EXIT_SUCCESS;
}
int unit,midterm,final;
scanf(“%d %d %d”,&unit,&midterm,&final);
sum=unit+midterm+final;
if(sum>=80)
printf(“Very good”);
else if(sum>=65)
printf(“Good”);
else if(sum>=50)
printf(“So So”);
else if(sum<50)
printf(“Repair”);
24
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
4. ให๎นักเรียนเขียนผังงานและโปรแกรมรับตัวเลขจานวนเต็ม 1 ตัว(num) แล๎วเช็ค
วําเป็นเลขคูํ หรือ เลขคี่ โดย
ถ๎าเป็นเลขคูํให๎แสดงข๎อความ “Even number” ทางจอภาพ
ถ๎าเป็นเลขคี่ให๎แสดงข๎อความ “Odd number” ทางจอภาพ
4.1) เขียนผังงานให๎ถูกต๎องสมบูรณ์
4.2) เขียนโค๏ดโปรแกรมได๎ดังนี้
Start
……………………..
……………
End
“…………………………..” “…………………………..”
เท็จ จริง
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[]) {
……………………………………………………………………………………………..…………
………………………………………………………………………………..………………………
………………………………………………………………………………………………..………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
………………………………………..………………………………………………………………
system("PAUSE");
return EXIT_SUCCESS;
}
num
num%2==0
Even numberOdd number
int num;
scanf(“%d”,&num);
if(num%2==0)
printf(“Even number”);
else
printf(“Odd number”);
25
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else)
ข้อที่ 1 2 3 4 5 6 7 8 9 10
เฉลย ค ก ข ก ข ง ค ค ข ง
ข้อที่ 1 2 3 4 5 6 7 8 9 10
เฉลย ก ง ค ข ง ก ข ง ค ก
เฉลยแบบทดสอบก่อนเรียน
เฉลยแบบทดสอบหลังเรียน
26
เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3
ธนัญชัย ตรีภาค. (2555). กรณีศึกษาการเขียนโปรแกรมด้วยภาษาC.
กรุงเทพมหานคร : บริษัทซีเอ็ดยูเคชั่น จากัด.
นิรุธ อานวยศิลป์. (2546). คู่มือเขียนโปรแกรมด้วยภาษาซี.
กรุงเทพมหานคร : โปรวิชั่น.
พัฒพงษ์ อมรวงศ์. (2554). หนังสือเรียนคอมพิวเตอร์ การเขียนโปรแกรม
ภาษาซี. ปทุมธานี : มิเดีย อินเทลลิเจนซ์ เทคโนโลยี.
ยุทธนา ลีลาศวัฒนกุล. (2547). เริ่มต้นการเขียนโปรแกรมด้วยภาษา C++.
กรุงเทพมหานคร : บริษัท ดวงกมลสมัย จากัด.
ผศ.สานนท์ เจริญฉาย. (2550). การเขียนโปรแกรมและอัลกอริทึม.
นนทบุรี : นิติธรรมการพิมพ์.
อรพิน ประวัติบริสุทธิ์. (2554). คู่มือเรียนภาษาซี ฉบับปรับปรุงใหม่.
กรุงเทพมหานคร : โปรวิชั่น.
บรรณานุกรม
27

เอกสารประกอบการเรียนการสอน การเขียนโปรแกรมด้วยภาษาซี ifและif-else

  • 1.
  • 2.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เอกสารประกอบการเรียนการสอนเลํมที่ 5 จัดทาเพื่อใช๎ประกอบการจัดกิจกรรม การเรียนการสอน กลุํมสาระการเรียนรู๎การงานอาชีพและเทคโนโลยี สาระเพิ่มเติม รายวิชาเทคโนโลยีสารสนเทศ 3 เรื่อง การเขียนโปรแกรมแบบเลือกทา ( if และ if-else) ระดับชั้นมัธยมศึกษาปีที่ 5 เอกสารประกอบการเรียนการสอนประกอบด๎วย แบบทดสอบกํอนเรียน แบบทดสอบ หลังเรียน สาระสาคัญ ผลการเรียนรู๎ สาระการเรียนรู๎ การเขียน โปรแกรมแบบเลือกทา ( if และ if-else) พร๎อมตัวอยํางการเขียนคาสั่ง ตัวอยําง โปรแกรม แบบตํางๆ ทาให๎งํายตํอการเรียนรู๎และความเข๎าใจของนักเรียน นักเรียน สามารถฝึกทักษะการเขียนคาสั่งโปรแกรมแบบเลือกทา (if และ if-else)ได๎ โดยการ ประยุกต์ จากตัวอยํางคาสั่ง ตัวอยํางโปรแกรม เพื่อใช๎ในการเรียนรู๎ในการเขียน โปรแกรมด๎วยภาษาซีตํอไป ขอขอบคุณ นางละเอียด พงษ์ภักดี ตาแหนํง ครู วิทยฐานะครูชานาญการพิเศษ หัวหน๎ากลุํมสาระการเรียนรู๎การงานอาชีพและเทคโนโลยี โรงเรียนห๎วยแถลงพิทยาคม ที่กรุณาให๎คาปรึกษาและแนะนาการจัดทาเอกสารประกอบการเรียนการสอนฉบับนี้ ให๎มีความสมบูรณ์ ถูกต๎อง ซึ่งเป็นประโยชน์ในการจัดกิจกรรมการเรียนการสอน และผู๎ที่สนใจทุกทําน กิตติธัช สืบสุนทร คานา
  • 3.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 คานา  คาแนะนาในการเรียนรู๎ด๎วยเอกสารประกอบการเรียนการสอน 1 สาหรับนักเรียน  สาระสาคัญ / ผลการเรียนรู๎ / จุดประสงค์การเรียนรู๎ 2  แบบทดสอบกํอนเรียน 3  การเขียนโปรแกรมด๎วยภาษาซี เลํมที่ 5 1. เครื่องหมายในการเปรียบเทียบ 5 2. การใช๎ประโยคคาสั่ง if (ทางเลือกเดียว) 6 3. การใช๎ประโยคคาสั่ง if-else (สองทางเลือก) 8 4. การใช๎ประโยคคาสั่ง if-else (หลายเงื่อนไข) 9  ใบงานที่ 5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) 11  แบบทดสอบหลังเรียน 17  กระดาษคาตอบ 19  เฉลยใบงานที่ 5 20  เฉลยแบบทดสอบกํอนเรียน หลังเรียน 26  บรรณานุกรม 27 สารบัญ
  • 4.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 การเรียนรู๎ด๎วยเอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) นักเรียนปฏิบัติตามขั้นตอนดังนี้ 1. ศึกษาสาระสาคัญ ผลการเรียนรู๎ เพื่อให๎ทราบวําเมื่อเรียนจบจากเอกสาร ประกอบการเรียนการสอนนี้แล๎ว นักเรียนสามารถเรียนรู๎อะไรบ๎าง 2. ทาแบบทดสอบกํอนเรียน เพื่อให๎นักเรียนประเมินตนเองวํามีความรู๎ พื้นฐานมากน๎อยเทําใดกํอนเรียน 3. ศึกษาเนื้อหาการเขียนโปรแกรมแบบเลือกทา ( if และ if-else) พร๎อมกับ ตัวอยําง ตามเอกสารประกอบการเรียนการสอน 4. ฝึกเขียนโปรแกรมตามตัวอยํางในเอกสารประกอบการเรียน ให๎ครบ ทุกตัวอยําง 5. ทาใบงานที่ 5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) 6. ทาแบบทดสอบหลังเรียนเพื่อเปรียบเทียบความรู๎ที่นักเรียนมีเพิ่มขึ้นจาก กํอนเรียน 7. นักเรียน เรียนรู๎และ ทางานด๎วยความรับผิดชอบ ขยัน ประหยัด และ มีความซื่อสัตย์ตํอตนเองในการทางาน คาแนะนาในการเรียนรู้ด้วยเอกสารประกอบการเรียนการสอนสาหรับนักเรียน 1
  • 5.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เอกสารประกอบการเรียนการสอนรายวิชาเทคโนโลยีสารสนเทศ 3 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) สาระสาคัญ การเขียนโปรแกรมเพื่อแก๎ไขปัญหาที่ซับซ๎อน หรือโปรแกรมที่เกี่ยวข๎องกับ เงื่อนไขการทางานที่ยุํงยาก จาเป็นต๎องใช๎คาสั่งควบคุมการทางานของโปรแกรม ประเภทตํางๆ เพื่อทาให๎โปรแกรมใช๎งานได๎อยํางมีประสิทธิภาพ งํายในการเขียน คาสั่ง ซึ่งคาสั่งควบคุมการทางานของโปรแกรมมีหลายแบบด๎วยกัน แตํใน เลํมนี้จะ กลําวถึงเฉพาะคาสั่งควบคุมการทางานของโปรแกรมแบบเลือกทา if และ if-else เทํานั้น ผลการเรียนรู้ มีความรู้ ความเข้าใจ และสามารถใช้คาสั่งควบคุมการทางานของโปรแกรมแบบ ทางเลือก if และ if-else ได้ จุดประสงค์การเรียนรู้ 1. อธิบายคาสั่งควบคุมการทางานของโปรแกรมแบบทางเลือกif และ if-else 2. เขียนโปรแกรมแบบมีทางเลือกด๎วย if หรือ if-else ได๎ 3. เรียนรู๎ในห๎องปฏิบัติการ ด๎วยความรับผิดชอบ มีระเบียบวินัย ขยัน และ ซื่อสัตย์ตํอตนเอง สาระการเรียนรู้ 1. เครื่องหมายในการเปรียบเทียบ 2. การใช๎ประโยคคาสั่ง if (ทางเลือกเดียว) 3. การใช๎ประโยคคาสั่ง if-else (สองทางเลือก) 2
  • 6.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 คาชี้แจงให้นักเรียนเลือกตัวเลือกที่ถูกต้องที่สุด แล้วทาเครื่องหมาย กากบาท (X) ลงในกระดาษคาตอบ 1. เครื่องหมายในข๎อใดไมํใชํเครื่องหมายในการเปรียบเทียบในภาษาซี ก. >= ข. <= ค. <> ง. != 2. 12 <= 23 มีคําความจริงตรงตามข๎อใด ก. จริง ข. เท็จ ค.จริงและเท็จ ง. จริงหรือเท็จ 3. -10>=5 มีคําความจริงตรงตามข๎อใด ก. จริง ข. เท็จ ค.จริงและเท็จ ง. จริงหรือเท็จ 4. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบทางเลือกเดียว ? ก. if ข. if-else ค. if-else เชิงซ๎อน ง. switch 5. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบสองทางเลือก ? ก. if ข. if-else ค. if-else เชิงซ๎อน ง. switch 6. ข๎อใดเขียนข๎อความสั่ง if ได๎ถูกต๎องตามรูปแบบของภาษาซี ก. if 5<7 a = 0; ข. if 5<7 (a = 0); ค. if (5<7) (a = 0); ง. if (5<7) a = 0; แบบทดสอบก่อนเรียน 3
  • 7.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 7.ข๎อใดเป็นรูปแบบของการใช๎คาสั่ง if ที่ถูกต๎อง ก. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา; ข. if (เงื่อนไข) ; คาสั่งที่ต๎องการให๎ทา; ค. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นจริง; ง. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นเท็จ; 8. จากสํวนของโปรแกรม ถ๎ากาหนดให๎คํา x = 2 และ y = 5 คําของ z จะเทํากับข๎อใด ก. -6 ข. -15 ค. 14 ง. 7 9. จากสํวนของโปรแกรม ถ๎ากาหนดให๎คํา x = 8 และ y = 5 คําของ z จะเทํากับข๎อใด ก. 25 ข. 3 ค. 13 ง. -3 10.จากโจทย์ข๎อที่ 9 ถ๎ากาหนดให๎คํา x = 6 และ y = 6 คําของ z จะเทํากับข๎อใด ก. 36 ข. 1 ค. 0 ง. 12 if (x > y) z = (x – y)*2; else z = (x + y)*2; if (x < y) z = y * y; else if (x == y) z = x + y; else z = x - y; 4
  • 8.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เรื่องการเขียนโปรแกรมแบบเลือกทา (if และ if-else) การกาหนดเงื่อนไขในคาสั่งในคาสั่ง if และ if-else จะใช๎การเปรียบเทียบให๎ได๎ผล ลัพธ์ทางตรรกศาสตร์(จริงหรือเท็จ) โดยเครื่องหมายในการเปรียบเทียบได๎แกํ >, <, >=,<=, ==, และ != รายละเอียดและตัวอยํางในตารางที่ 5.1 ตารางที่ 5.1 เครื่องหมายในการเปรียบเทียบ เครื่องหมาย ความหมาย ตัวอยํางเมื่อกาหนดให๎ a=10,b=20,c=30,d=20 ผลลัพธ์ > ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคํา มากกว่าข๎อมูลด๎านขวา ของเครื่องหมาย 50 > 20 3 > 12 b > a จริง เท็จ จริง < ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคํา น้อยกว่าข๎อมูลด๎านขวา ของเครื่องหมาย 1 < 5 12 < 7 c < a จริง เท็จ เท็จ >= ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคํา มากกว่าหรือเท่ากับ ข๎อมูลด๎านขวาของเครื่องหมาย 5 >= 5 6 >= a b >= b จริง เท็จ จริง <= ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคํา น้อยกว่าหรือเท่ากับ ข๎อมูลด๎านขวาของเครื่องหมาย 8 <= 9 a <= 5 b <= d จริง เท็จ จริง == ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคํา เท่ากับ ข๎อมูลด๎านขวา ของเครื่องหมาย b == d a == 2 3 == 0 จริง เท็จ เท็จ != ให๎คําจริงเมื่อข๎อมูลด๎านซ๎ายของ เครื่องหมายมีคําไม่เท่ากับข๎อมูลด๎านขวา ของเครื่องหมาย 5 != a B != d 10 != 10 จริง เท็จ เท็จ 5 1. เครื่องหมายในการเปรียบเทียบ การเขียนโปรแกรมด้วยภาษาซี เล่มที่การเขียนโปรแกรมด้วยภาษาซี เล่มที่ 55
  • 9.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 คาสั่งif ใช๎สาหรับสั่งให๎ทาประโยคคาสั่งที่อยูํหลัง if ถ๎าเงื่อนไขที่เปรียบเทียบนั้น เป็นจริง แตํถ๎าเป็นเท็จก็ไมํต๎องทาอะไร รูปแบบคาสั่ง แบบที่ 1 กรณีที่มีประโยคคาสั่งเดียว เขียนผังงานได๎ดังภาพที่ 5.1 ภาพที่ 5.1 ผังงานของคาสั่ง if กรณีมีประโยคคาสั่งเดียว ตัวอย่างโปรแกรมที่ 1 โปรแกรมเช็คคําตัวเลขอายุที่รับมา ถ๎าอายุมากกวํา 60 ให๎แสดงผล “You are old” เขียนประโยคคาสั่งได๎ดังนี้ { int age; printf(“How old are you ”); scanf(“%d”,&age); if (age>=60) printf(“You are oldn”); } if(เงื่อนไข) ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นจริง; เงื่อนไข ประโยคคาสั่งที่ให๎ทาเมื่อ เงื่อนไขเป็นจริง จริง เท็จ 2. การใช้ประโยคคาสั่ง if (ทางเลือกเดียว) 6
  • 10.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 รูปแบบคาสั่งแบบที่ 2 กรณีที่มีประโยคคาสั่งหลายประโยคที่ต๎องทา ให๎ใช๎ {} เขียนผังงานได๎ดังภาพที่ 5.2 ภาพที่ 5.2 ผังงานของคาสั่ง if กรณีมีหลายประโยคคาสั่ง ตัวอย่างโปรแกรมที่ 2 กาหนดเงื่อนไขการทางานดังนี้ - เช็คเงื่อนไขวํามีเงินในมือ(M) เทํากับ 0 จริงหรือไมํ ถ๎าจริง ให๎หยิบเงินจากกระเป๋า 20 บาท - แล๎วแสดงข๎อความวํา “Ready to pay” เขียนประโยคคาสั่งได๎ดังนี้ if (M==0) { printf(“Get money”); M=20; } printf(“Ready to pay”); if(เงื่อนไข) { ประโยคคาสั่งที่ 1 ; ประโยคคาสั่งที่ 2 ; ประโยคคาสั่งที่ … ; } เงื่อนไข ประโยคคาสั่งที่ 1 ประโยคคาสั่งที่ 2 ประโยคคาสั่งที่ … จริง เท็จ 7
  • 11.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 ในการทางานของคาสั่งif – else จะเป็นคาสั่งสาหรับการทางานหลาย ทางเลือก คือ ถ๎าเงื่อนไขหลัง if เป็นจริงก็จะทางานอยํางหนึ่ง แตํถ๎าเป็นเท็จ ก็จะไป ทางานอีกอยํางหนึ่ง รูปแบบคาสั่ง if-else ตัวอย่างโปรแกรมที่ 3 โปรแกรมหาคําที่มากที่สุด ของตัวเลข 2 ตัวที่รับเข๎ามา เขียนเป็น flowchart ได้ดังนี้ เขียนโปรแกรมได้ดังนี้ ผลลัพธ์จากการรันโปรแกรม int main() { int A,B; scanf(“%d %d”,&A,&B); if(A>B) printf("Maximum is %d",A); else printf("Maximum is %d",B); system("PAUSE"); } if(เงื่อนไข) ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นจริง; else ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขเป็นเท็จ; Start input A,B A>B End “Maximum is ” A “Maximum is ” B เท็จจริง หมายเหตุ กรณีที่ประโยคคาสั่งหลังเงื่อนไข มีมากกวํา 1 ประโยคให๎ใช๎ เครื่องหมาย { } ครอบ 3. การใช้ประโยคคาสั่ง if-else (สองทางเลือก) 8
  • 12.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เมื่อมีเงื่อนไขหลายอยํางตํอเนื่องกันต๎องใช๎ประโยคคาสั่ง if….else ให๎ครอบคลุม ทุกเงื่อนไขตามรูปแบบ ดังนี้ ตัวอย่างโปรแกรมที่ 4 โปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมีเงื่อนไขดังนี้ คะแนน 85 ขึ้นไป ได๎เกรด A คะแนน 75 ถึง 85 ได๎เกรด B คะแนน 60 ถึง 75 ได๎เกรด C คะแนน 50 ถึง 59 ได๎เกรด D ต่ากวํา 50 ได๎เกรด F กาหนดให้ sc คือ คะแนนรวม เขียนเป็น flowchart ได้ดังนี้ if(เงื่อนไขที่ 1) ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 1 เป็นจริง; else if(เงื่อนไขที่ 2) ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 2 เป็นจริง; else if(เงื่อนไขที่ 3) ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 3 เป็นจริง; else ประโยคคาสั่งที่ให๎ทาถ๎าเงื่อนไขที่ 3 เป็นเท็จ; 4. การใช้ประโยคคาสั่ง if-else (หลายเงื่อนไข) Start sc sc>=85 width*le ngth sc, “Grade A” 1 2 จริง เท็จ 9
  • 13.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เขียนเป็นโปรแกรมได้ดังนี้ ผลลัพธ์จากการรันโปรแกรม #include<cstdlib> #include <iostream> int main() { int sc; scanf(“%d ”,&sc); if(sc>=85) printf("%d Grade A",sc); else if(sc>=75) printf("%d Grade B",sc); else if(sc>=60) printf("%d Grade C",sc); else if(sc>=50) printf("%d Grade D",sc); else printf("%d Grade F",sc); system("PAUSE"); } 1 2 sc>=75 Sc, “Grade B” sc>=60 Sc, “Grade C” จริง เท็จ sc>=50 Sc, “Grade D” sc<50 Sc, “Grade F” เท็จ เท็จ จริง จริง จริง End 10
  • 14.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 กิจกรรมใบงานที่5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) ชื่อ-สกุล……………………………………………..ชั้น……………เลขที่………... คาชี้แจง ให๎นักเรียนศึกษาเนื้อหา และตัวอยํางโปรแกรมในเอกสารประกอบการสอน เลํมนี้ให๎เข๎าใจกํอนทาใบงานที่ 5 1. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับข๎อมูลตัวเลขจานวนจริง 2 จานวน ทางแป้นพิมพ์คือ x และ y แล๎วเปรียบเทียบหาคําที่น๎อยสุด นามาแสดงผลทางจอภาพ เป็นเลขทศนิยม 2 ตาแหนํง 1.1 เขียนผังงานได๎ดังนี้ 1.2 เขียนโปรแกรมได๎ดังนี้ #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ………………………………………………………………………………………………. …………………………………………………………………………………..…………… ………………………………………………………………………………………………. …………………………………………………………………………………………..…… ………………………………………………………………………………………………… ………………..………………………………………………..…………………………… system("PAUSE"); return EXIT_SUCCESS; } Start …………………….. …………… End “Minimum is ”….... “Minimum is ” ………. เท็จ จริง 11
  • 15.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 2.ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมี เงื่อนไขดังนี้ โดยกาหนดให๎ S_c คือ คะแนนรวม -คะแนน 80 ขึ้นไป ได๎เกรด 4 -คะแนน 75 ถึง 79 ได๎เกรด 3.5 -คะแนน 70 ถึง 74 ได๎เกรด 3 -คะแนน 65 ถึง 69 ได๎เกรด 2.5 -คะแนน 60 ถึง 64 ได๎เกรด 2 -คะแนน 55 ถึง 59 ได๎เกรด 1.5 -คะแนน 50 ถึง 54 ได๎เกรด 1 -คะแนน น๎อยกวํา 50 ได๎เกรด 0 2.1 เขียนผังงานได้ดังนี้ Start ……………. ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” ……………........ width*length S_c, “Grade ……” End ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ……….. ………..…… ……….. 12
  • 16.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 2.2เขียนโค๊ดโปรแกรมได้ดังนี้ #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { int S_c; scanf(“%d”,&S_c); ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………………………………………………………………………. ………………………………………..……………………………………………………………… system("PAUSE"); return EXIT_SUCCESS; } 13
  • 17.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 3.ให๎นักเรียนเขียนผังงานและโปรแกรมหาผลรวมของคะแนนหนํวย(unit), คะแนนกลางภาค(midterm), คะแนนปลายภาค(final) แล๎วนาผลรวมที่ได๎ไปเช็ค เงื่อนไขดังนี้ (กาหนดให๎sum คือผลรวม) - ผลรวม 80 ขึ้นไป ดีมาก (Very good) - ผลรวม 65 – 79 ดี (Good) - ผลรวม 50 – 64 พอใช๎ (So So) - ผลรวมน๎อยกวํา 50 ปรับปรุง (Repair) 3.1 ให๎นักเรียนเขียนผังงานให๎ถูกต๎องสมบูรณ์ start end 14
  • 18.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 3.2เขียนโค๏ดโปรแกรมได๎ดังนี้ #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ……………………………………………………………………………………………………….… ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. system("PAUSE"); return EXIT_SUCCESS; } 15
  • 19.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 4.ให๎นักเรียนเขียนผังงานและโปรแกรมรับตัวเลขจานวนเต็ม 1 ตัว(num) แล๎วเช็ค วําเป็นเลขคูํ หรือ เลขคี่ โดย ถ๎าเป็นเลขคูํให๎แสดงข๎อความ “Even number” ทางจอภาพ ถ๎าเป็นเลขคี่ให๎แสดงข๎อความ “Odd number” ทางจอภาพ 4.1) เขียนผังงานให๎ถูกต๎องสมบูรณ์ 4.2) เขียนโค๏ดโปรแกรมได๎ดังนี้ Start …………………….. …………… End “…………………………..” “…………………………..” เท็จ จริง #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… system("PAUSE"); return EXIT_SUCCESS; } 16
  • 20.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 คาชี้แจงให้นักเรียนเลือกตัวเลือกที่ถูกต้องที่สุด แล้วทาเครื่องหมาย กากบาท (X) ลงในกระดาษคาตอบ 1. เครื่องหมายในข๎อใดไมํใชํเครื่องหมายในการเปรียบเทียบในภาษาซี ก. <> ข. != ค. >= ง. <= 2. 12 <= 23 มีคําความจริงตรงตามข๎อใด ก. จริงหรือเท็จ ข. จริงและเท็จ ค.เท็จ ง. จริง 3. -10>=5 มีคําความจริงตรงตามข๎อใด ก. จริงและเท็จ ข. จริงหรือเท็จ ค.เท็จ ง. จริง 4. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบทางเลือกเดียว ? ก. if-else เชิงซ๎อน ข. if ค. switch ง. if-else 5. ข๎อใดตํอไปนี้ เป็นคาสั่งในการเลือกทาแบบสองทางเลือก ? ก. if-else เชิงซ๎อน ข. switch ค. if ง. if-else 6. ข๎อใดเขียนข๎อความสั่ง if ได๎ถูกต๎องตามรูปแบบของภาษาซี ก. if (5<7) a = 0; ข. if 5<7 (a = 0); ค. if 5<7 a = 0; ง. if (5<7) (a = 0); แบบทดสอบหลังเรียน 17
  • 21.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 7.ข๎อใดเป็นรูปแบบของการใช๎คาสั่ง if ที่ถูกต๎อง ก. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นเท็จ; ข. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา ถ๎าเงื่อนไขนั้นเป็นจริง; ค. if (เงื่อนไข) ; คาสั่งที่ต๎องการให๎ทา; ง. if (เงื่อนไข) คาสั่งที่ต๎องการให๎ทา; 8. จากสํวนของโปรแกรม ถ๎ากาหนดให๎คํา x = 2 และ y = 5 คําของ z จะเทํากับข๎อใด ก. -15 ข. 7 ค. -6 ง. 14 9. จากสํวนของโปรแกรม ถ๎ากาหนดให๎คํา x = 8 และ y = 5 คําของ z จะเทํากับข๎อใด ก. 13 ข. -3 ค. 3 ง. 25 10.จากโจทย์ข๎อที่ 9 ถ๎ากาหนดให๎คํา x = 6 และ y = 6 คําของ z จะเทํากับข๎อใด ก. 12 ข. 0 ค. 36 ง. 1 if (x > y) z = (x – y)*2; else z = (x + y)*2; if (x < y) z = y * y; else if (x == y) z = x + y; else z = x - y; 18
  • 22.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 ชื่อ-นามสกุล....................................................ชั้น...............เลขที่........... แบบทดสอบกํอนเรียน/หลังเรียน เรื่อง................................................................. กระดาษคาตอบ ก่อนเรียน หลังเรียน ข้อ ก ข ค ง ข้อ ก ข ค ง 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 19
  • 23.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เฉลยกิจกรรมใบงานที่5 เรื่อง การเขียนโปรแกรมแบบเลือกทา (if และ if-else) คาชี้แจง ให๎นักเรียนศึกษาเนื้อหา และตัวอยํางโปรแกรมในเอกสารประกอบการสอน เลํมนี้ให๎เข๎าใจกํอนทาใบงานที่ 5 1. ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับข๎อมูลตัวเลขจานวนจริง 2 จานวน ทางแป้นพิมพ์คือ xและ y แล๎วเปรียบเทียบหาคําที่น๎อยสุด นามาแสดงผลทางจอภาพ เป็นเลขทศนิยม 2 ตาแหนํง 1.1 เขียนผังงานได๎ดังนี้ 1.2 เขียนโปรแกรมได๎ดังนี้ Start x,y . x<y End “Minimum is ” y . “Minimum is ” x . #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ………………………………………………………………………………………………. …………………………………………………………………………………..…………… ………………………………………………………………………………………………. …………………………………………………………………………………………..…… ………………………………………………………………………………………………… ………………..………………………………………………..…………………………… system("PAUSE"); return EXIT_SUCCESS; } จริงเท็จ float x,y; scanf(“%f %f”,&x,&y); if(x<y) printf(“Minimum is %.2f”,x); else printf(“Minimum is %.2f”,y); 20
  • 24.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 2.ให๎นักเรียนเขียนผังงานและเขียนโปรแกรมรับคะแนนรวมแล๎วคิดเกรด โดยมี เงื่อนไขดังนี้ โดยกาหนดให๎ S_c คือ คะแนนรวม -คะแนน 80 ขึ้นไป ได๎เกรด 4 -คะแนน 75 ถึง 79 ได๎เกรด 3.5 -คะแนน 70 ถึง 74 ได๎เกรด 3 -คะแนน 65 ถึง 69 ได๎เกรด 2.5 -คะแนน 60 ถึง 64 ได๎เกรด 2 -คะแนน 55 ถึง 59 ได๎เกรด 1.5 -คะแนน 50 ถึง 54 ได๎เกรด 1 -คะแนน น๎อยกวํา 50 ได๎เกรด 0 2.1 เขียนผังงานได้ดังนี้ Start S_c . S_c>=80 S_c, “Grade 4 ” S_c>=75 S_c, “Grade 3.5” S_c>=70 S_c, “Grade 3 ” S_c>=65 S_c, “Grade 2.5” S_c>=60 width*length S_c, “Grade 2 ” S_c>=55 S_c, “Grade 1.5 ” S_c>=50 S_c, “Grade 1 ” S_c<50 S_c, “Grade 0” End จริง . เท็จ . จริง . จริง . จริง . จริง . จริง . จริง . จริง . เท็จ . เท็จ . เท็จ . เท็จ . เท็จ . เท็จ . 21
  • 25.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 2.2เขียนโปรแกรมได้ดังนี้ #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { int S_c; scanf(“%d”,&S_c); ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………………………………………………………………………. ………………………………………..……………………………………………………………… system("PAUSE"); return EXIT_SUCCESS; } if(S_c>=80) printf(“%d Grade 4”,S_c); else if(S_c>=75) printf(“%d Grade 3.5”,S_c); else if(S_c>=70) printf(“%d Grade 3”,S_c); else if(S_c>=65) printf(“%d Grade 2.5”,S_c); else if(S_c>=60) printf(“%d Grade 2”,S_c); else if(S_c>=55) printf(“%d Grade 1.5”,S_c); else if(S_c>=50) printf(“%d Grade 1”,S_c); else printf(“%d Grade 0”,S_c); 22
  • 26.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 3.ให๎นักเรียนเขียนผังงานและโปรแกรมหาผลรวมของคะแนนหนํวย(unit), คะแนน กลางภาค(midterm), คะแนนปลายภาค(final) แล๎วนาผลรวมที่ได๎ไปเช็คเงื่อนไขดังนี้ (กาหนดให๎sum คือผลรวม) - ผลรวม 80 ขึ้นไป ดีมาก (Very good) - ผลรวม 65 – 79 ดี (Good) - ผลรวม 50 – 64 พอใช๎ (So So) - ผลรวมน๎อยกวํา 50 ปรับปรุง (Repair) 3.1 ให๎นักเรียนเขียนผังงานให๎ถูกต๎องสมบูรณ์ start unit,midterm,final sum=unit+midterm+final sum>=80 “Very good” sum>=65 “Good” sum>=50 “So So” sum<50 “Repair” end จริง จริง จริง จริง เท็จ เท็จ เท็จ 23
  • 27.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 3.2เขียนโค๏ดโปรแกรมได๎ดังนี้ #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ……………………………………………………………………………………………………….… ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. ……………………………………..…………………………………………………………………. system("PAUSE"); return EXIT_SUCCESS; } int unit,midterm,final; scanf(“%d %d %d”,&unit,&midterm,&final); sum=unit+midterm+final; if(sum>=80) printf(“Very good”); else if(sum>=65) printf(“Good”); else if(sum>=50) printf(“So So”); else if(sum<50) printf(“Repair”); 24
  • 28.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 4.ให๎นักเรียนเขียนผังงานและโปรแกรมรับตัวเลขจานวนเต็ม 1 ตัว(num) แล๎วเช็ค วําเป็นเลขคูํ หรือ เลขคี่ โดย ถ๎าเป็นเลขคูํให๎แสดงข๎อความ “Even number” ทางจอภาพ ถ๎าเป็นเลขคี่ให๎แสดงข๎อความ “Odd number” ทางจอภาพ 4.1) เขียนผังงานให๎ถูกต๎องสมบูรณ์ 4.2) เขียนโค๏ดโปรแกรมได๎ดังนี้ Start …………………….. …………… End “…………………………..” “…………………………..” เท็จ จริง #include <cstdlib> #include <iostream> int main(int argc, char *argv[]) { ……………………………………………………………………………………………..………… ………………………………………………………………………………..……………………… ………………………………………………………………………………………………..……… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… ………………………………………..……………………………………………………………… system("PAUSE"); return EXIT_SUCCESS; } num num%2==0 Even numberOdd number int num; scanf(“%d”,&num); if(num%2==0) printf(“Even number”); else printf(“Odd number”); 25
  • 29.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 เรื่องการเขียนโปรแกรมแบบเลือกทา (if และ if-else) ข้อที่ 1 2 3 4 5 6 7 8 9 10 เฉลย ค ก ข ก ข ง ค ค ข ง ข้อที่ 1 2 3 4 5 6 7 8 9 10 เฉลย ก ง ค ข ง ก ข ง ค ก เฉลยแบบทดสอบก่อนเรียน เฉลยแบบทดสอบหลังเรียน 26
  • 30.
    เอกสารประกอบการเรียนการสอนรายวิชา เทคโนโลยีสารสนเทศ 3 ธนัญชัยตรีภาค. (2555). กรณีศึกษาการเขียนโปรแกรมด้วยภาษาC. กรุงเทพมหานคร : บริษัทซีเอ็ดยูเคชั่น จากัด. นิรุธ อานวยศิลป์. (2546). คู่มือเขียนโปรแกรมด้วยภาษาซี. กรุงเทพมหานคร : โปรวิชั่น. พัฒพงษ์ อมรวงศ์. (2554). หนังสือเรียนคอมพิวเตอร์ การเขียนโปรแกรม ภาษาซี. ปทุมธานี : มิเดีย อินเทลลิเจนซ์ เทคโนโลยี. ยุทธนา ลีลาศวัฒนกุล. (2547). เริ่มต้นการเขียนโปรแกรมด้วยภาษา C++. กรุงเทพมหานคร : บริษัท ดวงกมลสมัย จากัด. ผศ.สานนท์ เจริญฉาย. (2550). การเขียนโปรแกรมและอัลกอริทึม. นนทบุรี : นิติธรรมการพิมพ์. อรพิน ประวัติบริสุทธิ์. (2554). คู่มือเรียนภาษาซี ฉบับปรับปรุงใหม่. กรุงเทพมหานคร : โปรวิชั่น. บรรณานุกรม 27