Professional Documents
Culture Documents
ບົດທີ 5 Algorithm ກວດສອບເງື່ອນໄຂ
ບົດທີ 5 Algorithm ກວດສອບເງື່ອນໄຂ
ເພື່ ອກຳນົດທາງປະຕິບັດ
ເນື້ອໃນຫຍໍ້
ລັ ກ ສ ະ ນ ະ ປ ະ ໂ ຫ ຍ ກ ກ ວ ດ ສ ອ ບ ເ ງື່ ອ ນໄ ຂ
ກ າ ນ ກ ວ ດ ສ ອ ບ ເ ງື່ ອ ນໄ ຂ ຊ ະ ນິ ດ ສ ອ ງ ທ າ ງ ເ ລື ອ ກ
ເ ຄື່ ອ ງ ໝ າ ຍ ປ ຽ ບ ທ ຽ ບ ຄ ວ າ ມ ສຳ ພັ ນ
ຮູ ບ ແ ບ ບ ໄ ວ ຍ າ ກ ອ ນ
ກໍ ລ ະ ນີ ສຶ ກ ສ າ A l g o r i t h m ກ ວ ດ ສ ອ ບ ເ ງື່ ອ ນໄ ຂ ສ ອ ງ
ທ າ ງ ເ ລື ອ ກ
ກ າ ນ ກ ວ ດ ສ ອ ບ ເ ງື່ ອ ນໄ ຂ ແ ບ ບ ມີ ທ າ ງ ເ ລື ອ ກ ຫຼ າ ຍ ທ າ ງ
ກໍ ລ ະ ນີ ຕົ ວ ຢ່ າ ງ A l g o r i t h m ກ ວ ດ ສ ອ ບ ເ ງື່ ອ ນໄ ຂ ຫຼ າ ຍ
ທ າ ງ ເ ລື ອ ກ ກໍ ລ ະ ນີ ສຶ ກ ສ າ A l g o r i t h m ກ ວ ດ ສ ອ ບ
ເ ງື່ ອ ນໄ ຂ ສ ອ ງ ທ າ ງ ເ ລື ອ ກ
2
ລັກສະນະປະໂຫຍກກວດສອບເງື່ອນໄຂ
3
ການກວດສອບເງື່ ອນໄຂຊະນິດ
ສອງທາງເລືອກ
ມີຄ ວ າ ມ ເ ປັ ນໄ ປໄ ດ້ 2 ກໍ ລ ະ ນີຄື: ເ ປັ ນ ຈິງ
ຫຼືບໍ່ ເ ປັ ນ ຈິງ ( T R U E O R F A L S E ) ,
(YES OR NO)
ທ າ ງ ເ ລືອ ກ ທີ່ ກ ວ ດ ສ ອ ບໄ ດ້ຈ ະ ເ ປັ ນ ທ າ ງ
ເ ລືອ ກ ທີ່ ໄ ປ ເ ຮັດ ກີດ ຈ ະ ກຳ ຕໍ່ ໄ ປ
ມີ 2 ລັກ ສ ະ ນ ະ
ມີກິດ ຈ ະ ກຳ ທ າ ງ ດ ຽ ວ
ມີກິດ ຈ ະ ກຳ ທັງ 2 ທ າ ງ
4
ການກວດສອບເງື່ ອນໄຂຊະນິດສອງທາງເລືອກ
5
ເຄື່ ອງໝາຍປຽບທຽບຄວາມສຳພັນ
ເຄື່ ອງໝາຍປຽບທຽບຄວາມສຳພັນພາຍໃນສຳນວນເງື່ ອນໄຂ
ເຄື່ ອງໝາຍ ຄວາມໝາຍ
ໃນ ພ າ ສ າ C ຖ້າ ຜົນ ຂ ອ ງ ກ າ ນ ປ ຽ ບ ທ ຽ ບ
== ເທົ່ າກັບ
ເ ປັ ນ ຈິງ ຈ ະ ມີຄ່ າ ເ ປັ ນ 1 ແ ລ ະ ຖ້າ ຜົນ
!= ບໍ່ ເທົ່ າກັບ
ຂ ອ ງ ກ າ ນ ປ ຽ ບ ທ ຽ ບ ບໍ່ ເ ປັ ນ ຈິງ ຈ ະ ມີຄ່ າ
> ຫຼາຍກ່ ວາ
ເ ປັ ນ 0
>= ຫຼາຍກ່ ວາຫຼືເທົ່ າກັບ ກ າ ນ ປ ຽ ບ ທ ຽ ບ ຂໍ້ມູ ນ ທີ່ ເ ປັ ນ ຕົວ ອັກ ສ ອ ນ
< ໜ້ອຍກ່ ວາ
ຈ ະ ໃ ຊ່ ລ ະ ຫັດ ແ ອັດ ສ ະ ກີ
<= ໜ້ອຍກວ່ າຫຼືເທົ່ າກັບ ເຄື່ ອງໝາຍ ຄວາມໝາຍ
8
ຮູ ບແບບໄວຍາກອນ
9
ຮູ ບແບບໄວຍາກອນ
10
ກໍລ ະ ນີສຶກ ສ າ A LG OR ITH M ກ ວ ດສ ອ ບ ເງື່ ອ ນໄຂ ສ ອ ງ ທ າ ງ ເລືອ ກ
12
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
ຕົວ ຢ່ າ ງ 2 : ກໍ ລ ະ ນີທີ່ ມີກິດ ຈ ະ ກໍ າໃ ນ ທ າ ງ ເ ລືອ ກ ແ ບ ບ ຄູ່
ບັນ ຫ າ : ໃ ຫ້ຂ ຽ ນໂ ປ ຣ ແ ກ ຣ ມ ຮັບ ຂໍ້ມູ ນ ຕົວ ເ ລ ກ ຈ າ ກ ຜູ້ໃ ຊ້ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິມ ຊຶ່ ງ ເ ປັ ນ
ເ ລ ກ ທົດ ສ ະ ນິຍົມ ສ ອ ງ ຈຳ ນ ວ ນ ແ ລ້ວໃ ຫ້ປ ຽ ບ ທ ຽ ບ ເ ລ ກ ທັງ ສ ອ ງ ຕົວ ເ ພື່ ອ ຊ ອ ກ ຫ າ ຄ່ າ
ຕົວໃ ຫ ຍ່ ກ່ ວ າ ແ ລ້ວ ເ ອົາ ມ າ ສ ະ ແ ດ ງ ຜົນ ເ ທິງ ຈໍ ພ າ ບ
ວິເ ຄ າ ະ ບັນ ຫ າ :
ປ້ ອ ນ ຕົວ ເ ລ ກ ສ ອ ງ ຈຳ ນ ວ ນ ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິມ ໂ ດ ຍ ກຳ ໜົດ ເ ປັ ນ ເ ລ ກ ທົດ ສ ະ ນິຍົມ
ໃ ຫ້ ຕັ້ງ ຊື່ ເ ປັ ນ ຄ່ າ A ແ ລ ະ B
ກ ວ ດ ສ ອ ບ ຕົວ ເ ລ ກ ທີ່ ໜຶ່ ງ ກັບ ຕົວ ເ ລ ກ ທີ່ ສ ອ ງ ເ ພື່ ອ ຊ ອ ກ ຫ າ ຄ່ າ ທີ່ ໃ ຫ ຍ່ ກ່ ວ າ
ສ ະ ແ ດ ງ ຜົນໄ ດ້ຮັບ ອ ອ ກ ທ າ ງ ຈໍ ພ າ ບ
13
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
14
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
15
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
ຕົວ ຢ່ າ ງ 3 : ກໍ ລ ະ ນີທີ່ ມີກິດ ຈ ະ ກໍ າໃ ນ ທ າ ງ ເ ລືອ ກ ແ ບ ບ ຄູ່ ທີ່ ຊັບ ຊ້ອ ນ
ບັນ ຫ າ : ໃ ຫ້ຂ ຽ ນໂ ປ ຣ ແ ກ ຣ ມ ຮັບ ຂໍ້ມູ ນ ຈ າ ກ ຜູ້ໃ ຊ້ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິມ 3 ຈຳ ນ ວ ນ ບໍ່
ເ ທົ່ າ ກັນ ແ ລ້ວໃ ຫ້ປ ຽ ບ ທ ຽ ບ ຫ າ ຈຳ ນ ວ ນ ທີ່ ມີຄ່ າ ໃ ຫ ຍ່ ກ່ ວ າ ແ ລ້ວ ເ ອົາ ມ າ ສ ະ ແ ດ ງ ຜົນ
ເ ທິງ ຈໍ ພ າ ບ
ວິເ ຄ າ ະ ບັນ ຫ າ :
ປ້ ອ ນ ຕົວ ເ ລ ກ ສ າ ມ ຈຳ ນ ວ ນ ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິມ
ກ ວ ດ ສ ອ ບ ໂ ດ ຍ ປ ຽ ບ ທ ຽ ບ ຕົວ ເ ລ ກ ເ ທື່ ອ ລ ະ ຄູ່ ຊຶ່ ງ ເ ລີ່ ມ ຈ າ ກ ຈຳ ນ ວ ນ ທີໜຶ່ ງ ປ ຽ ບ ທ ຽ ບ
ກັບ ຈຳ ນ ວ ນ ທີສ ອ ງ ແ ລ້ວ ເ ອົາ ຕົວ ທີ່ ມີຄ່ າ ຫຼ າ ຍ ກ່ ວ າ ໄ ປ ປ ຽ ບ ທ ຽ ບ ກັບ ຈຳ ນ ວ ນ ທີສ າ ມ
ສ ະ ແ ດ ງ ຜົນໄ ດ້ຮັບ ອ ອ ກ ທ າ ງ ຈໍ ພ າ ບ
16
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
17
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
18
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
ຕົວ ຢ່ າ ງ 4 : ກ ວ ດ ສ ອ ບ ທ າ ງ ເ ລືອ ກ ສ ອ ງ ທ າ ງ ທີ່ ຊ້ອ ນ ກັນ ຫຼ າ ຍ ຊັ້ນ
ບັ ນ ຫ າ : ໃ ຫ້ຂ ຽ ນ ໂ ປ ຣ ແ ກ ຣ ມ ຈັດ ເ ກ ຣ ດ ໂ ດ ຍ ປ້ ອ ນ ຄ ະ ແ ນ ນ ທ າ ງ ແ ປ້ ນ ພິ ມ ທີ່ ມີ ຫຼັ ກ ກ າ ນ ໃ ນ ກ າ ນ ຕັ ດ
ເ ກ ຣ ດ ດັ່ ງ ນີ້
ຄ ະ ແ ນ ນ ແ ຕ່ 9 0 ຫ າ 1 0 0 ໄ ດ້ເ ກ ຣ ດ A
ຄ ະ ແ ນ ນ ແ ຕ່ 7 0 ຫ າ 8 9 , 9 9 ໄ ດ້ເ ກ ຣ ດ B
ຄ ະ ແ ນ ນ ແ ຕ່ 6 0 ຫ າ 6 9 , 9 9 ໄ ດ້ເ ກ ຣ ດ C
ຄ ະ ແ ນ ນ ແ ຕ່ 5 0 ຫ າ 5 9 , 9 9 ໄ ດ້ເ ກ ຣ ດ D
ຄ ະ ແ ນ ນ ຕໍ່ າ ກ່ ວ າ ນັ້ນ ໄ ດ້ເ ກ ຣ ດ F
ວິ ເ ຄ າ ະ ບັ ນ ຫ າ :
ປ້ ອ ນ ຄ ະ ແ ນ ນ ຂ ອ ງ ນັ ກ ຮ ຽ ນ ແ ຕ່ ລ ະ ຄົ ນ ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິ ມ
ຕັ ດ ເ ກ ຣ ດ ຂ ອ ງ ແ ຕ່ ລ ະ ຄົ ນໂ ດ ຍ ປ ຽ ບ ທ ຽ ບ ໃ ສ່ ຫຼັ ກ ກ າ ນໃ ນ ລ ະ ດັ ບ ຕ່ າ ງ ໆ
ສ ະ ແ ດ ງ ຜົ ນໄ ດ້ຮັ ບ ອ ອ ກ ທ າ ງ ຈໍ ພ າ ບ
19
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
20
ກໍລະນີສຶກສາALGORITHMກວດສອບເງື່ອນໄຂສອງທາງເລືອກ
21
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກ
ຫຼາຍທາງ
• ມີ 2 ວິທີການ
ກວດສອບເງື່ອນໄຂຫຼາຍຊັ້ນ ໂດຍໃຊ້ if ... else if
ເລືອກເປັນກໍລະນີ (switch case)
ການໃຊ້ if ... else if ຫຼາຍໆຊັ້ນຈະເຮັດໃຫ້ການ
ຂຽນໂປຣແກຣມບໍ່ ສະດວກ ແລະ ຍັງເຮັດໃຫ້
ການປະມວນຜົນຂອງໂປຣແກຣມຊ້າລົງເລື້ອຍໆ
Switch() ຖືກສ້າງຂື້ນມາເພື່ ອແກ້ໄຂບັນຫາຂອງ
if ... else if
22
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກຫຼາຍທາງ
23
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກຫຼາຍທາງ
24
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກຫຼາຍທາງ
25
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກຫຼາຍທາງ
26
ການກວດສອບເງື່ອນໄຂແບບມີທາງເລືອກຫຼາຍທາງ
27
ຕົວຢ່ າງALGORITHM ກວດສອບເງື່ ອນໄຂຫຼາຍທາງເລືອກ
ຕົ ວ ຢ່ າ ງ 1 : ກ ວ ດ ສ ອ ບ ທ າ ງ ເ ລື ອ ກ ຊ ອ ກ ຫ າ ທ າ ງ ເ ລື່ ອ ທີ່ ມີຫຼ າ ຍ ທ າ ງ
ບັ ນ ຫ າ : ໃ ຫ້ຂ ຽ ນໂ ປ ຣ ແ ກ ຣ ມ ຈັດ ເ ກ ຣ ດ ໂ ດ ຍ ປ້ ອ ນ ຄ ະ ແ ນ ນ ທ າ ງ ແ ປ້ ນ ພິ ມ ທີ່ ຫຼັກ ກ າ ນໃ ນ ກ າ ນ ຕັ ດ
ເ ກ ຣ ດ ດັ່ ງ ນີ້
ຄ ະ ແ ນ ນ ແ ຕ່ 9 0 ຫ າ 1 0 0 ໄ ດ້ເ ກ ຣ ດ A
ຄ ະ ແ ນ ນ ແ ຕ່ 7 0 ຂື້ນ ໄ ປ ໄ ດ້ເ ກ ຣ ດ B
ຄ ະ ແ ນ ນ ແ ຕ່ 6 0 ຂື້ນ ໄ ປ ໄ ດ້ເ ກ ຣ ດ C
ຄ ະ ແ ນ ນ ແ ຕ່ 5 0 ຂື້ນ ໄ ປ ໄ ດ້ເ ກ ຣ ດ D
ຄ ະ ແ ນ ນ ຕໍ່ າ ກ່ ວ າ ນັ້ນ ໄ ດ້ເ ກ ຣ ດ F
ວິ ເ ຄ າ ະ ບັ ນ ຫ າ :
ປ້ ອ ນ ຄ ະ ແ ນ ນ ຂ ອ ງ ນັກ ຮ ຽ ນ ແ ຕ່ ລ ະ ຄົ ນ ຜ່ າ ນ ທ າ ງ ແ ປ້ ນ ພິ ມ
ຕັ ດ ເ ກ ຣ ດ ຂ ອ ງ ແ ຕ່ ລ ະ ຄົ ນໂ ດ ຍ ປ ຽ ບ ທ ຽ ບ ໃ ສ່ ຫຼັກ ກ າ ນໃ ນ ລ ະ ດັ ບ ຕ່ າ ງ ໆ
ສ ະ ແ ດ ງ ຜົ ນໄ ດ້ຮັ ບ ອ ອ ກ ທ າ ງ ຈໍ ພ າ ບ
29
ຕົວຢ່ າງALGORITHMກວດສອບເງື່ ອນໄຂຫຼາຍທາງເລືອກ
ຕົວຢ່ າງ 1: ກວດສອບທາງເລືອກຊອກຫາທາງເລືອກທີ່ ມີຫຼາຍທາງ
//Example 1 switch…case for grading program
#include <stdio.h>
#include <conio.h>
void main() {
int Sc, choice;
printf(“\n”);
printf(“Menu Selection\n”);
printf(“1. Score is 90-100\n”);
printf(“2. Score is 70-89\n”);
printf(“3. Score is 60-69\n”);
printf(“4. Score is 50-59\n”);
printf(“5. Score less than 50\n”);
printf(“\n”);
30
ຕົວຢ່ າງALGORITHMກວດສອບເງື່ ອນໄຂຫຼາຍທາງເລືອກ
ຕົວຢ່ າງ 1: ກວດສອບທາງເລືອກຊອກຫາທາງເລືອກທີ່ ມີຫຼາຍທາງ
printf(“\n”);
printf(“Select your choice: ”);
scanf(“%d”, &choice);
printf(“Input score: ”);
scanf(“%d”, &Sc);
switch(choice) {
case 1: printf(“Score = %d Grade is A\n”, Sc); break;
case 2: printf(“Score = %d Grade is B\n”, Sc); break;
case 3: printf(“Score = %d Grade is C\n”, Sc); break;
case 4: printf(“Score = %d Grade is D\n”, Sc); break;
case 5: printf(“Score = %d Grade is F\n”, Sc); break;
}
}
31