Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

ິ ​ທມ

ອານ​ກ​ລ​ດ ຶ ແລະ ໂຄງສາງຂ


້ ມູ້ ນ

Algorithm and Data Structure (ADS)

ໂດຍ: ປອ. ກາລະພັດ ກຸ ນລະໄຊ


ພາກວິຊາ ວິສະວະກາ ຄອມພີວເຕີ
ຄະນະ ວິສະວະກາສາດ
ມະຫາວິທະຍາໄລ ສຸ ພານຸວງົ
ບົດ​ທ ີ 2. ນາສະເໜີກ່ຽວກັບລະຫັດທຽມ (Pseudo Code)
2

1. Pseudo Code ແມ່ ນຫຍັງ ?


2. ຫກ ັ ການຂຽນ Pseudo Code
3. ການເຮັ​ດວຽກຂອງ Pseudo Code ແລະ Flowchart
4. ິ ​ຫ​ດ
ບົ​ດ​ເຝກ ັ

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


1. Pseudo Code ແມ່ ນຫຍັງ ?
3

 ແມ່ ນລະຫັດຈາ​ລອງທີ່ໃຊ້ເພ່ ອເປນ ົ ​ແທນ​ຂອ​ງ algorithm ດ້ວຍຄາສັບ ຫ ຄາສັ່ງທີ່ຂຽນເປນ


ັ ​ຕວ ັ
ພາສາອັງກິດທີ່ບ່ ​ຂ​ນ້ ​ກບ
ັ ​ພາ​ສາ​ຄອມ​ພວ ິ ​ເຕີ​ໃດ​ພາ​ສາ​ໜ່ ງ.

 ີ ານມ​ທ່ ໃຊ້
ແມ່ ນການສະແດງຂັນ​້ ຕອ​ນ, ວິ​ທ​ກ ີ ພາສາຂຽນທີ່ເຂົາໃຈງ່
້ າຍ ອາດໃຊ້ພາສາລ​າວ ຫ ພາສາ
້ ບຄວາມສະດວກສະບາຍຂອງຜູ ຂ
ອັງກິດໄດ້ ຂຶນກັ ້ ຽນ ແລະ ກິດຈະກາທີ່ຈະນາສະເໜີ ມັກ​ມ​ໃຊ້
ຮູ ບແບບຄ້າຍ​ຄປະໂຫຍກຂອງພາສາອັງກິດເພ່ ອອະທິບາຍລາຍລະອຽດຂອງ algorithm.

້ ​ຕນ​
ເລີ​ມ ົ ້ ໂປ​ແກມ
້ ນ​ 2 ຕົວ​ເລກ A, B
ປ​ອ
ບວກ​ສອງ​ຕວ ົ ​ເລກ​ເຂົາ​້ ກນ

ສ​ະ​ແດງຜົນ​ບວດ​ອອກ
ຈົບ​ໂປ​ແກມ

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
4

 ຄາທີ່ໃຊ້ໃນການຂຽນໃຊ້ພາສາອັງກິດທີ່ເຂົາໃຈງ່
້ າຍ

 ໃນຫນຶ່ງແຖວໃຫ້ມພ
ີ ຽງແຕ່ ປະໂຫຍກຄາສັ່ງ

 ັ ຫ ຫຍ​ໜ
ໃຊ້ວກ ັ ປະໂຫຍດ ເພ່ ອສະແດງການຄວບຄຸ ມຢ່າງ​ເປນ
້ າ້ ​ໃຫ້​ເປນ ັ ສັດສ່ ວນ

 ແຕ່ ລະປະໂຫຍກຕ້ອງຂຽນຈາກເທິງລົງລຸ່ ມ ແລະ ມີທາງອອກທາງ​ດຽວ

 ກຸ່ ມຂອງປະ​ໂຫຍກ​ຄາ​ສ່ ງອາດຈະຖ


ັ ັ ​ໝວ​ດ​ໝ່ ​ແ
ກຈັດ​ລວ​ມ​ເປນ ້ ໃຊ້ໂມດູນ
ູ ລ້ວເອີນ​

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
5

 ີ ານ​ຂຽນ Pseudo Code ນັນ​້ ສາ​ມາ​ດ​ແບ່ ງ​ອອກ​ເປນ


ວິ​ທ​ກ ັ 4 ກຸ່ ມ​ຄ:

 Block Statement

 Conditional Statement

 Loop Statement

 Control Statement

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
6

 ັ ​ຄາ​ສ່ ງ​ັ ທ່ ​ໃີ ຊ້​ກາ​ນດ


Block Statement: ເປນ ັ ​ກ​ານ​ເຮັດ​ວ​ຽກ ໂດຍ​ທ່ ​ວ
ົ ​ກຸ່ມ​ລ​າ​ດບ ັ ​ການ​ເຮັດ​
ົ ​ໄປ​ແລ້ວ​ຈະ​ເປນ
ວຽກ​ຕາມ​ລ​າ​ດບ ັ ​ກ ້ອນ ແລະ ຫງັ (Sequence Order) ໂດຍ​ໃນ Pseudo Code ນັ​ນ້ ​ຈະ​ໃຊ້ BEGIN ເປນ ັ ​
ຄາ​ສ່ ງ​ັ ທ່ ​ໃີ ຊ້​ກາ​ນດົ ​ຈ​ດ ້ ​ຕນຂອງ
ຸ ​ເລີ​ມ ົ້ ົ ​ຈດ
Block Stetement ແລະ END ໃຊ້​ກາ​ນດ ິ ້ ສຸ​ດ​ຂອງ Block
ຸ ​ສນ​
ົ ​ຢ່າງ​ຕ່ ​ໄປ​ນ:ີ ້
Stetement ດັ່ງ​ຕວ

BEGIN
Switch on the monitor
Switch on the main unit switch on main menu

Type in login
Type in password
Start application login enter user pw

END

end
use apps
Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY
ັ ການຂຽນ Pseudo Code
2. ຫກ
7

 Conditional Statement: ເປນ ັ ​ກຸ່ມຄາ​ສ່ ງ​ັ ທ່ ​ໃີ ຊ້​ກາ​ນດ ົ ​ເງ່ ອນ​ໄຂ​ກ​ານ​ເຮັດ​ວ​ຽກ ໂດຍການກວ​ດ​ສອບ​ວ່າ​
ັ ​ຈງິ ​ຂອງເງ່ ອ​ນ​ໄຂຂອງ​ຕວ
ຖ​ກ​ຕາມ​ຄ​ວາມ​ເປນ ົ ​ປ່ຽນ​ແລ້ວ​ຈະປ​ະ​ຕ​ບ ິ ​ດັ ​ໃນ Block Statement ​ໜ່ ງ ແຕ່ຖ້າບ່ ​ເປນ
ັ ​ຈງິ ​
ຕາມ​ເງ່ ​ອນ​ໄຂ​ກ່ ​ຈະ​ຂາ້ ມ​ໄປ​ປະ​ຕ​ບ ັ ​ໃນ​ສ່ວນ​ອ່ ນ ການ​ເຮັດ​ວ​ຽກ​ແບບນີ​ຈ້ ະ​ໃຊ້​ຄາ​ສງັ ້ IF-THEN ດັ່ງ​ຕວ
ິ ດ ົ ​ຢ່າງ​ຕ່ ​ໄປ​ນ:ີ ້

IF the meeting is not canceled


THEN
BEGIN
Confirm the meeting time
Prepare the speech
Prepare the tape recorder
END

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
8

 Conditional Statement: ນ​ອນ​ຈາກ​ຈະ​ໃຊ້​ຄາ​ສງັ ້ IF-THEN ​ແລ້ວ ຍັງ​ສາ​ມາ​ດ​ໃຊ້​ຄາ​ສງັ IF-


THEN-ELSE ເພ່ ອກວ​ດ​ສອບ​ເງ່ ອນ​ໄຂຂ​ອງ​ຕວ ົ ​ຢ່າງ​ຕ່ ​ໄປ​ນ:ີ ້
ົ ​ປ່​ຽນ ດັ່ງ​ຕວ

IF the meeting is not canceled


THEN
BEGIN
Go out for customer visiting
END
ELSE
BEGIN
Prepare for the meeting
END

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
9

 Loop Statement: ມີ​ການ​ເຮັ​ດ​ວຽກ​ແບບ​ວນ ົ ​ຮອບ​ Loop ຄ​ການ​ເຮັດ​ວຽກ​ໃນ Block Statement ເຮັດ​


ໜ່ ງ​ເຮັດຊ​າ້ ​ກນ ້
ັ ​ໄປເລອຍໆ​ ຕາບ​ໃດ​ທ່ ​ເີ ງ່ ອນ​ໄຂ​ຍງັ ​ເປ​ນ
ັ ​ຈງິ ​ຢ່ ູເຊິ່ງ​ດານ​ເຮັ​ດ​ວຽກ​ແບບ Loop ນີ​ຈ້ ​ະ​ມ​ຢ
ີ ່ ູ 2 ລັກ​ສະ​ນະ​ຄ:
WHILE-DO ແລະ FOR-NEXT ຄວາມແຕກຕ່ າງກັນລະຫວ່ າງສອງຫນາ້ ທີ່ນີແມ່ ົ້
້ ນຢູ່ ໃນເປາຫມາຍຂອງ L
oop ຖ້າເປນ ັ ຄວາມຈິງ, ມັນຈະກັບມາເຮັດວຽກອີກຄັງ້ ແລະ ຕ່ ໆ​ໄປ ຈົນກ່ ວາເງ່ ອນໄຂເປນ
ັ ຜິດ, ຈະຂ້າມ
ຄາສັ່ງ Block Statement ທີ່ລະບຸໄວ້ໃນ WHILE-DO ໄປ​ຫ​າ​ສ່ວນ FOR-NEXT ນັນ​້ ຈະ​ເປນ ັ ​ກາ​ນກາ
ນົດຈານວນຂອງຮອບວຽນຂອງການເຮັດວຽກດາເນີນການ Block Statement ສາລັບຈານວນທັງຫມົດ
ສິບ ຮອບວຽນ ແລະ ຕ່ ໆໄປ, ດັ່ງ​ໃນຕົວຢ່າງຕ່ ໄປນີ:້

WHILE there is not enough water DO


Put more water
Carry water tank away

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
10

 Loop Statement: ການ​ໃຊ້​ຄາ​ສ່ ງັ FOR-NEXT ​ນນ ົ ​ເງ່ ອນ​ໄຂ​ເລີມ​


ັ ້ , ຈະ​ກາ​ນດ ້ ຕນ​
ົ ້ ທ່ ີ FOR ແລ້ວ​ກາ​
ີ ້ ສຸດ​ຢ່ ູ TO ອາ​ດ​ຈະ​ມ​ກ
ນົດ​ຕ່າ​ສນ​ ີ ານ​ກາ​ນດ ້ ​ຂນ​
ົ ​ຄ່າ​ເຜີ​ມ ຶ ້ ຢ່ ູ ​ທ່ ີ STEP ກ່ ​ໄດ້, ດັ່ງ​ໃນຕົວຢ່າງຕ່ ໄປນີ:້

FOR number is 0 TO 100


Show number
NEXT number


FOR number is 0 TO 100 STEP 2
Show number
NEXT number

ົ ​ຢ່າງ​ທງັ ​ສອງນີ​ຈ້ ະ​ຄາ້ ຍ​ຄ​ກນ


​ຕວ ັ ແຕ່ ​ແທນ​ທ່ ​ຈ
ີ ​ະ​ສະ​ແດງ​ຕວ
ົ ​ເລກ​ທຸກ​ຕ​ວ
ົ ​ແຕ່ 0 ເຖິງ 100 ຈ​ະ​ສະ​ແດງ​ແຕ່ ​ເລ​
ກ​ຄູ່​ລະ​ຫ​ວ່​າງ 0 ເຖິງ 100 ເຊັ່ນ: [0,2,4,6,8,…100]

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
11

 Control Statement: ແມ່ ນກຸ່ ມຂອງຄາສັ່ງທີ່ໃຊ້ເພ່ ອການົດການກະທາໃນລັກສະນະທີ່ບ່ ມີລາ

ດັບຂັນ້ ເຊັ່ນ: ການໂດດຂ້າມເຮັດວຽກຢູ່ໃນຕາແຫນ່ ງໜ່ ງຂອງໂປແກມໂດຍບ່ ມີເງ່ ອນໄຂ ເປນ ົ ້ ຄາ


ັ ​ຕນ.

ສັ່ງໃນກຸ່ ມນີປະກອບດ້ວຍ LABEL, GOTO BREAK ແລະ EXIT ເຊິ່ງຈະອະທິບາຍຢ່າງ
ລະອຽດໃນແຕ່ ລະຄາສັ່ງດັ່ງຕ່ ໄປນີ.້
 LABEL ການົດຕາແຫນ່ ງໃນລາ​ດບ ັ ​ການເຮັດວຽກເພ່ ອໃຊ້ປະ​ກ​ອບກັບຄາສັ່ງ GOTO ເມ່ ອໂດດໄປຫາຕາແໜ່ງທີ່
ລະບຸ ໄວ້ໃນ LABEL ກ່ ​ໃຊ້ຄາສັ່ງ GOTO ຕາມດ້ວຍຊ່ ຂອງ LABEL ທີ່ການົດໄວ້ສາລັບ BREAK ນັນ​້ ເປນ ັ ​ຄາ​
ສັ່ງ​ໃຫ້ຢຸດການ​ເຮັດ​ວຽກໃນ Loop Statement ຢູ່ ​ຕາ​ແໜ່ງ​ທ່ ​ເີ ອີນ​
້ ຄາ​ສງັ ້ BREAK ໂດຍ​ຈະ​ບ່ ​ກບ ັ ​ໄປ​ກວດ​ສອ​ບ​
ເງ່ ອນ​ໄຂ​ຂອງ Loop Statement ອີກຕ່ ມ, ແຕ່ ຂ້າມໄປປະຕິບດ ັ ຄາສັ່ງທີ່​ຢ່ ູ ​ຕ່ ​ຈາກ Loop Statement ເລີຍ
ສ່ວນ EXIT ຖກນາໃຊ້ເພ່ ອຢຸ ດການປະຕິບດ ັ ງານ ໂດຍ​ປກ ົ ​ກະ​ຕ​ແ ິ ລ້ວ ໂປແກມຈະຖກຢຸ ດເຊົາການ​ທາ​ງານເມ່ ອສິນ​ ້

ສຸ ດ​ຊຸ​ດ​ຄາ​ສ່ ງ​ັ ທງັ ​ໝດ


ົ ​ຫບ່ ​ມ​ຄ
ີ າ​ສ່ ງ​ັ ໃຫ້​ເຮັ​ດ​ຕ່ ​ໄປ​ແລ້ວ ແຕ່ ຖ້າຕ້ອງການໃຫ້ໂປແກມ ຢຸ ດການ​ເຮັ​ດ​ວຽກ​ກາງ​ຄນ
ັ ​ກ່ ​ໄດ້
ໂດຍໃຊ້ຄາສັ່ງ EXIT.

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ ການຂຽນ Pseudo Code
2. ຫກ
12

 Control Statement:

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


3. ການເຮັ​ດວຽກຂອງ Pseudo Code ແລະ Flowchart
13

 ພາຍ​ຫງັ ​ທ່ ​ໄີ ດ້​ສກ


ຶ ​ສາ​ການ​ຂຽນ​ລະ​ຫດັ ​ທຽ​ມ (Pseudo Code) ແລ້ວ​ເຮົາ​ຈະ​ນາ​້ ເອົ​າ​ມາ​ແຕ້​ມ​
ແຜນ​ຜງັ ​ງານ​ເພ່ ອ​ຄວາມ​ເຂົ​າ້ ​ໃຈ​ໃນ​ການ​ແກໄ້​ ຂ​ບນ
ັ ​ຫາ​ທາງ​ດາ້ ນ​ໂປ​ແກມ​ຄອມ​ພວ
ິ ​ເຕີ.

 ົ ບາດສາຄັນ​ຕ່ ການສ້າງ algorithm ທີ່ຊ່ ວຍໃຫ້ນກ


ການວາງແຜນລ່ ວງຫນ້າມີບດ ັ ຂຽນໂປແກມ
ີ ານຂຽນ Code ໄດ້. Pseudocode ແມ່ ນວິທໜ
ວາງແຜນວິທກ ີ ່ ງທີ
ຶ ່ Flowchart ​ຈະເປນ

ປະໂຫຍດໃນການຂຽນໂປແກມ. ຈາກ​ບນ ັ ​ຫ​າ ແລະ ການ​ນາ​ມາ​ຂຽນ Pseudo Code ແມ່ ນມີ​
ັ ້ ຕອນການວາງແຜນກ່ ອນທີ່ຈະລົງ​ມ​ຂຽນ
ັ ແລະ ແຕ່ ລະອັນຖກນາໃຊ້ແນວໃດໃນ​ຂນ​
ຄວາມ​ສ​າ​ຄນ
Code ຈິງ.

 ້
ັ ປະເພດຂອງການສະແດງແຜນວາດໂດຍໃຊ້ຮູບຮ່ າງ ແລະ ເສັນການ
Flowchart ເປນ ໄຫເພ່ ອ
້ ຍ​ສນ
ສະແດງໂປແກມຄອມພິວເຕີ, Algorithm ຫ Process ແລະ​ຈະ​ປະ​ກອບ​ດວ ັ ​ຍາ​ລກ
ັ ​
ຕ່ າງໆ ເພ່ ອ​ມາ​ປະ​ກອບ​ເປນ
ັ Flowchart.
Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY
3. ການເຮັ​ດວຽກຂອງ Pseudo Code ແລະ Flowchart
14

ຕົວ​ຢ່າງ 1: ຈົ່ງຂຽນໂປ​ແກມສາລັບການຄິດໄລ່ ເນອ​້ ທ່ ຂອງຮູ


ີ ້ ນຂ ້
​ບສາມຫ່ ຽມ ໂດຍໃຫ້ຜູໃ້ ຊ້ສາ​ມາດປອ
ມູນ (Input) ລວງສູງ ແລະ ລວງຍາວຖານຂອງໄດ້.
Algorithm Analysis:
Input: ລວງສຸ ງ (H), ລວງຍາວ (B)
Process: ຄາ​ນວນ Area=1/2*B*H
Output: ສະ​ແດງ​ຄ່າ​ເນອ​້ ທ່ ​ ີ ຂອງຮູ ​ບສາມຫ່ ຽມຢູ່ ​ໜາ້ ​ຈ

Pseudo Code:
BEGIN
1. numeric nH, nB, nArea
2. Accept nH, nB
3. Area=1/2*nB*nH
4. Display nArea
END
Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY
3. ການເຮັ​ດວຽກຂອງ Pseudo Code ແລະ Flowchart
15

ຕົວ​ຢ່າງ 2: ຈົ່ງຂຽນໂປ​ແກມເພ່ ອ​ຄາ​ນວນ​ຫາ​ຜນ


ົ ​ບ​ວກ​ຂອງ​ເລກ 5 ເຖິງ 20.
Algorithm Analysis:
Input: ບ່ ​ມ ີ
Process: ຊ​ອກ​ຜນົ ​ລວ​ມ​ເລກ 5  20
Output: ສະ​ແດງ​ຜນົ ​ລ​ວ​ມຢູ່​ໜາ້ ​ຈ

Pseudo Code:
BEGIN
1. numeric nSum, i
2. i = 5
3. nSum = 0
4. for i=5 to 20
5. Begin
6. nSum = nSum+i
7. END FOR
8. Display nSum
END

Algorithm and Data Structure (ADS) by: Dr. Kalaphath KOUNLAXAY


ັ 2: ຈົ່ງຂຽນ Pseudo Code ແລະ ແຕ້ມ Flowchart ຂອງບັນຫາລຸ່ ມນີ ້
ິ ​ຫ​ດ
ບົດເຝກ

1. ຈົ່ງ​ຂ​ຽນ Pseudu Code ແລ​ະ Flowchart ສ​າ​ລບ ັ Grade ທີ່​ມ​ເີ ງ່ ອນ​ໄຂ​ດ່ ງ​ັ ນ:ີ ້
ັ ​ໂປ​ແກມ​ຕດ
້ ໄປ ໄດ້ Grade: A
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 95 ຂຶນ​
້ ໄປ ໄດ້ Grade: B+
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 85 ຂຶນ​
້ ໄປ ໄດ້ Grade: B
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 75 ຂຶນ​
້ ໄປ ໄດ້ Grade: C+
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 65 ຂຶນ​
້ ໄປ ໄດ້ Grade: C
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 60 ຂຶນ​
້ ໄປ ໄດ້ Grade: D+
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 55 ຂຶນ​
້ ໄປ ໄດ້ Grade: D
 ຖ້າ​ຄະ​ແນນ​ຕງ​ັ ້ ແຕ່ 45 ຂຶນ​

້ ຍ​ກວ່ ​າ 45 ​ລງົ ​ມາ ໄດ້ Grade: F


 ຖ້າ​ຄະແນນ​ນອ

2. ຈົ່ງຂຽນ Pseudo Code ແລະ ໂປແກມເພ່ ອຄານວນຫາຜົນບວກລວມໃນການປອ ້


້ ນຕົວເລກຄັງລະ 1 ຕົວ
ເລກ ຈົນກວ່ າຈະປອ້ ນຄ່ າຕົວເລກ 0 ແລ້ວຈະຄານວນຜົນບວກດັ່ງກ່ າວອອກມາ (ຕົວເລກທີ່ປອ
້ ນລົງໄປນັນ້
ສາມາດປອ ້ ນໄດ້, ຍົກເວັນເລກ
້ ນຊາກັ ້ 0)
17

Thank you!

Q&A

You might also like