सी मध्ये प्रोग्राम कार्यान्वित करण्यास विलंब कसा करावा

लेखक: Joan Hall
निर्मितीची तारीख: 28 फेब्रुवारी 2021
अद्यतन तारीख: 1 जुलै 2024
Anonim
W4_3 - Heap
व्हिडिओ: W4_3 - Heap

सामग्री

तुम्हाला कधी सी प्रोग्राम तयार करायचा आहे जो ठराविक वेळेची वाट पाहतो? आपण "फ्लाई बाय" वेळ देण्याचा मार्ग सानुकूलित करू शकता, उदाहरणार्थ: गेमसाठी पॉप-अप पृष्ठ (सूचना किंवा इशारा) दर्शविताना. ... ठीक आहे, "स्टँड स्टिल" प्रोग्राम तयार करण्याचे काही मार्ग येथे आहेत, वाचा ...

पावले

  1. 1 आपल्या प्रोसेसरला काही काळ पाहण्याजोगा कार्यक्रम न घडता चालू द्या.
  2. 2 साध्या वेळेचा विलंब निर्माण करण्यासाठी या विलंबादरम्यान इतर कोणतेही ऑपरेशन करू नका.

2 पैकी 1 पद्धत: फॉर-लूप तंत्र

  1. 1 विलंब लागू करण्यासाठी रिक्त विधानानंतर एक विशिष्ट "साठी" लूप वापरा.
  2. 2 खालीलप्रमाणे लिहा, उदाहरणार्थ:
    • साठी (i = 1; i100; i ++);
    • ";" चे अनुसरण करणारा ऑपरेटर लक्षात येण्याजोग्या घटनेशिवाय संगणकाला 100 वेळा लूप करण्यास भाग पाडते. यामुळे केवळ वेळेचा विलंब होतो.

2 पैकी 2 पद्धत: "झोप ()" तंत्र

  1. 1 झोप () वापरा. फंक्शनला स्लीप (int ms) म्हणतात, TIME.H> मध्ये घोषित केले आहे, जे प्रोग्रामला मिलिसेकंदांमध्ये विशिष्ट वेळेची प्रतीक्षा करते.
  2. 2 Int main () आधी तुमच्या प्रोग्राममध्ये खालील ओळ समाविष्ट करा:
    • #TIME.H> समाविष्ट करा
  3. 3 आपला कार्यक्रम उशीर करण्यासाठी आवश्यक तेथे पेस्ट करा:
    • झोप (1000);
    • प्रतीक्षा करू इच्छित मिलिसेकंदांच्या संख्येत "1000" बदला (उदाहरणार्थ, जर तुम्हाला 2 सेकंद विलंब करायचा असेल तर ते "2000" सह बदला.
    • टीप: काही प्रणाल्यांवर, मिलिसेकंदांऐवजी मूल्य सेकंदात निर्दिष्ट केले जाऊ शकते. म्हणून, कधीकधी 1000 हा 1 सेकंद नसतो, परंतु प्रत्यक्षात 1000 सेकंद असतो.

नमुना कोड

एक प्रोग्राम जो विशिष्ट संख्येची प्रतीक्षा करतो:



#समावेश stdio.h> #समाविष्ट dos.h> int main () {int del; // विलंब कालावधी printf ("विलंब वेळ प्रविष्ट करा (सेकंदात):"); scanf ("% i" ,? del); डेल * = 1000; // मिलिसेकंद विलंब (डेल) मध्ये रूपांतरित करण्यासाठी 1000 ने गुणाकार करा; // विलंब. printf ("पूर्ण."); परत 0; }


एक प्रोग्राम जो 10 ते 0 पर्यंत मोजतो:


#Includ STDIO.H> #Include TIME.H> int main () {int i; साठी (i = 10; i> = 0; i--) {printf ("% i n", i); // वर्तमान 'काउंटडाउन' क्रमांक विलंब (1000) लिहा; // एक सेकंद थांबा} परतावा 0; }

टिपा

  • एक मिलिसेकंद म्हणजे सेकंदाचा 1/1000.
  • वरील अल्गोरिदम कोणत्याही लूपिंग स्ट्रक्चरचा वापर करून अंमलात आणला जाऊ शकतो त्यानंतर नल ऑपरेटर - "; while किंवा do -while loops वापरून.

चेतावणी

  • ही पद्धत क्षुल्लक प्रोग्राम व्यतिरिक्त इतर कोणत्याही गोष्टीसाठी सामान्यतः निरुपयोगी आहे. सर्वसाधारणपणे, हे पूर्ण करण्यासाठी टाइमर किंवा इव्हेंट-चालित दृष्टिकोन वापरा. अन्यथा, कार्यक्रम विलंब वेळेत प्रतिसाद देणार नाही आणि ही नेहमीच चांगली गोष्ट नसते. तसेच, लूपमध्ये एन निवडणे, जर ते आदेशांच्या अंमलबजावणीवर अवलंबून असेल तर अनपेक्षित परिणाम होऊ शकतात. वरवर पाहता मूळ लेखकाने ऑप्टिमायझिंग कंपाईलरबद्दल कधीच ऐकले नाही ... जर ते प्रत्यक्षात काहीही करत नसेल तर ते संपूर्ण लूप ऑप्टिमाइझ करू शकते!
  • लक्षात घ्या की "फॉर-लूप" पद्धत वापरताना, i साठी खूप मोठा मध्यांतर लागू शकतो, कारण रिक्त विधान खूप वेगवान आहे. इतकी मोठी संख्या पूर्णांक प्रकारात बसू शकत नाही.
  • जर तुम्ही फॉर-लूप वापरत असाल, तर कंपाइलर कोड ऑप्टिमाइझ करू शकतो आणि लूप काहीही करत नसल्याने तो काढून टाका. Delay () वापरताना असे होत नाही.