اذهب إلى المحتوى

السؤال

نشر

لدي حالات شرطية كثيرة أريد اختبارها على حسب مدخلات المستخدم، لكنني أضطر إلى كتابة عشرات الأسطر لفعل ذلك، فهل هنالك طريقة سريعة للقيام بالجمل الشرطية في باسكال؟

Recommended Posts

  • 0
نشر

نعم، هنالك في أغلب لغات البرمجة مثل السي والسي بلس بلس وباسكال وغيرها طريقة سريعة لعمل الجمل الشرطية، فيكفي أن تكتب الشرط ثم تكتب أمامه الأوامر التي يجب تنفيذها ما إذا كان الشرط صحيح، وهذه الطريقة تسمى في باسكال بـ Case of، أي على حسب محتويات متغير معين قم بفعل أوامر معينة.
هذه الطريقة تختصر الكثير من الجهد والوقت وهذا مثال بسيط لبرنامج بلغة باسكال باستخدام هذه الحلقة:

Program Program1b_Lesson5;
Uses Crt;
Label Return;  {use of the goto statement
                is not recommended..avoid it}
Var SEL : Integer;
    YN  : Char;
           
Begin
 Return:Clrscr;
 Writeln('[1].PLAY GAME');
 WRITELN('[2].LOAD GAME');
 WRITELN('[3].MULTIPLAYER');
 WRITELN('[4].EXIT GAME');
 Writeln('note: Do note press anything except');
 Writeln('numbers; otherwise an error occurs!');
 Readln(SEL);
 Case SEL of
  1 : Begin
       Writeln('Are you able to create');
       Writeln('a game of yourself using pascal??');
       Delay(2000);
       Goto Return;
      End;
  2 : Begin
       Writeln('Ahhh... no saved games');
       Delay(2000);
       Goto Return;
      End;
  3 : Begin
       Writeln('networking or 2 players?');
       Delay(2000);
       Goto Return;
      End;
  4 : Begin
       Writeln('Exit?');
       YN := Readkey;
       Case YN of {a sort of a nested case statement}
        'y' : Begin
               Writeln('Nooooooooooooo...');
               Delay(1000);
               Halt;
              End;
        'n' : Goto Return;
       End;{End Case2}
      End;{Close Conditional Expression 4}
 End;  {End Case1}
End.

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...