أساسي للغاية
لغة SUPER BASIC ، أو SBASIC اختصارًا، هي لهجة متقدمة من لغة برمجة BASIC التي تم تقديمها على أنظمة SDS 940 من Tymshare بدءًا من عام 1968 وكانت متاحة حتى سبعينيات القرن العشرين.
على غرار لغة دارتموث بيسك التي استندت إليها، كانت سوبر بيسك لغةً تُترجم وتُنفذ مباشرةً ، وليست لغةً تفسيرية . بالإضافة إلى توفيرها لمعظم الأوامر والوظائف من دارتموث بيسك الإصدار 4، بما في ذلك أوامر حساب المصفوفات، تضمنت سوبر بيسك أيضًا عددًا من الميزات من لغة جوس الرائدة التي طورتها شركة راند ، [ 1 ] عبر إصدار تايمشير، كال ، وأضافت مجموعة متنوعة من الوظائف الجديدة، والأعداد المركبة كنوع بيانات مدمج، ودعم الدقة المزدوجة .
كما حسّنت لغة SUPER BASIC بشكل كبير من معالجة النصوص مقارنةً بالنظام البدائي في دارتموث ، حيث قدمت وظائف LEFTمثل MIDو ...RIGHT
تاريخ
صدرت النسخة الأصلية من لغة دارتموث بيسك عام 1964، لكنها كانت تجريبية إلى حد كبير آنذاك. خضعت لعدة تنقيحات قبل أن تصبح مفيدة حقًا مع الإصدار الرابع الذي نُقل إلى جهاز GE 635 ونُشر عام 1968. وقد وضعت دارتموث التصميم الأساسي للغة في الملكية العامة، بحيث يمكن لأي شخص نقله إلى منصاته الخاصة وتسميته بيسك. وساهمت الجهود الدؤوبة التي بذلها مؤلفوها في الترويج لها في انتشارها. مع ذلك، ولأن الكود صُمم للعمل على نظام التشغيل DTSS ، فقد تطلب الأمر بعض التعديلات لتشغيله على أنظمة الإنتاج. أدى ذلك إلى ظهور نسخ متعددة باختلافات طفيفة. [ 2 ]
تأسست شركة تايمشير داخل جامعة كاليفورنيا، بيركلي ، حيث بدأت بتأجير وقت على أجهزة الكمبيوتر التابعة للجامعة خارج ساعات العمل الرسمية. كانت لغة BASIC الأصلية لتايمشير، والتي عُرفت ببساطة باسم تايمشير BASIC، مبنية على شفرة مصدرية "من مكان آخر" في الجامعة، [ 3 ] والتي بدأ دان لويس بتطويرها. أضاف فرانك براشر إجراءات إدخال/إخراج الملفات، مما جعلها أكثر عملية بكثير من شفرة دارتموث الأصلية التي كانت تعتمد كليًا على DATAالتعليمات المضمنة في البرنامج. كانت آلية عمل دارتموث تعتمد على الأشرطة، لذا لم يكن تحميل وحفظ الملفات الفردية عمليًا، ولم يتم التطرق إلى الإدخال/الإخراج المباشر إلا في الإصدارات اللاحقة. كانت شفرة الإدخال/الإخراج الخاصة ببراشر قد طُوّرت في الأصل لبرنامج سوبر فورتران الذي تقدمه تايمشير. [ 2 ]
من أبرز سمات النظام الوثائق التي كتبتها كارولين ديل. وقد كُتبت الأدلة بأسلوب حواري. [ 3 ]
حافظت شركة تايمشير على نظام سوبر بيسك طوال سبعينيات القرن العشرين، ولكن مع تراجع سوق خدمات برمجة المشاركة الزمنية المؤجرة، دخل النظام مرحلة الصيانة، وانتقل لويس وبراشر لتقديم الاستشارات في مجال سوبر بيسك للشركات التي لا تزال تستخدمه. وانتقلت مسؤولية الصيانة داخل تايمشير بشكل أساسي إلى والتر مين. [ 3 ]
قدمت شركة Tymshare طلبًا للحصول على علامة تجارية باسم SUPER BASIC في 7 يناير 1970، وجددتها في 17 أكتوبر 1977، والتي أصبحت ملكًا لشركة McDonnell Douglas في عام 1984 عندما اشترت الشركة شركة Tymshare. [ 3 ]
لغة
الوضع المباشر وغير المباشر
كغيرها من أنظمة BASIC في ذلك العصر، احتوت SUPER BASIC على محرر أوامر واحد يعمل كلغة تفاعلية ومحرر برامج في آن واحد. كانت الأوامر المكتوبة بدون رقم سطر تُنفذ فورًا، وهو ما يُعرف بـ" الوضع المباشر ". [ أ ] أما إذا سُبق السطر نفسه برقم سطر، فكان يُنسخ إلى منطقة تخزين كود البرنامج، وهو ما يُعرف بـ"الوضع غير المباشر". تُضاف أسطر جديدة إلى البرنامج إذا كان رقم السطر فريدًا، أو تُستبدل الأسطر الموجودة التي تحمل نفس الرقم، أو تُحذف من البرنامج إذا كُتب رقم سطر موجود دون أي كود بعده. [ 4 ]
بيانات البرنامج
تراوحت أرقام الأسطر من 0 إلى 999999. [ 5 ] يمكن استخدام الأمر DELETE(أو اختصاره DEL) لحذف نطاق من الأسطر باستخدام LISTالترميز المعتاد، على سبيل المثال، DELETE 5,10-50. [ 4 ] بدأ الأمر ENTERنظام ترقيم أسطر تلقائي. كان يأخذ مُعاملين اختياريين، رقم سطر البداية والخطوة، مفصولين بـ BY. كان يُفترض أن رقم البداية هو صفر إذا لم يتم تحديده، وكانت الخطوة 10. على سبيل المثال، ENTERسينتج 0، 10، 20، ...، ENTER BY 5وسينتج 0، 5، 10، ...، ENTER 10 BY 10وسينتج 10، 20، 30، ... [ 6 ]RENUMBER أخذ ثلاثة مُعاملات، رقم سطر بداية جديد، ونطاق من الأسطر لإعادة ترقيمها (مثل 20-100) والخطوة. [ 7 ]
على الرغم من أن المحرر المدمج كان يحمّل ويحفظ أسطر البرنامج نفسه فقط، إلا أنه كان بإمكان المستخدم تعديل ملف النص الناتج لإضافة أوامر إضافية تُنفّذ في الوضع المباشر. ومن الأمثلة الشائعة على ذلك تعديل برنامج وإضافة RUNسطر خاص به في نهاية الملف. عند تحميل الملف، كان النظام يرى هذا السطر RUNويترجم البرنامج ويبدأ تشغيله فورًا. [ 8 ] يُعدّ هذا الأمر غير معتاد في أنظمة BASIC، مع أنه كان شائع الاستخدام في JOSS.
البيانات
تماشيًا مع مفهوم لغة دارتموث بيسك ، كانت لغة سوبر بيسك نظامًا يُترجم ويُشغّل الكود المصدري عند تشغيل البرنامج. احتوت سوبر بيسك على أمرين لهذا الغرض، أحدهما شائع RUNفي معظم لغات بيسك، والآخر STARTيؤدي نفس الوظيفة. [ 9 ] يمكن إضافة التعليقات في أي مكان باستخدام !. [ 10 ]
وسّعت لغة SUPER BASIC نطاق FORالعبارة بعدة طرق. تمثل أحد التغييرات الطفيفة في السماح باستخدام BYبدلاً من STEP، مما سمح بوضع الخطوة في النهاية كما هو الحال في معظم لغات BASIC، أو في المنتصف كما هو الحال في JOSS ولغات أخرى. وبالتالي، كان كل من و صالحين. [ 11 ] بالإضافة إلى ذلك، وفرت SUPER BASIC أشكالًا بديلة لتعريف النطاق باستخدام و ، بينما استخدمت معظم اللغات الأخرى هياكل حلقات منفصلة تمامًا لهذه الأغراض. على سبيل المثال، ستستمر طالما أن X<Y، بينما تتوقف عند تحقق الشرط. [ 12 ] كما هو الحال في Microsoft BASIC ، يمكن أن تنتهي الحلقات المتعددة بـ واحدة ، [ 12 ] على الرغم من أنها لم تتضمن ميزة الإصدارات اللاحقة من MS حيث يمكن حذف متغير الفهرس تمامًا. أخيرًا، على غرار JOSS، يمكن استبدال مُحدد النطاق النموذجي بقائمة صريحة من القيم . [ 13 ]FORI=1TO10BY2FORI=1BY2TO10WHILEUNTILFORX=1WHILEX<YFORX=1UNTILX<YNEXT I,J1 TO 10FORI=1,4,5,6,10
كان التغيير الأهم، بعد نموذج JOSS، هو مفهوم "مُعدِّلات العبارات" الذي يسمح بوضع مُعدِّل IFأو بعد العبارة التي يتحكم بها. على سبيل المثال، يُعادل . وهذا يُسهِّل فهم بعض حالات الاستخدام الشائعة. [ 14 ] كما تضمن هذا التغيير اختصارًا نحويًا وهو عبارة عن بمعنى معاكس؛ على سبيل المثال، . ويمكن أيضًا استخدام حلقة تكرار في هذه الحالات، مما يُسهِّل تنفيذ حلقات التكرار ذات العبارة الواحدة، على سبيل المثال . [ 15 ] ويمكن أيضًا استخدام أو بدون حلقة تكرار، . كما يمكن دمج المُعدِّلات معًا . [ 16 ]FORPRINT"IT IS"IFX=5IFX=5THENPRINT"IT IS"UNLESSIFPRINT"IT IS NOT FIVE"UNLESSX=5PRINTXFORX=1TO10WHILEUNTILX=X+2UNTILX>10PRINT"YES"IFA=BUNLESSN=0
تعابير الوجه
المتغيرات
يمكن أن تتكون أسماء المتغيرات من حرف واحد أو حرفين أو حرف واحد ورقم. لم تكن لغة سوبر بيسك تتطلب تحديد نوع المتغيرات، إذ كان بإمكان المتغير أن يحمل رقمًا في موضع وسلسلة نصية في موضع آخر، وهو أثر جانبي لطريقة تخزينها. كان هذا يتطلب من النظام اختبار نوع المتغير أثناء التشغيل INPUT، PRINTمما أدى إلى انخفاض الأداء. يمكن معالجة هذه المشكلة بتحديد نوع المتغير صراحةً باستخدام مجموعة متنوعة من الأوامر. [ 17 ]
في معظم لهجات لغة BASIC، تُنشأ المتغيرات تلقائيًا عند مصادفتها في الكود، وتُضبط قيمتها عادةً على الصفر (أو سلسلة نصية فارغة) عند إنشائها. قد يؤدي هذا إلى مشاكل عندما يُفترض أن تُهيأ المتغيرات بواسطة كود سابق لم يُستدعَ بشكل صحيح، ولكن أثناء التشغيل، قد يصعب تحديد ما إذا كانت القيمة 0 قيمة غير مُهيأة أم قيمة صحيحة تمامًا. عالجت لغة SUPER BASIC هذه المشكلة باستخدام VARالأمر `constructor`. كان هناك شكلان رئيسيان: VAR=ZEROالأول يجعل جميع المتغيرات غير المُعرّفة تحصل تلقائيًا على القيمة صفر عند الوصول إليها، وهو النمط المعتاد في BASIC، والثاني VAR=UNDEFيتسبب في ظهور خطأ "المتغير ليس له قيمة" عند استخدام متغير لم يُرَ من قبل بطريقة تحاول الوصول إلى قيمته. يُعدّ الشكل الأخير مفيدًا جدًا في سيناريوهات تصحيح الأخطاء ، حيث يمكن للسلوك الطبيعي أن يُخفي حقيقة أن المتغير المستخدم في عملية حسابية لم يُهيأ بشكل صحيح. [ 18 ]
رقمي
ما لم يُنص على خلاف ذلك، كانت المتغيرات تُخزَّن بتنسيق الفاصلة العائمة أحادي الدقة 48 بت ، بدقة أحد عشر رقمًا. وكان بالإمكان أيضًا تعريف المتغير صراحةً على أنه ، وهو تنسيق أحادي الدقة. لم يكن هذا الأمر مُراعى في لغات BASIC الأخرى، حيث كان نوعٌ ما من اللواحق، مثل ، يُشير إلى النوع أينما وُجد. [ 17 ]REAL A$
عند الحاجة، يمكن استخدام تنسيق الدقة المزدوجةDOUBLE A بسبعة عشر رقمًا، مُخزَّنة في ثلاث كلمات من 24 بت بدلًا من كلمتين، وذلك بتعريف متغير باستخدام . [ 19 ] يمكن تحويل قيمة أو تعبير موجود بدقة مفردة إلى دقة مزدوجة باستخدام DBL(X)الدالة . على سبيل المثال، يمكن إجبار تعبير على التقييم باستخدام الدقة المزدوجة باستخدام DBL(10+20). [ 20 ]
وبالمثل، يمكن للمرء أن يعلن INTEGER Aعن إنتاج قيمة عددية صحيحة مكونة من كلمة واحدة و24 بت. [ 17 ]
كانت الإضافة غير المألوفة هي الدعم المباشر للأعداد المركبة . وقد تم إعدادها بطريقة مشابهة للمتغيرات الأخرى، باستخدام ` _________ لتخصيص COMPLEX I,Jخانتين للدقة المفردة. عند مصادفتها في البرامج، كانت عبارات أخرى مثل ` _ ...INPUTREADDATAPRINTCMPLX(X,Y)REAL(I)IMAG(I)
المشغلون والوظائف
كانت هناك سبعة عوامل حسابية أساسية: [ 22 ]
↑بالنسبة للأسس - يتم تحويل الأس إلى عدد صحيح مكون من 12 بت*للضرب/للتقسيمMODباقي القسمة (modulo)DIVللقسمة الصحيحة+للجمع-للطرح
كانت قائمة الدوال الرياضية في لغة SUPER BASIC أطول من معظم لغات BASIC، بما في ذلك سلسلة من الدوال المثلثية العكسية واللوغاريتمات للأساس 2 و 10. [ 22 ]
RND ( X ) ، تُعيد عددًا عشوائيًا باستخدام تسلسل ثابت ، ويمكن تهيئتها بـ RND ( -1 ). ABS ( N )، القيمة المطلقة. SQR ( N ) أو SQRT ( N ) ، الجذر التربيعي. SIN COS TAN ASIN ACOS ATN أو ATAN . ATN / ATAN مع متغيرين ( y ، x ) تحسب y / x وتعيد ATN لذلك . SINH COSTH TANH LOG LGT / LOG10 LOG2 EXP EXP2. INT ، كما في BASIC ، دائمًا ما تقرب لأسفل. FIX ، مشابه لـ INT ولكنه ببساطة يقرب العدد العشري . ROUND، يقرب القيمة إلى أقرب عدد صحيح ، على عكس INT . COMP ( X , Y ) COMPARE ، يجمع بين الطرح والإشارة ، لذلك إذا كان X > Y = 1 ، فإن X = Y = 0 ، و X < y + -1. PDIF ( X , Y ) الفرق الموجب ، يُعيد الفرق ( X - Y ) إذا X > Y ، و 0 فيما عدا ذلكتضمنت لغة SUPER BASIC عددًا من الوظائف من JOSS أيضًا: [ 23 ]
الجزء الصحيح IP ()، مكافئ لـ INT . الجزء الكسري FP ()، مكافئ لـ X - INT ( X ) . تُرجع الدالة MAX ( ... ) القيمة القصوى من قائمة المدخلات . تُرجع الدالة MIN ( ... ) القيمة الدنيا .المصفوفات وحساب المصفوفات
بالإضافة إلى العمليات الحسابية الأساسية، تضمنت لغة سوبر بيسك وظائف المصفوفات مثل العديد من تطبيقات بيسك الأخرى. كان بإمكان المستخدم DIM A(5,5)إنشاء مصفوفة ثنائية الأبعاد، ونتيجةً لطريقة تخزينها، تم تعريف جميع المتغيرات غير المُعلنة مسبقًا بعشرة عناصر، مما يسمح للمستخدم بإنشاء مصفوفة ثنائية الأبعاد LET B(5)=20دون الحاجة إلى تعريفها مسبقًا. [ 24 ]
على عكس لغات BASIC الأخرى، تسمح لغة SUPER BASIC بتحديد نطاق أحد البُعدين أو كليهما، مع افتراض القيمة 1 في حال عدم التحديد. لذا، فإن المصفوفة A في المثال أعلاه تحتوي على الفهارس من 1 إلى 5، ولكن يمكن أيضًا DIM A(-5:5,0:5)إنشاء مصفوفة تحتوي على 11 فهرسًا، من -5 إلى +5 للمتغير X، ومن 0 إلى +5 للمتغير Y. كما يمكن استخدام BASEالأمر لتغيير القيمة الافتراضية، بحيث BASE 0، على سبيل المثال، يجعل جميع الأبعاد تبدأ من 0. [ 24 ]
بالإضافة إلى مفاهيم لغة BASIC التقليدية، تضمنت لغة SUPER BASIC معظم ميزات حساب المصفوفات الموجودة في الإصدارات اللاحقة من لغة Dartmouth BASIC. وكان يتم استدعاء هذه الميزات بإضافة الكلمة المفتاحية `super` MATإلى بداية الأوامر الأخرى. على سبيل المثال، ` MAT A=B*Csuper` يضرب جميع عناصر المصفوفة B في العنصر المقابل لها في المصفوفة C، بينما ` MAT A=B*5super` يضرب جميع عناصر المصفوفة B في 5. كما تم تضمين دوال لعمليات المصفوفات الشائعة مثل معكوس المصفوفة وعنصر الوحدة. [ 25 ]
الرياضيات الثنائية والقيم المنطقية
كما هو الحال في معظم إصدارات لغة BASIC، تضمنت لغة SUPER BASIC مجموعة عوامل المقارنة القياسية، =و ، <>و >=، و <=، >و <، بالإضافة إلى عوامل المقارنة المنطقية OR، ANDو NOT. علاوة على ذلك، #يمكن استخدام كصيغة بديلة لـ <>، وهي صيغة وُجدت في عدد من تطبيقات BASIC في ذلك الوقت. [ 14 ] كما أضافت SUPER BASIC XOR، EQVللدلالة على "التكافؤ" (يساوي) و IMPللدلالة على "الاستلزام". [ 26 ]
أضافت لغة SUPER BASIC إلى هذه المجموعة الأساسية ثلاثة أوامر جديدة لمقارنة الفروق الصغيرة بين الأرقام، وهي >>: <<و و =#. يقارن عاملا "أكبر بكثير من" و"أصغر بكثير من" قيمتي المعاملين، على سبيل المثال، A وB في التعبير A >> B. إذا أدى جمع B مع A إلى بقاء A دون تغيير بعد التقريب، >>فإن الأمر يُرجع القيمة true. داخليًا، يتم ذلك بواسطة . أما عامل "أقرب إلى يساوي"، فيقارن القيمتين بمتغير داخلي، ، وينفذ . [ 14 ]IFA=A-B=#EPSABS(A/B-1)<EPS
تسمح معظم لهجات لغة BASIC بتخزين نتيجة هذه المقارنات المنطقية في متغيرات، باستخدام تنسيق داخلي لتمثيل القيمة المنطقية، غالبًا 0 للخطأ و1 أو -1 للصواب. سمحت لغة SUPER BASIC بذلك أيضًا، مما أدى إلى سلوك مُربك نوعًا ما للدالة ، التي، باتباع أسبقية المعاملات، تُسند القيمة 5 إلى B ثم تُرجع صواب أو خطأ إذا كان A=B. أضافت SUPER BASIC أيضًا متغيرات منطقية صحيحة، مُعلنة بطريقة مشابهة للأعداد العشرية أو المركبة، باستخدام ، ويمكن نقل متغيرات أخرى إلى متغيرات منطقية باستخدام . [ 27 ]LETA=B=5LOGICAL AL()
على عكس المقارنات المنطقية والمعاملات، أضافت لغة سوبر بيسك عددًا من المعاملات المنطقية الثنائية. تُطبّق هذه المعاملات عملية منطقية أساسية على البتات الفردية في الكلمة . تشمل هذه المعاملات BAN: BORو BEX، ...LSH(X)RSH(X)LETA=O41
الأوتار
سمحت لغة SUPER BASIC بوضع الثوابت النصية (القيم الحرفية) بين علامتي اقتباس مفردة أو مزدوجة، لذلك يمكن استخدام PRINT "HELLO, WORLD!"أو PRINT 'HELLO, WORLD!'. [ 29 ]
على عكس لهجات BASIC اللاحقة، كان بالإمكان إسناد سلسلة نصية إلى أي متغير $دون استخدام مُؤشِّر، ما A="HELLO, WORLD!"يجعلها صالحة. قد يُؤدي هذا إلى بعض الالتباس عند إدخال المستخدم قيمة تجمع بين الأرقام والحروف، إذ تفترض SUPER BASIC أن أي شيء يبدأ برقم هو عدد. لتوجيه النظام عند حدوث إدخال مُربك، يُمكن تعريف متغيرات السلاسل النصية صراحةً باستخدام ` STRING A. وكما هو الحال مع جميع المتغيرات في SUPER BASIC، يُمكن أن تكون هذه المتغيرات مصفوفات STRING A(5). بالإضافة إلى ذلك، أضافت SUPER BASIC العبارة الإضافية TEXTالتي تأخذ مُعاملًا ثانيًا لتحديد طول عناصر السلسلة النصية، ما TEXT A(12):10يجعل `.` مصفوفة تحتوي على 12 عنصرًا، كل عنصر منها 10 أحرف، بينما `.` TEXT B(5:10):15مصفوفة تحتوي على ستة عناصر، من 5 إلى 10، كل عنصر منها 15 حرفًا. [ 30 ]
عوامل التشغيل والوظائف الخاصة بالسلاسل النصية
تضمنت لغة SUPER BASIC عوامل =للمقارنة والدمج +. وتضمنت الدوال التالية: [ 31 ]
تقوم الدالة ASC(S) بإرجاع رقم ASCII للحرف الأول في السلسلة النصية. تُعيد الدالة CHAR(N) سلسلة نصية تحتوي على حرف ASCII واحد، تمامًا مثل الدالة MS CHR(). تقوم الدالة COMP(A,B) بمقارنة سلسلتين نصيتين، وتعيد القيمة -1 أو 0 أو 1 بناءً على السلسلة "الأكبر". تُعيد الدالة INDEX(A,B) فهرس العنصر B داخل العنصر A. المعامل الثالث اختياري، وهو نقطة بداية الإزاحة. LENGTH(A)، طول السلسلة تُعيد الدالة SPACE(X) سلسلة نصية تتكون من X عدد من المسافات تقوم الدالة VAL(A) بالبحث في السلسلة عن رقم ثم تعيده. تقوم الدالة STR(N) بتحويل رقم إلى سلسلة نصية. اليسار، كما في MS يمين SUBSTR، كما هو الحال مع MID MS
وظائف المساعدة
وتشمل أيضًا وظائف المنفعة النموذجية: [ 32 ]
تُعيد الدالة POS عمود رأس الطباعة ، بينما تُعيد الدالة POS ( X ) موضع رأس الطباعة في الملف . أما الدالة TAB ( X ) فتُنقل رأس الطباعة إلى العمود X، بينما تُنقله الدالة TAB ( X , N ) إلى العمود N في الملف نفسه . التاريخ والوقتتضمنت لغة SUPER BASIC أيضًا متغيرات زائفة لـ PIو DPI، حيث أن الأخير ذو دقة مزدوجة، بالإضافة إلى المذكور سابقًا EPSلتمثيل أصغر قيمة ممكنة.
تنسيق الطباعة
تضمنت لغة SUPER BASIC نوعين من تنسيق الطباعة يمكن استخدامهما مع PRINTالعبارة. PRINT IN IMAGE X:استخدم النوع الأول سلسلة تنسيق، مخزنة في هذه الحالة في X، بطريقة مشابهة لما نفذته لغات BASIC الأخرى باستخدام PRINT USINGأو الأمثلة الأكثر شيوعًا في لغة C وما تلاها. شمل نوع الحقل الأعداد الصحيحة، [ 33 ] وتنسيقات عشرية محددة، والأسس، بالإضافة إلى السلاسل النصية. %تشير العلامات إلى رقم واحد في حقل عدد صحيح أو حقيقي، وتشير #إلى رقم في حقل E. [ 34 ]* ويمكن $استخدامها كبادئة لأي قيمة. [ 35 ]
PRINT IN FORMATكانت تعمل بنفس الطريقة عمومًا، مع اختلافٍ يتمثل في ضرورة تحديد المسافات صراحةً باستخدام B. وبالتالي، فإن سلسلة التنسيق ستطبع قيمتين عدديتين مع ثلاث مسافات بينهما، بينما إذا كانت صورة، فسيتم طباعتها مع مسافة على كل جانب. يدعم الإصدار مجموعةً أوسع من سلاسل التنسيق ويتضمن عناصر مثل إرجاع الأسطر المضمنة، لكن الأمثلة الواردة في الأدلة لا توضح سبب وجود نظامين من هذا القبيل مع أنهما يحققان نفس الغرض في النهاية. [ 36 ]"%% BBB %%.%%""BBB"FORMAT
ومن المثير للاهتمام، أنه يمكن استخدام أوامر التنسيق نفسها لـ INPUT، وليس فقط لـ PRINT. في هذه الحالة، سيتم تنسيق مدخلات المستخدم بشكل صحيح بناءً على السلسلة، لذا 1.2345قد يتم اقتطاعها إلى 1.2إذا كان التنسيق هو %.%. [ 37 ]
إدخال/إخراج الملفات
تضمنت لغة SUPER BASIC نظام إدخال/إخراج ملفات يعتمد على `file_id` ، حيث INPUT ON X` file_id` هو مُعرِّف الملف، وهو رقم. يتم تعيين الرقم باستخدام `file_id` . تم توفير `file_id` كبديل لـ ` file_id`، لكنهما متطابقان داخليًا. عند اكتمال العملية، يمكن تحرير الملف باستخدام `file_id` أو ` file_id` . [ 38 ] عند التعامل مع الملفات، يمكن قراءة موقع القراءة التالي باستخدام ` file_id` وتغييره باستخدام `file_id` . [ 39 ] تُعيد `file_id` الموضع داخل نموذج إذا تم استخدام `file_id`. [ 40 ] تُعيد `file_id` حجم الملف. [ 41 ] يمكن استخدام `file_id` في الحلقات لاختبار ما إذا تم الوصول إلى نهاية الملف أثناء عمليات القراءة. [ 42 ]PRINT ON XXOPENfilenameFOR[INPUT|OUTPUT]ASFILEXWRITE ON XPRINT ON XCLOSE XCLOSE filenameLOC(X)LOCATE 100 ON 2POS(X)IN FORMSIZE(N)ENDFILE(X)
تضمن النظام أيضًا دالة TELتُرجع ما إذا كان هناك مدخلات تنتظر في الطرفية أم لا. غالبًا ما تضمنت برامج لغة سوبر بيسك شيفرة مثل
انتظر ١٠٠ ( ١ )؛ إذا لم يحدث ذلك ، فأبلغ عن ١٠٠[ 43 ] بالإضافة إلى ذلك، تضمن البرنامج اسم ملف وهمي "TEL"يمكن فتحه للقراءة والكتابة باستخدام الأمر `teletype` . [ 44 ] علاوة على ذلك ، أشار كل من ` teletype` و`teletype` أيضًا إلى الأمر `teletype`. [ 45 ]OPEN"TEL"FOROUTPUTAS2WRITEON2"HELLO WORLD""TEL""T""TELETYPE"
ملحوظات
مراجع
الاقتباسات
- ↑ لامبسون، بتلر، "الأنظمة"، بحث ، مايكروسوفت
- 1 2 غريغوري 2018 ، ص. 132.
- 1 2 3 4 غريغوري 2018 ، ص 133.
- 1 2 دليل 1978 ، ص. 14.
- ↑ دليل 1978 ، ص 3.
- ↑ دليل 1978 ، ص 11.
- ↑ دليل 1978 ، ص 107.
- ↑ دليل 1978 ، ص 13.
- ↑ دليل 1978 ، ص 15.
- ↑ دليل 1978 ، ص 143.
- ↑ دليل 1978 ، ص 9.
- 1 2 دليل 1978 ، ص 43.
- ↑ دليل 1978 ، ص 140.
- 1 2 3 دليل 1978 ، ص 29.
- ↑ دليل 1978 ، ص 44.
- ↑ دليل 1978 ، ص 45.
- 1 2 3 دليل 1978 ، ص 47.
- ↑ الدليل 1978 ، الصفحات 6، 7.
- ↑ دليل 1978 ، ص 26.
- ↑ دليل 1978 ، ص 27.
- ↑ الدليل 1978 ، ص 25.
- 1 2 دليل 1978 ، الصفحات 7، 8.
- ↑ دليل 1978 ، ص 17.
- 1 2 دليل 1978 ، ص. 21.
- ↑ دليل 1978 ، ص 24.
- ↑ دليل 1978 ، ص 30.
- ↑ الدليل 1978 ، الصفحات 30، 31.
- ↑ دليل 1978 ، ص 28.
- ↑ دليل 1978 ، ص 33.
- ↑ دليل 1978 ، ص 34.
- ↑ الدليل 1978 ، الصفحات 35-37.
- ↑ دليل 1978 ، ص 18.
- ↑ دليل 1978 ، ص 51.
- ↑ الدليل 1978 ، ص 52.
- ↑ دليل 1978 ، ص 53.
- ↑ دليل 1978 ، ص 55.
- ↑ دليل 1978 ، ص 60.
- ↑ دليل 1978 ، الصفحات 71-75.
- ↑ دليل 1978 ، ص 84.
- ↑ دليل 1978 ، ص 85.
- ↑ دليل 1978 ، ص 132.
- ↑ دليل 1978 ، ص 126.
- ↑ دليل 1978 ، ص 99.
- ↑ دليل 1978 ، ص 76.
- ↑ دليل 1978 ، ص 89.
فهرس
- دليل مرجعي للغة سوبر بيسك . تايمشير. فبراير 1978.
- غريغوري، ناثان (2018). الوقت الذي يسبق ... لولو. ISBN 9781387304059.
- عائلة لغات البرمجة الأساسية
- برنامج تايمشير
