កុំព្យូទ័រការសរសេរកម្មវិធី

ការសរសេរកម្មវិធី។ វដ្តជាមួយជម្រើសនេះ

កន្លែងពិសេសមួយនៅក្នុង Turbo លោក Pascal យកឡើងវដ្ត។ ពួកគេបានចាប់ផ្តើមដើម្បីសិក្សាភ្លាមបន្ទាប់ពីការបណ្តុះបណ្តាជំនាញការបញ្ចូលពទិន្នផលទៅនឹងអេក្រង់។ បន្ទាប់ពីបានទាំងអស់ភាគច្រើនបំផុតនៃភារកិច្ចនេះគឺដើម្បីធានាថាវដ្តមួយនឹងប៉ារ៉ាម៉ែត្រនិងសំណង់ផ្សេងទៀតដើម្បីជួយសម្រួលដល់ការសរសេរនិងការប្រតិបត្ដិការនៃប្លុកកម្មវិធីពិសេសនេះ។

វដ្តពូជ

ជាសរុបមានបីពូជគឺ:

  • ជាមួយនឹងប៉ារ៉ាម៉ែត្រ
  • ជាមួយនឹងបុរេលក្ខខណ្ឌមួយ,
  • postcondition មួយ។

វដ្តជាមួយជម្រើសនេះសំដៅដល់ថាជាបើមិនដូច្នេះទេ ... ដើម្បី ... សម្រាប់ធ្វើឬសម្រាប់ ... downto .... ធ្វើបានម្តងហើយម្តងទៀតបានធ្វើឡើងវិញលំដាប់នៃសកម្មភាពមួយ។ ជាគោលការណ៍ពូជដទៃទៀតត្រូវបានប្រើសម្រាប់គោលបំណងដូចគ្នានេះដែរតែនៅក្នុងរង្វិលជុំសម្រាប់-ជាមុនត្រូវបានគេដឹងជំហានចំនួន។

នៅក្នុងរចនាសម្ព័ន្ធពីរផ្សេងទៀត (និងម្តងទៀតនៅខណៈពេល) អន្តរកម្មមិនស្គាល់ដំបូងនេះ។ ដូច្នេះពេលដែលកំពុងសិក្សាការងារដែលវាត្រូវបានយល់, ដែលវដ្តត្រូវបានប្រើ។

មូលដ្ឋាននិយមន័យដែលទាក់ទង

វដ្តដែលមានប៉ារ៉ាម៉ែត្រ - ការនិយាយឡើងវិញច្រំដែល។ ប្រឆាំង - សមាសភាគសំខាន់, ដែលត្រូវបានអនុវត្តដោយប្រើការរចនាបានកំណត់ទុកជាមុន។ ព្រំដែននៃគម្លាតនេះបានបង្ហាញទំហំដែលនឹងត្រូវបានអនុវត្តឬការនិយាយឡើងវិញនោះ។ ដោយវិធីនេះ, វាមិនមែនជាការចាំបាច់ដែលថាតម្លៃដំបូងគឺស្មើនឹង 1 អ្នកប្រើកំណត់ព្រំដែនរបស់ខ្លួនផ្ទាល់, គម្លាតទាំងពីរ។ រាងកាយរង្វិលជុំ - ពាក្យបញ្ជាដែលសំណុំនៃចំនួនបានកំណត់រួចទៅហើយជាមួយពាក្យផ្ទួន។

ពាក្យ«វដ្តដែលមានប៉ារ៉ាម៉ែត្រ "មានន័យថាជម្ងឺនេះត្រូវបានធីកនិងបន្ទាប់មកសំណុំនៃអន្តរកម្មនៅក្នុងការរចនានេះ។ ការប្រឆាំងនេះត្រូវបានបង្កើន (ឬ decremented), និងអ្វីគ្រប់យ៉ាងធ្វើឡើងវិញ។ រង្វិលជុំនេះនឹងរាងកាយត្រូវបានពាក់ព័ន្ធដរាបណាលក្ខខណ្ឌពិត។

សម្រាប់ ... ទៅ ... ធ្វើ: ក្បួនដោះស្រាយវាក្យសម្ព័ន្ធ

ដូចមានចែងរួចទៅហើយ, វដ្តមួយជាមួយនឹងប៉ារ៉ាម៉ែត្រនៅក្នុងកម្មវិធីត្រូវបានប្រើដែលបញ្ជាក់«គម្លាត "ដែលនៅក្នុងដើម្បីធ្វើការជាមួយ។ ដូច្នេះវាអាចជាអារេនៃចំនួនលេខ, ថ្ងៃនៃសប្តាហ៍នេះ, កំណាព្យនិងមឃជួរដេក។

2 ការរចនាសំណុំបែបបទដែលបានដាច់ស្រយាល: ការកើនឡើងនៃការប្រឆាំងនិងការធ្លាក់ចុះរបស់ខ្លួន។ ការរចនាដំបូងនឹងត្រូវបានចែងនៅក្នុងវិធីដូចខាងក្រោម:

សម្រាប់ iskh.peremennaya: = 1 ព្រំដែនទៅព្រំដែន 2 ធ្វើ

ចាប់ផ្តើម

រង្វិលជុំរាងកាយ;

បញ្ចប់;

នៅទីនេះ: ref ។ អថេរត្រូវបានប្រកាសដោយអ្នកប្រើនៅដើមនៃកម្មវិធីឬអង្គភាពនេះ; 1 ព្រំប្រទល់និងព្រំប្រទល់ 2 - តម្លៃដំបូងនិងចុងក្រោយសម្រាប់រយៈពេលនេះ; រង្វិលជុំក្នុងរាងកាយមួយចំនួនត្រូវបានចេញវេជ្ជបញ្ជានៃសកម្មភាពនឹងត្រូវបានអនុវត្តដោយកម្មវិធីនេះ។ វាត្រូវតែត្រូវបានចងចាំថាប្រសិនបើរាងកាយរង្វិលជុំមានក្រុមការងារតែមួយប៉ុណ្ណោះ, បន្ទាប់មកចាប់ផ្តើមប្រតិបត្តិករនេះតង្កៀបចុងអាចត្រូវបាន ... បានលុប។ នៅក្នុងការនិមិត្តនេះ, ការប្រឆាំង, ឈ្មោះ នឹងកើនឡើងនៅក្នុងការបង្កើននៃការ 1 ។

សម្រាប់ iskh.peremennaya = 1 downto ព្រំដែនព្រំដែន 2 ធ្វើ

ចាប់ផ្តើម

រង្វិលជុំរាងកាយ;

បញ្ចប់;

នៅទីនេះ ref ។ អថេរនេះនឹងថយចុះនៅក្នុងការបង្កើននៃការ 1 ។

គ្រោងការណ៍នៃប៉ារ៉ាម៉ែត្រវដ្តសម្រាប់ ... ដើម្បី ... ធ្វើនឹងមានដូចខាងក្រោម:

  • វាកំណត់តម្លៃដែនកំណត់ខាងលើនៃចន្លោះនេះមិន។ E. 2 ព្រំដែន។
  • Iskh.peremennoy បានផ្ដល់ដែនកំណត់តម្លៃ 1 ។
  • ការធ្វើតេស្តលក្ខខណ្ឌឆ្លងកាត់: iskh.peremennaya ≤ 2 ព្រំដែន។
  • នៅពេលដែលទទួលលទ្ធផលពិត (TRUE) រង្វិលជុំត្រូវបានប្រតិបត្តិរាងកាយ។
  • ប្រឆាំងត្រូវបានបង្កើនដោយជំហានស្មើទៅនឹង 1 ។
  • , 3-5 នឹងធាតុរហូតដល់ពេលយ៉ាងរលូនដូចជាលក្ខខណ្ឌពិត: iskh.peremennaya> 2 ព្រំដែន។ នៅពេលនេះបានកើតឡើង, រង្វិលជុំត្រូវបានចេញនិងការត្រួតពិនិត្យការណែនាំដូចខាងក្រោមដើម្បីឆ្លងកាត់ការរចនាដែលបានផ្ដល់ឱ្យនេះ។

នេះ downto សម្រាប់ ... ... ធ្វើក្បួនដោះស្រាយនេះគឺស្រដៀងគ្នាទៅខាងលើ, លើកលែងតែបានពិន្ទុមួយចំនួន:

  • នៅក្នុងជំហានទី 3 នេះត្រូវបានសាកល្បងលក្ខខណ្ឌ: ព្រំដែន iskh.peremennaya ≥ 2 ។
  • ការប្រឆាំងក្បួនដោះស្រាយបន្ទាត់ទី 5 ត្រូវបាន decremented 1 ។
  • ក្នុងកថាខណ្ឌទី 6 3-5 ក្រុមនឹងត្រូវបានប្រតិបត្តិដែលវែងដូចដែលជម្ងឺនេះគឺពេញចិត្ត: iskh.peremennaya <ព្រំដែន 2 ។

អ្វីផ្សេងទៀតគឺស្រដៀងគ្នាទាំងនៅក្នុងការងារក្បួនដោះស្រាយ។

ប៉ារ៉ាម៉ែត្រវដ្តគំនូសតាងលំហូរ

វដ្តមួយនឹងប៉ារ៉ាម៉ែត្រមានគំនូសតាងលំហូរសំណុំបែបបទនេះ (ទោះបីជាវាត្រូវបានបង្ហាញខាងលើរួចហើយ) ។ ខាងក្រោមនេះគឺជារចនាសម្ព័ន្ធអង្គការមួយសាមញ្ញ។

តម្រូវការជាមូលដ្ឋានដើម្បីប៉ារ៉ាម៉ែត្រនៃវដ្តនេះ

វដ្តដែលមានប៉ារ៉ាម៉ែត្រដែលបានទាមទារឱ្យមានប្រភេទមួយចំនួននៃបរិស្ថាន។

  • ការប្រឆាំងនិងចន្លោះព្រំដែន (អាវ។ អ៊ី Iskh.peremennaya ព្រំដែន 1 និងព្រំប្រទល់ 2) ត្រូវតែជារបស់ប្រភេទទិន្នន័យដូចគ្នា។ ប្រសិនបើមានភាពឆបគ្នាតែមួយរវាងតម្លៃដំបូងនិងចុងក្រោយនៃចម្រៀកនិងអថេរសេចក្តីយោងកម្មវិធីនេះអាចនឹងឥរិយាបទមិនត្រឹមត្រូវទេព្រោះព្រំដែននេះនឹងត្រូវបានផ្លាស់ប្តូរដោយប្រភេទទិន្នន័យប៉ារ៉ាម៉ែត្រដំបូង។
  • ប្រភេទនៃទិន្នន័យដែលគួរតែជារបស់តម្លៃប៉ារ៉ាម៉ែត្រត្រូវតែជាចំនួនគត់។ វាមិនត្រូវបានផ្ដល់អនុសាសន៍ឱ្យប្រើប្រភេទពិតប្រាកដ។
  • ការផ្លាស់ប្តូរតម្លៃនៅក្នុងរង្វិលជុំ iskh.peremennaya កម្លាំងនោះគឺមិនចង់បាន។ បើមិនដូច្នេះទេអ្នកប្រើស្ទើរតែមិនអាចរក្សាដាននៃកំហុសដែលអាចធ្វើទៅបានបង្ហាញខ្លួន។
  • មិនដូចប្រភេទដទៃទៀតនៃវដ្ត, នៅចំពោះ ... ដើម្បី ... ធ្វើឬ សម្រាប់ ... downto ... តើជំហានមិនអាចត្រូវបានផ្លាស់ប្តូរ ការកំណត់ផ្សេងទៀតជាង 1 ។

ប្រើ Turbo លោក Pascal: របៀបដើម្បីទទួលបានចេញពីរង្វិលជុំ

ជាញឹកញាប់មានបញ្ហាក្នុងការដែលមានរង្វិលជុំមួយ, ឧ។ អ៊ីលក្ខខណ្ឌតែងតែពិត។ នីតិវិធីការសម្រាកជួយដើម្បីទទួលបានការចេញពីវដ្តជាមួយបុរេលក្ខខណ្ឌ, postcondition, ប៉ារ៉ាម៉ែត្រ។ អ៊ីការងាររបស់ពួកគេត្រូវបានបញ្ចប់មុនពេល។

ប៉ារ៉ាម៉ែត្រនៅក្នុងវដ្តជាមួយលោក Pascal (ការសរសេរកម្មវិធីដែលមានជាប់ពាក់ព័ន្ធនឹងលក្ខខណ្ឌការពិត "អស់កល្បជានិច្ច") អាចត្រូវបានបញ្ឈប់ដោយការប្រើបន្ត។ នៅទីនេះការងារនេះត្រូវបានរៀបចំដូចខាងក្រោម: ការនិយាយឡើងវិញបច្ចុប្បន្ននៃប្រតិបត្តិការរបស់ខ្លួននៅដើមបញ្ចប់, ការត្រួតពិនិត្យត្រូវបានបញ្ជូនទៅក្រុមបន្ទាប់ប៉ុន្តែមិនមែនចេញពីរង្វិលជុំ។

នីតិវិធីការចាកចេញគឺជាការចាំបាច់ដើម្បីបំពេញការងាររបស់ប្លុកជាក់លាក់មួយនៅក្នុងកូដកម្មវិធី។ វាត្រូវបានបណ្តាលនៅក្នុងនីតិវិធី (អនុគមន៍) និងនៅពេលជាមួយគ្នានេះដែរការសម្តែងនេះ "ដុំ" នេះត្រូវបានបញ្ចប់ភ្លាម។ ប្រសិនបើមានចេញមានទីតាំងស្ថិតនៅក្នុងឯកតាមេ, បន្ទាប់មកវាក្រវាត់ចោល។

នីតិវិធីបញ្ឈប់កាត់បន្ថយគោលការណ៍ប្រតិបត្តិការដូចខាងក្រោម: កម្មវិធីការងារពេញលេញត្រូវបានបញ្ចប់។

ឧទាហរណ៍នៃភារកិច្ចនឹងសេចក្តីសម្រេច

អ្នកប្រើនឹងមានប្រយោជន៍បន្ទាប់ពីការសិក្សាប្រធានបទ«វដ្តនៃការជាមួយនឹងប៉ារ៉ាម៉ែត្រក្នុងឧទាហរណ៍ Pascal 'ជាលើកដំបូងបន្ទាប់មកបានអនុវត្តការរៀននិងការសរសេរកូដដោយខ្លួនឯង។ ភារកិច្ចសាមញ្ញជួយដល់អ្នកសរសេរកម្មវិធីនាពេលអនាគតក្នុងការរៀនទ្រឹស្តីទៅអនុវត្តនិងបន្ទាប់មកអនុវត្តវាបានដោយជោគជ័យ។ នៅលើ "វដ្តជាមួយជម្រើសជា«គំរូនៃបញ្ហានឹងសេចក្តីសម្រេចនេះ, អ្នកអាចរកឃើញភាពងាយស្រួលនិងការលំបាក។ នេះគឺជាភារកិច្ច 3 ដែលបានដោះស្រាយជាមួយការងារនិងវិធីដោះស្រាយគឺត្រូវបានពន្យល់និងមតិយោបល់ទៅគ្រប់ការសម្រេចចិត្ត។

គោលបំណងទី 1

ដែលបានផ្ដល់ឱ្យអារេពីរវិមាត្រនៃចំនួនគត់នៅក្នុងជួរ [0..199] បានជ្រើសរើសដោយចៃដន្យ។ រកចំនួននៃលេខពីរខ្ទង់ទាំងអស់ដែលមានតួរលេខនេះគឺជាការបូកនៃ 2 ច្រើនមួយ។

ក្បួនដោះស្រាយគឺ:

  1. បង្កើតអារេពីរវិមាត្រ។
  2. សូមពិនិត្យមើលលេខក្នុងការអនុលោមតាមលក្ខខណ្ឌដូចខាងក្រោម:

មួយ) ប្រសិនបើមាន 9

ខ) ជ្រើសចំនួនខ្ទង់ទីពីរដោយបែងចែកដោយ Mod;

គ) ដើម្បីដាក់តួលេខដែលបានបម្រុងទុករបស់ពួកគេចុះ!

ឃ) បែងចែកដោយចំនួនទឹកប្រាក់មួយដែលបានកំណត់ទុកជាមុន Mod 2;

ង) ប្រសិនបើលទ្ធផលគឺស្មើនឹង 0, ការប្រឆាំងត្រូវបានបង្កើនដោយ 1 ។

ភារកិច្ច 2

ដែលបានផ្ដល់ឱ្យអារេមួយវិមាត្រនៃធាតុចំនួនគត់។ រកឃើញចំនួននៃលេខវិជ្ជមាននេះ។

ក្បួនដោះស្រាយគឺ:

  1. បង្កើតអារេនៃធាតុសំខាន់បង្កើតឡើងដោយចៃដន្យមួយ។
  2. ប៉ារ៉ាម៉ែត្រវដ្តដើម្បីដាក់ សេចក្តីថ្លែងការណ៍លក្ខខណ្ឌ ប្រសិនបើដែលនឹងពិនិត្យមើលធាតុដែលបានផ្ដល់ឱ្យដើម្បីបំពេញតាមលក្ខខណ្ឌ X> 0 ។
  3. ប្រសិនបើលក្ខខណ្ឌត្រូវបានពេញចិត្ត, ការប្រឆាំងត្រូវបានបង្កើនដោយ 1 ។
  4. បន្ទាប់ពីវដ្តនេះបង្ហាញតម្លៃរាប់គួរលទ្ធផល។

ទិន្នន័យក្នុងវង់ក្រចក {} មានយោបល់។ បន្ទាត់ 11 អាចបង្ហាញនៅលើអេក្រង់អារេមួយនៃវិធីពីរយ៉ាង: ការចាកចេញពីគម្លាតរវាងតួលេខនេះដើម្បីបម្រុងទុកទៅធាតុនីមួយនៃការមួយចំនួនជាក់លាក់នៃកោសិកា (ក្នុងករណីនេះ, របស់ពួកគេ 5) ។

នៅក្នុងបន្ទាត់ 12, ប្រឆាំងអថេរអាចត្រូវបានកើនឡើងនៅក្នុងវិធីពីរយ៉ាង: ទាំងទៅតម្លៃមុនដើម្បីបន្ថែម 1 ឬប្រើមុខងារស្ដង់ដារ Inc បាន

ភារកិច្ច 3

មានតម្លៃម៉ាទ្រីសការ៉េ។ រកឃើញចំនួននៃធាតុវិជ្ជមានដែលមាននៅលើអង្កត់ទ្រូងមេ។

ពន្យល់:

អារេនៃលេខចម្បងអង្កត់ទ្រូងពង្រីកពីកំពូលឆ្វេងទៅស្ដាំផ្នែកខាងក្រោម។ លក្ខណៈពិសេសរបស់វាគឺជាការពិតដែលថាជួរដេកនិងជួរឈរសន្ទស្សន៍គឺមានដូចគ្នានេះ។ ដូច្នេះមួយវដ្តរៀបចំឱ្យបានគ្រប់គ្រាន់ដើម្បីផ្លាស់ទីជួរដេកដោយគ្មានធាតុបំបែកនៅសល់។

ក្បួនដោះស្រាយគឺ:

  1. បង្កើតម៉ាទ្រីសការ៉េ។
  2. ចាត់តាំងអថេរទទួលខុសត្រូវចំពោះចំនួននៃធាតុវិជ្ជមានតម្លៃ "0" ។
  3. បង្កើតវដ្តដើម្បីបង្កើតម៉ាទ្រីសការ៉េ។
  4. រៀបចំលក្ខខណ្ឌវដ្តផ្ទៀងផ្ទាត់: ប្រសិនបើចំនួននេះគឺនៅលើអង្កត់ទ្រូងសំខាន់> 0, នោះការប្រឆាំងត្រូវបានបង្កើនដោយ 1 ។
  5. បន្ទាប់ពីការផុតកំណត់នៃវដ្តនៅលើអេក្រង់ដើម្បីបង្ហាញតម្លៃនៃអថេរដែលផ្ទុកចំនួននៃធាតុវិជ្ជមាននេះ។

ប្រឈមមុខដាក់គ្នារវាងភាសាសរសេរកម្មវិធីទាំងពីរនេះ: C និង Turbo លោក Pascal

តាមក្បួនមួយដែលអ្នកសរសេរកម្មវិធីដោយខ្លួនឯងគោរពដឹងថាភាសាជាច្រើន។ ឧទាហរណ៍វាអាចជា C ++ ប្រើ Turbo លោក Pascal, Delphi, Java ហើយដូច្នេះនៅលើ។ ប្រឈមមុខដាក់គ្នាឃរវាងពួកគាត់ទាំងពីរនាក់ត្រូវបានប្រកាសនៅក្នុងក្ដី 80-។ (C និង Turbo លោក Pascal) ។ នៅចុងបញ្ចប់នៃសតវត្សទី twentieth នេះ, ដូចជាការប្រយុទ្ធនេះត្រូវបានគេសង្កេតឃើញរវាង C ++ និងកោះជ្វា។

Algol 60 និង Fortran, លោក Pascal, C, C ++ បាន Java និង: នៅក្នុងចន្លោះនិម្មិតនៃភាសាសរសេរកម្មវិធីរាប់សិបនាក់ទាំងបីមានបីគូភាពទាក់ទាញបំផុតដែលគណបក្សប្រឆាំងទៅបុកគំនិតធំបំផុតនៃតមាន។ ជាការពិតណាស់, អារម្មណ៍ទាំងនេះគឺជាប្រធានបទនោះទេប៉ុន្តែនៅមួយម៉ោងឬមួយផ្សេងទៀតនៃគូដែលជាមេដឹកនាំ។ នេះគឺដោយសារតែទៅនឹងតម្រូវការឧស្សាហកម្មនិងតម្រូវការសម្រាប់ផលិតផលកម្មវិធីពិសេសនេះ។ នៅក្នុងក្ដី-70 ។ «ពិភពលោកគ្រប់គ្រង "Fortran, ក្នុង 80 - Turbo លោក Pascal, ក្នុង 90 - C ++ ។ ជាការពិតណាស់គ្មាននរណាម្នាក់ក្នុងចំណោមពួកគេ "ស្លាប់" ។ ផ្ទុយទៅវិញពួកគេត្រូវបានប្លែងទៅជាផលិតផលផ្នែកទន់ស្មុគ្រស្មាញ។

នៅក្នុងការសិក្សាភាសាសរសេរកម្មវិធីដែលអ្នកអាចសង្កេតឃើញថាស្បែកមួយចំនួនវាក្យសម្ព័ន្ធស្រដៀងគ្នា។ ដូច្នេះវដ្តមួយនឹងប៉ារ៉ាម៉ែត្រក្នុង C គឺស្រដៀងគ្នាទៅរចនាសម្ព័ន្ធស្រដៀងគ្នានៅក្នុងលោក Pascal, លើកលែងតែសម្រាប់ពេលខ្លះ។

គួរឱ្យចាប់អារម្មណ៍, អ្នកអភិវឌ្ឍន៍របស់ Turbo លោក Pascal (ពិភពលោក) បានទទួលប្រយោជន៍ពីការអភិវឌ្ឍរបស់អាមេរិចអ្នកវិទ្យាសាស្ដ្រខណៈពេលដែលនៅក្នុងពិភពលោកថ្មីត្រូវបានប្រើលទ្ធផលនៃកិច្ចខិតខំប្រឹងប្រែងស្រាវជ្រាវយ៉ាងសកម្មនៅអឺរ៉ុប។ នៅក្នុងទ្វីបអឺរ៉ុបអភិវឌ្ឍន៍បានគាំទ្រកម្រិតខ្ពស់នៃភាពបរិសុទ្ធនិងបង្រួមនៃភាសាសរសេរកម្មវិធី, និងអាមេរិចត្រូវបាន inclined គំនិតជាច្រើនទៀតឆ្ពោះទៅរកការប្រើប្រាស់នៃនិន្នាការថ្មី fangled ក្នុងកូដសរសេរ។

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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