बुनियादी प्रोग्रामिंग भाषा और उसका इतिहास। बेसिक प्रोग्रामिंग लैंग्वेज (बेसिक) बेसिक प्रोग्रामिंग लैंग्वेज वर्ष

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

बेसिक भाषा (उर्फ बेसिक, उर्फ ​​बेसिक) उच्च स्तरीय प्रोग्रामिंग भाषाओं के परिवार का हिस्सा है।

बुनियादीएक संक्षिप्त रूप है जिसका अर्थ है: बीशुरुआती ll-उद्देश्य एसप्रतीकात्मक मैंनिर्माण सी ode शुरुआती लोगों के लिए एक सार्वभौमिक प्रतीकात्मक निर्देश कोड है)।

बेसिक प्रोग्रामिंग भाषा का विकास 1964 में किया गया था। विचार एक ऐसी भाषा बनाने का था जिसका उपयोग बिना प्रोग्रामिंग कौशल वाले छात्र अपनी समस्याओं का समाधान बनाने के लिए कर सकें।

यह भाषा एक समय में बहुत लोकप्रिय थी और विभिन्न बोलियों के रूप में, मुख्य रूप से घरेलू कंप्यूटरों के लिए एक भाषा के रूप में, पूरे कंप्यूटर जगत में फैल गई।

इसके निर्माण के बाद से, आधुनिक प्रोग्रामिंग के नियमों का पालन करते हुए BASIC को कई बार परिष्कृत और जटिल बनाया गया है। इस कारण से, अब तक यह (पहले संस्करणों की तुलना में) अपनी सादगी खो चुका है। हालाँकि, इसे ध्यान में रखते हुए भी, उदाहरण के लिए, आधुनिक बेसिक अभी भी भाषाओं की तुलना में अपेक्षाकृत सरल भाषा बनी हुई है।

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

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

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

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

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

बेसिक भाषा विकसित करते समय निम्नलिखित आठ सिद्धांतों का उपयोग किया गया:

  1. भाषा शुरुआती लोगों के लिए उपयोग में आसान और समझने योग्य होनी चाहिए।
  2. एक सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषा होनी चाहिए (और कोई विशेष नहीं, जैसे कि ऊपर उल्लिखित फोरट्रान और प्रोलॉग)।
  3. भाषा को विस्तारशीलता प्रदान करनी चाहिए जो अनुभवी प्रोग्रामर के लिए सुलभ हो।
  4. भाषा इंटरैक्टिव होनी चाहिए, यानी उसे उपयोगकर्ता के आदेशों को निष्पादित करना होगा।
  5. भाषा को स्पष्ट और समझने योग्य त्रुटि संदेश प्रदान करना चाहिए।
  6. भाषा को छोटे कार्यक्रमों पर शीघ्रता से काम करना चाहिए।
  7. भाषा को हार्डवेयर से नहीं जोड़ा जाना चाहिए और प्रोग्रामर को इसी हार्डवेयर के संचालन को समझने की आवश्यकता नहीं होनी चाहिए।
  8. भाषा को उपयोगकर्ता को ऑपरेटिंग सिस्टम से सुरक्षित रखना चाहिए (या ऑपरेटिंग सिस्टम को उपयोगकर्ता से - जो भी आप चाहें)))।

BASIC बनाते समय, आधार आंशिक रूप से फोरट्रान II और आंशिक रूप से अल्गोल 60 से लिया गया था। प्रारंभ में, BASIC को कई टर्मिनलों के समर्थन के साथ GE-265 मेनफ्रेम पर लागू किया गया था (मेनफ्रेम एक बड़ा, उच्च-प्रदर्शन, दोष-सहिष्णु सर्वर है) .

इस तथ्य के बावजूद कि भाषा का उपयोग पहले से ही कई मिनी कंप्यूटरों पर किया गया था, इसका वास्तविक प्रसार अल्टेयर 8800 माइक्रो कंप्यूटर पर इसके परिचय के साथ शुरू हुआ।

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

1975 में, माइक्रोसॉफ्ट (तब केवल दो लोग थे - और पॉल एलन, मोंटे डेविडोव की भागीदारी के साथ) ने अल्टेयर बेसिक जारी किया। फिर इसके संस्करण एक लाइसेंस के तहत दूसरे प्लेटफ़ॉर्म पर दिखाई दिए और जल्द ही लाखों प्रतियां और विभिन्न संस्करण पहले से ही उपयोग में थे। एक संस्करण, Applesoft BASIC, मानक भाषा बन गया। BASIC-80 बोली CP/M ऑपरेटिंग सिस्टम के लिए बनाई गई थी, जो अपने समय से बहुत आगे थी।

वैसे, बिल गेट्स ने कहा कि बेसिक उनकी पसंदीदा प्रोग्रामिंग भाषा है।

1970 और 1980 के दशक की शुरुआत में बेसिक का विकास सबसे तेजी से और सफलतापूर्वक हुआ। इस समय, लगभग सभी पर्सनल कंप्यूटरों का अपना बेसिक दुभाषिया होता था, जो अक्सर सीधे ROM में हार्डवेयर्ड होता था। सबसे सरल कंप्यूटरों में यह एक ऑपरेटिंग सिस्टम के रूप में भी काम करता था।

लगभग सभी अधिक शक्तिशाली कंप्यूटरों में इंटरैक्टिव बेसिक सिस्टम भी थे। IBM PC और संगत प्लेटफ़ॉर्म के लिए BASIC के कई नए संस्करण बनाए गए। Microsoft ने MS-DOS/PC DOS के लिए BASIC बेचा, जिसमें BASICA, GW-BASIC (BASICA का एक संशोधन जिसके लिए IBM फ़र्मवेयर की आवश्यकता नहीं थी) और QuickBASIC शामिल थे।

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

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

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

बुनियादी भाषा की विशेषताएं

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

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

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

इसीलिए पुराने BASIC में प्रत्येक पंक्ति एक संख्या से शुरू होती थी। संपादक में दर्ज करने पर, लाइन प्रोग्राम के स्रोत पाठ में उसके नंबर के अनुरूप स्थिति में दिखाई देती है। एक नई पंक्ति सम्मिलित करने के लिए, आपको एक ऐसी संख्या वाली पंक्ति जोड़नी होगी जो अन्य दो पंक्तियों की संख्याओं के बीच की सीमा में हो।

लाइनों को "फैलाना" असंभव था; यदि आपको आसन्न संख्याओं वाली लाइनों के बीच एक नई लाइन डालने की आवश्यकता होती है, तो आपको नंबरिंग में ब्रेक सुनिश्चित करने के लिए अलग-अलग संख्याओं के साथ इन पंक्तियों को फिर से दर्ज करना होगा (या विशेष RENUM कमांड का उपयोग करना होगा, जो एक स्थिर चरण के साथ पहले से दर्ज की गई सभी पंक्तियों की संख्या बदल दी गई)।

जैसा कि आप समझते हैं, अधिक या कम जटिल कार्यक्रम बनाते समय, यह अनुमान लगाना लगभग असंभव है कि इसमें कितनी पंक्तियाँ होंगी और वे किस क्रम में दिखाई देंगी।

इसलिए, कार्यक्रम के बाद के संपादन को सुनिश्चित करने के लिए, 10 (और कभी-कभी अधिक) की वृद्धि में पंक्तियों की संख्या देना प्रथागत हो गया है। इससे ज्यादातर मामलों में पहले दर्ज की गई लाइन संख्याओं को बदले बिना समस्याओं के बिना नई लाइनें डालने की अनुमति मिल गई।

हम थोड़ी देर बाद एक उदाहरण देखेंगे, जब हम बेसिक भाषा के वाक्य-विन्यास से परिचित हो जाएंगे।

बुनियादी भाषा वाक्यविन्यास

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

बेसिक में सबसे सरल प्रोग्राम:

10 प्रिंट करें "हैलो, विश्व!"

बेसिक एक केस सेंसिटिव भाषा नहीं है। यानि कि BASIC के लिए PRINT और Print शब्द एक ही हैं। यह न केवल कीवर्ड पर लागू होता है, बल्कि वेरिएबल नामों पर भी लागू होता है। हालाँकि कुछ भाषा कार्यान्वयन पूर्ण या आंशिक रूप से केस संवेदनशील होते हैं (उदाहरण के लिए, लिबर्टी बेसिक)।

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

उदाहरण के लिए:

एक्स = 100 'संख्यात्मक चर एक्स$ = "हैलो" 'स्ट्रिंग चर

अभिव्यक्तियाँ अधिकांश अन्य प्रक्रियात्मक प्रोग्रामिंग भाषाओं में अभिव्यक्तियों के समान हैं, लेकिन बेसिक के शुरुआती संस्करणों में उनमें से काफी कुछ थे। शुरुआती संस्करणों में, कीवर्ड की संख्या 20 से कम थी (यह BASIC की खूबसूरती है))।

सरल चर घोषित करने की कोई आवश्यकता नहीं है। हम प्रोग्राम में कहीं भी वेरिएबल का नाम लिखते हैं, और बस इतना ही। सच है, सरणियों को घोषित किया जाना चाहिए।

निम्नलिखित सबसे बुनियादी भाषा निर्माण हैं जिन्हें 1970 के दशक के अंत में लगभग किसी भी बेसिक प्रणाली में लागू किया गया था (इनमें से कई निर्माण बेसिक भाषा के आधुनिक कार्यान्वयन द्वारा भी समर्थित हैं):

सूची
मॉनिटर पर प्रोग्राम टेक्स्ट को पंक्तियों के सही क्रम में प्रदर्शित करता है।

दौड़ना
वर्तमान प्रोग्राम को सबसे कम संख्या वाली पंक्ति के पहले कथन से प्रारंभ करें।

आर.ई.एम.
एक टिप्पणी। कीवर्ड के बाद और पंक्ति के अंत से पहले का पाठ एक टिप्पणी है। कई दुभाषिए किसी टिप्पणी की शुरुआत के रूप में एकल उद्धरण चिह्न का भी समर्थन करते हैं। कुछ दुभाषिए केवल REM की अनुमति देते हैं यदि यह पंक्ति की शुरुआत में दिखाई देता है।

इनपुट
मॉनिटर पर प्रॉम्प्ट टेक्स्ट प्रदर्शित करता है और उपयोगकर्ता द्वारा मान दर्ज करने और ENTER दबाए जाने की प्रतीक्षा करता है।

प्रिंट
मॉनिटर पर डेटा प्रदर्शित करता है (पाठ और चर मान)।

सीएलएस
स्क्रीन साफ़ करता है.

मंद
सरणी का विवरण. नियमित चर के विपरीत, सरणियों को पूर्व घोषणा की आवश्यकता होती है।

लेबल पर जाएँ
मार्क को बिना शर्त संक्रमण के लिए आदेश।

तो अगर...
नियमित शाखा संचालक. IF के बाद एक तार्किक स्थिति है, THEN के बाद एक कथन है जिसे निष्पादित किया जाना चाहिए यदि यह स्थिति सत्य है।

अंत
कार्यक्रम निष्पादन की समाप्ति. सिस्टम दुभाषिया से बाहर निकलता है और उपयोगकर्ता को आदेश दर्ज करने के लिए प्रेरित किया जाता है।

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

भार
एक इंटरैक्टिव मोड कमांड जो बाहरी मीडिया पर एक फ़ाइल से प्रोग्राम को मेमोरी में लोड करता है। यह आमतौर पर पहले से लोड किए गए प्रोग्राम और डेटा को मेमोरी से हटा देता है।

बेसिक में उदाहरण कार्यक्रम:

10 सीएलएस "स्क्रीन साफ़ करें 20 प्रिंट करें "हैलो वर्ल्ड!!!" 30 एक्स = 100 "वेरिएबल एक्स 40 इनपुट के लिए 100 असाइन करें "नंबर दर्ज करें:"; वाई 50 प्रिंट वाई; "*"; एक्स; " = "; एक्स * वाई 60 अंत

बुनियादी दुभाषिए

सबसे प्रसिद्ध बेसिक भाषा दुभाषियों में से एक माइक्रोसॉफ्ट का QBasic है। कई वर्षों तक इसे MS-DOS और Windows ऑपरेटिंग सिस्टम के साथ निःशुल्क शामिल किया गया था। QBasic के पास उस समय के हिसाब से अच्छी ग्राफिक्स और ध्वनि क्षमताएं थीं। इसलिए, यहां तक ​​कि गेम भी QBasic में बनाए गए (मेरे एक मित्र ने ऐसा किया - चित्र जैसा नहीं, लेकिन कुछ ऐसा)))।

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

माइक्रोसॉफ्ट के विज़ुअल बेसिक के आगमन के साथ बेसिक को दूसरा जीवन मिला। लेकिन, इसकी लोकप्रियता के बावजूद, 2001 में माइक्रोसॉफ्ट ने मौलिक रूप से नई भाषा, विजुअल बेसिक .NET के पक्ष में विजुअल बेसिक (यदि मैं गलत नहीं हूं, तो विजुअल बेसिक का अंतिम संस्करण 6.5 था) का समर्थन करने से इनकार कर दिया, जहां भाषा फिर से थी "पुनः तैयार" और "पुनर्निर्मित", क्रॉस-प्लेटफ़ॉर्म .NET तकनीक पर केंद्रित है, और इसकी वर्तमान स्थिति में व्यावहारिक रूप से इसमें C# भाषा के समान क्षमताओं का सेट है। अंतर केवल सिंटैक्स और कीवर्ड में है।

इसलिए बेसिक गैर-पेशेवर नौसिखियों द्वारा प्रोग्राम बनाने के एक उपकरण से विकसित होकर प्रोग्राम बनाने के लिए एक पूर्ण उपकरण बन गया।

संपूर्ण प्रोग्राम लिखने के अलावा, BASIC का व्यापक रूप से विभिन्न स्क्रिप्टिंग भाषाओं के आधार के रूप में उपयोग किया जाता है (उदाहरण के लिए, Microsoft Office पैकेज में मैक्रोज़ VBA बोली में लिखे जाते हैं, VBScript स्क्रिप्टिंग भाषा का उपयोग SCADA सिस्टम और अन्य में किया जाता है) समान कार्यक्रम)।

कितने लोग, कितनी राय

यहां तक ​​कि अपने सबसे अच्छे समय (1970...1980) में भी, बेसिक को कठोर आलोचना का सामना करना पड़ा (हालांकि, लगभग सभी अन्य प्रोग्रामिंग भाषाओं की तरह - हम आलोचना करना पसंद करते हैं)।

बेशक, बेसिक में कई कमियाँ थीं। लेकिन इसका इरादा ऐसा ही था! हाँ, कमियों के साथ. लेकिन यह मानविकी के लिए भी सरल और समझने योग्य है।

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

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

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

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

बेसिक भाषा (यहां तक ​​कि इसका पहला कार्यान्वयन, जैसे QBasic) सीखने के लिए काफी उपयुक्त है, क्योंकि मेरे दृष्टिकोण से, यदि आवश्यक हो तो बाद में दूसरी भाषा सीखने में कोई समस्या नहीं है। शायद पिछली सदी के 60 के दशक में यह एक समस्या थी - मुझे नहीं पता (मेरा जन्म 1969 में हुआ था)। लेकिन अब - नहीं.

इसके अलावा, आज ज्यादा कुछ दोबारा सीखने की जरूरत नहीं है, क्योंकि आप अपने खुद के अच्छे प्रोग्राम बना सकते हैं, उदाहरण के लिए, विजुअल बेसिक में।

गधा.बास. 1981 में आईबीएम पीसी के साथ शामिल किया गया। बिल गेट्स द्वारा सह-लेखक

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

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

पृष्ठभूमि

50 के दशक के मध्य में, मशीन कोड में प्रोग्रामिंग की भूमिका कम होने लगी। उच्च स्तरीय भाषाएँ सामने आईं - फोरट्रान, अल्गोल, कोबोल इत्यादि।

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

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

उस समय, उच्च स्तरीय प्रोग्रामिंग भाषाओं की विशेषता विषय अभिविन्यास थी। इसके अलावा, ऐसी भाषाएँ नौसिखिए डेवलपर्स के लिए बहुत जटिल थीं, खासकर यदि वे इंजीनियर नहीं थे। इसलिए, यह स्वाभाविक है कि समय के साथ "मात्र नश्वर" के लिए एक प्रोग्रामिंग भाषा सामने आई।

बुनियादी। बस बुनियादी

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

1964 में, थॉमस कर्ट्ज़ और जॉन कामेनी ने एक विशेष प्रोग्रामिंग भाषा बनाई जिसमें सरल अंग्रेजी शब्द शामिल थे। नई भाषा को बेसिक कहा गया।

उन्होंने इसका उपयोग छात्रों को प्रोग्रामिंग कौशल सिखाने के लिए किया। यह भाषा इतनी सरल और समझने योग्य निकली कि कुछ समय बाद इसका प्रयोग अन्य शिक्षण संस्थानों में भी होने लगा।

फोरट्रान II और अल्गोल 60 का बेसिक पर गंभीर प्रभाव पड़ा। इसके अलावा, डेवलपर्स ने इसमें टाइम-शेयरिंग सिस्टम के साथ-साथ टेक्स्ट प्रोसेसिंग और मैट्रिक्स अंकगणित के लिए तंत्र लागू किया। भाषा संकलक मूल रूप से GE-265 मेनफ्रेम के लिए लिखा गया था।

उमंग का समय

70 के दशक में, छोटे कंप्यूटर (पीसी) सामने आए। इस परिस्थिति का उपयोग माइक्रोसॉफ्ट के संस्थापक बिल गेट्स और पॉल एलन द्वारा सफलतापूर्वक किया गया था।

उन्होंने पहले अल्टेयर कंप्यूटर (एमआईटीएस अल्टेयर) के लिए बेसिक का एक नया संस्करण बनाया, जो 4KB रैम में चलने में सक्षम था। समय के साथ, यह वह संस्करण था जो दुनिया में सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में से एक बन गया।


अल्टेयर

मूल बेसिक की सबसे बड़ी समृद्धि और विकास की अवधि को 1970 के दशक का अंत माना जा सकता है - 1980 के दशक की पहली छमाही। इसके संस्करण अन्य प्लेटफार्मों पर दिखाई दिए, और जल्द ही सभी प्रकार के परिवर्तनों और संशोधनों के साथ लाखों प्रतियां बिकनी शुरू हो गईं। सबसे लोकप्रिय संस्करणों में से एक Applesoft BASIC था, जो Apple II पर मानक भाषा बन गया।

Applesoft BASIC को Microsoft द्वारा पहले Apple II मॉडल में उपयोग किए गए इंटीजर BASIC सिस्टम के प्रतिस्थापन के रूप में लिखा गया था और जिसकी क्षमताएं बहुत सीमित थीं। Applesoft BASIC को Apple II+ और सभी Apple II क्लोन से शुरू करके सभी Apple II मॉडल की ROM में फ्लैश किया गया था। इसके अलावा, Applesoft BASIC का एक पुराना और अलग किया गया संस्करण पहले Apple II मॉडल के कैसेट टेप पर उपलब्ध था।

CP/M ऑपरेटिंग सिस्टम के लिए, BASIC-80 बोली बनाई गई, जिसने लंबे समय तक भाषा के विकास को निर्धारित किया।

जब पहला आईबीएम पीसी पर्सनल कंप्यूटर सामने आया, तो यह प्रोग्रामिंग में मानक बन गया, लेकिन जीडब्ल्यू-बेसिक के रूप में।

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

इसके अलावा 1985 में, आईडीई क्विक बेसिक सामने आया - बेसिक प्रोग्रामिंग भाषा के लिए एक एकीकृत विकास वातावरण और कंपाइलर, जिसे 1985 से 1988 तक माइक्रोसॉफ्ट द्वारा विकसित किया गया था। DOS और Mac OS के लिए संस्करण थे। उपयोग की गई बेसिक बोली उन्नत जीडब्ल्यू-बेसिक बोली पर आधारित थी: उपयोगकर्ता प्रकारों, संरचित प्रोग्रामिंग संरचनाओं के लिए समर्थन लागू किया गया था, और ग्राफिकल और डिस्क संचालन के लिए समर्थन में काफी विस्तार किया गया था।

रॉबर्ट "बॉब" ज़ील ने बेसिक/जेड के अपने कई वर्षों के विकास के आधार पर 1987 में टर्बो बेसिक बनाया और फिर इसे बोरलैंड को बेच दिया। इन्फोवर्ल्ड पत्रिका ने इसे उस वर्ष के सबसे महत्वपूर्ण उत्पादों में से एक बताया।

उस अवधि के अधिकांश बेसिक कार्यान्वयनों के विपरीत, टर्बो बेसिक एक पूर्ण कंपाइलर था जो MS-DOS के लिए मूल कोड उत्पन्न करता था।

बेसिक भाषा के संस्करणों की बड़ी संख्या के बावजूद, भाषा का एक नया संस्करण विकसित करते समय, पिछले संस्करणों के साथ संगतता हमेशा बनाए रखी गई थी: पिछले संस्करणों के लिए लिखा गया प्रोग्राम पूरी तरह से (कभी-कभी मामूली बदलावों के साथ) इसके बाद के संस्करणों में काम करना संभव था भाषा।

दूसरा जीवन

90 के दशक की शुरुआत में, माइक्रोसॉफ्ट विंडोज ऑपरेटिंग सिस्टम एक नए ग्राफिकल यूजर इंटरफेस के साथ सामने आया।

एक सरल प्रोग्राम बनाने के लिए, डेवलपर्स को कोड के कई पेज लिखने पड़ते थे: मेनू और विंडोज़, फ़ॉन्ट, स्पष्ट मेमोरी, "ड्रा" बटन आदि के लिए कोड के बड़े ब्लॉक लिखें। हालाँकि, नए इंटरफ़ेस के फायदे काफी मजबूत थे, और विंडोज़ के हर जगह लोकप्रिय होने की वास्तविक संभावनाएँ थीं।

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

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

1991 में, नए Microsoft Visual Basic IDE का पहला संस्करण सामने आया। हालाँकि, उस समय, Microsoft ने इस प्रणाली की क्षमताओं का मामूली मूल्यांकन किया, फिर भी इसे शुरुआती और गैर-पेशेवर प्रोग्रामर की श्रेणी में लक्षित किया।

बेशक, यह केवल पहला कदम था, क्योंकि बिल गेट्स की कंपनी ने बाज़ार में विंडोज़ की स्थिति मजबूत करने की योजना बनाई थी। और ऐसा करना बहुत मुश्किल होगा, जिससे वाणिज्यिक डेवलपर्स को एमएस विंडोज़ के लिए एप्लिकेशन बनाने के लिए प्रभावी टूल के बिना छोड़ दिया जाएगा।

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

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

इस तथ्य के बावजूद कि कई सी डेवलपर्स ने सरल और समझने योग्य विंडोज डेवलपमेंट टूल बनाने के माइक्रोसॉफ्ट के प्रयासों को गंभीरता से नहीं लिया, आईटी समुदाय के अन्य लोगों को विजुअल बेसिक से बहुत उम्मीदें थीं।

1994 में, कंपनी ने एप्लीकेशन के लिए विजुअल बेसिक जारी किया। इसी समय, माइक्रोसॉफ्ट ऑफिस में वीबीए को शामिल करने के बाद, बेसिक विंडोज़ के लिए मुख्य प्रोग्रामिंग मानकों में से एक बन गया।

मूल रूप से एक खिलौने के रूप में डिज़ाइन किए गए, माइक्रोसॉफ्ट के विज़ुअल बेसिक ने प्रोग्रामिंग दुनिया में तूफान ला दिया। इसकी लोकप्रियता दो कारणों से है: सापेक्ष सादगी और उत्पादकता।

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

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

इस प्रकार वीबी में एक एप्लिकेशन विकसित करने में कई फॉर्म बनाना शामिल था जो एक दूसरे के साथ इंटरैक्ट करते थे।

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

विज़ुअल बेसिक के प्रमुख संस्करण

पहले संस्करण (1991) में, एलन कूपर ने भाषा और ग्राफिकल इंटरफ़ेस को जोड़ने के सिद्धांत को लागू किया।

तीसरे संस्करण (1993) से शुरुआत करते हुए, वीबी ने एमएस एक्सेस के लिए समर्थन जोड़ा।

विज़ुअल बेसिक 4.0 (1995) - एक ऐसा संस्करण जिसमें 32 और 16-बिट विंडोज एप्लिकेशन बनाना संभव हो गया। इसके अलावा, भाषा में कक्षाएं जोड़ी गईं।

वीबी 5.0 (1997) से शुरू होकर, आपके स्वयं के COM घटकों को विकसित करना संभव हो गया। इसके अलावा, एक नई वर्चुअल मशीन सामने आई है, जिसे डायनेमिक लाइब्रेरी MSVBVM50.DLL में लागू किया गया है। वीबी कंपाइलर ने अनुवाद के लिए मल्टी-पास मोड का उपयोग किया, लेकिन अंततः एक मध्यवर्ती भाषा में संकलित करने के बाद मशीन कोड आउटपुट का उत्पादन करने के लिए माइक्रोसॉफ्ट सी++ कंपाइलर पर निर्भर रहा। रनटाइम लाइब्रेरी और C++ आंतरिक इंटरफ़ेस का उपयोग .NET तकनीक के निर्माण के लिए प्रारंभिक बिंदु था।

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

इसके अलावा, वीबी6 (1998) का उपयोग एक्टिव-एक्स नियंत्रण बनाने के लिए किया जा सकता है जो इंटरनेट एक्सप्लोरर के साथ काम करता है।

2002 में, विज़ुअल बेसिक .NET की पहली रिलीज़ सामने आई। इस बिंदु से, विज़ुअल बेसिक के क्लासिक संस्करण के साथ बैकवर्ड संगतता टूट गई थी।

2005 से, विज़ुअल बेसिक माइक्रोसॉफ्ट विज़ुअल स्टूडियो 2005 आईडीई का हिस्सा रहा है, आज तक, भाषा आईडीई के साथ विकसित होती है - वर्तमान संस्करण - एमएस विज़ुअल स्टूडियो 2015 तक।

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

बुनियादी प्रोग्रामिंग मूल बातें

बेसिक (बिगनर्स ऑल-पर्पस सिम्बोलिक इंस्ट्रक्शन कोड) भाषा को 1960 के दशक के मध्य में अमेरिका के डार्टमाउथ कॉलेज में जॉन सिमिनी और थॉमस कर्ट्ज़ द्वारा विकसित किया गया था।

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

यहां बेसिक के कुछ फायदे दिए गए हैं (बड़े पैमाने पर उपयोगकर्ता के दृष्टिकोण से):

वाक्यविन्यास की सरलता;

डेटा और नियंत्रण संरचनाओं के संगठन में आसानी;

बड़ी संख्या निर्मित मेंकमांड और फ़ंक्शंस जो आपको टेक्स्ट और ग्राफ़िक्स स्क्रीन नियंत्रण, कैरेक्टर स्ट्रिंग प्रोसेसिंग, त्रुटि प्रबंधन इत्यादि जैसे ऑपरेशन आसानी से करने की अनुमति देते हैं।

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

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

सी या पास्कल में ऐसे प्रोग्राम को लिखने और निष्पादित करने के लिए, आपको टेक्स्ट को प्रारूपित करने, प्रोग्राम को संकलित करने (एक्सटेंशन, ओबीजे के साथ एक ऑब्जेक्ट मॉड्यूल बनाने) की आवश्यकता है; इसे संपादित करें (.EXE एक्सटेंशन के साथ एक निष्पादन योग्य मॉड्यूल बनाएं); कार्यक्रम निष्पादित करें; परिणाम देखने के लिए आउटपुट स्क्रीन पर स्विच करें।

सच है, अंतिम चरण काफी सरल हैं (आपको कुछ प्रमुख संयोजनों को दबाने की आवश्यकता है), लेकिन मामले का सार नहीं बदलता है।

QBASIC में, आप समान कार्य को पूरा करने के लिए बस PRINT "हैलो, वर्ल्ड!" टाइप कर सकते हैं। और (Shift+F5) दबाएँ।

कुछ विशेषज्ञ बेसिक भाषा के विकास के इतिहास में तीन मुख्य पीढ़ियों में अंतर करते हैं, और इन पीढ़ियों के विशिष्ट प्रतिनिधि हैं:

GW-BASIC - एक प्रोग्रामिंग सिस्टम जो इंटरप्रिटेशन मोड में काम करता था और MS-DOS के पुराने संस्करणों का हिस्सा था;

QuickBASIC (इसके कई संस्करण हैं) Microsoft की एक स्वतंत्र प्रोग्रामिंग प्रणाली है, जिसमें एक दुभाषिया और एक भाषा संकलक दोनों शामिल हैं;

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

हम QBASIC प्रोग्रामिंग सिस्टम का अध्ययन करेंगे - यह MS-DOS का हिस्सा है, जो संस्करण 5.0 से शुरू होता है, और QBASIC.EXE उपयोगिता द्वारा सेवित है। इस प्रणाली को स्टैंडअलोन क्विकबेसिक प्रणाली का सरलीकृत संस्करण माना जा सकता है।

सिस्टम व्याख्या मोड में काम करता है, सीखना और संचालित करना बेहद आसान है, और अंततः महत्वपूर्ण कंप्यूटिंग संसाधनों की आवश्यकता नहीं होती है। - सभी मशीनों पर उपलब्ध।

एक ओर, QBASIC को मानक Microsoft प्रौद्योगिकी का एक तत्व माना जा सकता है, और हर कोई इसमें महारत हासिल कर सकता है - बच्चों से लेकर बुजुर्गों तक; दूसरी ओर, QBASIC आधुनिक प्रणालियों की कई क्षमताओं को लागू करता है, जिससे आप चाहें तो पूरी तरह से पेशेवर कार्यक्रम बना सकते हैं।

इसलिए, हमारा मानना ​​है कि QBASIC के ढांचे के भीतर प्रोग्रामिंग सिखाने के लिए इष्टतम उपकरण है सामान्य शिक्षासूचना प्रौद्योगिकी पाठ्यक्रम.

QBASIC प्रोग्रामिंग वातावरण

QBASIC प्रोसेसिंग ऑब्जेक्ट एक "कैनोनिकल" प्रारूप टेक्स्ट फ़ाइल है जिसमें BASIC प्रोग्राम का स्रोत कोड होता है। QBASIC डाउनलोड करने के बाद। EXE, एक सिस्टम टेक्स्ट एडिटर विंडो स्क्रीन पर दिखाई देती है, जैसा चित्र में दिखाया गया है। 3.1.

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

फ़ाइल को एक मनमाना एक्सटेंशन के साथ एक मनमाना नाम दिया जा सकता है, लेकिन एक्सटेंशन .BAS की अनुशंसा की जाती है,

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

QBASIC टेक्स्ट एडिटर काम करता है समान,साथ ही एक साधारण MS-DOS संपादक (मुख्य संपादन मानक, पाठ अंशों के साथ संचालन)। इसलिए, हम संपादन तकनीक की प्रस्तुति को दोहराते नहीं हैं; हम केवल उस पंक्ति को हटाने के लिए जोड़ देंगे जिसके नीचे कर्सर स्थित है, आप कुंजी (Ctrl + Y) दबा सकते हैं।

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

सामान्य QBASIC अवधारणाएँ

बुनियादी भाषा में आदेश

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

इस फ़ाइल को अक्सर कॉल किया जाता है मूललेखकार्यक्रम. एक विशेष कार्यक्रम (हमारे मामले में, QBASIC.EXE) स्रोत पाठ को देखता है और, यदि इसमें कोई औपचारिक (वाक्यविन्यास) त्रुटियां नहीं हैं, तो या तो निर्देशों को तुरंत निष्पादित करता है (व्याख्या मोड), या उन्हें मशीन रूप में अनुवादित करता है और उन्हें प्रारूपित करता है एक स्वतंत्र के रूप में निष्पादनएक्सटेंशन .EXE (संकलन मोड) के साथ फ़ाइल।

स्रोत प्रोग्राम के निर्देशों को अलग-अलग कहा जाता है: आदेश, कथन, वाक्य, निर्देश, संचालन।

हमारे पाठ्यक्रम में, हम प्रत्येक को बुनियादी निर्देश कहते हैं टीम(अंग्रेजी समकक्ष - कथन)।

प्रोग्राम में किए गए कार्यों के अनुसार कमांड सशर्तचार समूहों में विभाजित किया जा सकता है:

1) टीमें विवरण(डेटा, फ़ंक्शंस, आदि);

2) टीमें क्रियाएँ,

3) टीमें प्रबंधकार्यक्रम की प्रगति;

4) टीमें इनपुटऔर आउटपुटडेटा।

1. उदाहरण के लिए, DEFINT I-K कमांड QBASIC को बताता है कि वेरिएबल जिनके नाम I, J और K अक्षरों से शुरू होते हैं, वे -32768 से 32767 की सीमा में पूर्णांक संख्यात्मक मान स्वीकार करते हैं। डेटा कमांड 5, 9, 18, 24 स्टोर करता है कई संख्याएँ, जिनके मान बाद में READ इनपुट कमांड का उपयोग करके कुछ वेरिएबल्स को निर्दिष्ट किए जाएंगे। कमांड DEF FNsig(x)=SIN(x*3.14159/180!) वर्णन करता है समारोह,जो बाद में निर्दिष्ट कोण की ज्या की गणना करेगा डिग्रीऔर इसी तरह।

2. आदेश पर कार्रवाईप्रोग्राम एक विशिष्ट ऑपरेशन करता है (कुछ गणना करता है, कुछ करता है)। उदाहरण के लिए, आदेश पर

A नाम से निर्दिष्ट चर होगा सौंपा गयावेरिएबल बी और सी के मानों का गुणनफल वेरिएबल डी के मान को घटाता है। BAN कमांड पर, कंप्यूटर स्पीकर एक छोटी "चीख़" आदि का उत्सर्जन करेगा।

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

4. इनपुट और आउटपुट कमांड हमें कीबोर्ड से या फ़ाइल से डेटा दर्ज करने और परिणामों को डिस्प्ले, प्रिंटर या फ़ाइल में आउटपुट करने की अनुमति देते हैं। उदाहरण के लिए, आदेश

इनपुट "गुणांक ए = "दर्ज करें, ए!

आपको कीबोर्ड से एक निश्चित संख्या दर्ज करने के लिए संकेत देगा। इस नंबर का मान a'' नामक वेरिएबल और कमांड को सौंपा जाएगा

प्रिंटए!

डिस्प्ले पर वही नंबर प्रदर्शित होगा।

कृपया ध्यान दें कि हमारा वर्गीकरण कुछ हद तक सशर्त है: इनपुट और आउटपुट कमांड को एक्शन कमांड भी माना जा सकता है।

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

वर्णमाला बुनियादी.

वर्णमाला (वर्ण सेट) में शामिल हैं:

सभी लैटिन लोअरकेस और अपरकेस अक्षर।

अरबी अंक 0 - 9

सेवा वर्ण जिनका उपयोग प्रत्यय, संक्रिया चिह्न तथा विशेष वर्ण के रूप में किया जाता है।

परिवर्तनीय नाम प्रत्यय डेटा प्रकार निर्धारित करते हैं:

% - पूर्णांक

&- उन्हें डैश

! - सामान्य परिशुद्धता की वास्तविक संख्या

# एक दोहरी परिशुद्धता वाली वास्तविक संख्या है।

$ - वर्ण स्ट्रिंग

ऑपरेशन के संकेत

*- गुणन

/ - विभाजन

जोड़ना

· - घटाव

^ - घातांक।

असाइनमेंट चिन्ह और संबंध चिन्ह

< - меньше чем

> - से भी ज्यादा

. - दशमलव बिंदु

विशेष प्रतीक

'- टिप्पणी चिह्न

; - प्रिंट और इनपुट स्टेटमेंट में विभाजक

प्रिंट और इनपुट विवरण में विभाजक

: - एक लाइन पर टाइप किए गए कमांड के लिए विभाजक।

स्थिरांक

स्थिरांक दो प्रकार के होते हैं: स्ट्रिंग और संख्यात्मक।

एक स्ट्रिंग स्थिरांक 255 वर्णों तक का एक अनुक्रम है, जो उद्धरण चिह्नों में संलग्न है।

स्ट्रिंग स्थिरांक के उदाहरण:

"नमस्ते"

"-25,00.00"

"ए+बी*200"

संख्यात्मक स्थिरांक सकारात्मक और नकारात्मक संख्याओं का प्रतिनिधित्व करते हैं। BASIC में संख्यात्मक स्थिरांक में अल्पविराम नहीं हो सकता।

संख्यात्मक स्थिरांक 5 प्रकार के होते हैं:

1) पूर्णांक स्थिरांक;

2) निश्चित-बिंदु स्थिरांक;

3) फ़्लोटिंग पॉइंट स्थिरांक;

4) हेक्साडेसिमल स्थिरांक;

5) अष्टाधारी स्थिरांक।

पूर्णांक स्थिरांक -32768 से +32767 की सीमा में पूर्णांकों का प्रतिनिधित्व करते हैं। पूर्णांक स्थिरांक में दशमलव बिंदु नहीं हो सकता।

स्थिर बिंदु स्थिरांक धनात्मक या ऋणात्मक वास्तविक संख्याएँ हैं, अर्थात। दशमलव बिंदु वाली संख्याएँ।

फ़्लोटिंग पॉइंट स्थिरांक का घातांकीय रूप होता है। इन स्थिरांकों में एक पूर्णांक या वास्तविक संख्या (मेंटिसा) और अक्षर E (या D) और उसके बाद एक पूर्णांक (घातांक) शामिल होता है। यदि आवश्यक हो, तो मंटिसा और प्रतिपादक के पास एक चिन्ह हो सकता है। फ़्लोटिंग पॉइंट स्थिरांक की प्रतिनिधित्व सीमा 10-38 से 10+38 तक होती है।

एक हेक्साडेसिमल स्थिरांक को &H उपसर्ग वाले हेक्साडेसिमल संख्या द्वारा दर्शाया जाता है।

एक अष्टाधारी स्थिरांक को & या &O के साथ उपसर्गित एक अष्टाधारी संख्या द्वारा दर्शाया जाता है।

संख्यात्मक स्थिरांक मानक या दोहरी परिशुद्धता हो सकते हैं। सामान्य परिशुद्धता स्थिरांकों को 7 अंकों और स्थिरांकों द्वारा दर्शाया जाता है

दोहरी परिशुद्धता -16 अंक।

एक नियमित परिशुद्धता स्थिरांक कोई भी संख्यात्मक स्थिरांक होता है जिसमें निम्नलिखित में से एक विशेषता होती है:

8 अंक से कम;

ई का उपयोग करके घातांकीय रूप;

विस्मयादिबोधक चिह्न के साथ समाप्त होता है।

दोहरा परिशुद्धता स्थिरांक कोई भी संख्यात्मक स्थिरांक होता है जिसमें निम्नलिखित में से एक विशेषता होती है:

7 से अधिक अंक;

डी का उपयोग करके घातीय रूप;

"#" वर्ण के साथ समाप्त होता है.

संख्यात्मक स्थिरांक के उदाहरण:

645 - पूर्णांक स्थिरांक;

1.09ई-06 - सामान्य सटीकता स्थिरांक;

22.5! - सामान्य सटीकता का स्थिरांक;

1.09432डी -05 - दोहरा परिशुद्धता स्थिरांक;

345692811 - दोहरा परिशुद्धता स्थिरांक;

&H32F - हेक्साडेसिमल स्थिरांक;

&0347 - अष्टाधारी स्थिरांक;

&1234 - अष्टाधारी स्थिरांक;

चर

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

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

BASIC में वेरिएबल नाम किसी भी लंबाई के हो सकते हैं, लेकिन वेरिएबल की पहचान पहले 40 अक्षरों से की जाती है। आप किसी चर नाम को इंगित करने के लिए अक्षरों, संख्याओं और दशमलव बिंदु का उपयोग कर सकते हैं, और नाम का पहला अक्षर एक अक्षर होना चाहिए। इसके अलावा, विशेष प्रकार के घोषणा पात्रों का उपयोग करने की अनुमति है, जिसकी चर्चा नीचे की जाएगी।

परिवर्तनीय नाम आरक्षित नाम नहीं हो सकता. बेसिक में आरक्षित नामों में निर्देशों, ऑपरेटरों, कार्यों और संचालन के नाम शामिल हैं।

वेरिएबल या तो संख्यात्मक मान या स्ट्रिंग का प्रतिनिधित्व कर सकते हैं। स्ट्रिंग वेरिएबल नाम "$" वर्ण के साथ समाप्त होना चाहिए। इस मामले में "$" वर्ण एक घोषणा वर्ण है जो दर्शाता है कि चर एक स्ट्रिंग है।

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

% - पूर्णांक चर;

सामान्य परिशुद्धता चर;

# एक दोहरा परिशुद्धता चर है।

डिफ़ॉल्ट रूप से, संख्यात्मक चर को सामान्य सटीकता के साथ दर्शाया जाता है।

परिवर्तनीय नामों के उदाहरण:

ए$ - स्ट्रिंग चर नाम;

PI# एक दोहरे परिशुद्धता चर का नाम है;

न्यूनतम - एक सामान्य परिशुद्धता चर का नाम;

LIMIT% - पूर्णांक चर का नाम;

एबीसी एक सामान्य परिशुद्धता चर का नाम है।

बेसिक में वेरिएबल के प्रकार को घोषित करने का एक और तरीका है। ऐसा करने के लिए, ऑपरेटर DEFINT, DEFSTR, DEFSNG और DEFDBL का उपयोग किया जाता है, जिनका वर्णन नीचे किया जाएगा।

एक पूर्णांक चर को मेमोरी में फिट होने के लिए 2 बाइट्स की आवश्यकता होती है, एक नियमित सटीक चर के लिए 4 बाइट्स की आवश्यकता होती है, और एक डबल सटीक चर के लिए 8 बाइट्स की आवश्यकता होती है।

एक स्ट्रिंग वेरिएबल को मेमोरी में रखने के लिए, 3 बाइट्स और स्ट्रिंग में वर्णों की संख्या के बराबर बाइट्स की आवश्यकता होती है।

अंकगणितीय आपरेशनस

BASIC में अंकगणितीय संक्रियाओं की प्राथमिकता का क्रम तालिका 1 में दिखाया गया है।

तालिका नंबर एक

| आदेश |||

| सार्जेंट मेजर| ऑपरेशन| उदाहरण|

| 1 | घातांक| एक्स^वाई|

| 2 | इनकार| -एक्स|

| 3 | गुणा और भाग| एक्स * वाई एक्स / वाई|

| 4 | पूर्णांक विभाजन| X\Y|

| 5 | संख्या मापांक| एक्स एमओडी वाई|

| 6 | जोड़ और घटाव| एक्स + वाई एक्स - वाई|

|ब्रैकेट्स का उपयोग संचालन के क्रम को बदलने के लिए किया जाता है।

कोष्ठक के अंदर संचालन प्राथमिकता के क्रम में पहले किया जाता है।

पूर्णांक विभाजन ऑपरेशन करते समय, ऑपरेंड को पूर्ण संख्याओं में पूर्णांकित किया जाता है (उन्हें -32768 और के बीच होना चाहिए)

32767) विभाजन करने से पहले और भागफल को एक पूर्णांक में छोटा कर दिया जाता है।

23.68 \ 6.99 = 3

किसी संख्या संक्रिया के मापांक का परिणाम पूर्णांक विभाजन का शेषफल होता है।

25.68 एमओडी 6.99 = 5

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

यदि शून्य को नकारात्मक घात तक बढ़ा दिया जाता है, तो एक "शून्य से विभाजन" त्रुटि संदेश जारी किया जाता है, परिणाम को सबसे बड़ी संभावित सकारात्मक संख्या सौंपी जाती है, और कार्यक्रम का निष्पादन जारी रहता है।

यदि कोई अतिप्रवाह होता है, तो एक "अतिप्रवाह" त्रुटि संदेश जारी किया जाता है, परिणाम को उचित चिह्न के साथ अधिकतम संभव संख्या सौंपी जाती है, और निष्पादन जारी रहता है।

बेसिक भाषा उपयोगकर्ता द्वारा विकसित अंतर्निहित फ़ंक्शन और फ़ंक्शन (उपयोगकर्ता-परिभाषित फ़ंक्शन) प्रदान करती है। वे इस मायने में भिन्न हैं कि अंतर्निहित फ़ंक्शन डेवलपर्स द्वारा पहले से बनाए गए थे और सबसे लोकप्रिय ऑपरेशन करते हैं।

अंतर्निहित कार्य।

अंतर्निहित कार्यों को इसमें विभाजित किया गया है:

1.गणितीय

2. संख्यात्मक मानों को परिवर्तित करने के कार्य।

3.रूपांतरण कार्य "अक्षर-संख्या" और "संख्या-अक्षर"

4. कैरेक्टर स्ट्रिंग्स के साथ काम करने के लिए कार्य

गणितीय कार्य.

पेट(अंकगणितीय अभिव्यक्ति) अंकगणितीय अभिव्यक्ति का मापांक लौटाता है। उदाहरण के लिए:

स्क्रीन 51.8 पर एबीएस (48.2 - 100!) प्रिंट करें

एसजीएन(अंकगणित अभिव्यक्ति) अंकगणित का मान बतायें। अभिव्यक्ति X के बराबर है। Sgn फ़ंक्शन 1 लौटाता है यदि X > 0, 0 यदि X=0, -1 यदि X<0. Например:

स्क्रीन पर एसजीएन(-25.2) प्रिंट करें: -1

एटीएन(अभिव्यक्ति) अभिव्यक्ति के मान का आर्कटेंजेंट लौटाता है (कोण रेडियन में व्यक्त किया गया है)

भंडार नियंत्रक(कोना)

पाप(कोना)

टैन(कोना)

उदाहरण के लिए:

कॉन्स्ट पीआई = 3.14

स्क्रीन पर SIN (PI/2) प्रिंट करें: 1.000…

ऍक्स्प (अभिव्यक्ति) अभिव्यक्ति ई एक्स के मान का घातांक लौटाता है। उदाहरण के लिए

स्क्रीन 2.71828 पर EXP(1) प्रिंट करें

लकड़ी का लट्ठा(अभिव्यक्ति) प्राकृतिक लघुगणक लौटाता है। उदाहरण के लिए:

स्क्रीन 0 पर लॉग (1) प्रिंट करें

दूसरी तिमाही समीक्षा(अभिव्यक्ति) किसी अभिव्यक्ति के मान का वर्गमूल लौटाता है। उदाहरण के लिए:

स्क्रीन 1.2 पर एसक्यूआर (1.44) प्रिंट करें

हल करना(अभिव्यक्ति) अभिव्यक्ति का पूर्णांक भाग लौटाता है

int यहाँ(अभिव्यक्ति) सबसे बड़ा पूर्णांक लौटाता है

CINT(अभिव्यक्ति) अंकगणित के नियमों के अनुसार अभिव्यक्ति को पूर्णांकित करता है।

उदाहरण के लिए:

प्रिंट फिक्स(24.3); आईएनटी(24.3); स्क्रीन पर CINT(24.3) 24 24 24

प्रोग्रामिंग भाषाओं का इतिहास प्रोग्रामिंग में वास्तविक क्रांतियों के कई उदाहरण जानता है। बेसिक प्रोग्रामिंग भाषा का इतिहास बस इतना ही है। सीखने के लिए एक छोटी, कम इस्तेमाल की जाने वाली भाषा से, यह लगभग सभी प्रोग्रामिंग भाषाओं के लिए एक वास्तविक मानक बन गई है।

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

1) उपयोग में आसानी;

2) सामूहिक भागीदारी;

3) सूचना सामग्री;

4) भाषा को त्रुटियों को ट्रैक करने और समाप्त करने की क्षमता का समर्थन करना चाहिए;

5) भाषा को गंभीर हार्डवेयर ज्ञान की आवश्यकता नहीं होनी चाहिए;

6) प्रोग्रामिंग भाषा को उपयोगकर्ता और ऑपरेटिंग सिस्टम के बीच की कड़ी बनना चाहिए।

परिणामस्वरूप, इसका उपयोग कई अन्य शैक्षणिक संस्थानों में किया जाने लगा। ग्यारह साल बाद, जब दुनिया लाखों नए माइक्रो कंप्यूटरों से भर गई, बेसिक प्रोग्रामिंग भाषा बिल गेट्स और पॉल एलन, माइक्रोसॉफ्ट बनाने वाले लोगों के लिए दिलचस्पी बन गई। यह वे ही थे, जिन्होंने एकजुट होकर अपने लिए BASIC के एक संस्करण में सुधार किया, जो 4kb RAM (!) के साथ भी काम कर सकता था।

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

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

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

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

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

हालाँकि, 1960 के दशक के दौरान, कंप्यूटर की कीमतें गिरने लगीं ताकि छोटी कंपनियाँ भी उन्हें खरीद सकें; उनके प्रदर्शन में वृद्धि हुई और वह समय आया जब कंप्यूटर के साथ उपयोगकर्ताओं के अधिक कुशल प्रत्यक्ष कार्य को टाइम-शेयरिंग मोड में व्यवस्थित करना संभव हो गया ( समय बताना).

जन्म

तीव्र वृद्धि

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

प्रोग्रामयोग्य कैलकुलेटर के कुछ मॉडलों में बेसिक का उपयोग किया जाता है। उदाहरण के लिए, इसे सोवियत कैलकुलेटर "इलेक्ट्रॉनिक्स एमके-85" में बनाया गया था।

भाषा विवरण

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

बेसिक के शुरुआती संस्करण (जैसे बेसिका, जीडब्ल्यू-बेसिक) आधुनिक बोलियों से काफी भिन्न हैं और आज व्यावहारिक रूप से उपयोग नहीं किए जाते हैं।

प्रारंभिक संस्करण

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

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

10 प्रिंट "हैलो, वर्ल्ड!"

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

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

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

सशर्त ऑपरेटर (IF..THEN) की शुरुआत में केवल एक शाखा थी - ELSE शाखा इसमें अनुपस्थित थी और इसे बिना शर्त छलांग का उपयोग करके तैयार किया गया था। तो, निम्नलिखित प्रोग्राम में, एक प्राथमिक ऑपरेशन किया जाता है - एक संख्या दर्ज करना और उसके मूल्य के आधार पर "नकारात्मक संख्या" या "सकारात्मक संख्या या शून्य" संदेश प्रदर्शित करना:

10 इनपुट I 20 यदि मैं >= 0 तो "सकारात्मक संख्या या शून्य" प्रिंट करें: GOTO 40 30 "नकारात्मक संख्या" प्रिंट करें 40 END

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

उपयोगकर्ता-परिभाषित फ़ंक्शंस (कोड के पुन: प्रयोज्य अनुभाग) का उपयोग दो तरीकों से संभव था: परिभाषित फ़ंक्शंस और सबरूटीन्स।

सबरूटीन्स सी या पास्कल जैसी भाषाओं में फ़ंक्शन के अनुरूप नहीं थे, क्योंकि उनके पास नाम नहीं थे और वे पैरामीटर स्वीकार और/या रिटर्न नहीं कर सकते थे। पैरामीटर और परिणाम वैश्विक चर के माध्यम से पारित किए गए थे (बेसिक के शुरुआती संस्करणों में सभी चर वैश्विक थे)। सबरूटीन्स आमतौर पर मॉड्यूल के अंत में लिखे जाते थे, जिनकी संख्या स्पष्ट रूप से नियोजित लाइनों की संख्या से अधिक होती थी (उदाहरण के लिए, सबरूटीन्स के एक ब्लॉक की संख्या 5000 से शुरू हो सकती थी, भले ही प्रोग्राम में कुछ सौ लाइनें हों)। सबरूटीन्स का कोई शीर्षक या नाम नहीं था, और वे कोड के किसी भी अन्य भाग से भिन्न नहीं थे। सबरूटीन को GOSUB कीवर्ड का उपयोग करके कॉल किया गया था<метка>. यह व्यावहारिक रूप से GOTO का एक क्लोन है, एक चीज़ के अपवाद के साथ: कॉल प्वाइंट पर वापसी स्वचालित रूप से तब होती है जब सबरूटीन में RETURN कीवर्ड पहुंच जाता है। जीओएसयूबी, जीओटीओ की तरह, केवल खराब कोड संरचना में योगदान करते थे, क्योंकि बड़ी संख्या में बिना शर्त जंप और सबरूटीन्स वाले प्रोग्राम के निष्पादन को ट्रैक करना एक कठिन काम था।

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

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

# लैंग "एफबी" स्ट्रिंग के रूप में मंद एन, एस, टी, एन 2, टी 2 सीएलएस: प्रिंट "स्वागत!" "पहली पंक्ति पर शीर्षककरना "एक लूप जो स्क्रीन की पूरी चौड़ाई में शीर्षक के नीचे एक रेखा खींचता है i के लिए Integer =1 से LoWord (चौड़ाई) Print "=" ; अगला मैं "उपयोगकर्ता से चरित्र इनपुटइनपुट "नाम:", एन इनपुट "अंतिम नाम:", एस इनपुट "मध्य नाम:", टी "नाम और संरक्षक नाम से पहले अक्षरों की एक प्रति काट लें n2=बाएं (n,1 ) t2=बाएं (t,1 ) "हम परिणाम प्रदर्शित करते हैंछाप "आपका नाम संक्षिप्त है:"; एस; " " ; n2; ". " ; टी2; "।" छाप "कार्यक्रम दोहराएँ? (y/n)"लूप करते समय LCase (इनपुट (1) ) = "y" अंत 0

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

संपूर्ण प्रोग्राम लिखने के अलावा, BASIC का व्यापक रूप से विभिन्न स्क्रिप्टिंग भाषाओं के आधार के रूप में उपयोग किया जाता है (उदाहरण के लिए, Microsoft Office पैकेज में मैक्रोज़ VBA बोली में लिखे जाते हैं)।

आलोचना

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

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

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

मानकों

  • एएनएसआई X3.60-1978 "न्यूनतम बुनियादी के लिए"
  • आईएसओ/आईईसी 6373:1984 "डेटा प्रोसेसिंग - प्रोग्रामिंग भाषाएँ - न्यूनतम बुनियादी"
  • ANSI X3.113-1987 "प्रोग्रामिंग भाषाएँ पूर्ण बेसिक"
  • आईएसओ/आईईसी 10279:1991 "सूचना प्रौद्योगिकी - प्रोग्रामिंग भाषाएँ - पूर्ण बुनियादी"
  • एएनएसआई एक्स3.113 व्याख्याएँ-1992 "बुनियादी तकनीकी जानकारी बुलेटिन #1 एएनएसआई 03.113-1987 की व्याख्याएँ"
  • आईएसओ/आईईसी 10279:1991/ एएमडी 1:1994 "मॉड्यूल और एकल कैरेक्टर इनपुट संवर्द्धन"

निर्माताओं

अलग-अलग समय में, विदेश और यूएसएसआर दोनों में विभिन्न संगठनों, कंपनियों, फर्मों द्वारा बेसिक दुभाषियों का उत्पादन किया गया था:

विदेश

  • बेसिक इंटरनेशनल
  • CDC (अंग्रेज़ी)रूसी
  • कॉमशेयर
  • अवधारणा ओमेगा
  • डेटा जनरल (अंग्रेज़ी)रूसी
  • एक्सिडी (अंग्रेज़ी)रूसी
  • फंतासी सॉफ्टवेयर
  • खेल निर्माता
  • गॉर्डन यूबैंक्स (अंग्रेज़ी)रूसी
  • हेज सिस्टम
  • मार्क विलियम्स (अंग्रेज़ी)रूसी
  • माइक्रोडेटा (अंग्रेज़ी)रूसी
  • माइक्रोवे (अंग्रेज़ी)रूसी
  • मॉर्गन कंप्यूटिंग
  • एनसीआर सेंचुरी (अंग्रेज़ी)रूसी
  • वायरलेस झोंपड़ी (अंग्रेज़ी)रूसी
  • रयान मैकफ़ारलैंड (अंग्रेज़ी)रूसी
  • सैक्स सॉफ्टवेयर
  • स्पेरी (अंग्रेज़ी)रूसी / यूनीवैक (अंग्रेज़ी)रूसी
  • सुम्मी सॉफ्टवेयर टेक्नोलॉजी
  • सच्चा बुनियादी (अंग्रेज़ी)रूसी
  • यूनिकॉम्प (अंग्रेज़ी)रूसी
  • वरियन (अंग्रेज़ी)रूसी
  • ज़ेडकोर (अंग्रेज़ी)रूसी
  • यूएसएसआर एकेडमी ऑफ साइंसेज की कंप्यूटिंग सेंटर साइबेरियाई शाखा - नोवोसिबिर्स्क
  • विश्वविद्यालय - निज़नी नोवगोरोड

कार्यान्वयन

सेब

माइक्रोसॉफ्ट

अन्य

  • बीबीसी-बेसिक


मित्रों को बताओ