नवीनतम लेख
घर / विंडोज़ सिंहावलोकन / पास्कल रिकर्सन में प्रक्रियाओं और कार्यों की प्रस्तुति। पास्कल में प्रक्रियाएँ और कार्य। प्रत्यावर्तन. सबरूटीन्स अक्सर किसी कार्य के लिए आपको प्रोग्राम के विभिन्न भागों में कथनों के एक निश्चित अनुक्रम को दोहराने की आवश्यकता होती है। पासिंग पैरामीटर. औपचारिक पैरामीटर

पास्कल रिकर्सन में प्रक्रियाओं और कार्यों की प्रस्तुति। पास्कल में प्रक्रियाएँ और कार्य। प्रत्यावर्तन. सबरूटीन्स अक्सर किसी कार्य के लिए आपको प्रोग्राम के विभिन्न भागों में कथनों के एक निश्चित अनुक्रम को दोहराने की आवश्यकता होती है। पासिंग पैरामीटर. औपचारिक पैरामीटर

सबरूटीन्स अक्सर किसी कार्य को दोहराव की आवश्यकता होती है एक निश्चित क्रमकार्यक्रम के विभिन्न भागों में ऑपरेटर। इस अनुक्रम का एक बार वर्णन करने और इसे कई बार लागू करने के लिए, प्रोग्रामिंग भाषाएं सबरूटीन का उपयोग करती हैं। एक सबरूटीन एक प्रोग्राम का एक विशेष रूप से डिज़ाइन किया गया ब्लॉक है जिसे बाद में मुख्य प्रोग्राम में दोहराया जाता है। सबरूटीन का उपयोग आपको सबसे अधिक में से एक को लागू करने की अनुमति देता है आधुनिक तरीकेप्रोग्रामिंग - संरचित प्रोग्रामिंग


सबरूटीन्स तीन महत्वपूर्ण समस्याओं को हल करते हैं जो प्रोग्रामिंग को बहुत सुविधाजनक बनाते हैं: 1. वे प्रोग्राम टेक्स्ट में समान अंशों को बार-बार दोहराने की आवश्यकता को खत्म करते हैं, यानी। कार्यक्रम का आकार कम करें; 2. प्रोग्राम की संरचना में सुधार करेगा, जिससे पार्सिंग करते समय समझना आसान हो जाएगा; 3. त्रुटियों की संभावना कम करें, संशोधन के दौरान प्रोग्रामिंग त्रुटियों और अप्रत्याशित परिणामों के प्रति प्रतिरोध बढ़ाएं।


प्रक्रियाएं और कार्य पास्कल में दो प्रकार के सबरूटीन हैं: प्रक्रिया (प्रक्रिया) और कार्य (फंक्शन)। पास्कल में प्रक्रियाओं और कार्यों को वेरिएबल सेक्शन के पीछे घोषणा अनुभाग में घोषित किया जाता है। प्रोग्रामप्रोग्रामनाम; VAR... // मुख्य कार्यक्रम के चर का वर्णन करने के लिए अनुभाग; प्रक्रिया प्रक्रिया नाम; var...शुरू...//प्रक्रिया मुख्य अंत; प्रारंभ //मुख्य कार्यक्रम का मुख्य भाग समाप्त।


फ़ंक्शंस और प्रक्रियाओं में पैरामीटर होते हैं (वेरिएबल जो एक मान पास करते हैं)। वे दो प्रकार के होते हैं: 1) औपचारिक - वे जो सबरूटीन के विवरण में हैं 2) वास्तविक - वे जो मुख्य कार्यक्रम से किसी फ़ंक्शन या प्रक्रिया में स्थानांतरित किए जाते हैं। वास्तविक पैरामीटर मात्रा, क्रम और प्रकार में औपचारिक पैरामीटर के अनुरूप होने चाहिए।




प्रक्रियाएँ प्रक्रियाओं का उपयोग तब किया जाता है जब एक सबरूटीन के भीतर एकाधिक परिणाम प्राप्त करने की आवश्यकता होती है। पास्कल में दो प्रकार की प्रक्रियाएँ हैं: पैरामीटर वाली प्रक्रियाएँ और पैरामीटर रहित प्रक्रियाएँ। एक प्रक्रिया को प्रक्रिया नाम से एक्सेस किया जाता है, जिसका पालन वास्तविक मापदंडों द्वारा किया जा सकता है। जब किसी प्रक्रिया को बुलाया जाता है, तो वास्तविक और औपचारिक मापदंडों के बीच एक-से-एक पत्राचार स्थापित किया जाता है, फिर प्रक्रिया पर नियंत्रण स्थानांतरित कर दिया जाता है। प्रक्रिया निष्पादित होने के बाद, प्रक्रिया को कॉल करने के बाद नियंत्रण कॉलिंग प्रोग्राम के अगले ऑपरेटर को स्थानांतरित कर दिया जाता है।


उदाहरण 1: बिना किसी पैरामीटर वाली एक प्रक्रिया जो 60 सितारों की एक स्ट्रिंग मुद्रित करती है। प्रक्रिया पीआर; var i: पूर्णांक; i:=1 से 60 के लिए प्रारंभ करें (* "); लिखेंln; समाप्त करें; pr प्रारंभ करें; समाप्त करें।


उदाहरण 2. दो संख्याओं की अदला-बदली के लिए एक प्रोग्राम बनाएं c=5 और d=7 प्रोग्राम obmenDan; var c,d:पूर्णांक; प्रक्रिया विनिमय (ए, बी: पूर्णांक); वर एम:पूर्णांक; आरंभ m:=a; ए:=बी; बी:=एम; राइटएलएन(ए,बी); अंत; लिखना शुरू करें ("2 नंबर दर्ज करें:"); readln(सी,डी); विनिमय(सी,डी); राइटएलएन(सी," ",डी); अंत। सी5 डी 7 ए 5 बी 7 1) दो मापदंडों 5 और 7 के साथ ओबमेन प्रक्रिया को कॉल करते समय, समान संख्या 5 और 7 को क्रमशः चर ए और बी में रखा जाता है: 2) फिर प्रक्रिया में मेमोरी कोशिकाओं के मान a और b को पुनर्व्यवस्थित किया गया है: c5 d 7 a 7 b 5 3) लेकिन वेरिएबल c और d में डेटा नहीं बदला है, क्योंकि वे अन्य स्मृति कोशिकाओं में हैं


वेरिएबल सी और डी, ए और बी के लिए समान मेमोरी सेल्स को संदर्भित करने के लिए (यदि ए और बी के मान बदलते हैं, तो सी, डी के मान भी बदल जाएंगे), औपचारिक मापदंडों का वर्णन करते समय, यह आवश्यक चर से पहले VAR शब्द जोड़ना आवश्यक है: प्रक्रिया विनिमय (var a,b:integer); सी5 डी 7 ए बी


उदाहरण 3. पूर्णांकों की 3 अलग-अलग सारणियाँ दी गई हैं (प्रत्येक का आकार 15 से अधिक नहीं है)। प्रत्येक सरणी में, तत्वों का योग और अंकगणितीय माध्य ज्ञात करें। प्रोग्राम प्रोक; var i, n, योग: पूर्णांक; एसआर: असली; प्रक्रिया कार्य (r:पूर्णांक; var s:पूर्णांक; var s1:वास्तविक); var mas: पूर्णांक की सरणी; जे:पूर्णांक; प्रारंभ s:=0; j:=1 से r के लिए पढ़ना शुरू करें (mas[j]); s:=s+mas[j]; अंत; s1:=s/r; अंत;


(मुख्य कार्यक्रम) i:=1 से 3 के लिए प्रारंभ करें लिखना प्रारंभ करें ("वेवेदिते रज़मेर",i, "मासिवा:"); readln(n); कार्य(एन, योग, एसआर); (कॉल प्रक्रिया कार्य) राइटएलएन ("सुम्मा एलिमेंटोव = ",योग); राइटएलएन("Srednearifmeticheskoe = ",sr:4:1); अंत; अंत।


कार्यक्रम का परिणाम: कार्यक्रम कार्य प्रक्रिया को तीन बार कॉल करता है, जिसमें औपचारिक चर r, s, s1 को वास्तविक n, sum, sr द्वारा प्रतिस्थापित किया जाता है। प्रक्रिया सरणी तत्वों में प्रवेश करती है, योग और औसत की गणना करती है। वेरिएबल्स s और s1 को मुख्य प्रोग्राम में लौटा दिया जाता है, इसलिए सेवा शब्द var को उनके विवरण से पहले रखा जाता है। स्थानीय पैरामीटर मास, जे केवल प्रक्रिया में मान्य हैं। वैश्विक - i, n, sum, SR पूरे कार्यक्रम में उपलब्ध हैं।


पास्कल में फ़ंक्शन पास्कल भाषा में अंतर्निहित फ़ंक्शन का सेट काफी विस्तृत है (ABS, SQR, TRUNC, आदि)। यदि प्रोग्राम में कोई नया, गैर-मानक फ़ंक्शन शामिल किया गया है, तो उसे प्रोग्राम टेक्स्ट में वर्णित किया जाना चाहिए, जिसके बाद उसे प्रोग्राम से एक्सेस किया जा सकता है। असाइनमेंट ऑपरेटर के दाईं ओर एक फ़ंक्शन एक्सेस किया जाता है, जो फ़ंक्शन का नाम और वास्तविक पैरामीटर दर्शाता है। किसी फ़ंक्शन के अपने स्थानीय स्थिरांक, प्रकार, चर, प्रक्रियाएं और फ़ंक्शन हो सकते हैं। पास्कल में कार्यों का विवरण प्रक्रियाओं के विवरण के समान है।




उदाहरण 4. डिग्री a x का एक सबरूटीन फ़ंक्शन लिखें, जहां a, x कोई संख्याएं हैं। आइए सूत्र का उपयोग करें: a x = e x ln एक प्रोग्राम p2; वर एफ, बी, एस, टी, सी, डी: वास्तविक; (वैश्विक चर) फ़ंक्शन एसटीपी (ए, एक्स: वास्तविक) : वास्तविक; वर y: वास्तविक; (स्थानीय चर) प्रारंभ y:= exp (x * ln (a)) ; stp:= y;(सबरूटीन गणनाओं के परिणाम के लिए एक फ़ंक्शन नाम निर्दिष्ट करना) समाप्त; (फ़ंक्शन विवरण पूर्ण) प्रारंभ डी:= एसटीपी (2.4, 5); (विभिन्न संख्याओं और चरों की शक्तियों की गणना) राइटएलएन (डी, एसटीपी (5,3.5)); पढ़ें(एफ, बी, एस, टी); सी:= एसटीपी (एफ, एस)+एसटीपी (बी, टी); राइटएलएन(सी); अंत।


फ़ंक्शंस एक सबरूटीन एक प्रोग्राम का एक हिस्सा है, जिसे एक अलग वाक्यात्मक संरचना के रूप में डिज़ाइन किया गया है और व्यक्तिगत समस्याओं को हल करने के लिए एक नाम (एक स्वतंत्र प्रोग्राम ब्लॉक) प्रदान किया गया है। प्रक्रिया का विवरण: प्रक्रिया () (स्थानीय नामों को निष्पादित करने के लिए अनुभाग) प्रारंभ (ऑपरेटरों को निष्पादित करने के लिए अनुभाग) अंत; फ़ंक्शन विवरण: फ़ंक्शन (): प्रकार; (स्थानीय नामों का वर्णन करने के लिए अनुभाग) आरंभ (निष्पादन योग्य कथनों के लिए अनुभाग) := ; (आवश्यक पैरामीटर) अंत; प्रक्रिया कॉल: (); फ़ंक्शन कॉल: := (); 1. असाइनमेंट ऑपरेटर के दाईं ओर। 2. शाखा संचालक की स्थिति में अभिव्यक्ति में. 3. आउटपुट प्रक्रिया में, फ़ंक्शन के परिणामस्वरूप। सबरूटीन्स प्रक्रियाओं का विवरण


पास्कल में रिकर्सन प्रक्रियाएं और फ़ंक्शन स्वयं को कॉल कर सकते हैं, अर्थात। पुनरावर्तीता का गुण है। एक पुनरावर्ती फ़ंक्शन में पुनरावर्तीता को समाप्त करने के लिए आवश्यक रूप से एक शर्त होनी चाहिए ताकि प्रोग्राम लूप का कारण न बने। प्रत्येक पुनरावर्ती कॉल स्थानीय चर का एक नया सेट बनाता है। अर्थात्, कॉल किए गए फ़ंक्शन के बाहर स्थित वेरिएबल नहीं बदले जाते हैं।


1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ करें यदि n = 1 है तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं को कॉल करता है" title='उदाहरण 5. एक पुनरावर्ती फ़ंक्शन बनाएं जो संख्या n के फैक्टोरियल की गणना निम्नानुसार करता है: n! = 1 यदि n= 1 n!= (n -1)! · n यदि n > 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ यदि n = 1 तो f:= 1 अन्यथा f:= n * f (n -1);" class="link_thumb"> 19 !}उदाहरण 5. एक पुनरावर्ती फ़ंक्शन बनाएं जो संख्या n के फैक्टोरियल की गणना निम्नानुसार करता है: n! = 1 यदि n= 1 n!= (n -1)! · n यदि n > 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ करें यदि n = 1 है तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं कॉल करता है) समाप्त; 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ करें यदि n = 1 है तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं को कॉल करता है"> 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ यदि n = 1 है तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं को कॉल करता है) समाप्त; " > 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ यदि n = 1 तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं को कॉल करता है" title='उदाहरण 5 एक पुनरावर्ती फ़ंक्शन बनाएं जो संख्या n के फैक्टोरियल की गणना इस प्रकार करता है: n! = 1 यदि n= 1 n!= (n -1)! n यदि n > 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; 1 फिर f:= 1 अन्यथा f:= n * f (n -1);"> title="उदाहरण 5. एक पुनरावर्ती फ़ंक्शन बनाएं जो संख्या n के फैक्टोरियल की गणना निम्नानुसार करता है: n! = 1 यदि n= 1 n!= (n -1)! · n यदि n > 1 फ़ंक्शन f (n: पूर्णांक): पूर्णांक; प्रारंभ करें यदि n = 1 है तो f:= 1 अन्यथा f:= n * f (n -1); (फ़ंक्शन f स्वयं को कॉल करता है"> !}




सबरूटीन्स वी टर्बो पास्कल


  • सबरूटीन यह आदेशों का एक नामित, तार्किक रूप से पूर्ण समूह है जिसे प्रोग्राम में विभिन्न स्थानों से कितनी भी बार निष्पादन के लिए बुलाया जा सकता है।

दिनचर्या का उपयोग करने के कारण

  • किसी कार्य को कई उपकार्यों में विघटित (विभाजित) करके बड़े कार्यक्रमों के विकास को सरल बनाना;
  • कार्यक्रम की अधिक दृश्यता;
  • स्मृति सहेजना.

सबरूटीन्स के प्रकार

प्रक्रियाओं

कार्य

  • प्रक्रियाविशिष्ट कार्यों को करने के लिए डिज़ाइन किए गए प्रोग्राम का एक स्वतंत्र नामित हिस्सा है।

मापदंडों के बिना प्रक्रियाएं

  • रिकॉर्डिंग प्रारूप :

प्रक्रिया ;

अंत ;

  • पैरामीटर के बिना प्रक्रियाओं में उपयोग किए जाने वाले सभी चर मुख्य कार्यक्रम (Var मॉड्यूल में) में वर्णित हैं।

उदाहरण . सिलेंडर का आयतन ज्ञात करने के लिए एक प्रोग्राम लिखें।

प्रोग्राम सिलेंडर;

वार आर, एच, वी: असली;

प्रक्रिया इनपुट; (डेटा प्रविष्टि प्रक्रिया)

Writeln('त्रिज्या मान दर्ज करें');

writeln('ऊंचाई मान दर्ज करें');

प्रक्रिया सूत्र; { प्रक्रिया गणना आयतन }

वी: =पीआई*वर्ग(आर)*एच;

प्रक्रिया आउटपुट; (परिणाम आउटपुट प्रक्रिया)

राइटएलएन('वी=',वी);


प्रक्रियाओं सी पैरामीटर

  • प्रक्रियाएं स्थिरांक, चर और अन्य प्रक्रियाओं का वर्णन कर सकती हैं।
  • प्रक्रियाओं में विवरण अनुभाग की संरचना मुख्य कार्यक्रम के समान ही होती है।
  • स्थानीय चर- ये प्रक्रिया के अंदर वर्णित चर हैं।
  • स्थानीय चर प्रक्रिया के बाहर पहुंच योग्य नहीं हैं।
  • किसी प्रक्रिया के अंदर स्थानीय चर में होने वाले परिवर्तन समान नाम वाले चर के मूल्यों को प्रभावित नहीं करते हैं, लेकिन इस प्रक्रिया के बाहर वर्णित होते हैं।

प्रक्रियाओं सी पैरामीटर

  • सार्वत्रिक चर

उदाहरण .

कार्यक्रम zadacha;

वर ए, बी: पूर्णांक;

प्रक्रिया स्थानीय;

वार ए, एक्स: चार; के लिए प्रक्रियाओं स्थानीय:

शुरू चर एक्स - स्थानीय चर

ए:='! '; (प्रोग्राम अपना मान नहीं बदल सकता)

बी:= बी +1; चर बी - वैश्विक चर

अंत ; (प्रक्रिया में इस चर के मान में सभी परिवर्तन

प्रक्रिया से बाहर निकलने के बाद भी BEGIN सहेजे जाते हैं)

बी:=100; चर मुख्य कार्यक्रम में एक संपूर्ण प्रकार

स्थानीय ; और एक प्रक्रिया में - एक प्रतीकात्मक प्रकार. चर ए

राइटएलएन('ए =', ए); स्थानीय प्रक्रिया में पूर्णांक प्रकार उपलब्ध नहीं है।

राइटएलएन('बी=',बी);

प्रोग्राम निष्पादन का परिणाम: a=0; बी =101.


); शुरू ; अंत ; "चौड़ाई = "640"

को पैरामीटर पास करना टर्बो पास्कल

  • 1. मान के आधार पर पैरामीटर पास करना
  • पैरामीटर-मूल्य कोष्ठक में प्रक्रिया नाम के बाद वर्णित चर। इनके आगे कोई function शब्द var नहीं है.
  • रिकॉर्डिंग प्रारूप :

प्रक्रिया (:

चर);

अंत ;


  • औपचारिक पैरामीटर .
  • वास्तविक पैरामीटर .

उदाहरण .

कार्यक्रम पैरामीटर;

वर एम, एन: पूर्णांक;

प्रक्रिया सारांश (ए, बी: पूर्णांक);

राइटएलएन('एस=',एस);

सुम्मा(एम,एन); या सुम्मा(100,10);

चर और बी औपचारिक पैरामीटर और चर हैं एम और एन - तथ्यात्मक. वास्तविक पैरामीटर मान एम =100 और एन =10 औपचारिक मापदंडों को पारित कर दिया गया है और बी .

वास्तविक मापदंडों में परिवर्तन केवल एक प्रक्रिया के भीतर होते हैं और प्रक्रिया के बाहर उन्हें प्रभावित नहीं करते हैं।


; वार वैरिएबल:); शुरू ; अंत ; "चौड़ाई = "640"

को पैरामीटर पास करना टर्बो पास्कल

  • 2. नाम से पैरामीटर पास करना
  • परिवर्तनीय पैरामीटर कोष्ठक में प्रक्रिया नाम के बाद और सेवा शब्द वार से पहले वर्णित चर।
  • रिकॉर्डिंग प्रारूप :

प्रक्रिया (:

चर; वर

चर:);

अंत ;



बी तो मिनट:= बी; यदि न्यूनतम c तो न्यूनतम:= c; अंत ; BEGIN writeln('तीन नंबर दर्ज करें'); readln(a1, b1, c1); writeln('तीन नंबर दर्ज करें'); readln(a2,b2,c2); न्यूनतम(a1,b1,c1, min1); न्यूनतम(a2,b2,c2, min2); एस:= न्यूनतम1 + न्यूनतम 2; राइटएलएन('एस=', एस); अंत। उदाहरण। संख्याओं के दो त्रिक दिए गए हैं: a 1, b 1, c 1 और a 2, b 2, c 2। योग का मान ज्ञात करें: S=min (a1, b1, c1) + min (a2, b2, c2) "चौड़ाई = 640"

वर a1,b1,c1,a2,b2,c2, min1, min2, S: वास्तविक;

प्रक्रिया न्यूनतम (ए, बी, सी: वास्तविक; वार न्यूनतम: वास्तविक);

यदि न्यूनतम b तो न्यूनतम:= b;

यदि न्यूनतम c तो न्यूनतम:= c;

writeln('तीन नंबर दर्ज करें');

readln(a1, b1, c1);

writeln('तीन नंबर दर्ज करें');

readln(a2,b2,c2);

न्यूनतम(a1,b1,c1, min1);

न्यूनतम(a2,b2,c2, min2);

एस:= न्यूनतम1 + न्यूनतम 2;

राइटएलएन('एस=', एस);

उदाहरण. संख्याओं के दो त्रिक दिए गए हैं: a 1, b 1, c 1 और a 2, b 2, c 2। योग का मान ज्ञात करें: S=min (a1, b1, c1) + min (a2, b2, c2)


समारोहएक सबरूटीन है जिसका परिणाम एक निश्चित मान होता है।

  • रिकॉर्डिंग प्रारूप :

समारोह (:

अंत ;

  • फ़ंक्शन के मुख्य भाग में, फ़ंक्शन का नाम उसके निष्पादन के परिणाम को निर्दिष्ट किया जाना चाहिए।
  • किसी फ़ंक्शन को कॉल करते समय, उसका नाम, वास्तविक मापदंडों की सूची के साथ, एक ऑपरेंड के रूप में अभिव्यक्ति में शामिल किया जाना चाहिए।

कार्यक्रम vyrazenie;

फ़ंक्शन मॉड्यूल (ए: वास्तविक): वास्तविक;

writeln('परिवर्तनीय मान दर्ज करें');

y:= मॉड्यूल(x-3) + मॉड्यूल(x+6);

writeln('y=', y);

उदाहरण . अभिव्यक्ति के मान की गणना करें: y = | एक्स -3 | + | एक्स +6 |

स्लाइड 1

स्लाइड 3

सबरूटीन्स: वैश्विक और स्थानीय चर सभी सबरूटीन्स का विवरण अनुभाग में वर्णन किया जाना चाहिए। प्रत्येक सबरूटीन का एक नाम होना चाहिए. मुख्य प्रोग्राम और सबरूटीन्स के बीच सूचना वैश्विक मापदंडों (चर) द्वारा प्रसारित की जाती है जो प्रोग्राम के किसी भी हिस्से में संचालित होते हैं और मुख्य प्रोग्राम में वर्णित नाम रखते हैं। स्थानीय पैरामीटर (चर) का उपयोग सबरूटीन के अंदर किया जा सकता है - उनके नाम और मान केवल किसी दिए गए सबरूटीन की सीमाओं के भीतर ही अर्थ रखते हैं और कॉलिंग प्रोग्राम के लिए उपलब्ध नहीं हैं

स्लाइड 4

औपचारिक और वास्तविक पैरामीटर सबरूटीन्स के विवरण में, पैरामीटर केवल नामों से दर्शाए जाते हैं, इसलिए उन्हें औपचारिक कहा जाता है। जब तक सबरूटीन नहीं कहा जाता तब तक उनका कोई अर्थ नहीं होता। वे केवल वास्तविक मापदंडों के लिए स्थान आरक्षित करते हैं, उनकी संख्या और डेटा प्रकार तय करते हैं। वास्तविक पैरामीटर के प्रकार: मान पैरामीटर इंगित करते हैं कि किसी विशिष्ट सबरूटीन पैरामीटर को कौन सा मान निर्दिष्ट किया जाना चाहिए। सबरूटीन समाप्त होने के बाद, वे अपने पिछले मूल्यों को अपना लेते हैं, भले ही वे सबरूटीन में बदल दिए गए हों। सबरूटीन में वेरिएबल पैरामीटर औपचारिक पैरामीटर की जगह लेते हैं, वे सबरूटीन के निष्पादन के दौरान अपना मान बदल सकते हैं और सबरूटीन से बाहर निकलने पर परिवर्तनों को सहेज सकते हैं (वेरिएबल पैरामीटर कीवर्ड वार से पहले होते हैं)।

स्लाइड 5

स्लाइड 6

प्रक्रिया का विवरण कार्यक्रम Pr1; स्थिरांक...प्रकार...वर...प्रक्रिया(); वर्णनात्मक भाग प्रारंभ प्रक्रिया निकाय अंत; शुरू करना...(); ... अंत। जब किसी प्रक्रिया को बुलाया जाता है, तो औपचारिक मापदंडों को वास्तविक मापदंडों से बदल दिया जाता है।

स्लाइड 7

दो संख्याओं के योग की गणना करने की प्रक्रिया प्रोग्राम pr1; उपयोगscrt; वर ए,बी,एस:वास्तविक; प्रक्रिया summa(x,y:real;var z:real); प्रारंभ z:=x+y; अंत; सीएलआरएससीआर शुरू करें; writeln('a,b दर्ज करें'); readln(ए,बी); सुम्मा(ए,बी,एस); writeln(" संख्याओं का योग ",a:3:1," और ",b:3:1," = ",s:3:1); readln; अंत। x,y,z - औपचारिक पैरामीटर, स्थानीय चर a,b,s - वैश्विक चर a,b,s - वास्तविक पैरामीटर x y z a b s मान पैरामीटर पैरामीटर चर

स्लाइड 8

स्लाइड 9

स्लाइड 10

अभिव्यक्ति के मान की गणना करें a:=(3n!+2m!)/(m+n)! फैक्टोरियल ज्ञात करने के लिए किस प्रकार के चर का उपयोग करना उचित है? कार्यक्रम पीआर2; उपयोगscrt; वर एम,एन,एक्स,वाई,जेड:पूर्णांक; ए:असली; प्रक्रिया तथ्य(d:पूर्णांक;var q:पूर्णांक); वर i:पूर्णांक; प्रारंभ q:=1; i:=1 से d के लिए q:=q*i; अंत; सीएलआरएससीआर शुरू करें; राइटएलएन ("मान एन, एम दर्ज करें"); readln(n,m); तथ्य(एन,एक्स); तथ्य(एम,वाई); तथ्य(एम+एन,जेड); a:=(3*x+2*y)/z; writeln("m= ",m:4," और n= ",n:4,"के साथ अभिव्यक्ति का मान",a:8:3 के बराबर है); readln; अंत। एन!=1·2·3·…· एन

स्लाइड 11

एक-आयामी सरणी के तत्वों का इनपुट आउटपुट रैंडम (एक्स) फ़ंक्शन पूर्णांक या वास्तविक प्रकार के 0 से एक्स तक एक यादृच्छिक संख्या उत्पन्न करता है (फ़ंक्शन को कॉल करने से पहले, इसे रैंडमाइज़ प्रक्रिया का उपयोग करके प्रारंभ किया जाना चाहिए)। यदि एक्स पैरामीटर निर्दिष्ट नहीं है, तो परिणाम 0.0 से 1.0 की सीमा में रियल प्रकार का होगा। यादृच्छिक(बी-ए+1)+ए श्रेणी से यादृच्छिक पूर्णांक संख्याओं की एक सरणी प्राप्त करने के लिए: एक यादृच्छिक संख्या जनरेटर (मान सीमा -10 से 20 तक) का उपयोग करके एक-आयामी सरणी के तत्वों के इनपुट को तैयार करें। एक प्रक्रिया के रूप में तत्वों का आउटपुट। A=-10 B=20 के लिए यादृच्छिक(20-(-10)+1)+(-10)

स्लाइड 12

स्लाइड 13

स्लाइड 14

फ़ंक्शन का विवरण फ़ंक्शंस केवल एक मान की गणना करने के लिए डिज़ाइन किए गए हैं, 1. इसलिए, इसका पहला अंतर यह है कि प्रक्रिया में कई पैरामीटर के लिए नए मान हो सकते हैं, लेकिन फ़ंक्शन का केवल एक मान है (यह परिणाम होगा)। 2. दूसरा अंतर फ़ंक्शन शीर्षक में है। इसमें FUNCTION शब्द शामिल है, इसके बाद फ़ंक्शन का नाम, फिर कोष्ठक में औपचारिक मापदंडों की एक सूची, इसके बाद फ़ंक्शन के परिणाम का प्रकार, एक कोलन द्वारा अलग किया गया है। 3. फ़ंक्शन बॉडी में कम से कम एक असाइनमेंट ऑपरेटर होना चाहिए, जहां बाईं ओर फ़ंक्शन का नाम होता है, और दाईं ओर उसका मान होता है। फ़ंक्शन (): वर्णनात्मक आरंभ फ़ंक्शन बॉडी:=; अंत;

स्लाइड 15

अभिव्यक्ति के मान की गणना करें a:=(3n!+2m!)/(m+n)! प्रोग्राम fn2; उपयोगscrt; वर एम,एन:पूर्णांक; ए:असली; फ़ंक्शन तथ्य (डी:पूर्णांक) :लॉन्गिंट; वर i:पूर्णांक; क्यू:लॉन्गिंट; प्रारंभ q:=1; i:=1 से d के लिए q:=q*i; तथ्य:=q; अंत; सीएलआरएससीआर शुरू करें; राइटएलएन ("मान एन, एम दर्ज करें"); readln(n,m); a:=(3*तथ्य(n)+2*तथ्य(m))/तथ्य(m+n);; writeln("m= ",m:4," और n= ",n:4,"के साथ अभिव्यक्ति का मान",a:8:3 के बराबर है); readln; अंत।

स्लाइड 16

एक प्रोग्राम लिखें जो ab ढूंढेगा, अर्थात बीटीएच डिग्रीसंख्या ए, जहां ए और बी पूर्णांक हैं और बी>0, कीबोर्ड से दर्ज किए गए हैं। फ़ंक्शन को प्रक्रिया प्रोग्राम pr2 से प्रतिस्थापित करके एक प्रोग्राम बनाएं; उपयोगscrt; वर ए,बी:पूर्णांक; सी:लॉन्गिंट; फ़ंक्शन स्टेपेन(x,y:integer):longint; वर i:पूर्णांक; s:longint; प्रारंभ s:=1; i:=1 से y के लिए s:=s*x; चरण:=s; अंत; सीएलआरएससीआर शुरू करें; राइटएलएन ("मान ए, बी दर्ज करें"); readln(ए,बी); सी:=चरण(ए,बी); राइटएलएन('एस=',एस); readln; अंत।

स्लाइड 17

स्लाइड 18

फ़ंक्शंस और प्रक्रियाओं के लिए पैरामीटर पास करने का तंत्र प्रक्रिया द्वारा क्या मुद्रित किया जाएगा और प्रोग्राम द्वारा क्या? वैश्विक चर स्थानीय चर a b 3 3 -3 पता c a b c 48 पता c A:=b+3 B:=3*a C:=a+b राज्य C 24 5 8 उत्तर

स्लाइड 19

पास्कल में प्रत्यावर्तनशिक्षक: त्लेखुराई यू.वी. नगरपालिका शैक्षणिक संस्थान "लिसेयुम नंबर 8" आप चित्रों में क्या देखते हैं? कला में इस घटना को कहा जाता है प्रत्यावर्तन "प्रत्यावर्तन को समझने के लिए, पहले आपको प्रत्यावर्तन को समझना चाहिए।" प्रत्यावर्तन - स्वयं के माध्यम से किसी वस्तु की आंशिक परिभाषा, पहले से परिभाषित वस्तुओं का उपयोग करके किसी वस्तु की परिभाषा। वैज्ञानिक दृष्टि से कहें तो: प्रत्यावर्तन - वस्तुओं या विधियों के एक वर्ग को पहले उसके मूल मामलों या विधियों में से एक या अधिक (आमतौर पर सरल) निर्दिष्ट करके परिभाषित करने की एक विधि, और फिर उनके आधार पर परिभाषित वर्ग के निर्माण के नियमों को निर्दिष्ट करना।

पीटर डॉयच पीटर डॉयच

मानव पुनरावृत्ति.

प्रत्यावर्तन ईश्वर की ओर से है।भाषा और साहित्य में पुनरावर्तन अनंत पुनरावर्तन का एक उत्कृष्ट उदाहरण है दो दर्पण एक दूसरे के विपरीत रखे गए हैं: दर्पणों के धूमिल होते प्रतिबिम्बों से उनमें दो गलियारे बनते हैं। अनंत प्रत्यावर्तन का एक और उदाहरण है इलेक्ट्रॉनिक प्रवर्धन सर्किट में स्व-उत्तेजना प्रभाव (सकारात्मक प्रतिक्रिया)।, जब आउटपुट से सिग्नल इनपुट तक पहुंचता है, तो प्रवर्धित होता है, फिर से सर्किट के इनपुट तक पहुंचता है और फिर से प्रवर्धित होता है। जिन एम्पलीफायरों के लिए यह ऑपरेटिंग मोड मानक है, उन्हें सेल्फ-ऑसिलेटर कहा जाता है। पुनरावर्ती शब्दकोश प्रविष्टि का एक उदाहरण: "पुजारी के पास एक कुत्ता था..." - विशिष्ट पुनरावर्तन स्टैनिस्लाव लेम की कई कहानियाँ अनंत पुनरावर्तन वाली घटनाओं के लिए समर्पित हैं: सेपल्क्स के बारे में एक कहानी ("द स्टार डायरीज़ ऑफ़ जॉन द क्विट"), जिसमें नायक क्रमिक रूप से सेपुलकेरिया के बारे में एक लेख से सेपुलकेरिया के बारे में एक लेख की ओर बढ़ता है, वहां से सेपुलकेरिया के बारे में एक लेख की ओर बढ़ता है, जिसमें फिर से लेख "सेपुलकेरिया" का संदर्भ होता है। एक बुद्धिमान मशीन के बारे में एक कहानी जिसमें किसी दी गई समस्या को हल करने के लिए एक समान मशीन बनाने और उसे समाधान सौंपने के लिए पर्याप्त बुद्धि और आलस्य था (नतीजा एक अनंत पुनरावृत्ति था, जब प्रत्येक नई कारअपने जैसी ही एक लड़की बनाई और काम उसे सौंप दिया)। प्रोग्रामिंग में रिकर्सन एक कम्प्यूटेशनल प्रक्रिया को व्यवस्थित करने का एक तरीका है जिसमें एक प्रक्रिया या फ़ंक्शन अपने घटक ऑपरेटरों के निष्पादन के दौरान खुद को संदर्भित करता है। ऐसी कॉल अंतहीन न हो, इसके लिए सबरूटीन के टेक्स्ट में एक शर्त होनी चाहिए, जिस पर पहुंचने पर कोई और कॉल न हो। इस प्रकार, एक पुनरावर्ती कॉल को केवल सबरूटीन की शाखाओं में से एक में शामिल किया जा सकता है। उदाहरण। एक प्राकृतिक संख्या के भाज्य की गणना एक पुनरावर्ती फ़ंक्शन बनाएं जो संख्या n के भाज्य की गणना निम्नानुसार करता है: फ़ंक्शन f (n: पूर्णांक): longint; प्रारंभ करें यदि n = 1 है तो f:= 1 अन्यथा f:= n * f(n -1); (फ़ंक्शन f स्वयं कॉल करता है)रिकर्सन का उपयोग करके पास्कल प्रोग्राम को समाप्त करें: वार एन: पूर्णांक; ए: लॉन्गिंट; फ़ंक्शन फैक्टोरियल (एन: पूर्णांक): लॉन्गिंट; प्रारंभ करें यदि n = 1 तो भाज्य:= 1 अन्यथा भाज्य:= n * भाज्य (n -1); अंत;

लिखना शुरू करें('n='); Readln(n); ए:= फैक्टोरियल(एन); लिखें('n!=',a); पढ़ें; अंत।

पीसा फाइबोनैचि के लियोनार्डो

फाइबोनैचि संख्याएँ किसी संख्या अनुक्रम के तत्व हैं चरों का विवरण: n - श्रृंखला के तत्वों की संख्या; ए, बी - श्रृंखला के अंतिम दो तत्वों का मान; सी - बफर ("अतिरिक्त") चर; मैं - काउंटर. समस्या को हल करने के लिए एल्गोरिदम: 1. n का मान प्राप्त करें। 2. a और b को क्रमशः 0 और 1 मान निर्दिष्ट करें (ये फाइबोनैचि श्रृंखला की पहली संख्याएँ हैं)। उन्हें स्क्रीन पर प्रदर्शित करें. 3. तीसरे तत्व से शुरू करके n तक: a) a और b का योग प्रदर्शित करें, b) वेरिएबल b का मान c में संग्रहीत करें, c) a और b का योग b में लिखें, d) a का मान निर्दिष्ट करें सी का. पुनरावृत्ति का उपयोग कर पास्कल प्रोग्राम: कार्यक्रम फाइबोनैचि; वर ए, बी, सी, आई, एन: पूर्णांक; शुरू लिखें ("एन ="); readln(n); ए:= 0; लिखना एक," "); बी:= 1; लिखें(बी," "); i:=3 से n के लिए आरंभ करें लिखें(ए+बी," "); सी:= बी; बी:= ए + बी; ए:=सी; अंत; readln; अंत। रिकर्सन का उपयोग कर पास्कल प्रोग्राम:फाइबोनैचि संख्याओं की गणना के लिए पुनरावर्ती परिभाषा इस प्रकार है: फाइबोनैचि संख्याओं की इस परिभाषा को आसानी से एक पुनरावर्ती फ़ंक्शन में परिवर्तित किया जा सकता है: फ़ंक्शन f(n: पूर्णांक) : longint; प्रारंभ करें यदि n<= 1 Then f:= n else f:= f(n– 1) + f(n - 2); end; Program chislaFibonacci; var n,i: integer; a: longint; function fib (n: integer): longint; begin If n <= 1 Then fib:= n else fib:= fib(n– 1) + fib(n - 2); End; begin write(‘n=’); readln(n); for i:=0 to n do begin A:= fib (n); write (‘ ’,a); end; readln; end. Домашнее задание Написать программу нахождения НОД двух натуральных чисел, используя алгоритм Евклида и рекурсию Даны два натуральных числа और बी।अगर = बी,फिर नोड ( ,बी)=ए.अगर >बी,फिर नोड ( ,बी)=नोड ( ए -बी,बी)।अगर < बी,फिर नोड ( ,बी)=नोड ( ,बी ० ए)। कार्यक्रम noddvyxchisel; var a,b: longint; फ़ंक्शन नोड(ए,बी:लॉन्गिंट): लॉन्गिंट; शुरू करें यदि a = b तो nod:= a else यदि a>b तो nod:= nod(a-b,b) else nod:= nod(a,b-a) End; लिखना शुरू करें('a='); readln(ए); लिखें('बी='); readln(बी); ए:= सिर हिलाना(ए,बी); लिखें('नोड=',ए); readln; अंत।

  • हनोई के टावरों के बारे में समस्या। इस मामले में, निम्नलिखित नियमों का कड़ाई से पालन किया जाना चाहिए:
  • आप एक समय में केवल एक ही डिस्क को स्थानांतरित कर सकते हैं;
  • बड़ी डिस्क को छोटी डिस्क पर नहीं रखा जा सकता;
  • दूसरी डिस्क को हटाने से पहले हटाई गई डिस्क को किसी पिन पर लगाना होगा।

मेहनती बौद्ध भिक्षु दिन-रात डिस्क को एक शिखर से दूसरे शिखर तक ले जाते हैं। किंवदंती का दावा है कि जब भिक्षु अपना काम खत्म कर लेंगे, तो दुनिया का अंत आ जाएगा। कोई गणना कर सकता है कि 64 डिस्क के साथ किसी समस्या को हल करने के लिए 264-1 चालों की आवश्यकता होगी। इसलिए, जहाँ तक दुनिया के अंत की बात है, यह पाँच अरब शताब्दियों के बाद होगा, अगर हम मान लें कि एक डिस्क एक सेकंड में घूमती है। हालाँकि, समस्या और इसके लिए किंवदंती दोनों का आविष्कार 1883 में सेंट-लुई कॉलेज के गणितज्ञ एडौर्ड लुकास द्वारा किया गया था।

काम। एक पुनरावर्ती प्रोग्राम बनाएं जो n (n = 1, 2, ...) के बराबर डिस्क की संख्या के साथ हनोई के टावरों के बारे में ऊपर दी गई समस्या का समाधान करेगा। समाधान। आइए शिखरों के लिए नाम दर्ज करें: ए, बी, सी. होने देना हनोई(एन,ए,बी,सी)- आवश्यक फ़ंक्शन जो डिस्क की गति का क्रम लौटाता है पर बीका उपयोग करते हुए सीऊपर वर्णित नियमों के अनुसार. जब n=1 हम जानते हैं कि समस्या को कैसे हल करना है। आपको बस "मूव" ऑपरेशन करने की आवश्यकता है पर बी" आइए मान लें कि हम n-1 डिस्क के लिए इस समस्या को हल कर सकते हैं। n-1 डिस्क को इससे हटाएँ पर साथ. इसके बाद, बची हुई एक डिस्क को वहां से हटा दें पर बीऔर अंत में n-1 डिस्क को वहां से हटाएं सीपर बी. इनपुट डेटा: खूंटी ए पर डिस्क की संख्या; उत्पादन: अनुक्रमण; चरण0:(परिवर्तनीय प्रकार को परिभाषित करें); चरण 1: (हनोई प्रक्रिया का विवरण, जो क्रियाओं का क्रम प्रदर्शित करता है); चरण 1.1:((एन-1) डिस्क को पेग ए से पेग बी पर ले जाएं); चरण 1.2:(एनवें डिस्क को ए से सी पर ले जाएं); चरण 1.3: ((एन-1) डिस्क को बी से सी पर ले जाएं); (चरण 1.2-1.3 पुनरावर्ती रूप से निष्पादित किए जाते हैं); चरण2:(मुख्य कार्यक्रम); चरण2.1:(डिस्क की संख्या दर्ज करें); चरण 2.2: (हनोई प्रक्रिया को कॉल करना)। पास्कल प्रोग्राम बहन्या में समस्या का समाधान; var n: पूर्णांक; ए, बी, सी: चार; प्रक्रिया हनोई (एन: पूर्णांक; ए, बी, सी: चार); प्रारंभ करें यदि n>0 तो प्रारंभ करें हनोई(n-1,a,c,b); राइटलन ("पेरेमेस्टिट डिस्क सो स्टरज़न्या ",ए," ना स्टरज़ेन" ",बी); हनोई(एन-1,सी,बी,ए); अंत; अंत; लिखना शुरू करें ("वेवेदाइट नेचुरलनो चिसलो एन"); रीडएलएन ( n); a:='a'; b:='c'; हनोई (n,a,c,b); डिग्री डिग्री आधार की गणना के लिए एक प्रोग्राम लिखेंएक्स प्रतिपादक को

  • यदि k=0, तो डिग्री(k,x)=1, अन्यथा डिग्री(k,x)= x· डिग्री(k-1,x) प्रोग्राम चरण; वर y: वास्तविक; n:पूर्णांक; फ़ंक्शन चरण (k: पूर्णांक, x: वास्तविक): वास्तविक; प्रारंभ यदि k = 0 है तो चरण:= 1 अन्यथा चरण:= x * चरण(k-1,x) समाप्त; लिखना शुरू करें ('vvedit osnovanie स्टेपनी x='); readln(y); लिखें ('vvedete pokazatel स्टेपनी k='); Readln(n); लिखें('x v स्टेपनी k=',स्टेप(n,y)); readln; अंत।
  • स्वतंत्र काम
  • किसी संख्या के अंकों का योग ज्ञात कीजिए
  • निर्धारित करें कि क्या कोई दी गई प्राकृतिक संख्या अभाज्य है
  • किसी संख्या का पहला अंक ज्ञात कीजिये
  • दशमलव एस.एस. से प्राकृतिक संख्या परिवर्तित करें बाइनरी के लिए
  • 20 तत्वों से युक्त पूर्णांक सरणी के तत्वों का योग ज्ञात कीजिए दो पूर्णांकों के मानों को स्वैप करेंतीन चरों के मानों को क्रमबद्ध करें
  • ए, बी, सी बढ़ते क्रम मेंमें अंकों की संख्या ज्ञात कीजिए
  • प्राकृतिक संख्या
  • चार A, B, C, D के बीच धनात्मक संख्याओं की संख्या ज्ञात कीजिए
स्वतंत्र कार्य क्रमांक 2 कार्यक्रम के उत्तर सरल; var n, m, s: पूर्णांक; फ़ंक्शन प्रोस्ट (एम, एन: पूर्णांक): बूलियन; प्रारंभ यदि n = m तो prost:= true अन्यथा prost:= (n mod m<>0) और प्रोस्ट (एम+1, एन); अंत;

लिखना शुरू करें('n='); Readln(n); एम:=2; यदि prost(m,n) तो लिखें (n,'prostoechislo') अन्यथा लिखें (n,'sostavnoe'); readln; अंत।

कार्यक्रम अनुवाद;

प्रक्रिया डीवीडी(n:longint);

यदि n >1 तो डीवीडी (n div 2);

लिखें(एन मॉड 2);

8 वीं कक्षा। एबीसी पास्कल में प्रोग्रामिंग


  • उरलस्क भौतिकी और गणित के एनआईएस के सूचना विज्ञान शिक्षक ज़ेलेनोव बोरिस अलेक्जेंड्रोविच
  • छात्र समस्याओं को हल करने के लिए प्रक्रियाओं और कार्यों का उपयोग करते हैं

  • छात्र बड़ी समस्याओं को छोटी-छोटी समस्याओं में तोड़कर हल करना सीखते हैं

  • एक प्रोग्रामिंग भाषा में प्रक्रियाओं और कार्यों की एक अवधारणा विकसित करें।

छात्र "प्रक्रियाओं" और "कार्यों" की अवधारणाओं को जानते हैं, औपचारिक और वास्तविक पैरामीटर निर्धारित करते हैं

अपेक्षित परिणाम - विवरणकर्ता:

1. "प्रक्रिया" की परिभाषा जानता है

2. "फ़ंक्शन" की परिभाषा जानता है

3. वास्तविक और औपचारिक पैरामीटर निर्धारित करता है

4.मूल्य और परिवर्तनीय मापदंडों के बीच अंतर करता है



5. प्रोग्राम कोड में किसी प्रक्रिया या फ़ंक्शन के लिए कॉल ढूंढता है

एल्विरा की मानक योजना

1. कागज़ात हटाएँ

2. फूलों को पानी दें

3. डेस्क धोएं

4. कांच पोंछें

एल्गोरिथम का अंत




इस प्रक्रिया के संगठन को कैसे सुधारें?

पाठ विषय


सबरूटीन्स:

इश्की बगदरलामा

सबरूटीन

सबरूटीन

प्रक्रिया

पैरामीटरलर

उपयोगी वाक्यांश:

किसी प्रक्रिया (फ़ंक्शन) में परिवर्तनीय मानों को पारित करने के लिए, वास्तविक मापदंडों का उपयोग किया जाता है...


प्रक्रिया का वर्णन करने के लिए, आपको पहले..., फिर...

सबरूटीन की अवधारणा

सबरूटीनपरिभाषा

- यह कार्यक्रम का एक अलग कार्यात्मक रूप से स्वतंत्र हिस्सा है।

सबरूटीन्स


  • प्रक्रियाओं
  • प्रोग्राम टेक्स्ट में समान अंशों को बार-बार दोहराने की आवश्यकता को समाप्त करना;
  • कार्यक्रम की संरचना में सुधार करें, जिससे इसे समझना आसान हो जाए;

  • प्रोग्राम संशोधनों के दौरान प्रोग्रामिंग त्रुटियों और अप्रत्याशित परिणामों के प्रति प्रतिरोध बढ़ाना।

प्रोग्रामिंग भाषा का उपयोग करके एक बाड़ बनाएं


  • इस कार्य में, आप एक ऐसी प्रक्रिया बना सकते हैं जो एक टुकड़े (पिकेट बाड़) को खींचने के लिए एल्गोरिदम निष्पादित करेगी, और फिर पेन की प्रारंभिक स्थिति को बदलते हुए, इस प्रक्रिया को लगातार संदर्भित करेगी।

  • वर्णन करें कि प्रोग्रामिंग परिवेश में क्रिसमस ट्री को कुशलतापूर्वक कैसे बनाया जाए

वे कार्यक्रमों के स्वतंत्र टुकड़े हैं, जिन्हें एक विशेष तरीके से डिज़ाइन किया गया है और उनका अपना नाम है।



मुख्य कार्यक्रम और सबरूटीन के बीच सहभागिता

  • ब्लॉक आरेख

सबरूटीन (प्रक्रिया या कार्य) कॉल ब्लॉक


मुख्य कार्यक्रम और सबरूटीन के बीच सहभागिता


प्रक्रिया का विवरण इस प्रकार है:

प्रक्रियानाम (औपचारिक मापदंडों की सूची); विवरण अनुभाग शुरूऑपरेटरों अंत ;


फ़ंक्शन विवरण इस प्रकार दिखता है:

समारोहनाम (औपचारिक मापदंडों की सूची): वापसी प्रकार;

विवरण अनुभाग शुरूऑपरेटरों अंत ;


कार्यक्रम में स्थान

कार्यक्रम ...;

//विवरण अनुभाग उपयोग, स्थिरांक, वार, ...

प्रक्रिया ;

शुरू ....... अंत ;

प्रक्रिया बी ;

शुरू ........ अंत ;

फंक्शन सी ;

शुरू ........ अंत ;

//मुख्य कार्यक्रम

शुरू ........ अंत .


  • फ़ंक्शन और प्रक्रिया के बीच अंतर यह है कि फ़ंक्शन के मुख्य भाग को बनाने वाले ऑपरेटरों को निष्पादित करने का परिणाम हमेशा एक ही मान होता है, इसलिए फ़ंक्शन को कॉल करने का उपयोग चर और स्थिरांक के साथ उचित अभिव्यक्तियों में किया जा सकता है।

प्रक्रियाओं

कार्य

इसके एकाधिक परिणाम हो सकते हैं या कोई कार्रवाई की जा सकती है

इसका केवल एक ही परिणाम होता है, जिसका प्रकार फ़ंक्शन घोषित करते समय अलग से निर्दिष्ट किया जाता है।

परिणाम किसी भी प्रकार के मान हो सकते हैं - सरणियाँ, तार, संख्याएँ, आदि।

परिणाम केवल वास्तविक, पूर्णांक या चार प्रकार का मान हो सकता है।

प्रोसीजर कॉल कमांड एक अलग कमांड है जिसका उपयोग स्वतंत्र रूप से किया जा सकता है

एक फ़ंक्शन कॉल का उपयोग केवल उचित प्रकार की अभिव्यक्ति के एक घटक के रूप में किया जा सकता है।

फ़ंक्शन बॉडी में बाईं ओर फ़ंक्शन नाम के साथ कम से कम एक असाइनमेंट ऑपरेटर होना चाहिए।


b तो max:=a अन्यथा max:=b; अधिकतम संख्या:= अधिकतम; अंत;" चौड़ाई = "640"

प्रक्रिया या कार्य?

मैक्सनंबर(ए,बी: पूर्णांक): पूर्णांक;

वर अधिकतम: पूर्णांक;

अधिकतम संख्या:= अधिकतम;


b तो max:=a अन्यथा max:=b; अंत;" चौड़ाई = "640"

प्रक्रिया या कार्य?

मैक्सनंबर(ए,बी: पूर्णांक; वर अधिकतम: पूर्णांक);

यदि ab तो max:=a अन्यथा max:=b;


प्रक्रिया या कार्य?

रंग बदलें(सी1, सी2: वर्ड);

टेक्स्टबैकग्राउंड(C2)


प्रक्रिया या कार्य?

जोड़ें(एक्स, वाई: पूर्णांक): पूर्णांक;


वास्तविक

  • मुख्य कार्यक्रम अनुभाग में दर्शाया गया है

औपचारिक

  • सबरूटीन में निर्दिष्ट
  • सबरूटीन में निर्दिष्ट

प्रक्रिया को निम्न प्रारूप वाले ऑपरेटर द्वारा कॉल किया जाता है:

प्रक्रिया का नाम (वास्तविक मापदंडों की सूची);

  • वास्तविक मापदंडों की सूची- यह अल्पविराम द्वारा अलग की गई उनकी एक सूची है।

  • पास्कल भाषा मानक में, मापदंडों को दो तरीकों से पारित किया जा सकता है - मूल्य द्वारा और संदर्भ द्वारा। मान द्वारा पारित पैरामीटर कहलाते हैं पैरामीटर-मूल्य, संदर्भ द्वारा प्रेषित - पैरामीटर-चर. उत्तरार्द्ध इस मायने में भिन्न है कि प्रक्रिया (फ़ंक्शन) शीर्षलेख में वे सेवा शब्द var से पहले होते हैं।

पासिंग पैरामीटर. औपचारिक पैरामीटर

चर

मान

मान के अनुसार पैरामीटर

औपचारिक पैरामीटर

चर


औपचारिक पैरामीटर

मान के अनुसार पैरामीटर

  • पहली विधि में (मूल्य से गुजरते हुए), वास्तविक मापदंडों के मूल्यों को संबंधित औपचारिक मापदंडों में कॉपी किया जाता है।

सबरूटीन

प्रक्रिया का नाम (ए, बी: पूर्णांक);

मुख्य कार्यक्रम

किसी प्रक्रिया (फ़ंक्शन) के निष्पादन के दौरान इन मानों को बदलते समय, मूल डेटा (वास्तविक पैरामीटर) नहीं बदल सकता है


वार सी, डी: पूर्णांक;

  • संदर्भ से गुजरते समय, औपचारिक मापदंडों के साथ एक प्रक्रिया (फ़ंक्शन) के मुख्य भाग में होने वाले सभी परिवर्तन संबंधित वास्तविक मापदंडों में तत्काल समान परिवर्तन लाते हैं।

सबरूटीन

प्रक्रिया का नाम (ए, बी: पूर्णांक, वार सी: वास्तविक);

मुख्य कार्यक्रम

कॉलिंग ब्लॉक के वेरिएबल्स में परिवर्तन होते हैं, इसलिए आउटपुट पैरामीटर संदर्भ द्वारा पारित किए जाते हैं। जब बुलाया जाता है, तो उनके संबंधित वास्तविक पैरामीटर केवल चर हो सकते हैं।


आप लिखिए:

1.वास्तविक पैरामीटर___________

प्रक्रिया क्वाड (आर: वास्तविक; वर एस: वास्तविक);

2. औपचारिक पैरामीटर ___________

3. औपचारिक पैरामीटर-मान __________

5.प्रक्रिया का नाम ___________

6. कार्यक्रम से एक प्रक्रिया तक पहुंच _____________________


इंटरैक्टिव कार्य

http://www.bzfar.net/load/podprogrammy_procedury_i_funkcii_parametry/23-1-0-498


एलविरा क्लास लीडर हैं। उसे कक्षा में सामान्य सफ़ाई के लिए एक योजना बनानी होगी: कागज़ हटाना, फूलों को पानी देना, डेस्क धोना, कांच पोंछना। वह अपने काम को बेहतर ढंग से कैसे व्यवस्थित कर सकती है? एलविरा की मदद करें।


एलविरा की उन्नत योजना

पाठ विषय

आर्सेन - कागजात हटा देता है

मिला - फूलों को पानी देना

विटाली - डेस्क धोता है

इन्दिरा- शीशा पोंछती हुई

1. आर्सेन को फाँसी दो

2. मिला चलाओ

3. विटाली को निष्पादित करें

4. इंदिरा चलाओ

4. कांच पोंछें


  • आज हमें कौन सी नई प्रोग्रामिंग भाषा संरचनाएँ मिली हैं?
  • अध्ययन किए गए मापदंडों को नाम दें
  • किसी प्रक्रिया में पैरामीटर कैसे पारित किए जाते हैं?

  • पाठ सारांश
  • परिभाषाएँ खोजें: "स्थानीय चर" और "वैश्विक चर"
  • दो कार्य लिखें जिनमें आप प्रक्रियाओं या फ़ंक्शंस का उपयोग कर सकते हैं।

  • आप पाठ का विषय कैसे निर्धारित करेंगे? (अपना नाम लेकर आएं)
  • आपको क्या लगता है आपको अगले पाठ में क्या सीखना चाहिए?

चलो मिलते हैं

अगला पाठ!