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

ការស្វែងរកគោលពីរគឺជាវិធីមួយដែលងាយស្រួលបំផុតដើម្បីស្វែងរកធាតុនៅក្នុងអារេមួយ

ជារឿយៗអ្នកសរសេរកម្មវិធីសូម្បីតែអ្នកចាប់ផ្តើមដំបូងក៏ប្រឈមមុខនឹងការពិតដែលមានសំណុំលេខដែលវាចាំបាច់ដើម្បីរកលេខជាក់លាក់។ ការប្រមូលផ្ដុំនេះត្រូវបានហៅថាអារេ។ ហើយដើម្បីរកធាតុត្រឹមត្រូវនៅក្នុងវាមានវិធីជាច្រើន។ ប៉ុន្តែសាមញ្ញបំផុតក្នុងចំណោមពួកគេគឺការស្វែងរកប្រព័ន្ធគោលពីរ។ តើអ្វីជាវិធីសាស្រ្ត? និងវិធីអនុវត្តការស្វែងរកប្រព័ន្ធគោលពីរ? Pascal គឺជាបរិយាកាសដ៏សាមញ្ញសម្រាប់ការរៀបចំកម្មវិធីបែបនេះដូច្នេះយើងនឹងប្រើវាសម្រាប់ការសិក្សា។

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

ដូច្នេះអ្វីដែលជាគោលការណ៍នៃវិធីសាស្រ្តនេះ? ភ្លាមៗវាមានប្រយោជន៍ណាស់ក្នុងការនិយាយថាការស្វែងរកប្រព័ន្ធគោលពីរធ្វើការក្នុងអារេណាមួយប៉ុន្តែមានតែនៅក្នុងសំណុំលេខប៉ុណ្ណោះ។ នៅជំហ៊ានបន្ទាប់នីមួយៗធាតុជាមធ្យមរបស់អារ៉េត្រូវបានយក (សំដៅទៅលើលេខធាតុ) ។ ប្រសិនបើ លេខ ដែលអ្នកចង់បាន ខ្ពស់ជាង មធ្យមនោះអ្វីៗដែលនៅខាងឆ្វេងគឺតិចជាងធាតុមធ្យមអាចត្រូវបានបោះបង់ចោលនិងមិនត្រូវបានស្វែងរកនៅទីនោះ។ ផ្ទុយទៅវិញប្រសិនបើតិចជាងមធ្យមក្នុងចំណោមលេខនៅខាងស្តាំអ្នកមិនអាចស្វែងរកវាបានទេ។ បន្ទាប់មកយើងនឹងជ្រើសរើសតំបន់ស្វែងរកថ្មីមួយដែលធាតុកណ្តាលនៃអារ៉េទាំងមូលនឹងជាធាតុដំបូងហើយចុងក្រោយនឹងនៅតែជាធាតុចុងក្រោយ។ ចំនួនមធ្យមនៃផ្ទៃថ្មីនឹងជា¼នៃចម្រៀកទាំងមូលដែលជា (ធាតុចុងក្រោយ + ធាតុជាមធ្យមនៃអារេទាំងមូល) / 2 ។ ជាថ្មីម្តងទៀតប្រតិបត្តិការដូចគ្នាត្រូវបានអនុវត្ត - ប្រៀបធៀបជាមួយចំនួនមធ្យមនៃអារេ។ ប្រសិនបើតម្លៃដែលចង់បានតិចជាងមធ្យមសូមបោះបង់ផ្នែកខាងស្តាំហើយធ្វើដូចគ្នានេះដែររហូតដល់រកធាតុកណ្តាលនេះ។

ជាការពិតណាស់វិធីល្អបំផុតដើម្បីមើលឧទាហរណ៍គឺរបៀបក្នុងការសរសេរការស្វែងរកប្រព័ន្ធគោលពីរ។ Pascal នៅទីនេះគឺសមរម្យសម្រាប់នរណាម្នាក់ - កំណែគឺមិនសំខាន់។ តោះសរសេរកម្មវិធីសាមញ្ញ។

វានឹងមានអារ៉េចាប់ពី 1 ដល់ h ដែលមានឈ្មោះថា "massiv" ដែលជាអថេរដែលបង្ហាញពីព្រំដែនស្វែងរកទាបមួយដែលគេហៅថា "នីហ្សេ" ដែលជាខាខាងលើដែលមានឈ្មោះថា "verh" ធាតុស្វែងរកកណ្តាលគឺ "sredn" ។ ហើយលេខដែលត្រូវការគឺ "អាត់" ។

ដូច្នេះដំបូងកំណត់ព្រំដែនខាងលើនិងខាងក្រោមនៃចន្លោះស្វែងរក:

Niz: = 1;
វ៉រៈ = h + 1;

បន្ទាប់មកយើងរៀបចំវដ្ត "ខណៈពេលដែលបាតមានតិចជាងដែនកំណត់ខាងលើ":

ខណៈពេលដែល niz ចាប់ផ្តើម

នៅជំហាននីមួយៗសូមបែងចែកចម្រៀកដោយ 2:

Sredn: = (niz + verh) div 2; {ប្រើអនុគមន៍ div ពីព្រោះយើងបូកសរុប}

រាល់ពេលដែលយើងពិនិត្យមើល។ ប្រសិនបើមធ្យមស្មើនឹងចំនួនដែលចង់បានយើងផ្អាកវដ្តព្រោះធាតុដែលចង់បានត្រូវបានរកឃើញរួចហើយ:

Іf sredn = isk បន្ទាប់មកបំបែក

ប្រសិនបើធាតុកណ្តាលនៃអារេធំជាងទំហំដែលយើងកំពុងស្វែងរកយើងបោះបង់ផ្នែកខាងឆ្វេងនោះមានន័យថាយើងផ្តល់ធាតុកណ្តាលទៅព្រំដែនខាងលើ:

ប្រសិនបើ massiv [sredn]> isk បន្ទាប់មក verh: = sredn;

ហើយប្រសិនបើនៅលើផ្ទុយមកវិញ, បន្ទាប់មកយើងធ្វើឱ្យវាដែនកំណត់ទាបជាងនេះ:

លេខផ្សេង: = sredn;
បញ្ចប់;

នោះហើយជាអ្វីដែលនឹងមាននៅក្នុងកម្មវិធី។

ចូរវិភាគវិធីវិធីសាស្ត្រប្រព័ន្ធគោលពីរនឹងមើលទៅក្នុងការអនុវត្ត។ យកអារេដូច 1, 3, 5, 7, 10, 12, 18 និងរកលេខ 12 នៅក្នុងវា។

សរុបមកយើងមាន 7 ធាតុដូច្នេះមធ្យមនឹងជាទីបួនជាតម្លៃ 7 ។

1 3 5 ទី 7 10 12 ថ្ងៃទី 18

ដោយសារ 12 ធំជាង 7 ធាតុ 1,3 និង 5 អាចត្រូវបានគេបោះបង់ចោល។ បន្ទាប់មកយើងមានលេខ 4 ដែលនៅសល់ 4/2 ដោយគ្មានសល់ 2 ។ ដូច្នេះធាតុកណ្តាលថ្មីនឹង 10 ។

ទី 7 10 12 ថ្ងៃទី 18

ដោយសារតែ 12 មានច្រើនជាង 10 យើងបោះបង់ចោល 7 ។ មានតែ 10, 12 និង 18 ត្រូវបានចាកចេញ។

នៅទីនេះធាតុកណ្តាលគឺរួចទៅហើយ 12, នេះគឺជាចំនួនដែលត្រូវការ។ ភារកិច្ចត្រូវបានបញ្ចប់ - លេខ 12 ត្រូវបានរកឃើញ។

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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