ຄອມພິວເຕີ, ຊອຟແວ
Turbo Pascal. ໃນຂະນະທີ່ ... do - loop ມີເງື່ອນໄຂເບື້ອງຕົ້ນເປັນ
Turbo Pascal, ເຖິງແມ່ນວ່າບໍ່ແມ່ນຄໍາຮ້ອງສະຫມັກ favorite ຂອງໂລກສໍາລັບການດໍາເນີນໂຄງການ, ແຕ່ວ່າໄຟຟ້າ, ເຮັດໃຫ້ຂັ້ນຕອນທໍາອິດຂອງເຂົາເຈົ້າໃນລາຍລັກອັກສອນຂອງຊອຟແວໄດ້, ເລີ່ມຕົ້ນຮູ້ຈັກຂອງເຂົາເຈົ້າມີຂະຫນາດກາງນີ້. ມັນເຮັດໃຫ້ຄວາມຄິດຂອງເຄືອຂ່າຍຜູ້ປະກອບການ, ປະຕິບັດຫນ້າ, ແລະລະບຽບການ, ເຊັ່ນດຽວກັນກັບສິ່ງອື່ນໆຫຼາຍ. ສໍາລັບຕົວຢ່າງ, ໃນການສຶກສາໂຄງການຮອບວຽນໃບຫນ້າໃນ Turbo Pascal: ໃນຂະນະທີ່, ສໍາລັບການແລະເຮັດເລື້ມຄືນ.
ແນວຄວາມຄິດຂອງວົງຈອນແລະຕົວແປຂອງມັນ
A ວົງຈອນນັ້ນເປັນການປະຕິບັດຊ້ໍາ. ໃນສະພາບແວດລ້ອມດັ່ງກ່າວນີ້, ການນໍາໃຊ້:
- ມີພາລາມິເຕີ (ສໍາລັບ ... ກັບ ... do);
- ມີເງື່ອນໄຂເບື້ອງຕົ້ນ (ໃນຂະນະທີ່ ... do) ໄດ້;
- ເປັນ Postcondition (ຊ້ໍາ ... ຈົນກ່ວາ).
ປະເພດທໍາອິດໄດ້ຖືກນໍາໃຊ້ໃນເວລາທີ່ມັນແມ່ນເປັນທີ່ຮູ້ຈັກຂັ້ນຕອນວິທີການຈໍານວນຫຼາຍໃນການແກ້ໄຂບັນຫາໄດ້. ຢ່າງໃດກໍຕາມ, ມີຈໍານວນຂອງວຽກງານ, ບ່ອນທີ່ມີຂໍ້ມູນກ່ຽວກັບວິທີການຈໍານວນຫຼາຍເວລາທີ່ຈະໄດ້ຮັບການຊ້ໍາຫຼືການປະຕິບັດທີ່ບໍ່ມີ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ໃນຂະນະທີ່ Pascal ວົງຈອນຈະກາຍເປັນສິ່ງທີ່ຂາດບໍ່, ເຊັ່ນ:, ໃນຫຼັກການ, ແລະຊ້ໍາ.
ໂຄງປະກອບການຂອງວົງຈອນການ
ແມ່ນສິ່ງທີ່ສໍາຄັນຂອງການເຮັດວຽກໃນຂະນະທີ່ Pascal ໄດ້, ສໍາລັບແລະຊ້ໍາຮອບ? ໃນການກໍ່ສ້າງດັ່ງກ່າວຈັດສັນ header ແລະຮ່າງກາຍໄດ້. ອົງປະກອບທໍາອິດຂອງການປ່ຽນແປງທີ່ກໍານົດໄວ້ວ່າຈະ "ເຮັດວຽກ" ໄດ້ຖືກລະບຸໄວ້ໂດຍສະພາບກ່ຽວກັບການໄລຍະເວລາໃນການທີ່ຮ່າງກາຍຈະໄດ້ຮັບການປະຕິບັດໄດ້. ຢູ່ໃນເຂດພາກທີ່ສອງຂອງການສະແດງອອກຕາມທີ່ຈະນໍາໃຊ້ໃນກໍລະນີຂອງສະພາບການ, ເຊັ່ນ:. E. True ການໄດ້, ແທນທີ່ຈະເປັນທີ່ບໍ່ຖືກຕ້ອງໄດ້.
ໃນເວລາທີ່ iteration ແມ່ນປະຕິບັດກ່ຽວກັບບັນທັດສຸດທ້າຍຂອງລະຫັດ, ຫຼັງຈາກນັ້ນມັນຈະກັບຄືນມາ header ການ, ບ່ອນທີ່ສະພາບການແມ່ນການທົດສອບ. ຖ້າຫາກວ່າການດໍາເນີນງານຄວາມຈິງຊ້ໍາ, ແລະໃນກໍລະນີຂອງການລະເມີດຂອງໂຄງການ "ອອກຈາກ" ຈາກວົງຈອນຂອງທ່ານແລະດໍາເນີນການດໍາເນີນງານໃນຕໍ່ຫນ້າ.
ດັ່ງຕໍ່ໄປນີ້ລັກສະນະໃນຂະນະທີ່ວົງ. Pascal ABC ແລະບັນດາໂຄງການດັ່ງກ່າວຮຽກຮ້ອງໃຫ້ມີການຂຽນລະຫັດດັ່ງກ່າວ:
- ໃນຂະນະທີ່ສະພາບເຮັດ;
- ເລີ່ມຕົ້ນ;
- ໃນຮ່າງກາຍຂອງວົງ;
- ສຸດທ້າຍ.
ໃນກໍລະນີທີ່ວົງຈະໄດ້ຮັບການປະຕິບັດ 1 ປະຕິບັດການ (1 ການດໍາເນີນການ), ຫຼັງຈາກນັ້ນໄດ້ "ວົງເລັບ»ເລີ່ມຕົ້ນ ... ໃນຕອນທ້າຍສາມາດໄດ້ຮັບການຍົກເວັ້ນ.
ວົງຈອນ Flowchart
The Turbo Pascal ໃນຂະນະທີ່ຄຸນນະສົມບັດດັ່ງຕໍ່ໄປນີ້:
- ພາຍໃນໂຄງປະກອບການສາມາດມີຄວາມຫຍຸ້ງຍາກທີ່ຈະນໍາໃຊ້ເງື່ອນໄຂ;
- ຫຼັງຈາກຄໍາວ່າບໍ່ຄວນຈະຈຸລະພາກ (ມັນແມ່ນພິຈາລະນາຂໍ້ບົກພ່ອງໃນ Turbo Pascal ແລະ Pascal ABC);
- ຕົວປ່ຽນແປງ, ຄົງທີ່ຫຼືການສະແດງອອກທີ່ກາຍເປັນຕ່ອງໂສ້ໃນເວລາທີ່ຕອບອອກທີ່ບໍ່ຖືກຕ້ອງໃຫ້ເຂົາເຈົ້າຊັບຮູທີນຈໍາເປັນຕ້ອງເປັນປະເພດຢ່າງມີເຫດຜົນ, ເຊັ່ນ:. e. Boolean.
ມັນເປັນດັ່ງຕໍ່ໄປນີ້ແຜນວາດຕັນຂອງວົງຈອນຫຼາກຫຼາຍໄດ້. ມັນສະແດງໃຫ້ເຫັນລໍາດັບຂອງການປະຕິບັດການປະຕິບັດ.
ຂັ້ນຕອນວິທີຂອງວົງຈອນການ
.. ໃນສະພາບແວດລ້ອມດໍາເນີນໂຄງການທີ່ງ່າຍ, m ແລະ h ໃນ Pascal ABC, ໃນຂະນະທີ່ວົງເຮັດວຽກເທິງຫລັກດັ່ງຕໍ່ໄປນີ້:
- .. iteration ເນື່ອງ, ie, ການຄ້າງຫ້ອງ, ຈະໃຊ້ເວລາສະຖານທີ່ເປັນຈໍານວນຫຼາຍເວລາຕາບໃດທີ່ສະພາບແມ່ນຄວາມຈິງ (True);
- ໃນທັນທີທີ່ເປັນສະພາບທີ່ບໍ່ພໍໃຈແລະເຮັດໃຫ້ຄໍາຕອບທີ່ບໍ່ຖືກຕ້ອງ (ຫຼືຖ້າບໍ່ດັ່ງນັ້ນ "ບໍ່ຖືກຕ້ອງ"), ປະຕິບັດອອກຈາກ loop ໄດ້;
- ທັນທີທີ່ມັນໄດ້ເກີດຂຶ້ນ, ໂຄງການ "ໄດ້" ໃນການອອກແບບປາກົດຫຼັງຈາກທີ່ວົງຈອນ.
ນີ້ແມ່ນຄວາມແຕກຕ່າງກັນທີ່ສໍາຄັນຈາກໃນຂະນະທີ່ເຮັດເລື້ມຄືນ, t. E. A ທາງສ່ວນຫນ້າຂອງວົງຈອນຈາກ Postcondition ໄດ້.
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະປະກອບໃນການປ່ຽນແປງທີ່ຈໍາກັດວົງໃນຂະນະທີ່ຫົວໃຫ້ຕົວແປ. ໃນກໍລະນີໃດກໍ່ຕາມ, ຄວນຈະມາສະຖານະການທີ່ເຮັດໃຫ້ການທີ່ບໍ່ຖືກຕ້ອງໄດ້. ຖ້າບໍ່ດັ່ງນັ້ນຈະມີ loop ເປັນ, ແລະຫຼັງຈາກນັ້ນຈໍາເປັນຕ້ອງໃຊ້ມາດຕະການເພີ່ມເຕີມເພື່ອອອກຈາກ compiler ໄດ້. ຄວາມຜິດພາດດັ່ງກ່າວໄດ້ຖືກພິຈາລະນາເສຍມາລະຍາດແລະ inexcusable.
ວິທີການອອກຈາກໂຄງການໃນຂະນະທີ່ຂີ່ລົດຖີບ?
ປົກກະຕິແລ້ວສະຖານະການທີ່ເກີດຂຶ້ນໃນເວລາທີ່ປະຕິບັດການເຮັດໃຫ້ໃນຂະນະທີ່ Pascal ວົງໃນລະຫັດໂຄງການລາຍລັກອັກສອນ. ນີ້ຈະເປັນແນວໃດຫມາຍຄວາມວ່າ? ຊ້ໍາຊ້ໍາເປັນຈໍານວນ infinite ຂອງເວລາ, ເພາະວ່າສະພາບທີ່ເປັນຈິງສະເຫມີໄປ. ສໍາລັບຕົວຢ່າງ, ຊິ້ນລະຫັດນີ້:
- ໃນຂະນະທີ່ 2> 1 ເຮັດ;
- ຂຽນ (1).
ໃນກໍລະນີດັ່ງກ່າວນີ້, ເພື່ອຂັດຂວາງການປະຕິບັດວຽກງານດັ່ງກ່າວ, ພຽງແຕ່ກົດ CTRL + F2.
ມີ 2 ວິທີທີ່ຈະຄວບຄຸມການເຮັດວຽກຂອງໂຄງການດັ່ງກ່າວແມ່ນ. ສໍາລັບຕົວຢ່າງ, ຖ້າຫາກວ່າເປັນຂຽນສືບຕໍ່ການລະຫັດທີ່ຜ່ານການຄວບຄຸມການເລີ່ມຕົ້ນຂອງໂຄງປະກອບ cyclic ໄດ້ (ໃນບ່ອນນີ້ສະພາບການທ່ອງທ່ຽວວົງໄດ້ຖືກຕິດຕາມກວດກາ, ເຊັ່ນ:. ການປະຕິບັດ E ຂອງ iteration ໃນປະຈຸບັນໄດ້ຖືກລົບກວນ). ຫຼັງຈາກນັ້ນການຄວບຄຸມໄດ້ຖືກຍົກຍ້າຍໃນວົງໃນຂະນະທີ່ຢູ່ໃນການທົດສອບທີ່ຜ່ານມາ.
ປະຕິບັດການພັກຜ່ອນສາມາດຂັດຂວາງການດໍາເນີນການວົງຈອນທັງຫມົດແລະໂອນການຄວບຄຸມການ iteration ຕໍ່ໄປ. ທີ່ນີ້, ຜົນຜະລິດຂອງການກໍ່ສ້າງດັ່ງກ່າວຈະບໍ່ໄດ້ຮັບການຄວບຄຸມ. ຮູບພາບສະແດງໃຫ້ເຫັນຕົວຢ່າງຂອງການນໍາໃຊ້ຂອງບໍລິສັດເຫຼົ່ານີ້.
ປະສິ່ງທ້າທາຍທີ່
ພິຈາລະນາໃນຂະນະທີ່ຢູ່ໃນວົງຈອນປະຕິບັດງານ. Pascal ສະເຫນີໃຫ້ແກ້ໄຂບັນຫາທີ່ແຕກຕ່າງກັນ. ໃຫ້ພິຈາລະນາເປັນງ່າຍດາຍທີ່ຈະເຂົ້າໃຈປະຕິບັດງານໄດ້. ວຽກງານການແກ້ໄຂໃນໂຄງການ Pascal ABC. ແຕ່ຈະໄດ້ຮັບການນໍາສະເຫນີແລະຮູບພາບຂອງຄລາສສິກສະພາບແວດລ້ອມ Turbo Pascal ສໍາລັບການສົມທຽບ.
Task 1: ໃຫ້ການທໍາງານຂອງ Y = 5 -X ^ 2/2. ສ້າງຕາຕະລາງຂອງຄ່າໃນ increments sh = 05 ໃນໄລຍະໄລຍະຫ່າງ [-5, 5].
ຂັ້ນຕອນວິທີຄື:
- ກໍານົດເປັນ X ຕົວແປຄ່າເລີ່ມຕົ້ນເທົ່າກັບ 5 (ie ເລີ່ມຕົ້ນຂອງຊ່ອງຫວ່າງຂອງ .. ການ);
- ຄິດໄລ່ຄ່າ Y, ຂະນະທີ່ x ຕົວປ່ຽນແປງບໍ່ໄດ້ສາມາດບັນລຸໃນຕອນທ້າຍຂອງໄລຍະຫ່າງໄດ້ກ່າວວ່າ;
- ສະແດງຄ່າຂອງການທໍາງານແລະ abscissa (X) ໄດ້;
- ເພີ່ມຂຶ້ນ X ໂດຍຂັ້ນຕອນທີ່ກໍາຫນົດໄວ້.
ຕໍ່ໄປນີ້ແມ່ນລະຫັດໃນໂຄງ Pascal ABC ໄດ້.
ວິທີການລະຫັດໃນການ Turbo Pascal ໄດ້. ຮູບພາບຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນນີ້.
Task 2: ມອບໃຫ້ເປັນ array A ປະກອບດ້ວຍຕົວເລກໃນທາງບວກແລະທາງລົບທັງຫມົດ. ມັນປະກອບດ້ວຍ 10 ລາຍການ. ຄວາມຕ້ອງການທີ່ຈະປະກອບຕາຕະລາງທີ່ອົງປະກອບໃນທາງບວກຂອງ array A ກໍາລັງສະແດງມີດັດຊະນີເຖິງແມ່ນວ່າໄດ້. ສະແດງຜົນລວມຂອງມົນທົນໃນຈໍານວນຂອງມາຕຣິກເບື້ອງໃຫມ່.
ຂັ້ນຕອນວິທີຄື:
- ທ່ານຕ້ອງຂຽນເປັນປົກກະຕິທີ່ຈະ "ເຮັດວຽກ" ພຽງແຕ່ກັບອົງປະກອບຂອງ array A ທີ່ມີດັດຊະນີເຖິງແມ່ນວ່າໄດ້. ໃນ loop ໄດ້ຄ່າຕົວແປທີ່ສອດຄ້ອງກັນກັບຄວາມສະເຫມີຂອງດັດຊະນີດັ່ງກ່າວຈະໄດ້ຮັບການ incremented ໂດຍສອງ.
- ຖ້າຫາກວ່າຈໍານວນເປັນແມ້ກະທັ້ງດັດຊະນີຈາກມາຕຣິກເບື້ອງ A ກົງກັບເງື່ອນໄຂ x> 0, array ວຽກງານຕ້ານການແມ່ນ incremented by 1. ຄ່າໃນປະຈຸບັນຂອງຕົວປ່ຽນແປງວຽກງານຕ້ານການຈະດັດຊະນີຂອງຈໍານວນສໍາເນົາໃນ array B. ໄດ້
- ໃນເບື້ອງຕົ້ນ, summa ຕົວປ່ຽນແປງ, ແມ່ນຮັບຜິດຊອບສໍາລັບການຊອກຫາຜົນບວກຂອງຊ່ອງສີ່ຫລ່ຽມຂອງຈໍານວນເຕັມບວກໄດ້, ແມ່ນກໍານົດທີ່ 0 ຫຼັງຈາກນັ້ນ, ປະຕິບັດງານຈະໄດ້ຮັບການປະຕິບັດ: ການລວມທີ່ຜ່ານມາແມ່ນເພີ່ມມູນຄ່າໃຫມ່ຂອງຮູບສີ່ຫຼ່ຽມມົນ.
- ບໍ່ຕ້ອງຢ້ານ, ຖ້າບໍ່ຈໍານວນບວກທັງຫມົດຍ້າຍຈາກ array ຫນຶ່ງກັບຄົນອື່ນ. ທ່ານຈໍາເປັນຕ້ອງລະມັດລະວັງ. ໂຄງການຈົວຫຼາຍທີ່ຈະ rewrite ລະຫັດໃນ panic ໄດ້. ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະລະມັດລະວັງກວດກາສະພາບ: ຈໍານວນບວກທີ່ສຸດເຖິງແມ່ນວ່າ "ທ້ອງຖິ່ນ", ie, ມີດັດສະນີທີ່ທະວີຄູນຈາກທັງຫມົດ 2 ...
tracing ຄູ່ມືແມ່ນມີຄວາມຈໍາເປັນເພື່ອຮັບປະກັນວ່າການຄິດໄລ່ຂອງຄວາມສັດຊື່ຕໍ່ໄດ້. ບາງຄັ້ງ, ການນໍາໃຊ້ວິທີການນີ້ສາມາດລະບຸຄວາມຜິດພາດທີ່ບໍ່ຈັບຕາພາຍໃຕ້ການກວດກາປົກກະຕິຂອງລະຫັດລາຍລັກອັກສອນໄດ້.
ຖ້າຫາກວ່າພວກເຮົາປະຕິບັດການຄິດໄລ່ຄູ່ມື, ມັນເປັນໄປໄດ້ເພື່ອຮັບປະກັນວ່າໂຄງການນີ້ເຮັດວຽກຢ່າງຖືກຕ້ອງ. ດັ່ງກ່າວນີ້, ແລະເຮັດໃຫ້ການ, ກ່າວວ່າຂັ້ນຕອນວິທີການຜະລິດລະຫັດຖືກຕ້ອງ, ລໍາດັບຂອງການປະຕິບັດທີ່ນໍາໄປສູ່ການໃນຕອນທ້າຍຢ່າງມີເຫດຜົນ.
Similar articles
Trending Now