កុំព្យូទ័រ, ការសរសេរកម្មវិធី
ការសរសេរកម្មវិធី។ វដ្តជាមួយជម្រើសនេះ
កន្លែងពិសេសមួយនៅក្នុង Turbo លោក Pascal យកឡើងវដ្ត។ ពួកគេបានចាប់ផ្តើមដើម្បីសិក្សាភ្លាមបន្ទាប់ពីការបណ្តុះបណ្តាជំនាញការបញ្ចូលពទិន្នផលទៅនឹងអេក្រង់។ បន្ទាប់ពីបានទាំងអស់ភាគច្រើនបំផុតនៃភារកិច្ចនេះគឺដើម្បីធានាថាវដ្តមួយនឹងប៉ារ៉ាម៉ែត្រនិងសំណង់ផ្សេងទៀតដើម្បីជួយសម្រួលដល់ការសរសេរនិងការប្រតិបត្ដិការនៃប្លុកកម្មវិធីពិសេសនេះ។
វដ្តពូជ
ជាសរុបមានបីពូជគឺ:
- ជាមួយនឹងប៉ារ៉ាម៉ែត្រ
- ជាមួយនឹងបុរេលក្ខខណ្ឌមួយ,
- postcondition មួយ។
វដ្តជាមួយជម្រើសនេះសំដៅដល់ថាជាបើមិនដូច្នេះទេ ... ដើម្បី ... សម្រាប់ធ្វើឬសម្រាប់ ... downto .... ធ្វើបានម្តងហើយម្តងទៀតបានធ្វើឡើងវិញលំដាប់នៃសកម្មភាពមួយ។ ជាគោលការណ៍ពូជដទៃទៀតត្រូវបានប្រើសម្រាប់គោលបំណងដូចគ្នានេះដែរតែនៅក្នុងរង្វិលជុំសម្រាប់-ជាមុនត្រូវបានគេដឹងជំហានចំនួន។
នៅក្នុងរចនាសម្ព័ន្ធពីរផ្សេងទៀត (និងម្តងទៀតនៅខណៈពេល) អន្តរកម្មមិនស្គាល់ដំបូងនេះ។ ដូច្នេះពេលដែលកំពុងសិក្សាការងារដែលវាត្រូវបានយល់, ដែលវដ្តត្រូវបានប្រើ។
មូលដ្ឋាននិយមន័យដែលទាក់ទង
វដ្តដែលមានប៉ារ៉ាម៉ែត្រ - ការនិយាយឡើងវិញច្រំដែល។ ប្រឆាំង - សមាសភាគសំខាន់, ដែលត្រូវបានអនុវត្តដោយប្រើការរចនាបានកំណត់ទុកជាមុន។ ព្រំដែននៃគម្លាតនេះបានបង្ហាញទំហំដែលនឹងត្រូវបានអនុវត្តឬការនិយាយឡើងវិញនោះ។ ដោយវិធីនេះ, វាមិនមែនជាការចាំបាច់ដែលថាតម្លៃដំបូងគឺស្មើនឹង 1 អ្នកប្រើកំណត់ព្រំដែនរបស់ខ្លួនផ្ទាល់, គម្លាតទាំងពីរ។ រាងកាយរង្វិលជុំ - ពាក្យបញ្ជាដែលសំណុំនៃចំនួនបានកំណត់រួចទៅហើយជាមួយពាក្យផ្ទួន។
ពាក្យ«វដ្តដែលមានប៉ារ៉ាម៉ែត្រ "មានន័យថាជម្ងឺនេះត្រូវបានធីកនិងបន្ទាប់មកសំណុំនៃអន្តរកម្មនៅក្នុងការរចនានេះ។ ការប្រឆាំងនេះត្រូវបានបង្កើន (ឬ decremented), និងអ្វីគ្រប់យ៉ាងធ្វើឡើងវិញ។ រង្វិលជុំនេះនឹងរាងកាយត្រូវបានពាក់ព័ន្ធដរាបណាលក្ខខណ្ឌពិត។
សម្រាប់ ... ទៅ ... ធ្វើ: ក្បួនដោះស្រាយវាក្យសម្ព័ន្ធ
ដូចមានចែងរួចទៅហើយ, វដ្តមួយជាមួយនឹងប៉ារ៉ាម៉ែត្រនៅក្នុងកម្មវិធីត្រូវបានប្រើដែលបញ្ជាក់«គម្លាត "ដែលនៅក្នុងដើម្បីធ្វើការជាមួយ។ ដូច្នេះវាអាចជាអារេនៃចំនួនលេខ, ថ្ងៃនៃសប្តាហ៍នេះ, កំណាព្យនិងមឃជួរដេក។
2 ការរចនាសំណុំបែបបទដែលបានដាច់ស្រយាល: ការកើនឡើងនៃការប្រឆាំងនិងការធ្លាក់ចុះរបស់ខ្លួន។ ការរចនាដំបូងនឹងត្រូវបានចែងនៅក្នុងវិធីដូចខាងក្រោម:
សម្រាប់ iskh.peremennaya: = 1 ព្រំដែនទៅព្រំដែន 2 ធ្វើ
ចាប់ផ្តើម
រង្វិលជុំរាងកាយ;
បញ្ចប់;
នៅទីនេះ: ref ។ អថេរត្រូវបានប្រកាសដោយអ្នកប្រើនៅដើមនៃកម្មវិធីឬអង្គភាពនេះ; 1 ព្រំប្រទល់និងព្រំប្រទល់ 2 - តម្លៃដំបូងនិងចុងក្រោយសម្រាប់រយៈពេលនេះ; រង្វិលជុំក្នុងរាងកាយមួយចំនួនត្រូវបានចេញវេជ្ជបញ្ជានៃសកម្មភាពនឹងត្រូវបានអនុវត្តដោយកម្មវិធីនេះ។ វាត្រូវតែត្រូវបានចងចាំថាប្រសិនបើរាងកាយរង្វិលជុំមានក្រុមការងារតែមួយប៉ុណ្ណោះ, បន្ទាប់មកចាប់ផ្តើមប្រតិបត្តិករនេះតង្កៀបចុងអាចត្រូវបាន ... បានលុប។ នៅក្នុងការនិមិត្តនេះ, ការប្រឆាំង, ឈ្មោះ
សម្រាប់ 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 ច្រើនមួយ។
ក្បួនដោះស្រាយគឺ:
- បង្កើតអារេពីរវិមាត្រ។
- សូមពិនិត្យមើលលេខក្នុងការអនុលោមតាមលក្ខខណ្ឌដូចខាងក្រោម:
មួយ) ប្រសិនបើមាន 9 ខ) ជ្រើសចំនួនខ្ទង់ទីពីរដោយបែងចែកដោយ Mod; គ) ដើម្បីដាក់តួលេខដែលបានបម្រុងទុករបស់ពួកគេចុះ! ឃ) បែងចែកដោយចំនួនទឹកប្រាក់មួយដែលបានកំណត់ទុកជាមុន Mod 2; ង) ប្រសិនបើលទ្ធផលគឺស្មើនឹង 0, ការប្រឆាំងត្រូវបានបង្កើនដោយ 1 ។ ភារកិច្ច 2 ដែលបានផ្ដល់ឱ្យអារេមួយវិមាត្រនៃធាតុចំនួនគត់។ រកឃើញចំនួននៃលេខវិជ្ជមាននេះ។ ក្បួនដោះស្រាយគឺ: ទិន្នន័យក្នុងវង់ក្រចក {} មានយោបល់។ បន្ទាត់ 11 អាចបង្ហាញនៅលើអេក្រង់អារេមួយនៃវិធីពីរយ៉ាង: ការចាកចេញពីគម្លាតរវាងតួលេខនេះដើម្បីបម្រុងទុកទៅធាតុនីមួយនៃការមួយចំនួនជាក់លាក់នៃកោសិកា (ក្នុងករណីនេះ, របស់ពួកគេ 5) ។ នៅក្នុងបន្ទាត់ 12, ប្រឆាំងអថេរអាចត្រូវបានកើនឡើងនៅក្នុងវិធីពីរយ៉ាង: ទាំងទៅតម្លៃមុនដើម្បីបន្ថែម 1 ឬប្រើមុខងារស្ដង់ដារ Inc បាន ភារកិច្ច 3 មានតម្លៃម៉ាទ្រីសការ៉េ។ រកឃើញចំនួននៃធាតុវិជ្ជមានដែលមាននៅលើអង្កត់ទ្រូងមេ។ ពន្យល់: អារេនៃលេខចម្បងអង្កត់ទ្រូងពង្រីកពីកំពូលឆ្វេងទៅស្ដាំផ្នែកខាងក្រោម។ លក្ខណៈពិសេសរបស់វាគឺជាការពិតដែលថាជួរដេកនិងជួរឈរសន្ទស្សន៍គឺមានដូចគ្នានេះ។ ដូច្នេះមួយវដ្តរៀបចំឱ្យបានគ្រប់គ្រាន់ដើម្បីផ្លាស់ទីជួរដេកដោយគ្មានធាតុបំបែកនៅសល់។ ក្បួនដោះស្រាយគឺ: តាមក្បួនមួយដែលអ្នកសរសេរកម្មវិធីដោយខ្លួនឯងគោរពដឹងថាភាសាជាច្រើន។ ឧទាហរណ៍វាអាចជា 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 ក្នុងកូដសរសេរ។ ប្រឈមមុខដាក់គ្នារវាងភាសាសរសេរកម្មវិធីទាំងពីរនេះ: C និង Turbo លោក Pascal
Similar articles
Trending Now