प्रोग्रामिंग भाषाओं के विकास का एक संक्षिप्त इतिहास है। कुछ प्रोग्रामिंग भाषाओं का इतिहास

💖यह पसंद है?लिंक को अपने दोस्तों के साथ साझा करें

नई प्रोग्रामिंग भाषाओं का जोरदार विकास पहले वैक्यूम ट्यूब कंप्यूटर के आगमन के तुरंत बाद शुरू हुआ। उस समय कंप्यूटर की कीमत बहुत ज्यादा थी. किसी भी कार्यक्रम को विकसित करने की लागत की तुलना में एक प्रति प्राप्त करने की लागत दसियों या यहां तक ​​कि सैकड़ों गुना अधिक होती है। ऐसी मशीन के लिए अत्यधिक कुशल कोड की आवश्यकता होती थी, जिसे मैन्युअल रूप से असेंबलर में संकलित किया जाता था।

केवल 50 के दशक में, आईबीएम की व्यक्तिगत जरूरतों के लिए, पहली एल्गोरिथम भाषा विकसित की गई थी। इसे फोरट्रान कहा जाता था। बेशक, उस समय तक भाषाओं में पहले से ही कई विकास हुए थे जो अंकगणितीय अभिव्यक्तियों को मशीन कोड में परिवर्तित करते हैं, लेकिन यह फोरट्रान का निर्माण है "और इसे एक नए युग की शुरुआत माना जाता है - प्रतिमान में संक्रमण एल्गोरिथम भाषाओं का। वह क्या कर सकता था? उसने केवल इनपुट / आउटपुट ऑपरेटरों और सशर्तों का उपयोग करके एल्गोरिदम लिखकर गणना करने की अनुमति दी। प्रारंभ में, भाषा विशेष रूप से आईबीएम 407 कंप्यूटिंग सिस्टम के लिए बनाई गई थी। लेकिन फोरट्रान की लोकप्रियता "और नेतृत्व इस तथ्य से कि अन्य आर्किटेक्चर के निर्माताओं ने भी अपने स्वयं के अनुवादक जारी करना शुरू कर दिया। परिणामस्वरूप, 1966 में सामान्य फोरट्रान 66 मानक जारी किया गया।

पहले से ही 50 के दशक के अंत में। दिखाई दिया अच्छा विकल्पपीटर नौर द्वारा फोरट्रान "ने आर्किटेक्चर से स्वतंत्र एक एल्गोरिदमिक भाषा विकसित की। इसे ALGOL कहा गया। इस मामले में, डेवलपर्स ने भाषा की क्षमताओं का विस्तार करने की भी कोशिश की, जिससे अंकन को गणितीय एक के जितना करीब संभव हो सके लाया जा सके।

60 के दशक की शुरुआत में. आईबीएम निर्माताओं ने कम लोकप्रिय पीएल/आई भाषा पेश की। यह IBM 360 आर्किटेक्चर के साथ काम करता था और कुछ COBOL भाषा टूल की मदद से एक प्रकार के FORTRAN एक्सटेंशन के रूप में कार्य करता था।
पहली भाषा जिसमें एक वर्ग की अवधारणा पेश की गई थी वह सिमुला-67 थी। इसे 60 के दशक के अंत में डाहल और नायार्ड द्वारा बनाया गया था।
70 के दशक पास्कल का उत्पादन किया। उन्होंने जल्द ही भारी लोकप्रियता हासिल कर ली। थोड़ी देर बाद, अमेरिकी रक्षा विभाग ने एक उच्च स्तरीय भाषा विकसित करना शुरू किया। परियोजना को 4 स्वतंत्र समूहों द्वारा विकसित किया गया था, और आवश्यकताओं और विशिष्टताओं का विकास पास्कल भाषा के आधार पर किया गया था। परिणामी उत्पाद 80 के दशक की शुरुआत में ही जारी कर दिया गया था, इसे एडा कहा जाता था।

70 के दशक हमें सार्वभौमिक भाषा सी भी दी। इसके लेखक केन थॉम्पसन और डेनिस रिची थे। यह भाषा लोकप्रिय थी सिस्टम प्रोग्रामर, पहला UNIX कर्नेल इसी पर विकसित किया गया था। 1982 में, एएनएसआई में सी मानक का विकास शुरू हुआ, जिसके परिणामस्वरूप संस्करण 1990 में अपनाया गया। इसी भाषा के आधार पर आधुनिक जावा और C++ भाषाओं का विकास हुआ।

एल्गोरिदम के साथ काम करने वाली भाषाओं के अलावा, अन्य भाषाएँ भी विकसित हुई हैं। COBOL को व्यावसायिक जानकारी संसाधित करने के लिए विकसित किया गया था, प्रोलॉग और LISP को कृत्रिम बुद्धिमत्ता भाषाएँ माना जाता है। इसके अलावा, बाद वाले का गेम थ्योरी में व्यापक रूप से उपयोग किया जाता है।

पर्सनल कंप्यूटर में परिवर्तन के साथ, प्रोग्रामिंग भाषाएँ विकास परिवेश का एक अलग हिस्सा बन गई हैं। अब तो वहाँ भाषाओं का भी प्रयोग होने लगा है कार्यालय कार्यक्रम- उदाहरण के लिए, वीबीए।

प्रोग्रामिंग भाषाओं का इतिहास

3. प्रोग्रामिंग भाषाओं का वर्गीकरण

1. अवधारणाएँ सॉफ़्टवेयर

प्रोग्रामिंग को विज्ञान और कला दोनों माना जा सकता है। कार्यक्रम बौद्धिक कार्य का परिणाम है, जो रचनात्मकता की विशेषता है। प्रोग्राम कार्यों के मशीनी कार्यान्वयन के लिए डिज़ाइन किए गए हैं।

कामएक समस्या है जिसका समाधान किया जाना है तकनीकी साधन, और एप्लिकेशन (प्रोग्राम का पर्यायवाची) कंप्यूटर पर लागू इस समस्या का समाधान है।

प्रोग्रामिंगकार्यक्रम बनाने के उद्देश्य से कार्रवाई का एक क्षेत्र है।

कार्यक्रमकिसी समस्या के समाधान की ओर ले जाने वाले कंप्यूटर कमांडों का एक क्रम है।

आवेदन- यह सॉफ्टवेयर कार्यान्वयनसमस्या समाधान कंप्यूटर.

सॉफ़्टवेयर(सॉफ़्टवेयर) सॉफ़्टवेयर उत्पाद हैं और तकनीकी दस्तावेजउन्हें।

सॉफ़्टवेयर उत्पाद (पीपी)बड़े पैमाने पर मांग के एक विशिष्ट कार्य को लागू करने के लिए डिज़ाइन किए गए परस्पर संबंधित कार्यक्रमों का एक जटिल है।

सबसे क्रांतिकारी विचारों में से एक जिसके कारण स्वचालित डिजिटल कंप्यूटर का निर्माण हुआ, वह 19वीं सदी के 20 के दशक में व्यक्त किया गया था। चार्ल्स बेबीजगणना के बाद के स्वचालित कार्यान्वयन के लिए मशीन के ऑर्डर को पूर्व-रिकॉर्ड करने का विचार - कार्यक्रम। और यद्यपि प्रयोग किया जाता है बेबीजामछिद्रित कार्डों पर एक प्रोग्राम का रिकॉर्ड, जिसका आविष्कार एक फ्रांसीसी आविष्कारक द्वारा ऐसी मशीनों को नियंत्रित करने के लिए किया गया था जोसेफ मैरी जैक्वार्ड, तकनीकी रूप से इसका पीसी में प्रोग्राम संग्रहीत करने के आधुनिक तरीकों से कोई लेना-देना नहीं है, यहां सिद्धांत मूलतः वही है। इसी क्षण से प्रोग्रामिंग का इतिहास शुरू होता है।

अदु लेवलेस, समकालीन बेबिड्झाको दुनिया का पहला प्रोग्रामर कहा जाता है। उन्होंने सैद्धांतिक रूप से गणनाओं के अनुक्रम को नियंत्रित करने के लिए कुछ तकनीकें विकसित कीं जिनका उपयोग आज प्रोग्रामिंग में किया जाता है। उन्होंने लगभग किसी भी आधुनिक प्रोग्रामिंग भाषा के सबसे महत्वपूर्ण निर्माणों में से एक - एक चक्र - का भी वर्णन किया।

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

40 के दशक के अंत में जे. मौचलीनामक एक सिस्टम बनाया लघु कूट संख्या”, जो एक आदिम उच्च स्तरीय प्रोग्रामिंग भाषा थी। इसमें, प्रोग्रामर ने हल की जाने वाली समस्या को गणितीय सूत्रों के रूप में लिखा, और फिर, एक विशेष तालिका का उपयोग करके, चरित्र द्वारा अनुवादित, इन सूत्रों को दो-अक्षर वाले कोड में बदल दिया। इसके बाद, एक विशेष कंप्यूटर प्रोग्राम ने इन कोड को बाइनरी मशीन कोड में बदल दिया। प्रणाली, विकसित जे. मौचली, पहले आदिम व्याख्याकारों में से एक माना जाता है।

पहले से ही 1951 में हूपरउन्होंने दुनिया का पहला कंपाइलर बनाया और उन्होंने ही इस शब्द को पेश किया। संकलक हूपरआदेशों के संयोजन का कार्य किया और, अनुवाद के दौरान, सबरूटीन्स को व्यवस्थित किया, कंप्यूटर मेमोरी आवंटित की, और उच्च-स्तरीय कमांड (उस समय स्यूडोकोड) को मशीन कमांड में परिवर्तित किया। "सबरूटीन्स लाइब्रेरी (कंप्यूटर) में होते हैं, और जब आप लाइब्रेरी से सामग्री का चयन करते हैं, तो इसे संकलन कहा जाता है" - इस तरह उन्होंने पेश किए गए शब्द की उत्पत्ति को समझाया।

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

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

1950 के दशक के मध्य में प्रोग्रामिंग के क्षेत्र में तीव्र प्रगति हुई। मशीन निर्देशों में प्रोग्रामिंग की भूमिका कम होने लगी। एक नई प्रकार की प्रोग्रामिंग भाषा सामने आने लगी, जो मशीनों और प्रोग्रामर के बीच मध्यस्थ के रूप में कार्य करती थी। पहला और सबसे आम में से एक था फोरट्रान(फोरट्रान, फॉर्मूला ट्रांसलेटर से - फॉर्मूला अनुवादक), 1954 में आईबीएम के प्रोग्रामर्स के एक समूह द्वारा विकसित (पहला संस्करण)। यह भाषा गणितीय प्रकृति की वैज्ञानिक और तकनीकी गणनाओं पर केंद्रित थी और पीसी पर गणितीय और इंजीनियरिंग समस्याओं को हल करने के लिए एक क्लासिक प्रोग्रामिंग भाषा है।

पहली उच्च स्तरीय प्रोग्रामिंग भाषाओं के लिए, भाषाओं का विषय अभिविन्यास एक विशिष्ट विशेषता थी।

प्रोग्रामिंग भाषाओं के बीच एक विशेष स्थान पर कब्जा है अल्गोल, जिसका पहला संस्करण 1958 में सामने आया। डेवलपर्स में से एक अल्गोला"पिता" थे फोरट्रान जॉन बैकस. भाषा का नाम एल्गोरिथमिक लैंग्वेज इस तथ्य पर जोर देता है कि इसका उद्देश्य एल्गोरिदम लिखना है। एक स्पष्ट तार्किक संरचना के साथ अल्गोलबन गया मानक उपकरणवैज्ञानिक और तकनीकी साहित्य में एल्गोरिदम के रिकॉर्ड।

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

डेवलपर्स ने भाषाओं को विभिन्न वर्गों के कार्यों के लिए उन्मुख किया, कुछ हद तक उन्हें एक विशिष्ट पीसी वास्तुकला से जोड़ा, व्यक्तिगत स्वाद और विचारों को लागू किया। 1960 के दशक में एक सार्वभौमिक प्रोग्रामिंग भाषा बनाकर इस "विविधता" को दूर करने का प्रयास किया गया। इस दिशा की सबसे पहली दिमागी उपज थी पी एल/1 (प्रोग्राम लैंग्वेज वन), 1967 में आईबीएम द्वारा विकसित। यह भाषा किसी भी समस्या को हल करने की क्षमता का दावा करती है: कंप्यूटिंग, वर्ड प्रोसेसिंग, संचय और सूचना पुनर्प्राप्ति। हालाँकि, यह बहुत जटिल निकला, इसका अनुवादक पर्याप्त इष्टतम नहीं था और इसमें कई अज्ञात त्रुटियाँ थीं।

हालाँकि, भाषाओं के सार्वभौमिकरण पर लाइन का समर्थन किया गया था। पुरानी भाषाओं को सार्वभौमिक रूपों में आधुनिक बनाया गया है: अल्गोल-68 (1968) फोरट्रान-77. यह मान लिया गया था कि ऐसी भाषाएँ विकसित होंगी और सुधरेंगी, और अन्य सभी को विस्थापित कर देंगी। हालाँकि, इनमें से कोई भी प्रयास सफल नहीं हुआ।

भाषा लिस्प 1965 में सामने आया. यह पुनरावर्ती रूप से परिभाषित कार्यों की धारणा पर आधारित है। चूँकि यह सिद्ध हो चुका है कि किसी भी एल्गोरिदम को पुनरावर्ती कार्यों के कुछ सेट का उपयोग करके वर्णित किया जा सकता है लिस्पमूलतः एक सार्वभौमिक भाषा है। इसकी मदद से, एक पीसी काफी जटिल प्रक्रियाओं, विशेष रूप से लोगों की बौद्धिक गतिविधि का अनुकरण कर सकता है।

प्रस्ताव"कृत्रिम बुद्धिमत्ता" की समस्याओं को हल करने के लिए 1972 में फ्रांस में विकसित किया गया। प्रस्तावआपको औपचारिक रूप से विभिन्न कथनों, तर्क के तर्क का वर्णन करने की अनुमति देता है और पीसी को पूछे गए प्रश्नों के उत्तर देता है।

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

1975 में, दो घटनाओं ने प्रोग्रामिंग के इतिहास में मील का पत्थर साबित किया - बिल गेट्सऔर पॉल एलनअपना स्वयं का संस्करण विकसित करके स्वयं को घोषित किया बुनियादी, ए विर्थऔर जेन्सेनभाषा का क्लासिक विवरण "पास्कल उपयोगकर्ता मैनुअल और रिपोर्ट" जारी किया।

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

अटल बोर्लैंड/आश्चर्यउत्पाद शृंखला पूरी की टर्बो पास्कलऔर विंडोज़ के लिए एक विज़ुअल डेवलपमेंट सिस्टम जारी करने के लिए आगे बढ़े - डेल्फी.

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

1960 के दशक के उत्तरार्ध से लेकर 1980 के दशक की शुरुआत तक की अवधि को सॉफ्टवेयर संकट के साथ आने वाली विभिन्न प्रोग्रामिंग भाषाओं की संख्या में तेजी से वृद्धि की विशेषता है। जनवरी 1975 में, पेंटागन ने अनुवादकों की अव्यवस्था को व्यवस्थित करने और एक सार्वभौमिक भाषा विकसित करने के लिए एक समिति गठित करने का निर्णय लिया। मई 1979 में, विजेता की घोषणा की गई - वैज्ञानिकों के एक समूह के नेतृत्व में जीन इहबिया. विजेता भाषा को डब किया गया एडीए, के सम्मान में ऑगस्टा एडा लेवलेस. यह भाषा बड़े पैमाने के निर्माण और दीर्घकालिक (बहुवर्षीय) रखरखाव के लिए अभिप्रेत है सॉफ्टवेयर सिस्टम, समानांतर प्रसंस्करण, वास्तविक समय प्रक्रिया नियंत्रण की अनुमति देता है।

टिप्पणी 1

पहले प्रोग्राम के काम करने के लिए, कंप्यूटिंग डिवाइस के फ्रंट पैनल पर कुंजी स्विच सेट करना आवश्यक था। स्वाभाविक रूप से इस पद्धति का प्रयोग कर ही रचना संभव हो सकी छोटे कार्यक्रम. एक पूर्ण प्रोग्रामिंग भाषा बनाने का पहला प्रयास जर्मन वैज्ञानिक कोनराड ज़ूस द्वारा किया गया था, जिन्होंने 1943-1945 की अवधि में किया था। प्लैंकलकुल भाषा का विकास किया। प्लैंकलकुल बहुत था आशाजनक भाषा, जो वास्तव में एक उच्च स्तरीय भाषा थी, लेकिन युद्ध के दौरान इसे उचित सम्मान नहीं मिला व्यावहारिक कार्यान्वयन, और इसका विवरण केवल 1972 में प्रकाशित हुआ था।

मशीन कोड। कोडांतरक

प्रोग्रामिंग भाषाओं का इतिहास विकास से शुरू होता है मशीन भाषा: तार्किक शून्य और एक की भाषा। इस भाषा में लिखना बहुत कठिन और थकाऊ था।

1940 के दशक के अंत में प्रोग्रामर्स के काम को सुविधाजनक बनाने के लिए। असेम्बली भाषा का विकास हुआ। किसी भी कमांड को दर्शाने वाले बाइनरी नंबरों के बजाय छोटे शब्द या संक्षिप्ताक्षर लिखे गए। प्रोग्रामर असेंबलर को एक प्रोग्रामिंग भाषा मानते हैं कम स्तर, क्योंकि यह निम्नतम स्तर की भाषा - मशीनी भाषा के करीब है। असेंबलर में लिखे गए प्रोग्राम सीधे तौर पर किसी विशेष प्रोसेसर की विशेषताओं पर निर्भर करते हैं, इसीलिए इसे मशीन-उन्मुख भाषा कहा जाता है।

असेंबलर में प्रोग्राम लिखना एक कठिन कार्य है, और कंप्यूटर उपकरणों का ज्ञान भी आवश्यक है। फिर भी, असेंबली भाषा प्रोग्राम सबसे कुशल और कुशल हैं।

एल्गोरिथम भाषाएँ

प्रोग्रामिंग के विकास के क्रम में, नई, अधिक उन्नत प्रोग्रामिंग भाषाओं को विकसित करना आवश्यक हो गया जो प्राकृतिक भाषाओं के समान होंगी और मशीन निर्देशों के साथ सीधे काम नहीं करने देंगी। उन्हें उच्च स्तरीय भाषाओं के रूप में जाना जाने लगा। उच्च-स्तरीय भाषाएँ एल्गोरिदम के विवरण पर केंद्रित होती हैं, इसलिए उन्हें एल्गोरिथम भाषाएँ कहा जाता है। ऐसी भाषाओं का लाभ किसी विशेष कंप्यूटर से अधिक दृश्यता और स्वतंत्रता है।

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

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

टिप्पणी 2

एल्गोरिथम भाषा में लिखे गए प्रोग्राम का लाभ लेखन की सापेक्ष सादगी, आसान पठनीयता और इसके सुधार की संभावना के कारण प्रोग्राम के साथ काम करने का सरलीकरण है। नुकसान में शामिल हैं: अतिरिक्त समयऔर प्रसारण स्मृति.

संरचित प्रोग्रामिंग

1954 में पहले उच्च स्तरीय भाषा कंपाइलर का विकास शुरू किया गया था। दो साल बाद, फोरट्रान भाषा सामने आई (फॉर्मूला ट्रांसलेटर - "सूत्रों का अनुवादक")। भाषा में ऐसी विशेषताएं थीं जो विकास को बहुत सरल बनाती थीं, लेकिन फोरट्रान में प्रोग्रामिंग कोई आसान काम नहीं था: यदि छोटे कार्यक्रमों में इसे आसानी से समझा जा सकता था, तो जब बड़े कार्यक्रमों की बात आती थी, तो भाषा अपठनीय हो जाती थी। इसके बावजूद यह भाषा काफी सफल रही और इसके कई संस्करण जारी किये गये।

संरचित प्रोग्रामिंग भाषाओं के विकास के बाद समस्याएं हल हो गईं: उन्होंने प्रोग्राम ब्लॉक, स्वतंत्र सबरूटीन, रिकर्सन और स्थानीय चर के लिए समर्थन और बिना शर्त जंप ऑपरेटर (गोटो) की अनुपस्थिति को संभव बना दिया। इस प्रकार, ऐसी भाषाएँ प्रोग्राम को उसके घटक तत्वों में विभाजित करने की संभावना का समर्थन करने लगीं।

दस वर्षों के दौरान काफी बड़ी संख्या में नई भाषाओं का निर्माण हुआ है:

  1. अल्गोल (1958) का उद्देश्य ऐसे एल्गोरिदम लिखना था जो अलग-अलग ब्लॉकों से बने हों;
  2. कोबोल (1959) का उपयोग प्रशासन और व्यवसाय में थोक डेटा प्रोसेसिंग के लिए किया गया है;
  3. बेसिक (1965) ने लिखने की अनुमति दी सरल कार्यक्रम, प्रोग्रामिंग की मूल बातें सिखाने के लिए उपयोग किया जाता है।

निर्मित भाषाओं में से बहुत कम भाषाएँ संरचित थीं। विशिष्ट भाषाएँ भी बनाई गईं: लिस्प, प्रोलॉग, फोर्थ, आदि। विशेष ध्यान देने योग्य है पास्कल भाषा(1970), जिसका नाम वैज्ञानिक ब्लेज़ पास्कल के नाम पर रखा गया था, जिसका उपयोग शिक्षण और विभिन्न जटिलताओं की समस्याओं को हल करने के लिए किया जाता था। पास्कल प्रोग्राम को पढ़ना आसान है, जिससे आप त्रुटियों को तुरंत ढूंढ सकते हैं और ठीक कर सकते हैं, और यह अच्छी तरह से संरचित था। उपरोक्त सभी के कारण इसका व्यापक उपयोग हुआ और आज भी शैक्षणिक संस्थानों में इसका सक्रिय रूप से उपयोग किया जाता है।

1972 में C भाषा सामने आई, जो प्रोग्रामिंग में एक सफल कदम था। भाषा ने कई भाषाओं की खूबियों को मिलाकर बनाया था एक लंबी संख्याविभिन्न नवाचार. इसके अध्ययन की व्यापक संभावनाओं, संरचना और सापेक्ष सरलता ने भाषा को तेजी से पहचान बनाने और मुख्य भाषाओं में से एक का स्थान हासिल करने की अनुमति दी।

संरचित प्रोग्रामिंग के आगमन ने उत्कृष्ट परिणाम दिए, लेकिन लंबे और गंभीर कार्यक्रम लिखना अभी भी मुश्किल था।

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (ओओपी)

1970 के दशक से ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) की नींव रखी गई, जो प्रक्रियात्मक प्रोग्रामिंग के विकास के परिणामस्वरूप उत्पन्न हुई, जिसमें डेटा और उनके प्रसंस्करण रूटीन औपचारिक रूप से संबंधित नहीं थे।

OOP में निम्नलिखित बुनियादी अवधारणाएँ शामिल हैं:

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

टिप्पणी 3

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

वर्तमान में, ऑब्जेक्ट-ओरिएंटेड प्रतिमान को लागू करने वाली अनुप्रयुक्त प्रोग्रामिंग भाषाओं की संख्या अन्य प्रतिमानों की तुलना में सबसे बड़ी है। OOP अवधारणा का समर्थन करने वाली मुख्य भाषाएँ हैं: C++, C#, ऑब्जेक्ट पास्कल (डेल्फ़ी), जावा, आदि।

इंटरनेट विकास

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

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

1970 के दशक में SQL भाषा प्रकट हुई - एक संरचित क्वेरी भाषा जो डेटाबेस तक पहुँचने और उसके साथ काम करने के लिए बनाई गई थी।

वेब पेजों के लिए कोड लिखने के लिए HTML हाइपरटेक्स्ट मार्कअप लैंग्वेज विकसित की गई है, जिसमें टेक्स्ट और ग्राफिक्स को चिह्नित करने और सजाने के लिए कमांड शामिल हैं। साइट को अधिक आकर्षक और कार्यात्मक बनाने के लिए, हम इसका उपयोग करते हैं:

  • जावास्क्रिप्ट स्क्रिप्ट जो उपयोगकर्ता के वेब ब्राउज़र में चलती हैं और मुख्य रूप से सुधार के लिए उपयोग की जाती हैं उपस्थितिसाइट और छोटी-छोटी समस्याओं का समाधान।
  • PHP स्क्रिप्ट जो सर्वर साइड पर चलती हैं और उपयोगकर्ता के ब्राउज़र पर पहले से संसाधित जानकारी भेजती हैं। इनका उपयोग गतिशील HTML पेज, अतिथि पुस्तकें, फ़ोरम और पोल बनाने के लिए किया जाता है।
  • सीजीआई स्क्रिप्ट, जो मुख्य रूप से पर्ल, सी/सी++ में लिखी जाती हैं, सर्वर साइड पर निष्पादित होती हैं और विशिष्ट उपयोगकर्ता क्रियाओं पर निर्भर करती हैं। इनका उपयोग, PHP स्क्रिप्ट की तरह, गतिशील HTML पेज, अतिथि पुस्तकें, फ़ोरम और पोल बनाने के लिए किया जाता है।

नॉलेज बेस में अपना अच्छा काम भेजना आसान है। नीचे दिए गए फॉर्म का उपयोग करें

अच्छा कामसाइट पर">

छात्र, स्नातक छात्र, युवा वैज्ञानिक जो अपने अध्ययन और कार्य में ज्ञान आधार का उपयोग करते हैं, आपके बहुत आभारी होंगे।

प्रकाशित किया गया http://www.allbest.ru/

परिचय

1. सैद्धांतिक भाग

2. व्यावहारिक भाग

2.2 डेटाबेस बनाना

2.3 कार्यक्रम प्रारंभ करना

निष्कर्ष

ग्रन्थसूची

परिशिष्ट A. स्पलैश फॉर्म कोड

परिशिष्ट बी. मुख्य प्रपत्र कोड

परिशिष्ट सी डेटा मॉड्यूल कोड

परिशिष्ट डी. संपादक प्रपत्र कोड

परिचय

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

अनुसंधान का उद्देश्य प्रोग्रामिंग प्रौद्योगिकियां हैं।

अध्ययन का विषय प्रोग्रामिंग प्रौद्योगिकियों के विकास का इतिहास है।

यह टर्म परीक्षाप्रोग्रामिंग के उद्भव के इतिहास और प्रोग्रामिंग भाषा बनाने के बुनियादी सिद्धांतों और दृष्टिकोणों का अध्ययन है।

इस लक्ष्य को प्राप्त करने के लिए निम्नलिखित कार्यों को हल करना आवश्यक है:

1. प्रोग्रामिंग प्रौद्योगिकियों पर सूचना स्रोतों का विश्लेषण करें;

2. प्रोग्रामिंग प्रौद्योगिकियों के विकास के इतिहास पर विचार करें;

3. प्रोग्रामिंग प्रौद्योगिकियों के विकास के चरणों की पहचान करें।

4. कर्मचारियों के बारे में जानकारी संग्रहीत करने के लिए एक डेटाबेस बनाएं।

5. एप्लिकेशन डिज़ाइन करें.

1. सैद्धांतिक भाग

1.1 प्रोग्रामिंग भाषाओं की अवधारणा और वर्गीकरण

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

सरलतम मामले में कंप्यूटर कमांड की संरचना में दो भाग शामिल होते हैं: परिचालन और पता। ऑपरेटिंग भाग में ऑपरेशन कोड (जोड़ें, घटाएं, आदि) होता है। पता भाग में मेमोरी कोशिकाओं के पते शामिल हैं; वे उन ऑपरेंड के मानों को संग्रहीत करते हैं जिनके साथ निर्दिष्ट ऑपरेशन किया जाना चाहिए। कमांड में निर्दिष्ट पतों की संख्या के आधार पर, एक-, दो-, तीन-एड्रेस कमांड को प्रतिष्ठित किया जाता है।

संचालन के भौतिक सिद्धांत इलेक्ट्रॉनिक उपकरणोंकंप्यूटर ऐसे होते हैं कि कंप्यूटर केवल एक और शून्य यानी शून्य वाले कमांड को ही स्वीकार कर सकते हैं। मशीन कोड। कंप्यूटर के विकास के प्रारंभिक चरण में, किसी व्यक्ति के लिए मशीन कोड में कंप्यूटर को समझने योग्य भाषा में प्रोग्राम लिखना आवश्यक था। प्रत्येक निर्देश में एक ऑपकोड और ऑपरेंड पते शामिल होते हैं जिन्हें इस प्रकार व्यक्त किया जाता है विभिन्न संयोजनइकाइयाँ और शून्य.

जैसा कि बाद में कंप्यूटर के साथ संचार करने के अभ्यास से पता चला, ऐसी भाषा बोझिल और असुविधाजनक है। इसका प्रयोग करते समय गलत क्रम में 1 या 0 लिखकर गलती करना आसान होता है। प्रोग्राम को नियंत्रित करना बहुत कठिन होता है। इसके अलावा, मशीन कोड में प्रोग्रामिंग करते समय, किसी को कंप्यूटर की आंतरिक संरचना, प्रत्येक ब्लॉक के संचालन के सिद्धांत का अच्छा ज्ञान होना चाहिए। और ऐसी भाषा के बारे में सबसे बुरी बात यह है कि मशीन कोड में प्रोग्रामिंग के लिए प्रोग्रामर को बहुत अधिक समय, काम और अधिक ध्यान देने की आवश्यकता होती है।

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

प्रोग्रामिंग भाषा कंप्यूटर पर किसी समस्या को हल करने के लिए एल्गोरिदम का वर्णन करने वाली एक औपचारिक भाषा है।

प्रोग्रामिंग को स्वचालित करने के लिए, प्रत्येक कंप्यूटर ने अपना स्वयं का ऑटोकोड (या असेंबलर) विकसित किया। यह भाषा पूरी तरह से मशीन भाषा कमांड के सेट को दोहराती है और केवल मशीन कोड में प्रोग्रामिंग को सरल बनाने के लिए प्रकट हुई है।

भाषा उपकरणों के आगे के विकास ने मशीन-स्वतंत्र भाषाओं के निर्माण के मार्ग का अनुसरण किया, जिससे अधिक उन्नत वास्तुकला में पोर्ट करने की संभावना के साथ किसी भी उपलब्ध कंप्यूटर पर प्रोग्राम लिखना संभव हो गया।

दुनिया में विभिन्न संरचनाओं और क्षमताओं की कई सौ प्रतीकात्मक प्रोग्रामिंग भाषाएं हैं जिन्हें विभिन्न मानदंडों के अनुसार वर्गीकृत किया जा सकता है।

यदि हम प्रोग्रामिंग भाषा निर्माणों के निर्माण के सिंटैक्स को वर्गीकरण सुविधा के रूप में लेते हैं, तो उन्हें सशर्त रूप से निम्नलिखित वर्गों में विभाजित किया जा सकता है:

* मशीन भाषाएँ (कंप्यूटर भाषा) - कंप्यूटर के हार्डवेयर (मशीन कोड) द्वारा समझी जाने वाली प्रोग्रामिंग भाषाएँ;

ѕ मशीन-उन्मुख भाषाएँ (कंप्यूटर उन्मुख भाषा) - प्रोग्रामिंग भाषाएँ जो एक विशेष प्रकार के कंप्यूटर (असेंबलर्स) की संरचना को दर्शाती हैं;

* एल्गोरिथम भाषाएँ (एल्गोरिदमिक भाषा) - प्रोग्रामिंग भाषाएँ जो एल्गोरिथम की संरचना को प्रतिबिंबित करने के लिए कंप्यूटर आर्किटेक्चर पर निर्भर नहीं करती हैं (पास्कल, फोरट्रान, बेसिक, आदि);

ѕ प्रक्रियात्मक रूप से उन्मुख भाषाएं (प्रक्रिया उन्मुख भाषा) - प्रोग्रामिंग भाषाएं, जहां किसी प्रोग्राम को प्रक्रियाओं (सबरूटीन्स) के एक सेट के रूप में वर्णित करना संभव है;

समस्या-उन्मुख भाषाएँ (सार्वभौमिक प्रोग्रामिंग भाषा) - एक निश्चित वर्ग (लिस्प, आरपीजी, सिमुला, आदि) की समस्याओं को हल करने के लिए डिज़ाइन की गई प्रोग्रामिंग भाषाएँ;

* एकीकृत प्रोग्रामिंग सिस्टम।

यदि, वर्गीकरण के संकेत के रूप में, हम उन प्रोग्रामिंग शैलियों में से एक को लेते हैं जो आज तक आकार ले चुकी हैं, जिनमें से प्रत्येक का अपना गणना मॉडल है, तो प्रोग्रामिंग भाषाओं को निम्नलिखित वर्गों में विभाजित किया जा सकता है:

* प्रक्रियात्मक;

* कार्यात्मक;

* तार्किक;

* वस्तु के उन्मुख।

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

1.2 प्रोग्रामिंग भाषाओं का इतिहास

प्राचीन काल से, ऐसे उपकरण बनाने का प्रयास किया गया है जो गणना की प्रक्रिया को तेज और सुविधाजनक बनाते हैं। यहां तक ​​कि प्राचीन यूनानियों और रोमनों ने भी खातों के समान एक उपकरण, अबेकस का उपयोग किया था। ऐसे उपकरण प्राचीन पूर्व के देशों में भी जाने जाते थे। XV सदी में. जर्मन वैज्ञानिक वी. स्किकार्ड (1623), जी. लीबनिज़ (1673) और फ्रांसीसी वैज्ञानिक बी. पास्कल (1642) ने मैकेनिकल कंप्यूटिंग डिवाइस बनाए - जो प्रसिद्ध ऐडिंग मशीन के पूर्ववर्ती थे। कई शताब्दियों में कंप्यूटिंग मशीनों में सुधार किया गया है। लेकिन साथ ही, "प्रोग्राम और प्रोग्रामिंग" की अवधारणा को लागू नहीं किया गया था।

XIX सदी की शुरुआत में। (1830) अंग्रेजी वैज्ञानिक, कैम्ब्रिज विश्वविद्यालय में गणित के प्रोफेसर चार्ल्स बैबेज ने फ्रांस में जनसंख्या जनगणना के प्रसंस्करण के परिणामों का विश्लेषण करते हुए सैद्धांतिक रूप से गणना करने की प्रक्रिया की जांच की और कंप्यूटर वास्तुकला के बुनियादी सिद्धांतों की पुष्टि की। एक विश्लेषणात्मक इंजन - "अंतरों की गणना के लिए मशीनें" की परियोजना पर काम करते हुए, सी. बैबेज ने आधुनिक कंप्यूटरों के संगठन और संचालन के कई विचारों और सिद्धांतों की भविष्यवाणी की, विशेष रूप से प्रोग्राम नियंत्रण और एक याद किए गए प्रोग्राम के सिद्धांत की। विज्ञान के प्रति सामान्य जुनून ने वैज्ञानिक और एडा लवलेस (1815-1852) को कई वर्षों तक फलदायी सहयोग दिया। 1843 में, उन्होंने सी. बैबेज के व्याख्यानों के आधार पर मेनाब्रिया के लेख का अनुवाद किया, जहां विस्तृत टिप्पणियों के रूप में (वे मात्रा में मुख्य पाठ से अधिक थे) उन्होंने विश्लेषणात्मक इंजन की प्रोग्रामिंग के मुख्य सिद्धांत तैयार किए। उन्होंने बैबेज की मशीन के लिए पहला प्रोग्राम (1843) विकसित किया, और उन्हें आविष्कार में उपयोग की आवश्यकता के बारे में आश्वस्त किया बायनरी सिस्टमदशमलव के बजाय गणना ने प्रोग्रामिंग सिद्धांत विकसित किए हैं जिनमें कुछ शर्तों के तहत आदेशों के समान अनुक्रम को दोहराना शामिल है। यह वह थी जिसने "कार्य कोशिका" और "चक्र" शब्द प्रस्तावित किए थे।

ए. लवलेस ने दो समीकरणों की एक प्रणाली को हल करने और बर्नौली संख्याओं की गणना के लिए पहला कार्यक्रम संकलित किया जटिल एल्गोरिदमऔर सुझाव दिया कि समय के साथ विश्लेषणात्मक इंजन संगीत की रचना करेगा, चित्रों को चित्रित करेगा, और व्यावहारिक और में उपयोग किया जाएगा वैज्ञानिक गतिविधि. समय ने पूर्वानुमानों की सत्यता और सटीकता की पुष्टि की है। अपने काम से, ए. लवलेस ने प्रोग्रामिंग की सैद्धांतिक नींव रखी और उन्हें दुनिया का पहला प्रोग्रामर और वैज्ञानिक प्रोग्रामिंग का संस्थापक माना जाता है।

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

सी. बैबेज के विचारों को अमेरिकी वैज्ञानिक जी. होलेरिथ द्वारा कार्यान्वित किया गया, जिन्होंने निर्मित गणना और विश्लेषणात्मक मशीन और पंच कार्ड का उपयोग करके, 1890 तक अमेरिकी जनगणना के परिणामों को तीन वर्षों में संसाधित किया। कार में पहली बार बिजली का प्रयोग किया गया। 1896 में, होलेरिथ ने कंप्यूटिंग पंचिंग मशीन और पंच कार्ड के उत्पादन के लिए एक फर्म की स्थापना की।

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

40 के दशक में. 20 वीं सदी कंप्यूटर के यांत्रिक मौलिक आधार को विद्युत और इलेक्ट्रॉनिक उपकरणों द्वारा प्रतिस्थापित किया जाने लगा। पहली इलेक्ट्रोमैकेनिकल मशीनें जर्मनी में K. Zuse (Ts-3, 1941) द्वारा और संयुक्त राज्य अमेरिका में हार्वर्ड विश्वविद्यालय के प्रोफेसर G. Aiken (MARK-1, 1944) के मार्गदर्शन में बनाई गईं। पहली इलेक्ट्रॉनिक मशीन संयुक्त राज्य अमेरिका में पेंसिल्वेनिया विश्वविद्यालय के डॉ. जे. मौचली और स्नातक छात्र जे. एक्सर्ट (ENIAC - इलेक्ट्रॉनिक संख्यात्मक इंटीग्रेटर और कैलकुलेटर, 1946) के नेतृत्व में इंजीनियरों के एक समूह द्वारा बनाई गई थी। 1949 में, इंग्लैंड में EDSAC का निर्माण किया गया - स्वचालित मशीन वाली पहली मशीन कार्यक्रम प्रबंधन, आंतरिक भंडारण उपकरण और आधुनिक कंप्यूटर के अन्य आवश्यक घटक।

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

1951 में, UNIVAC इलेक्ट्रॉनिक मशीनों (यूनिवर्सल स्वचालित कंप्यूटर) का पहला बड़े पैमाने पर उत्पादन संयुक्त राज्य अमेरिका में शुरू किया गया था। उसी समय, IBM ने IBM/701 मशीन का बड़े पैमाने पर उत्पादन शुरू किया।

यूएसएसआर में, दिसंबर 1948 में आविष्कार किए गए कंप्यूटर के पहले लेखक आई. एस. ब्रुक और बी. आई. रमीव हैं। और संरक्षित प्रोग्राम वाला पहला सोवियत कंप्यूटर 1951 में एस. ए. लेबेडेव (एमईएसएम - एक छोटी इलेक्ट्रॉनिक गणना मशीन) के नेतृत्व में बनाया गया था। 1953 में, सोवियत संघ में मशीनों का बड़े पैमाने पर उत्पादन शुरू हुआ, जिनमें से पहली थीं BESM-1, स्ट्रेला।

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

1950 के दशक के अंत तक. कंप्यूटर इलेक्ट्रॉनिक ट्यूब (पहली पीढ़ी) का मुख्य डिज़ाइन तत्व थे। इस अवधि के दौरान, प्रोग्रामिंग की विचारधारा और प्रौद्योगिकी का विकास अमेरिकी वैज्ञानिकों जे. वॉन न्यूमैन की उपलब्धियों के कारण हुआ, जिन्होंने कंप्यूटर बनाने के बुनियादी सिद्धांत तैयार किए, और जे. बैकस, जिनके नेतृत्व में फोरट्रान (फॉर्मूला ट्रांसलेशन) बनाया गया था। 1954 में बनाई गई - विभिन्न संशोधनों में अब तक उपयोग की जाने वाली पहली उच्च स्तरीय प्रोग्रामिंग भाषा। इसलिए, 1965 में, डी. कामेनी और टी. कर्ट्ज़ ने डार्टमाउथ कॉलेज में फोरट्रान-बेसिक का एक सरलीकृत संस्करण विकसित किया। 1966 में, अमेरिकन स्टैंडर्ड्स एसोसिएशन (एएसए) की एक समिति ने दो भाषा मानक विकसित किए: फोरट्रान और बेसिक फोरट्रान। भाषा के अन्य संशोधनों का भी उपयोग किया जाता है (जैसे 1970, 1990)।

इलेक्ट्रॉनिक्स और माइक्रोइलेक्ट्रॉनिक्स के क्षेत्र में उपलब्धियों ने कंप्यूटर तत्व आधार को और अधिक उन्नत आधार से बदलना संभव बना दिया है। 1950 के दशक के अंत में भारी वैक्यूम ट्यूबों को अर्धचालक (लघु ट्रांजिस्टर) द्वारा प्रतिस्थापित किया जाता है। दूसरी पीढ़ी के कंप्यूटर दिखाई देते हैं; फिर, लगभग 10 वर्षों के बाद, एकीकृत सर्किट पर तीसरी पीढ़ी के कंप्यूटर; अगले 10 वर्षों में - बड़े एकीकृत सर्किट (एलएसआई) पर चौथी पीढ़ी के कंप्यूटर। 1990 के दशक में जापान में. पाँचवीं पीढ़ी के कंप्यूटरों की परियोजनाएँ लागू की गईं, जिनमें कृत्रिम बुद्धिमत्ता और बायोइलेक्ट्रॉनिक्स के क्षेत्र में उपलब्धियों का उपयोग किया गया। यदि 1960 के दशक की सर्वश्रेष्ठ घरेलू मशीनों में से एक की रैंडम एक्सेस मेमोरी (रैम) की मात्रा। 1958 में एस.ए. लेबेदेव के नेतृत्व में बनाए गए एम-20 में 4096 शब्द (8 केबी) और प्रति सेकंड 20 हजार ऑपरेशन की गति थी, फिर आधुनिक पर्सनल कंप्यूटरों की विशेषता दसियों एमबी की रैम और सैकड़ों लाखों की गति है। प्रति सेकंड संचालन की संख्या जो आपको सबसे जटिल समस्याओं को हल करने की अनुमति देती है।

1953 में, ए.ए. लायपुनोव ने एक ऑपरेटर प्रोग्रामिंग विधि का प्रस्ताव रखा, जिसमें प्रोग्रामिंग को स्वचालित करना शामिल था, और समस्या को हल करने के लिए एल्गोरिदम को ऑपरेटरों के एक सेट के रूप में प्रस्तुत किया गया था जो समस्या की तार्किक योजना बनाते हैं। योजनाओं ने किसी प्रोग्राम को संकलित करने की बोझिल प्रक्रिया को तोड़ना संभव बना दिया, जिसके हिस्सों को औपचारिक नियमों के अनुसार संकलित किया गया, और फिर एक पूरे में जोड़ दिया गया। 1954 में यूएसएसआर में ऑपरेटर पद्धति के विचारों का परीक्षण करने के लिए, पहला प्रोग्रामिंग प्रोग्राम पीपी-1 विकसित किया गया था, और 1955 में एक अधिक उन्नत प्रोग्राम - पीपी-2 विकसित किया गया था। 1956 में, BESM सॉफ्टवेयर विकसित किया गया था, 1957 में - PSV, 1958 में - स्ट्रेला मशीन के लिए।

संयुक्त राज्य अमेरिका में, 1954 में, बीजगणितीय दृष्टिकोण लागू किया जाने लगा, संक्षेप में, ऑपरेटर विधि के साथ मेल खाता हुआ। 1956 में, IBM Corporation ने IBM/704 कंप्यूटर पर स्वचालित प्रोग्रामिंग के लिए यूनिवर्सल सॉफ्टवेयर फोरट्रान विकसित किया।

इस अवधि के दौरान, अनुभव और सैद्धांतिक समझ के संचय के साथ, प्रोग्रामिंग भाषाओं में सुधार हुआ। 1958 -1960 में. ALGOL यूरोप में बनाया गया था, जिसने Algol जैसी भाषाओं की एक पूरी श्रृंखला को जन्म दिया: Algol W, (1967), Algo 68, पास्कल (N. विर्थ, 1970), C (D. रिची और B. Kernighan, 1972) , एडा (जे. इश्बिया के नेतृत्व में, 1979), सी++ (1983)।

1961-1962 में मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी में जे. मैक्कार्थी ने कार्यात्मक प्रोग्रामिंग भाषा लिस्प बनाई, जिसने जे. वॉन न्यूमैन द्वारा प्रस्तावित प्रोग्रामिंग में वैकल्पिक दिशाओं में से एक को खोला।

1970 के दशक की शुरुआत में प्रोग्रामिंग स्वचालन के लिए 700 से अधिक उच्च-स्तरीय भाषाएँ और लगभग 300 कंपाइलर थे।

1.3 प्रक्रियात्मक प्रोग्रामिंग भाषाएँ

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

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

कई वर्षों तक यह दुनिया में सबसे अधिक बोली जाने वाली भाषाओं में से एक थी। इस समय के दौरान, फोरट्रान में लिखे गए कार्यक्रमों का एक विशाल पुस्तकालय जमा हो गया है। और अब अगले फोरट्रान मानक पर काम चल रहा है। 2000 में, फोरट्रान F2k संस्करण लागू किया गया था, समानांतर सुपर कंप्यूटर के लिए HPF (हाईपरफॉर्मेंसफोरट्रान) का एक मानक संस्करण है। पीएल-1 और बेसिक में कई फोरट्रान सुविधाओं का उपयोग किया जाता है।

कोबोल (ओमोन ज़फ़्यूज़नेस ओरिएंटेड भाषा) एक प्रोग्रामिंग भाषा है जो डेटा प्रोसेसिंग समस्याओं को हल करने पर केंद्रित है। लेखांकन, आर्थिक और प्रबंधन समस्याओं को हल करने के लिए इसका व्यापक रूप से उपयोग किया जाता है। 1958-1960 में संयुक्त राज्य अमेरिका में विकसित किया गया। एक कोबोल प्रोग्राम वाक्यों की एक श्रृंखला का रूप लेता है अंग्रेजी भाषाऔर नियमित पाठ जैसा दिखता है। क्रमिक रूप से लिखे गए कथनों के समूहों को वाक्यों में, वाक्यों को पैराग्राफों में, पैराग्राफों को अनुभागों में संयोजित किया जाता है। प्रोग्रामर पैराग्राफ और अनुभागों को नाम (लेबल) निर्दिष्ट करता है, जिससे प्रोग्राम के वांछित अनुभाग तक सीधे पहुंच आसान हो जाती है। यूएसएसआर में, भाषा का रूसी संस्करण अपनाया गया था। कोबोल ने विभिन्न बाहरी मीडिया पर संग्रहीत बड़ी मात्रा में डेटा के साथ काम करने के लिए शक्तिशाली उपकरण लागू किए हैं। इस भाषा में कई एप्लिकेशन बनाए गए हैं, उनमें से कुछ का अब भी सक्रिय रूप से उपयोग किया जाता है।

यह कहना पर्याप्त होगा कि अमेरिका में नागरिकों की उच्च भुगतान वाली श्रेणियों में से एक कोबोल प्रोग्रामर हैं।

अल्गोल को 1960 में विदेशी विशेषज्ञों के एक समूह द्वारा विकसित किया गया था और यह 1950 के दशक के अंत में अंतर्राष्ट्रीय सहयोग का परिणाम था। (अल्गोल-60)। अल्गोल का उद्देश्य समस्याओं को हल करने में उपयोग की जाने वाली प्रक्रियाओं के अनुक्रम के रूप में निर्मित एल्गोरिदम लिखना था। अभ्यासकर्ताओं ने इस भाषा को अस्पष्ट रूप से माना, लेकिन फिर भी, एक मान्यता प्राप्त अंतरराष्ट्रीय भाषा के रूप में, इसने प्रोग्रामिंग की बुनियादी अवधारणाओं के विकास और प्रोग्रामर को पढ़ाने में एक बड़ी भूमिका निभाई। इसने सबसे पहले "प्रोग्राम की ब्लॉक संरचना", "डायनामिक मेमोरी आवंटन" की अवधारणाओं को पेश किया। अल्गोल में एक ब्लॉक के भीतर, आप स्थानीय नोटेशन दर्ज कर सकते हैं जो बाकी प्रोग्राम से स्वतंत्र हैं। अपने अंतरराष्ट्रीय मूल के बावजूद, अल्गोल-60 की तुलना में कम आम है

फोरट्रान। उदाहरण के लिए, सभी विदेशी कंप्यूटरों में अल्गोल-60 के अनुवादक नहीं थे। परिणामस्वरूप 1968 में इससे आगे का विकासऔर अल्गोल-60 में सुधार करके, अल्गोल-68 का एक संस्करण बनाया गया। यह एक बहुउद्देशीय सामान्य प्रयोजन उन्नत प्रोग्रामिंग भाषा है।

बाद की संपत्ति ने भाषा की समस्या-उन्मुख बोलियों को प्राप्त करने के लिए, इस भाषा को विभिन्न श्रेणियों के उपयोगकर्ताओं के लिए अनुकूलित करने के लिए अतिरिक्त लागत के बिना भाषा के विभिन्न विस्तारित संस्करणों से अनुवाद करने के लिए एक ही अनुवादक कार्यक्रम का उपयोग करना संभव बना दिया। अपनी क्षमताओं के मामले में, अल्गोल-68 अभी भी कई प्रोग्रामिंग भाषाओं से आगे है, लेकिन कुशल कंप्यूटरों की कमी के कारण, समय पर इसके लिए अच्छे कंपाइलर बनाना संभव नहीं हो सका। हमारे देश में उन वर्षों में, शिक्षाविद आंद्रेई पेत्रोविच एर्शोव के नेतृत्व में, अल्फा अनुवादक बनाया गया था, जो अल्गोल के काफी सफल रूसी संस्करण का प्रतिनिधित्व करता था।

60 के दशक के मध्य में. डार्टमाउथ कॉलेज के गणित विभाग के थॉमस कर्ट्ज़ और जॉन केमेनी ने एक विशेष प्रोग्रामिंग भाषा बनाई जिसमें सरल भाषा शामिल थी अंग्रेजी के शब्द. नई भाषा को शुरुआती लोगों के लिए यूनिवर्सल सिंबोलिक कोड या संक्षेप में बेसिक कहा गया। इस भाषा का जन्म वर्ष 1964 माना जाता है। इंटरैक्टिव डायलॉग मोड में पर्सनल कंप्यूटर पर काम करते समय इसका सबसे अधिक उपयोग किया जाता है। बेसिक की लोकप्रियता को इसके विकास की सादगी और वैज्ञानिक, तकनीकी और आर्थिक समस्याओं के साथ-साथ घरेलू प्रकृति, गेमिंग आदि के कार्यों को हल करने के लिए उपयुक्त पर्याप्त शक्तिशाली सार्वभौमिक उपकरणों की उपस्थिति से समझाया गया है। BASIC में निर्धारित अवधारणाओं के अनुसार, इसमें विभिन्न डिफ़ॉल्ट नियमों का व्यापक रूप से उपयोग किया जाता है, जिसे इस प्रकार की अधिकांश प्रोग्रामिंग भाषाओं में खराब रूप माना जाता है। भाषा के कई संस्करण थे, जो अक्सर एक-दूसरे के अनुकूल नहीं होते थे। हालाँकि, किसी एक संस्करण को जानकर, आप आसानी से किसी अन्य में महारत हासिल कर सकते हैं। बेसिक सक्रिय रूप से अन्य भाषाओं की कई अवधारणाओं और नवीनताओं को अवशोषित करता है।

प्रारंभ में, इंटरैक्टिव मोड एक दुभाषिया का उपयोग करके किया जाता था, अब इस भाषा के लिए कंपाइलर भी उपलब्ध हैं।

60 के दशक की शुरुआत में. मौजूदा प्रोग्रामिंग भाषाओं में से प्रत्येक विभिन्न वर्गों के कार्यों पर केंद्रित थी, लेकिन कुछ हद तक एक विशिष्ट कंप्यूटर आर्किटेक्चर से जुड़ी हुई थी। एक सार्वभौमिक प्रोग्रामिंग भाषा बनाकर इस कमी को दूर करने का प्रयास किया गया है। पीएल/1 (पीएल/1 - प्रोग्रामिंग भाषा वन) - पहली बहुउद्देश्यीय सार्वभौमिक भाषा, 1963-1966 में आईबीएम द्वारा संयुक्त राज्य अमेरिका में विकसित की गई। यह सबसे आम सार्वभौमिक भाषाओं में से एक है, यह कंप्यूटर प्रौद्योगिकी के क्षेत्र में समस्याओं को हल करने के लिए उपयुक्त है: कम्प्यूटेशनल प्रक्रियाओं का अनुसंधान और योजना, मॉडलिंग, तर्क समस्याओं को हल करना और तर्क सर्किट पर शोध करना, सॉफ्टवेयर सिस्टम विकसित करना। पीएल/1 के विकास के दौरान, फोरट्रान, अल्गोल-60, कोबोल भाषाओं की बुनियादी अवधारणाओं और उपकरणों का व्यापक रूप से उपयोग किया गया था। पीएल/1 एक समृद्ध और लचीली भाषा है जो डिबगिंग के दौरान प्रोग्राम टेक्स्ट को सम्मिलित करना और सही करना संभव बनाती है। भाषा व्यापक हो गई है, कई प्रकार के कंप्यूटरों के लिए इसके अनुवादक उपलब्ध हैं। आईबीएम आज भी इस भाषा का समर्थन करता है।

पास्कल सबसे लोकप्रिय प्रक्रियात्मक प्रोग्रामिंग भाषाओं में से एक है, खासकर पर्सनल कंप्यूटर के लिए। 1968-1971 में एक शैक्षिक प्रोग्रामिंग भाषा के रूप में बनाया गया। ज्यूरिख (स्विट्जरलैंड) में टेक्नीश होचस्चुले (ईटीएच) में निकलॉस विर्थ, इसका नाम फ्रांसीसी गणितज्ञ और दार्शनिक ब्लेज़ पास्कल (1623-1662) के नाम पर रखा गया था। एन. विर्थ का कार्य एक सरल वाक्यविन्यास और छोटी संख्या में बुनियादी संरचनाओं के आधार पर एक भाषा बनाना था, जिसे एक साधारण कंपाइलर द्वारा मशीन कोड में अनुवादित किया गया था।

पास्कल की भाषा अवधारणा एक व्यवस्थित दृष्टिकोण पर आधारित है, जिसमें एक सामान्य कार्य से निजी कार्य (सरल और मात्रा में छोटा) में संक्रमण शामिल है। पास्कल के मुख्य सिद्धांतों में शामिल हैं:

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

* ऊपर से नीचे तक प्रोग्रामिंग, जब कार्य को सरल, स्वतंत्र रूप से हल किए गए उप-कार्यों में विभाजित किया जाता है। फिर, हल किए गए उपकार्यों के आधार पर, मूल समस्या का समाधान पूरी तरह से बनाया जाता है - ऊपर से नीचे तक।

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

60 के दशक के आखिर से 80 के दशक की शुरुआत तक का दौर। विरोधाभासी रूप से, सॉफ्टवेयर संकट के साथ आने वाली विभिन्न प्रोग्रामिंग भाषाओं की संख्या में तेजी से वृद्धि की विशेषता है। यह संकट अमेरिकी सैन्य विभाग के लिए विशेष रूप से गंभीर था। जनवरी 1975 में, पेंटागन ने अनगिनत अनुवादकों को हटाने और एक सार्वभौमिक भाषा विकसित करने के लिए एक समिति गठित करने का निर्णय लिया। प्रतिस्पर्धी आधार पर, समिति ने सैकड़ों परियोजनाओं पर विचार किया और पाया कि मौजूदा भाषाओं में से कोई भी उनकी आवश्यकताओं को पूरा नहीं कर सकती है, दो परियोजनाओं को अंतिम विचार के लिए छोड़ दिया गया था। मई 1979 में, विजेता की घोषणा की गई - जीन इहबिया के नेतृत्व में वैज्ञानिकों का एक समूह। विजेता भाषा का नाम महान कवि बायरन की बेटी एडा लवलेस के नाम पर एडीए रखा गया। अपनी युवावस्था में, वह चार्ल्स बैबेज के विचारों से मोहित हो गईं और उन्हें मशीन का विवरण लिखने में मदद की, और 40 के दशक की शुरुआत में। 19 वीं सदी विश्व का पहला कंप्यूटर प्रोग्राम विकसित किया। एडीए भाषा पास्कल की प्रत्यक्ष उत्तराधिकारी है। इसका उद्देश्य बड़े सॉफ्टवेयर सिस्टम के निर्माण और दीर्घकालिक रखरखाव, वास्तविक समय प्रक्रिया नियंत्रण के लिए है। भाषा स्पष्ट रूप से अपनी संरचनाओं की मॉड्यूलरिटी को व्यक्त करती है, और मॉड्यूल के बीच विभिन्न संबंधों को व्यवस्थित करने की सुविधा प्रदान करती है। इसका महत्वपूर्ण लाभ प्रोग्राम शाखाओं की समानांतर प्रोग्रामिंग की संभावना है, जिसे बाद में मल्टीप्रोसेसर कंप्यूटर पर लागू किया जा सकता है। एडीए भाषा सीखना कठिन है।

सी प्रोग्रामिंग भाषा (सी) को लागू करने के लिए बेल लैब्स में विकसित किया गया था ऑपरेटिंग सिस्टम 70 के दशक की शुरुआत में UNIX और उसे जनसमूह नहीं माना जाता था। समान रूप से कुशल और कॉम्पैक्ट प्रोग्राम बनाने में सक्षम होने के लिए, और साथ ही किसी विशेष प्रकार के प्रोसेसर पर निर्भर न रहने के लिए, असेंबलर को बदलने की योजना बनाई गई थी। नियंत्रण संरचनाओं और डेटा संरचनाओं के एक सेट के संदर्भ में, सी में उच्च-स्तरीय भाषाओं में निहित क्षमताएं हैं, और साथ ही इसमें कंप्यूटर की कार्यात्मक इकाइयों तक सीधी पहुंच के साधन हैं। C भाषा का सिंटैक्स आपको संक्षिप्त प्रोग्राम कोड बनाने की अनुमति देता है। सी की आवश्यक विशेषताओं में से एक, जो इसे कार्यात्मक भाषाओं के करीब लाती है, वह यह है कि अभिव्यक्तियों और कथनों के बीच अंतर को समाप्त कर दिया जाता है। उदाहरण के लिए, जो अभिव्यक्तियाँ प्रोग्राम स्टेटमेंट हैं, वे अतिरिक्त रूप से असाइनमेंट ऑपरेशन भी कर सकती हैं। सबरूटीन्स का उपयोग एक फ़ंक्शन की अवधारणा पर आधारित है, जो एक प्रक्रिया की क्षमताओं को भी जोड़ सकता है। सी में किसी प्रक्रिया की कोई अवधारणा नहीं है। भाषा का वाक्य-विन्यास प्रोग्राम को पढ़ना कठिन बना देता है। मजबूत डेटा टाइपिंग की कमी, कई क्रियाओं को एक अभिव्यक्ति में संयोजित करने की क्षमता इस भाषा को प्रोग्रामर्स के लिए आकर्षक बनाती है, उन्हें प्रदान करती है अतिरिक्त सुविधाओं, लेकिन विश्वसनीयता में योगदान नहीं देता प्रोग्राम बनाये. C भाषा लोकप्रिय और व्यापक रूप से उपयोग की जाने वाली भाषा है पेशेवर प्रोग्रामर. यह वर्तमान में अधिकांश कंप्यूटर प्लेटफ़ॉर्म के लिए लागू किया गया है।

1.4 कृत्रिम बुद्धि की भाषाएँ

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

एआई समस्याओं को हल करने के लिए, सत्तर के दशक की शुरुआत में दो विशिष्ट प्रोग्रामिंग भाषाएँ बनाई गईं - प्रोलॉग (प्रोलॉग) और लिस्प (एलआईएसपी)। एक आधुनिक एआई डेवलपर को उनमें से प्रत्येक में पारंगत होना चाहिए। आगे, हम उनकी सबसे विशिष्ट विशेषताओं पर ध्यान देंगे।

ऐतिहासिक रूप से, लिस्प अधिक है पुरानी भाषा. उन्होंने जो अवधारणा प्रस्तुत की उसे कार्यात्मक प्रोग्रामिंग कहा जाता है, जो पारंपरिक एल्गोरिथम दृष्टिकोण का प्रत्यक्ष विस्तार है। लिस्प प्रोग्राम एक फ़ंक्शन है जिसका मूल्यांकन परिणाम प्रोग्राम का परिणाम होता है, और तर्क, अक्सर, अन्य फ़ंक्शन कॉल होते हैं। वस्तुनिष्ठ कारणों से, लिस्प ने फ़ंक्शंस को कॉल करते समय ब्रैकेटलेस नोटेशन को अपनाया, किसी भी फ़ंक्शन को कॉल करने के लिए एक सूची का उपयोग किया जाता है, जिसका पहला तत्व फ़ंक्शन का नाम होता है, और अन्य सभी तत्व तर्कों का प्रतिनिधित्व करते हैं। उदाहरण के लिए, दो संख्याओं A और B को जोड़ना इस तरह दिख सकता है: (A B जोड़ें), तीन संख्याओं को इस तरह जोड़ें: (A जोड़ें (B C जोड़ें))। लिस्प की सबसे महत्वपूर्ण विशेषता यह है कि फॉर्म का रिकॉर्ड (एबी जोड़ें) न केवल एक फ़ंक्शन कॉल की तरह एक सूची हो सकता है, बल्कि डेटा तत्व की तरह एक सूची भी हो सकती है, जिसमें तीन घटक होते हैं - जोड़ें, ए और बी। क्या सूची को डेटा के रूप में उपयोग किया जाना चाहिए, या क्या इसकी व्याख्या लिस्प के भीतर की जानी चाहिए, यह कार्यक्रम द्वारा ही लिया जा सकता है। इस प्रकार, प्रोग्राम को अपने स्वयं के कोड को संशोधित करने की क्षमता मिलती है, जो एआई अनुप्रयोगों के लिए बेहद महत्वपूर्ण है।

प्रोलॉग प्रोग्रामिंग के लिए एक दृष्टिकोण का उपयोग करता है जो एल्गोरिथम प्रोग्रामिंग से मौलिक रूप से अलग है और इसे लक्ष्य या घोषणात्मक प्रोग्रामिंग कहा जाता है। एल्गोरिथम प्रोग्रामिंग में, हम उन क्रियाओं का क्रम निर्दिष्ट करते हैं जो प्रोग्राम को करनी चाहिए, अर्थात। वर्णन करें कि इसे कैसे काम करना चाहिए। घोषणात्मक प्रोग्रामिंग में, हम वर्णन करते हैं कि प्रोग्राम को क्या करना चाहिए, और ये क्रियाएं कैसे की जाएंगी यह प्रोलॉग सिस्टम पर निर्भर करता है।

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

हालाँकि कृत्रिम बुद्धिमत्ता अनुसंधान के दौरान कई अलग-अलग प्रतिनिधित्व भाषाएँ उभरी हैं, लेकिन उन सभी में कई समान गुण हैं।

सबसे पहले, ऐसी सभी भाषाएँ इस अर्थ में घोषणात्मक हैं कि वे किसी विशेष समस्या के समाधान के लिए प्रासंगिक ज्ञान का वर्णन करने की अनुमति देती हैं, न कि इसे हल करने के तरीके का। अधिकांश विशेषज्ञ प्रणालियाँ एक आर्किटेक्चर का उपयोग करती हैं जिसमें ज्ञान को अनुमान इंजन से अलग किया जाता है। यह आपको विभिन्न प्रसंस्करण मोड में समान ज्ञान का उपयोग करके प्रयोग करने की अनुमति देता है। कुछ नए आर्किटेक्चर, जैसे कि बुलेटिन बोर्ड का उपयोग करने वाले, नियंत्रण ज्ञान को घोषणात्मक रूप से प्रस्तुत करने और अन्य प्रकार के ज्ञान की तरह ही प्रबंधित करने की अनुमति देते हैं।

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

तीसरा, ऐसी भाषाओं में कॉलिंग प्रक्रियाओं का तंत्र किसी न किसी रूप में पैटर्न मिलान पर आधारित होता है। उत्पादन प्रणालियों में नियम सक्रियण, बुलेटिन बोर्ड प्रणालियों में ज्ञान स्रोतों का समावेश, और निगमनात्मक प्रणालियों में वाक्यांश समाधान किसी न किसी रूप में ऐसी मैपिंग का उपयोग करते हैं। यह एक बहुत शक्तिशाली और काफी सामान्य तंत्र है जो सिस्टम घटकों के मॉड्यूलर संगठन में योगदान देता है, हालांकि इसके लिए कुछ कंप्यूटिंग संसाधनों की आवश्यकता होती है।

ज्ञान प्रतिनिधित्व भाषाओं को आमतौर पर पैटर्न मिलान द्वारा संचालित एक अनुमान प्रणाली के रूप में लागू किया जाता है। इनमें से किसी भी भाषा में एक प्रोग्राम में कई अपेक्षाकृत स्वतंत्र मॉड्यूल (नियम, संरचनाएं, या वाक्यांश) होते हैं जो इनपुट डेटा के लिए मैप किए जाते हैं और मेमोरी में डेटा में हेरफेर करते हैं। ऐसी किसी भी प्रणाली के लिए तीन आवश्यक घटक होते हैं।

* मॉड्यूल का एक सेट, जिनमें से प्रत्येक को सिस्टम में प्रवेश करने वाले डेटा द्वारा सक्रिय किया जा सकता है यदि यह डेटा इस मॉड्यूल के लिए परिभाषित पैटर्न से मेल खाता है।

* एक या अधिक गतिशील डेटा संरचनाएँ जिन्हें सक्रिय मॉड्यूल द्वारा पार्स और संशोधित किया जा सकता है।

* एक दुभाषिया जो मॉड्यूल के चयन और सक्रियण के माध्यम से चक्र चलाता है।

हाल के वर्षों में इस क्षेत्र में अनुसंधान निम्नलिखित कार्यों पर केंद्रित रहा है:

* खोज प्रभावी तरीकेदुभाषियों का कार्यान्वयन;

ѕ के लिए उपयुक्त सॉफ़्टवेयर की "शुद्ध औपचारिकताओं" के आधार पर निर्माण व्यावहारिक अनुप्रयोग;

* "मिश्रित" औपचारिकताओं का प्रयोग करना जो विभिन्न प्रतिमानों को जोड़ती हैं।

आज तक, CLIPS जैसी भाषाएँ उपयोगकर्ता को ज्ञान का प्रतिनिधित्व करने और हेरफेर करने के लिए विभिन्न प्रकार के उपकरण प्रदान करती हैं, जो विशेषज्ञों के हाथों में, व्यावहारिक समस्याओं की एक विस्तृत श्रृंखला को हल करने के लिए प्रोग्राम बनाने की अनुमति देती हैं।

1.5 प्रोग्रामिंग के लिए वस्तु-उन्मुख दृष्टिकोण

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

OOP तीन प्रमुख सिद्धांतों (एनकैप्सुलेशन, इनहेरिटेंस, पॉलीमोर्फिज्म) पर आधारित है जो वस्तुओं को नए गुण देते हैं।

* एनकैप्सुलेशन - उनके प्रसंस्करण के लिए डेटा और एल्गोरिदम को एक पूरे में संयोजित करना। यहां डेटा ऑब्जेक्ट के फ़ील्ड हैं, और एल्गोरिदम ऑब्जेक्ट के तरीके हैं।

* वंशानुक्रम - अपने वंशजों को उत्पन्न करने के लिए वस्तुओं की संपत्ति। एक वंशज वस्तु स्वचालित रूप से सभी क्षेत्रों और विधियों को प्राप्त करती है, वस्तुओं को नए क्षेत्रों के साथ पूरक कर सकती है, विधियों को प्रतिस्थापित और पूरक कर सकती है।

* बहुरूपता समान समस्याओं को विभिन्न तरीकों से हल करने के लिए संबंधित वस्तुओं की संपत्ति है।

सॉफ़्टवेयर ऑब्जेक्ट का उपयोग करने का विचार पिछले कुछ वर्षों में विभिन्न वैज्ञानिकों द्वारा खोजा गया है। सिमुला-67 को इस प्रकार की पहली भाषाओं में से एक माना जाता है। और 1972 में, एलन के द्वारा विकसित स्मोलटॉक भाषा सामने आई, जिसने ओओपी की स्थिति को मंजूरी दी।

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

1.6 घटक प्रोग्रामिंग

घटक प्रोग्रामिंग (सीपी) के आगमन के साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के बुनियादी सिद्धांतों का विकास प्राप्त हुआ। केपी - गतिशील प्रक्रियासख्त नियमों के बिना, मुख्य रूप से वितरित प्रणालियों के वितरित विकास (प्रोग्रामिंग) के लिए किया जाता है। केपी का सार यह है कि स्वतंत्र डिजाइनर, प्रोग्रामर एक एकल प्रणाली के स्वतंत्र घटकों (अलग-अलग हिस्सों) को विकसित करते हैं, जो एक बड़े नेटवर्क के कई नोड्स पर वितरित होते हैं। ये हिस्से अलग-अलग मालिकों के स्वामित्व में हो सकते हैं और संगठनात्मक रूप से स्वतंत्र प्रशासकों द्वारा प्रबंधित किए जा सकते हैं।

सीपी में, एक घटक को एक या अधिक कक्षाओं के लिए रिपॉजिटरी (DLL या EXE फ़ाइलों के रूप में) माना जाता है। कक्षाएं द्विआधारी रूप में वितरित की जाती हैं, रूप में नहीं सोर्स कोड. क्लास विधियों तक पहुंच प्रदान करना प्रोटोकॉल के अनुसार कड़ाई से परिभाषित इंटरफेस के माध्यम से किया जाता है। यह कंपाइलर असंगतताओं की समस्या को समाप्त करता है, जिससे कक्षाओं को पुनर्संकलन के बिना विभिन्न अनुप्रयोगों में संस्करण बदलने की अनुमति मिलती है। इंटरफ़ेस सेवा की सामग्री को परिभाषित करते हैं और क्लाइंट और सर्वर के बीच मध्यस्थ होते हैं।

माइक्रोसॉफ्ट ने वितरित प्रणालियों के वितरित विकास के लिए प्रौद्योगिकियों का निर्माण किया है, जैसे COM (घटक ऑब्जेक्ट मॉडल), COM+, .NET। अन्य प्रौद्योगिकियाँ भी विकसित की गई हैं: CORBA (OMG कंसोर्टियम), JAVA (सन माइक्रोसिस्टम कंपनी), आदि। एल्गोरिदम और प्रोग्रामर के कंपाइलरों के कार्यों को कंप्यूटर में स्थानांतरित करने के विचार ने कृत्रिम बुद्धिमत्ता के क्षेत्र के विकास के लिए नए अवसर दिए, जो बौद्धिक समस्याओं को स्वचालित रूप से हल करने के लिए तरीकों का निर्माण करना था। विभिन्न क्षेत्रों में पेशेवरों के पास मौजूद ज्ञान की औपचारिकता, कंप्यूटर पर लागू ज्ञान के आधारों में उनका संचय, विशेषज्ञ प्रणालियों के निर्माण का आधार बन गया। 5वीं पीढ़ी के कंप्यूटर, बुद्धिमान रोबोट और विशेषज्ञ प्रणालियाँ ज्ञान के आधार पर काम करती हैं। ये सिस्टम न केवल किसी विशेष समस्या का समाधान ढूंढ सकते हैं, बल्कि यह भी बता सकते हैं कि इसे कैसे प्राप्त किया गया।

कंप्यूटर से उच्च-स्तरीय भाषाओं की स्वतंत्रता ने कार्यों के एल्गोरिथमीकरण के क्षेत्र में ज्ञान की विभिन्न शाखाओं के विशेषज्ञों को शामिल किया, जिससे कई मानक मानक कार्यक्रमों का उपयोग करना संभव हो गया, और प्रोग्रामर के लिए विभिन्न प्रकार के कंप्यूटरों के लिए प्रोग्राम लिखने में दोहराव को खत्म करना संभव हो गया। और श्रम उत्पादकता में उल्लेखनीय वृद्धि होगी।

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

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

1. उपकरण के लिए (आंतरिक) कार्यक्रम;

2. ओएस कर्नेल;

3. युग्मन कार्यक्रम;

4. ओएस का हिस्सा, उपयोगकर्ता-उन्मुख;

5. प्रोग्रामिंग सिस्टम;

6. (बाहरी) उपयोगकर्ता कार्यक्रम।

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

1.7 संरचित और वस्तु-उन्मुख प्रोग्रामिंग तकनीकों को लागू करना

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

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

इस सदी की शुरुआत में, वर्ड प्रोसेसर अधिक उन्नत हो गए। सरल लोगों (उदाहरण के लिए, प्रोफेशनल राइट इत्यादि) के साथ, एमएस विनवर्ड, वर्ड परफेक्ट वर्ड स्टार 2000 इत्यादि जैसे शक्तिशाली लोग दिखाई दिए। घरेलू लोगों में से, लेक्सिकॉन वर्ड प्रोसेसर व्यापक हो गया है।

1980 के दशक की शुरुआत से संख्यात्मक जानकारी तैयार करने और संसाधित करने के लिए स्प्रेडशीट प्रोसेसर का उपयोग किया जाने लगा। 1979 में, डी. ब्रिकलिन ने पहला स्प्रेडशीट प्रोग्राम Visicalc प्रस्तावित किया। 1981 में, कंप्यूटर एसोसिएट्स द्वारा सुपर कैल्क सिस्टम विकसित किया गया था, 1982 में - माइक्रोसॉफ्ट द्वारा मल्टीप्लान, फिर - लोटस डेवलपमेंट द्वारा आईबीएम पीसी लोटस -2-3 के लिए एक पैकेज, रसीफाइड पैकेज ABAK, DRAKON और आदि। 1985 में, माइक्रोसॉफ्ट की एक्सेल स्प्रेडशीट प्रोसेसर शुरू में दिखाई दिया निजी कंप्यूटरमैकिंटोश और बाद में आईबीएम पीसी संगत के लिए। इस प्रोसेसर को विंडोज़ ओएस के समानांतर विकसित किया गया था, इसके संस्करणों में सभी सुविधाएँ शामिल हैं जीयूआई, तक एक्सेल के संस्करण 5.0 के रूप में विंडोज़ अनुप्रयोग 3.1, विंडोज़ 95 अनुप्रयोगों के रूप में एक्सेल 7.0, आदि। हाल के वर्षों में, बहुत सारे स्प्रेडशीट दस्तावेज़ तैयार करने वाले सिस्टम बनाए गए हैं, यानी स्प्रेडशीट, स्प्रेडशीट प्रोसेसर (उदाहरण के लिए, कोरल कंपनी से कोरल क्वाट्रो 6.0, लोटस डेवलपमेंट कंपनी से लोटस 5.0, ऑफिस प्रोफेशनल के लिए विंडोज़ फर्म"माइक्रोसॉफ्ट") - लेकिन सबसे व्यापक रूप से इस्तेमाल किया जाने वाला इलेक्ट्रॉनिक एक्सेल टेबल.

बड़ी संख्या में मानक संबंधपरक डेटाबेस प्रबंधन प्रणालियाँ - DBMS (उदाहरण के लिए, MS Access, विरोधाभास, आदि) विकसित की गई हैं, जिसके आधार पर विभिन्न विषय क्षेत्रों में संबंधपरक डेटाबेस बनाए जाते हैं।

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

2. व्यावहारिक भाग

2.1 सॉफ्टवेयर तर्क

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

डेल्फ़ी के साथ आप विभिन्न प्रकार के प्रोग्राम बना सकते हैं - और कंसोल एप्लिकेशन, और विंडो एप्लिकेशन, और डेटाबेस और इंटरनेट के साथ काम करने के लिए एप्लिकेशन। कंसोल अनुप्रयोगों में, डेटा इनपुट और आउटपुट के लिए Read, Readln, Write, Writeln प्रक्रियाओं का उपयोग किया जाता है। कंसोल एप्लिकेशन को निष्पादित करने के लिए, MS DOS ऑपरेटिंग सिस्टम मोड का अनुकरण किया जाता है।

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

माइक्रोसॉफ्ट ऑफिसएक्सेस या बस माइक्रोसॉफ्ट एक्सेस माइक्रोसॉफ्ट कॉर्पोरेशन का एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (डीबीएमएस) है। इसमें लिंक की गई क्वेरीज़, बाहरी तालिकाओं और डेटाबेस के लिंक सहित सुविधाओं की एक विस्तृत श्रृंखला है। अंतर्निहित वीबीए भाषा के लिए धन्यवाद, आप ऐसे एप्लिकेशन लिख सकते हैं जो एक्सेस में ही डेटाबेस के साथ काम करते हैं।

एमएस एक्सेस के मुख्य घटक:

· टेबल बिल्डर;

स्क्रीन फॉर्म बिल्डर;

एसक्यूएल क्वेरी बिल्डर (एमएस एक्सेस में एसक्यूएल भाषा एएनएसआई मानक का अनुपालन नहीं करती है);

· मुद्रण योग्य रिपोर्ट बिल्डर.

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

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

एक्सेस, डेटाबेस के साथ काम करते समय, अन्य प्रोग्रामों की तुलना में हार्ड (या फ्लॉपी) डिस्क के साथ अलग तरह से इंटरैक्ट करता है।

अन्य प्रोग्रामों में, खोले जाने पर दस्तावेज़ फ़ाइल पूरी तरह से लोड हो जाती है टक्कर मारना, और इस फ़ाइल का नया संस्करण (संशोधित फ़ाइल) पूरी तरह से डिस्क पर तभी लिखा जाता है जब आप "सहेजें" बटन पर क्लिक करते हैं।

एक्सेस में, जैसे ही कीबोर्ड कर्सर किसी अन्य सेल में रखा जाता है, संशोधित तालिका सेल की सामग्री का एक नया संशोधन डिस्क पर लिखा जाता है (सहेजा जाता है) (या कीबोर्ड पर जैसे ही संशोधित रिकॉर्ड का एक नया संशोधन डिस्क पर लिखा जाता है) कर्सर को दूसरे रिकॉर्ड (लाइन) में रखा गया है)। इस प्रकार, यदि बिजली अचानक कट जाती है, तो केवल उस रिकॉर्ड का परिवर्तन खो जाएगा जिसके पास जाने का समय नहीं था।

एक्सेस में डेटा अखंडता भी लेनदेन तंत्र द्वारा सुनिश्चित की जाती है।

एक्सेस में एक "सेव" बटन भी होता है, लेकिन डेटा व्यू मोड में एक्सेस में, सबसे पहले, किसी तालिका या अन्य ऑब्जेक्ट के बदले हुए व्यू मोड को सहेजने के लिए इसकी आवश्यकता होती है - यानी, ऐसे परिवर्तनों को सहेजने के लिए:

कॉलम की चौड़ाई और पंक्ति की ऊंचाई बदलना

डेटा दृश्य मोड में कॉलमों को पुनर्व्यवस्थित करना, कॉलमों को "पिन करना" और पिन किए गए कॉलमों को जारी करना,

क्रमबद्ध परिवर्तन,

नया फ़िल्टर लागू करना

फ़ॉन्ट बदलना पाठ, ग्रिड और पृष्ठभूमि रंग,

इसके अलावा, एक्सेस में, इस मोड में किए गए डेटाबेस ऑब्जेक्ट की संरचना में परिवर्तनों को सहेजने के लिए "डिज़ाइन" मोड में इस बटन की आवश्यकता होती है।

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

फ़ाइल आकार में यह वृद्धि, वास्तव में, एक शून्य है, लेकिन यह शून्य फ़ाइल के भीतर रहता है, जिससे इसका आकार बढ़ जाता है।

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

भाषा प्रोग्रामिंग विकास कार्यक्रम

2.2 डेटाबेस बनाना

डेटाबेस में चार तालिकाएँ बनाई गईं: पता, व्यक्तिगत डेटा, स्थिति, फ़ोन।

"पता" तालिका कर्मचारियों के निवास स्थान के बारे में जानकारी संग्रहीत करती है। इसमें निम्नलिखित फ़ील्ड बनाए गए थे: कर्मचारी, देश, शहर, घर का पता।

चित्र 1 पता तालिका को डिज़ाइन मोड में दिखाता है।

चित्र 1. - तालिका "पता"

"स्थिति" तालिका किसी कर्मचारी के कब्जे वाले पद के बारे में जानकारी संग्रहीत करती है। इसमें निम्नलिखित फ़ील्ड बनाए गए: कर्मचारी, विभाग, पद।

चित्र 2. - तालिका "स्थिति"

तालिका "व्यक्तिगत डेटा" कर्मचारियों के बारे में जानकारी संग्रहीत करती है। इसमें निम्नलिखित फ़ील्ड बनाए गए थे: कुंजी, उपनाम, प्रथम नाम, संरक्षक, लिंग, वैवाहिक स्थिति, बच्चे, जन्म तिथि, प्रवेश तिथि, सेवा की लंबाई, शिक्षा, सैन्य सेवा (पति)।

चित्र 3. - तालिका "व्यक्तिगत डेटा"

"फ़ोन" तालिका कर्मचारी के साथ संचार के साधनों के बारे में जानकारी संग्रहीत करती है। इसमें निम्नलिखित फ़ील्ड बनाए गए: कर्मचारी, फ़ोन, नोट।

चित्र 4. - तालिका "फ़ोन"

2.3 एप्लिकेशन लॉन्च करना

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

इस फॉर्म में टाइमर, लेबल और छवि घटक शामिल हैं।

चित्र 5. - स्क्रीनसेवर प्रपत्र

· टाइमर घटक में केवल चार गुण और एक घटना है, और डेल्फ़ी टाइमर घटक के साथ काम करना बहुत आसान है।

...

समान दस्तावेज़

    प्रोग्रामिंग भाषाओं और उनकी संरचना के बारे में बुनियादी जानकारी। कंप्यूटर प्रोग्राम। कंपाइलर उपयोग और ऑपरेटर। उच्च स्तरीय प्रोग्रामिंग भाषाएँ। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की अवधारणाएँ। कृत्रिम बुद्धि की भाषाएँ।

    प्रस्तुतिकरण, 08/14/2013 को जोड़ा गया

    मशीन कोड और असेंबलर। पहली उच्च स्तरीय प्रोग्रामिंग भाषाएँ। फोरट्रान प्रोग्रामिंग भाषा. ALGOL के फायदे और नुकसान। वैज्ञानिक और लेखा कार्यक्रम. बुनियादी प्रोग्रामिंग भाषा बनाते समय जिन बुनियादी सिद्धांतों का पालन किया गया।

    टर्म पेपर, 06/21/2014 को जोड़ा गया

    ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का उपयोग करना - अच्छा निर्णयबड़ी सॉफ्टवेयर परियोजनाओं के विकास में। वस्तु-उन्मुख भाषा के आधार के रूप में वस्तु और वर्ग। वस्तु-उन्मुख भाषाओं की अवधारणा। भाषाएँ और सॉफ्टवेयर वातावरण।

    परीक्षण, 01/17/2011 जोड़ा गया

    प्रोग्रामिंग भाषाओं के विकास का इतिहास; C++ भाषा का निर्माण और वितरण; ऑब्जेक्ट-ओरिएंटेड सॉफ़्टवेयर के विकास के लिए एक नया दृष्टिकोण। उनके सूचनात्मक प्रतिबिंबों की संरचना के लिए डोमेन मॉडलिंग का अनुप्रयोग।

    सार, 12/06/2010 को जोड़ा गया

    आधुनिक प्रोग्रामिंग भाषाओं (पास्कल, असेंबलर, सी++, बेसिक, लोगो, फोर्ट, प्रोलॉग, रेफल और लेक्स) का विवरण। प्रोग्रामिंग सिस्टम की अवधारणा, उद्देश्य और घटक (मशीन-उन्मुख और मशीन-स्वतंत्र प्रोग्रामिंग सिस्टम)।

    टर्म पेपर, 08/18/2010 को जोड़ा गया

    प्रोग्रामिंग भाषाओं का शब्दार्थ. प्रक्रियात्मक और वस्तु-उन्मुख प्रोग्रामिंग भाषाएँ। मानक टेम्पलेट लाइब्रेरी. ऑपरेटिंग सिस्टम और हार्डवेयर से बाइटकोड की स्वतंत्रता और किसी भी डिवाइस पर जावा एप्लिकेशन चलाने की क्षमता।

    सार, 11/24/2009 जोड़ा गया

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

    टर्म पेपर, 11/17/2014 जोड़ा गया

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

    टर्म पेपर, 12/22/2011 जोड़ा गया

    वेब प्रोग्रामिंग भाषाओं की उत्पत्ति का इतिहास. उनमें से सबसे पहले की उपस्थिति के ऐतिहासिक तथ्य। आधुनिक का सार, वर्तमान समय में प्रासंगिक, एचटीएमएल भाषा, PHP भाषा, अनुप्रयोग के उद्भव का इतिहास जावा भाषालिपि और उसका उपयोग.

    सार, 02/23/2013 को जोड़ा गया

    प्रोग्रामिंग भाषाओं का विकास और वर्गीकरण। दिशा-निर्देशप्रोग्रामिंग भाषाओं के अध्ययन के लिए. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की बुनियादी अवधारणाएँ। हाइपरटेक्स्ट मार्कअप भाषा का उपयोग करके एक इलेक्ट्रॉनिक पाठ्यपुस्तक का निर्माण।

यूक्रेन के शिक्षा और विज्ञान मंत्रालय

क्रीमिया आर्थिक संस्थान

GVUZ "कीव राष्ट्रीय आर्थिक विश्वविद्यालय उन्हें। वी. हेटमैन"

सूचना प्रणाली और प्रौद्योगिकी विभाग

अभ्यास रिपोर्ट

अनुशासन: "आर्थिक सूचना विज्ञान"

पहले खंड में, मैं "प्रोग्रामिंग भाषाओं के इतिहास" से संबंधित प्रश्न से निपटता हूँ। कंप्यूटर प्रौद्योगिकी के विकास के साथ, विभिन्न प्रोग्रामिंग तकनीकों का उदय हुआ। प्रत्येक चरण में, एक नया दृष्टिकोण बनाया गया जिससे प्रोग्रामरों को कार्यक्रमों की बढ़ती जटिलता से निपटने में मदद मिली। पहले प्रोग्राम में कंप्यूटिंग डिवाइस के फ्रंट पैनल पर कुंजी स्विच स्थापित करना शामिल था। जाहिर है, इस तरह केवल छोटे प्रोग्राम ही लिखे जा सकते थे।

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

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

तीसरे खंड में, मैं इस विषय पर अपनी वेबसाइट के निर्माण का वर्णन करता हूं: "एक अवकाश गृह की वेबसाइट।" वर्तमान समय में यह बहुत प्रासंगिक है और इसका सीधा संबंध मेरे भविष्य के पेशे से है।


कंप्यूटर इलेक्ट्रॉनिक उपकरणों के संचालन के भौतिक सिद्धांत ऐसे हैं कि एक कंप्यूटर केवल एक और शून्य यानी मशीन कोड वाले कमांड को स्वीकार कर सकता है। कंप्यूटर के विकास के प्रारंभिक चरण में, किसी व्यक्ति के लिए मशीन कोड में कंप्यूटर को समझने योग्य भाषा में प्रोग्राम लिखना आवश्यक था। प्रत्येक निर्देश में एक ऑपकोड और ऑपरेंड पते शामिल होते हैं जिन्हें 1s और 0s के विभिन्न संयोजनों के रूप में व्यक्त किया जाता है।

जैसा कि बाद में कंप्यूटर के साथ संचार करने के अभ्यास से पता चला, ऐसी भाषा बोझिल और असुविधाजनक है। इसका प्रयोग करते समय गलत क्रम में 1 या 0 लिखकर गलती करना आसान होता है। प्रोग्राम को नियंत्रित करना बहुत कठिन होता है। इसके अलावा, मशीन कोड में प्रोग्रामिंग करते समय, किसी को कंप्यूटर की आंतरिक संरचना, प्रत्येक ब्लॉक के संचालन के सिद्धांत का अच्छा ज्ञान होना चाहिए। और ऐसी भाषा के बारे में सबसे बुरी बात यह है कि मशीन कोड में प्रोग्रामिंग के लिए प्रोग्रामर को बहुत अधिक समय, काम और अधिक ध्यान देने की आवश्यकता होती है।

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

प्रोग्रामिंग भाषाओं की विशेषताएँ

प्रोग्रामिंग भाषा एक विशेष भाषा है जिसमें कंप्यूटर को नियंत्रित करने के लिए कमांड लिखे जाते हैं। प्रोग्रामिंग भाषाओं को लोगों के लिए कंप्यूटर के लिए पढ़ना और लिखना आसान बनाने के लिए डिज़ाइन किया गया है, लेकिन फिर उन्हें मशीन कोड में अनुवादित किया जाना चाहिए (अनुवादक या दुभाषिया द्वारा), जो एकमात्र चीज है जिसे कंप्यूटर द्वारा निष्पादित किया जा सकता है। प्रोग्रामिंग भाषाओं को उच्च स्तरीय भाषाओं और निम्न स्तरीय भाषाओं में विभाजित किया जा सकता है।

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

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

प्रोग्रामिंग भाषाओं का संक्षिप्त इतिहास. कालक्रम

एक निश्चित दृष्टिकोण से, कंप्यूटर उद्योग और कंप्यूटर विज्ञान के संपूर्ण इतिहास को प्रोग्रामिंग भाषाओं के विकास के इतिहास के रूप में दर्शाया जा सकता है। समय बदल रहा है, कार्य अधिक जटिल होते जा रहे हैं, पहले जिन कार्यों के लिए वर्षों की आवश्यकता होती थी, अब उत्साही लोग उन्हें कुछ ही हफ्तों में अपने घुटनों पर कर लेते हैं; एक विशाल जनसमूह जमा हो गया मानक समाधान, सामान्य पुस्तकालय और सामान्य प्रोग्रामर। और प्रोग्रामिंग भाषाओं का निर्माण, विकास और परिवर्तन जोरों पर है।

विषय के अध्ययन का उद्देश्य प्रोग्रामिंग भाषाएं हैं, जो अलग-अलग समय पर और अलग-अलग परिस्थितियों में सामान्य और आम तौर पर स्वीकृत के विकल्प के रूप में पेश की गईं और पेश की जा रही हैं; उनके भाग्य, गुण और संभावनाएँ।

अब मैं तुम्हें प्रस्ताव दूंगा एक संक्षिप्त इतिहासप्रोग्रामिंग भाषा:

1801 - जोसेफ मारिया जैक्वार्ड ने छिद्रित कार्डों का उपयोग करके कपड़े पर "हैलो वर्ल्ड" की कढ़ाई की। उस समय के खाब्रोवाइट टेल रिकर्सन, मल्टीथ्रेडिंग और कैपिटल लेटर्स की कमी से नाखुश हैं।

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

1936 - एलन ट्यूरिंग ने उन सभी भाषाओं का आविष्कार किया जो सैद्धांतिक रूप से मौजूद हो सकती हैं, लेकिन उनके पास उन्हें पेटेंट कराने का समय नहीं है।

1936 - अलोंजो चर्च ने भी हर संभव भाषा का आविष्कार किया, केवल बेहतर। इसका लैम्ब्डा कैलकुलस अलोकप्रिय है क्योंकि यह C जैसा नहीं दिखता है। यह आलोचकों को परेशान नहीं करता है कि C का अभी तक आविष्कार नहीं हुआ है।

1940 का दशक - तारों को टांका लगाने और संपर्कों को बंद करने के लिए विभिन्न "कंप्यूटर" "प्रोग्राम"।

1957 - जॉन बैकस और आईबीएम ने फोरट्रान का आविष्कार किया। आईबीएम और फोरट्रान के बारे में कोई मज़ाक नहीं है। यदि प्रोग्रामर ने टाई नहीं पहनी है तो फोरट्रान कंपाइलर एक त्रुटि उत्पन्न करता है।

1958 - जॉन मैक्कार्थी और पॉल ग्राहम एलआईएसपी लेकर आये। एलआईएसपी की लोकप्रियता दुनिया में कोष्ठक की आपूर्ति में कमी के कारण बाधित हुई है, सौभाग्य से, घुंघराले और कोण कोष्ठक की आपूर्ति व्यावहारिक रूप से अटूट है। हालाँकि, LISP (आजकल लिस्प, कभी-कभी आर्क के रूप में जाना जाता है) "मौलिक सूचना प्रौद्योगिकी अवधारणाओं जैसे कि पुनरावृत्ति और भोग" ​​के लिए स्वीकृत मानक है।

1964 - जॉन केमनी और थॉमस कर्ट्ज़ ने बेसिक लिखी, जो गैर-प्रोग्रामर्स के लिए एक असंरचित भाषा है।

1970 - गाइ स्टील और गेराल्ड सुएसमैन ने योजना बनाई। उनके प्रयासों का परिणाम "सर्वशक्तिमान लैम्ब्डा" और फिर "सर्वशक्तिमान लैम्ब्डा, यूनिवर्सल स्लो कुकर" है।

1970 - निकलास विर्थ ने प्रक्रियात्मक भाषा पास्कल का निर्माण किया। बहुत से लोग C से भिन्न असाइनमेंट ऑपरेटर सिंटैक्स से नाखुश हैं। आलोचकों को इस बात से कोई आपत्ति नहीं है कि C का अभी तक आविष्कार नहीं हुआ है।

1972 - डेनिस रिची ने एक ऐसी पिस्तौल का आविष्कार किया जो एक ही समय में दोनों तरफ से गोली मारती है। इस उपकरण के कारण होने वाली मौतों और चोटों की संख्या से असंतुष्ट होकर, उन्होंने सी भाषा और यूनिक्स का निर्माण किया।

1972 - एलेन कोल्मेरो ने तार्किक भाषा प्रोलॉग का आविष्कार किया। एक वैज्ञानिक का अधिकतम कार्य कम्प्यूटर को दो वर्ष के बच्चे की बुद्धि प्रदान करना है। वह एक ऐसा प्रोग्राम लिखने का शानदार काम करता है जिसका उत्तर "नहीं!" किसी भी अनुरोध के लिए.

1973 - रॉबिन मिलनर ने एम एंड एम प्रकार के सिद्धांत पर आधारित भाषा एमएल लिखी। एमएल एलएसयू उत्पन्न करता है, जिसमें औपचारिक रूप से वर्णित शब्दार्थ है। भाषाओं के ML परिवार में OCaml, F# और Visual Basic शामिल हैं।

1980 - एलन के ने स्मॉलटॉक लिखा और "ऑब्जेक्ट-ओरिएंटेड" शब्द गढ़ा। जब उनसे समझाने के लिए कहा गया, तो उन्होंने जवाब दिया "ओओपी में प्रोग्राम सिर्फ ऑब्जेक्ट हैं।" जब उनसे पूछा गया कि वस्तुएं किस चीज से बनी हैं, तो उन्होंने "वस्तुओं से" उत्तर दिया और बताया कि "वस्तुओं सहित हर चीज वस्तुओं से बनी है।" और चार हाथियों पर खड़ा है।

1983 - ब्योर्न स्ट्राउस्ट्रप ने सी भाषा अपनाई, जो कुछ भी मन में आता है उसे गढ़ते हैं और इसे सी++ कहते हैं। कार्यक्रमों को उचित समय में संकलित करने के लिए, उन्हें स्काईनेट की कृत्रिम बुद्धिमत्ता द्वारा भविष्य में भेजा जाना चाहिए। स्काईनेट को इसकी आवश्यकता क्यों है यह स्पष्ट नहीं है।

1986 - ब्रैड कॉक्स और टॉम लव ऑब्जेक्टिव-सी लेकर आए। उनके अनुसार, यह "सी की सुरक्षा को स्मॉलटॉक की अविश्वसनीय गति के साथ जोड़ता है।"

1987 - लैरी वॉल कीबोर्ड पर सो गये। जागने पर, वह मॉनिटर पर उस भाषा में एक कार्यक्रम के लिए लाइन लेता है जिसे प्रभु अपने भविष्यवक्ता लैरी को लिखना चाहते थे। इस प्रकार मोती प्रकट होता है।

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

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

1995 - ब्रेंडन आइक प्रत्येक ज्ञात भाषा से बग एकत्र करता है, कुछ नए जोड़ता है, और सब कुछ लाइवस्क्रिप्ट में विलय कर देता है। कुछ समय बाद जावा भाषा की लोकप्रियता का लाभ उठाने के लिए भाषा का नाम बदलकर जावास्क्रिप्ट कर दिया गया। कुछ समय बाद, भाषा का नाम बदलकर ECMAscript कर दिया गया।

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

2001 - एंडर्स हेजलबर्ग सी1 लेकर आये। C1 एक काफी क्रियात्मक, वर्ग-आधारित, स्थिर रूप से टाइप की गई ऑब्जेक्ट-ओरिएंटेड भाषा है, जिसमें कचरा संग्रह, एकल कॉल प्रेषण, एकल कार्यान्वयन विरासत और एकाधिक इंटरफ़ेस विरासत शामिल है। माइक्रोसॉफ्ट जोर-शोर से C1 को सबसे नवीन भाषा घोषित करता है।

भाषा मुख्य उपयोग विवरण
एडीए बचाव की मुद्रा में उच्च स्तर
कोडांतरक विस्तृत हार्डवेयर नियंत्रण, तेज़ निष्पादन और छोटे कार्यक्रमों की आवश्यकता वाली नौकरियां तेज़ और कुशल, लेकिन कुछ प्रयास और कौशल की आवश्यकता है
बुनियादी शिक्षा, व्यवसाय, घर में सीखने में आसान
साथ सिस्टम प्रोग्रामिंग, यूनिवर्सल प्रोग्रामिंग तेज़ और कुशल, सामान्य भाषा के रूप में व्यापक रूप से उपयोग किया जाता है
सी++ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में सी भाषा पर आधारित
कोबोल बिजनेस प्रोग्रामिंग व्यावसायिक कार्यों पर सख्ती से ध्यान केंद्रित किया, सीखना आसान है, लेकिन बहुत सारे ऑपरेटर हैं
किला आवेदन प्रबंधन रिवर्स पोलिश नोटेशन का उपयोग करता है
फोरट्रान वैज्ञानिक कार्य और कंप्यूटिंग गणितीय सूत्रों पर आधारित
तुतलाना कृत्रिम होशियारी एक प्रतीकात्मक भाषा जिसे सीखना कठिन माना जाता है
मॉड्यूल-2 सिस्टम प्रोग्रामिंग और वास्तविक समय प्रोग्रामिंग, सार्वभौमिक प्रोग्रामिंग अत्यधिक संरचित, जिसका उद्देश्य "वास्तविक दुनिया" अनुप्रयोगों के लिए पास्कल को प्रतिस्थापित करना है
ओबेरोन यूनिवर्सल प्रोग्रामिंग छोटी, संक्षिप्त भाषा जो पास्कल और मॉड्यूला-2 की कई विशेषताओं को जोड़ती है
पास्कल वैश्विक भाषा उच्च संरचित
प्रस्ताव कृत्रिम होशियारी प्रतीकात्मक-तार्किक प्रोग्रामिंग प्रणाली, मूल रूप से प्रमेयों को हल करने के लिए डिज़ाइन की गई थी, लेकिन अब इसका उपयोग कृत्रिम बुद्धिमत्ता से संबंधित समस्याओं को हल करने के लिए अधिक बार किया जाता है

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

Excel में सूत्रों का उपयोग करना कार्य के मुख्य कार्यों में से एक है। सूत्र में अधिकतम 1024 वर्ण हो सकते हैं. सूत्र में निम्नलिखित तत्व शामिल हो सकते हैं: फ़ंक्शन, संदर्भ, ऑपरेटर, स्थिरांक। आप सूत्रों में सेल संदर्भों का उपयोग कर सकते हैं। स्क्रीन पर एक सेल सूत्र स्विच के मूल्य के आधार पर या तो एक सूत्र या इस सूत्र के लिए गणना के परिणाम प्रदर्शित कर सकता है।

2.1 एक्सेल में सूत्र बनाना और उपयोग करना

सूत्र एक अभिव्यक्ति है जो एक समान चिह्न से शुरू होती है और इसमें संख्यात्मक मान, सेल पते, फ़ंक्शन, नाम शामिल होते हैं, जो अंकगणितीय ऑपरेटरों द्वारा जुड़े होते हैं। एक्सेल में उपयोग किए जाने वाले अंकगणितीय परिचालनों के संकेतों में शामिल हैं: जोड़; घटाव; गुणन; विभाजन; घातांक

सूत्र में कुछ परिचालनों की प्राथमिकता अधिक है और उन्हें निम्नलिखित क्रम में निष्पादित किया जाता है:

घातांक और कोष्ठकीकृत अभिव्यक्तियाँ;

गुणन और भाग;

जोड़ना और घटाना।

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

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

माउस से फॉर्मूला कैसे बनाएं:

कर्सर को उस सेल में रखें जहाँ आप सूत्र दर्ज करना चाहते हैं।

चिह्न दर्ज करें =.

कर्सर को उस सेल में रखें जिसके निर्देशांक सूत्र की शुरुआत में होने चाहिए, और उस पर क्लिक करें।

एक क्रिया ऑपरेटर (+ या -) या कोई अन्य वर्ण दर्ज करें।

कर्सर को उस सेल पर ले जाएँ जिसके निर्देशांक आप उपयोग करना चाहते हैं और क्लिक करें।

सूत्रों का उपयोग अन्य मूल्यों (संख्या, सेल निर्देशांक,) के संयोजन के आधार पर मूल्यों की गणना करने के लिए किया जाता है। अंकगणितीय आपरेटर(+, -, *,/), साथ ही अन्य सूत्र; वर्कशीट के अन्य क्षेत्रों के नाम, अन्य तालिकाओं से कोशिकाओं के निर्देशांक।

फॉर्मूला कैसे दर्ज करें.

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

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

फॉर्मूला सेल परिणाम प्रदर्शित करता है

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

ऑपरेटर्स किसी सूत्र के ऑपरेंड पर किए जाने वाले ऑपरेशन को दर्शाते हैं। में Microsoft Excelचार प्रकार के ऑपरेटर शामिल हैं - अंकगणित, पाठ, साथ ही तुलना ऑपरेटर और पता ऑपरेटर।

अंकगणित ऑपरेटरों का उपयोग संख्याओं पर बुनियादी गणितीय गणना करने के लिए किया जाता है। अंकगणितीय ऑपरेशन का परिणाम हमेशा एक संख्या होता है। इन्हें निम्नलिखित प्रतीकों द्वारा दर्शाया गया है:

जोड़ना

- घटाव या यूनरी माइनस

* गुणन

/ विभाजन

% प्रतिशत

^ घातांक

तुलना ऑपरेटरों का उपयोग दो संख्याओं की तुलना करने की संक्रियाओं को दर्शाने के लिए किया जाता है। तुलना ऑपरेशन का परिणाम तार्किक मान TRUE या FALSE है। इन्हें निम्नलिखित प्रतीकों द्वारा दर्शाया गया है:

> अधिक

< меньше

>= इससे बड़ा या बराबर

<= меньше или равно

<>सम नही

टेक्स्ट ऑपरेटर & का उपयोग वर्णों के अनुक्रमों को एक अनुक्रम में जोड़ने के संचालन को दर्शाने के लिए किया जाता है। उदाहरण के लिए, अभिव्यक्ति "उत्तर" और "हवा" का परिणाम होगा: "उत्तरी हवा"।

पता ऑपरेटर गणना करने के लिए कोशिकाओं की श्रेणियों को जोड़ते हैं। इसका प्रतीक है:

: एक रेंज ऑपरेटर है जो रेंज सीमाओं के बीच की सभी कोशिकाओं को संदर्भित करता है, जिसमें शामिल है;

यूनियन ऑपरेटर, जो रेंज कोशिकाओं के संघ को संदर्भित करता है;

स्पेस एक इंटरसेक्शन ऑपरेटर है जो सामान्य श्रेणी की कोशिकाओं को संदर्भित करता है।

सूत्रों में क्रियाओं का क्रम

यदि सूत्र में एकाधिक ऑपरेटर शामिल हैं, तो क्रियाएं निम्नलिखित क्रम में की जाती हैं:

: (कोलन), (अल्पविराम) (स्पेस)

लिंक ऑपरेटर

-यूनरी माइनस (उदाहरण के लिए, -1)

^घातांक

*और/गुणा और भाग

मैं - जोड़ और घटाव

&पाठ ऑपरेटर

= < > <= >= <>तुलना संचालक

ऑपरेटरों को संसाधित करने के क्रम को बदलने के लिए, कोष्ठक का उपयोग करें।

भाषा प्रोग्रामिंग असेंबलर बेसिक

एक्सेल में फ़ंक्शंस का उपयोग कार्यपुस्तिकाओं में मानक गणना करने के लिए किया जाता है। वे मान जो फ़ंक्शन का मूल्यांकन करने के लिए उपयोग किए जाते हैं, तर्क कहलाते हैं। फ़ंक्शन द्वारा प्रतिक्रिया के रूप में लौटाए गए मान परिणाम कहलाते हैं। अंतर्निहित फ़ंक्शंस के अलावा, आप एक्सेल टूल का उपयोग करके बनाई गई गणनाओं में उपयोगकर्ता-परिभाषित फ़ंक्शंस का उपयोग कर सकते हैं।

किसी फ़ंक्शन का उपयोग करने के लिए, आपको इसे वर्कशीट सेल में सूत्र के भाग के रूप में दर्ज करना होगा। वह क्रम जिसमें सूत्र में प्रयुक्त प्रतीकों को स्थित किया जाना चाहिए, फ़ंक्शन का सिंटैक्स कहलाता है। सभी फ़ंक्शन समान मूल सिंटैक्स नियमों का उपयोग करते हैं। यदि आप सिंटैक्स नियमों का उल्लंघन करते हैं, तो एक्सेल एक संदेश प्रदर्शित करेगा जिसमें कहा जाएगा कि सूत्र में कोई त्रुटि है।

यदि कोई फ़ंक्शन किसी सूत्र की शुरुआत में दिखाई देता है, तो उसके पहले किसी अन्य सूत्र की तरह, बराबर चिह्न होना चाहिए।

फ़ंक्शन तर्क फ़ंक्शन नाम के तुरंत बाद कोष्ठक में लिखे जाते हैं और अर्धविराम ";" द्वारा एक दूसरे से अलग किए जाते हैं। कोष्ठक एक्सेल को यह निर्धारित करने की अनुमति देते हैं कि तर्क सूची कहाँ से शुरू और समाप्त होती है। तर्कों को कोष्ठक के अंदर रखा जाना चाहिए। याद रखें कि फ़ंक्शन लिखते समय, खुले और बंद ब्रैकेट मौजूद होने चाहिए, और फ़ंक्शन नाम और ब्रैकेट के बीच कोई रिक्त स्थान नहीं डाला जाना चाहिए।

तर्क संख्याएँ, पाठ, बूलियन, सरणियाँ, त्रुटि मान या संदर्भ हो सकते हैं। तर्क या तो स्थिरांक या सूत्र हो सकते हैं। बदले में, इन सूत्रों में अन्य कार्य शामिल हो सकते हैं। वे फ़ंक्शन जो किसी अन्य फ़ंक्शन के लिए एक तर्क हैं, नेस्टेड फ़ंक्शंस कहलाते हैं। आप एक्सेल फ़ार्मुलों में फ़ंक्शन नेस्टिंग के सात स्तरों तक का उपयोग कर सकते हैं।

निर्दिष्ट इनपुट पैरामीटर में दिए गए तर्क के लिए मान्य मान होने चाहिए। कुछ फ़ंक्शन में वैकल्पिक तर्क हो सकते हैं जो फ़ंक्शन के मूल्य का मूल्यांकन करते समय मौजूद नहीं हो सकते हैं।

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

टेक्स्ट फ़ंक्शंस की सहायता से, टेक्स्ट को संसाधित करना संभव है: वर्ण निकालें, जिनकी आपको आवश्यकता है उन्हें ढूंढें, वर्णों को पाठ में कड़ाई से परिभाषित स्थान पर लिखें, और भी बहुत कुछ।

दिनांक और समय फ़ंक्शंस की सहायता से, आप दिनांक या समय से संबंधित लगभग किसी भी कार्य को हल कर सकते हैं (उदाहरण के लिए, आयु निर्धारित करें, कार्य अनुभव की गणना करें, किसी भी अवधि में कार्य दिवसों की संख्या निर्धारित करें)।

बूलियन फ़ंक्शंस बनाने में मदद करते हैं जटिल सूत्र, जो कुछ शर्तों की पूर्ति के आधार पर प्रदर्शन करेगा विभिन्न प्रकारडाटा प्रासेसिंग


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

मेरी साइट में 7 पृष्ठ हैं, पहला पृष्ठ, जो मुख्य है, उसे "***व्हाइट स्टार***" कहा जाता है, अन्य 6 पृष्ठ अधीनस्थ हैं, जिसमें निम्नलिखित टैग का उपयोग किया गया था:

पेज पृष्ठभूमि बनाने के लिए टैग: ;

ब्लॉक संरचना टैग:

,
;

पाठ स्वरूपण के लिए टैग ,
, टैग- एक कंटेनर जो स्वतंत्र HTML फ़ाइलों को संग्रहीत करता है। हम पृष्ठों के बीच लिंक करने के लिए हाइपरलिंक का उपयोग करते हैं। विशेष रूप से, हम टैग का उपयोग करते हैं . वेब पेजों पर सूचना डेटा की संरचना करने के लिए, मैंने सूचनाओं को एक तालिका में संयोजित करने की तकनीक का उपयोग किया। टैग का उपयोग टेबल बनाने के लिए किया जाता है

, और हम इस टैग के अंदर फ्रेम की मोटाई भी सेट कर सकते हैं , फ़्रेम का रंग , टेबल पृष्ठभूमि वगैरह। टेबल हेडर सेट करें , कॉलम
, पंक्तियाँ
, स्तंभ शीर्षक . कार्य में कई अन्य टैग का भी उपयोग किया जाता है: टेक्स्ट फ़ॉर्मेटिंग: आकार , फ़ॉन्ट प्रकार , पाठ का रंग , सही है उचित

केंद्रित

बाएं

तिर्छा , बोल्ड फ़ॉन्ट , रेखांकित किया गया आदि। एक छवि सम्मिलित करना और वैकल्पिक पाठइस छवि। पंक्ति तोड़ना
, लाइन डालें


. मैंने भी प्रयोग किया बुलेटेड सूची