ຄອມພິວເຕີຊອຟແວ

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

 

 

 

 

Newest

Copyright © 2018 lo.delachieve.com. Theme powered by WordPress.