البرمجة بلغة بيسك
متي تم تصميم لغة البرمجة بيسك ؟
1964 م
ماذا تعرف عن لغة البرمجة بيسك ؟
لغة سهلة ومبسطة تفي بغرض المعالجات العلمية غير المعقدة والمعالجات الحرفية البسيطة .
ما هو مفسر بيسك ؟
برنامج يقوم بترجمة التوجيهات من المستخدم (HLL) الي لغة الالة (LLL) سطر بعد سطر او توجيه بعد توجيه .
تحدث عن مترجم بيسك ؟
هو برنامج يقوم بترجمة كل البرنامج دفعة واحدة ثم يكون ملف جديد من البرنامج يسمي الملف الهدف .
البرنامج المصدر : هو البرنامج المكتوب باحدي لغات البرمجة ذات المستوي العالي .
البرنامج الهدف : هو البرنامج الناتج عن عملية الترجمة والمكتوب بلغة الالة .
 مميزات المترجمات هي ؟
1-السرعة            2- التامين           3- التركيب البنائي        4- التكامل مع لغات اخري
تميزت المفسرات علي المترجمات بـ ؟
1-التخزين الاقتصادي                           2- التخاطب المباشر مع الحاسوب
هل تعتبر لغة بيسك قياسية ام لا ؟
لا تعتبر لغة بيسك قياسية فهي تختلف من حاسوب الي اخر  .
اذكر بعض نسخ بيسك ؟
1- BISICA      2- GW BASIC    3 – QBASIC      4- VISUAL BASIC    
الترقيم في لغة بيسك ؟
كل امر في لغة بيسك لابد ان يكون في سطر منفرد وكل سطر ينبغي ان يكون له رقم ويتم تنفيذ الاوامر علي ضوء هذه الارقام علي التوالي من اصغر الي اكبر  .
اعتمدت لغة بيزك كلغة رئيسية منذ الثمانينات  وذلك لصغر حجم ومرونة مفسر بيزك وبساطة بيزك للمتعلمين الجدد  .  
في لغة بيزك في حالة الترقيم يفضل جعل فوراق بين الارقام  علل؟
لانه يتم تنفيذ الاوامر علي ضوء هذه الارقام علي التوالي  من الاصغر الي الاكبر .   
الثوابت : عبارة عن القيم الحقيقة التي يتعامل معها برنامج بيزك عند تشغيله .
تقسم الثوابت الي :
1/ ثوابت سلسلية او رمزية وهو عبارة عن سلسلة رموز لايتجاوز عددها 255 وتكون موضوعة بين علامتي الكلام "...."   
2/ ثوابت عدية : وهي عبارة عن اعداد سالة او موجبة وتوضع علامة سالب قبل العدد السالب .
المتغيرات : هي عبارة عن اسماء تستعمل لتمثيل القيم او البيانات عند تشغيل برنامج بيزك .
 تقسم المتغيرات كذلك الي متغيرات :
1/ نصية   : وهي تمثل قيمة نصية ولا بد ان تنتهي بعلامة الدولار مثل : A$ ,B$  .
2/عدية : وتمثل قيمة عددية .
المصفوفات : ARRAYS   
الممصفوفة :عبارة عن مجموعة من القيم تخزن تحت اسم واحد او متغير واحد .
o      عند استخدام المصفوفات في لغة بيسك لابد من اعلانها او تعريفها في بداية البرنامج .
o      يتم الاعلان عن المصفوفة بواسطة الكلمة المحجوزة DIM  قبل المتغير ويفصلها فراغ مثل :
10 DIM A (5, 4)
   تعني حجم مصفوفة تتكون من اربعة اعمدة وطول كل عمود 5 ونوع البيانات عديدية.
20 DIM B$ (5)
تعني تركيب مصفوفة تتكون من عمود واحد طوله 5 ونوع بياناته نصية .
30 DIM B$ (3) =  “SECOND CLASS”
تعني ان القيمة في الوحدة الثالثة من المصفوفة العمودية B$  هي SECOND CLASS  .
40   A (3, 4) = 12
تعني ان قيمة الوحدة التي في الصف الثالث من العمود الرابع في المصفوفة العدية A  هي  12 .
ادخال البيانات في لغة بيسك :
الادخال المباشر للبيانات : يتم عن طريق الامر INPUT  ويعني ادخل .
Example (1)
INPUT A, B, C$  
RUN
                                                                    
في المثال (1) اعلاه يتم ادخال قيم كل من A ,B ,C$  بعد تنفيذ البرنامج حيث يطلب الحاسوب من المستخدم ادخال قيم المتغيرات اعلاه وهي اختيارية .فمثلا يمنك ان تكون قيمة A =35  وقيمة
 B = 23 ,  قيمة C$ = AHMED  وهكذا .
ادخال البيانات عن طري البرنامج :
      يتم هذا الامر بادخال البيانات عن طريق الامر READ  ويعني اقرأ ويشترط في الامر READ ان تتبعه عبارة DATA  وتهني بيانات إذ تحتوي عبارة DATA   علي قيم المتغيرات الموجودة في عبارة READ .


Example (2)
READ A, B, C, D$, F$   
PRINT A, B, C, D$, F$ 
DATA 19 ,23,45,  write , have been .
     في المثال اعلاه فاننا نطلب من الحاسوب ان يقرأ المدخلات في عبارة READ  ويقوم بطباعتها مستخدما القيم الموجودة في عبارة DATA  حيث يقوم باسناد القيمة الاولي في عبارة DATA  الي المنغير الاول في عبارة READ  كالاتي A = 19 , B = 23 , C= 45 ,  
,D$ = write , F$ = have been  وهكذا .
يمكن ان يكون لعبارة READ  واحدة عدد من عبارات DATA   كما يمكن ان يكون هناك عدد من عبارات READ  وعبارة يشفش واحدة فقط كما في المثالين التاليين :
Example (3)
READ A, B, C,
READ D$, F$
PRINT A, B, C, D$, F$ 
DATA 19, 23, 45, write, have been
نري في المثال 3 عبارتي READ  في مقابلهما عبارة DATA  واحدة فقط .
Example (4)
READ A, B, C, D$, F$
PRINT A, B, C, D$, F$ ,G ,I  
DATA 19, 23, 45,
DATA write, have been
DATA, 95, 83
بينما نري في المثال 4 عبارة READ  في مقابلها 3 عبارات DATA    تحوي قيم المتغيرات الموجودة في عبارة READ  الوحيدة .
استخراج المعلومات علي الشاشة او الطابعة :
يتم استخراج المعلومات علي الشاشة او الطابعةو عن طريق الامر PRINT  او LPRINT  .
حالات المخرجات باستخدام الامر PRINT   كما في الامثلة التالية :
10 PRINT
RUN 
 في العبارة اعلاه يكون الناتج سطرا فارغا  ً
20 PRINT 20
RUN
20
يكون ناتج الاخراج في العبارة اعلاه هي القيمة 20 .
30 PRINT “HELLO”
RUN
HELLO
ناتج العبارة في السطر رقم 30 هو الكلمة HELLO  
5 INPUT A
10 PRINT A
RUN
? 12
12
العبارة اعلاه يطلب الحاسوب منا ادخال قيمة المتغير A   ومن ثم طباعة قيم المتغير A  بعد التنفيذ نقوم بادخال قيمة  A  ولنفترض انها كانت 12  فيكون ناتج الاخراج هو العدد 12 .
10 INPUT N$
20 PRINT N$
RUN
? Mohamed
Mohamed
  في العبارة اعلاه طلبنا من الحاسوب طباعة قيمة المتغير النصي N$  و التي قمنا بادخالها مباشرة من لوحة المفاتيح والتي كانت الاسم Mohamed   فكان الناتج ذات العبارة المدخلة وهي  Mohamed  .
اولويات المعالجة الحسابي في لغة بيسك :
تتم اي عملية حسابية في لغة بيسك حسب الاولويات الاتية :
o      حساب القوي ( الاس ) .
o      حساب الضرب والقسمة .
o      حساب الجمع والطرح .
o      اذا كان هناك اكثر من عملية حسابية لها نفس الاولوية تتم العمليات من اليسار الي اليمين
o      اذا كانت هناك عملية حسابية داخل اقواس تكون الاولوية في فك الاقواس .
العلامات في العمليات الحسابية :
العملية الحسابية
العلامة المستخدمة
الضرب
*
القوي
** أو ^



مثال : اعتبر العبارة الاتية :
15/3-2**5+6
o      يقوم الحاسوب في هذه العملية اولاً بحساب (2^5 =32  )
o      ثم بعد ذلك يقوم بحساب قيمة  (15/3 = 5)
o       ثم بعد ذلك يقوم بحساب (5-32=-27 ) .
o      ثم بعد ذلك يضيف 6 للناتج ليصبح الناتج  -21  .
مسالة امتحان  (2009-2010م) مستخدما لغة الحاسوب وحسب اولويات المعالجة احسب قيمة x :
X=25/5+2*3^ (4-2)
o      يقوم الحاسوب بحساب قيمة (4-2=2 )
o      يقوم الحاسوب في هذه العملية بحساب (3^(2) =9 )
o      يقوم الحاسوب بحساب قيمة (25/5=5 )
o      يقوم الحاسوب بحساب قيمة (2*9=18 )
o      اخير يقوم الحاسوب بحساب (5 +18 =23 )
o      اذا فان قيمة x = 23  هو المطلوب في المسالة اعلاه
مثال (2) مستخدما لغة الحاسوب وحسب اولويات المعالجة احسب قيمة المعادلة ادناه ؟
15/3-2**(5+6)
o      يقوم الحاسوب اولا بحساب ما في داخل الاقواس (5+6=11)  .
o      ثم نقوم بحساب 2 للقوي 11 = 2048
o      ثم بعد ذلك نحسب 15/3 = 5  
o      ثم بعد ذلك نطرح 2048 من العدد 5 ليكون الناتج -2043  
كتابة الملحوظات داخل برنامج بيزيك :
اذا اردنا كتابة اتي ملحوظة مفيدة لمستخدم البرنامج او مذكرة للمبرمج نفسه يمكن عمل ذلك عن طريق  العبارة REM   وهي اختصار للكلمة REMARK  .
كل سطر يبداء بالعبارة REM يقوم الحاسوب باهماله وعدم معالجته وتخطيه للسطر الذي يليه .
الوقف المؤقت للبرنامج وانها البرنامج في لغة بيزيك :
o      يتم عمل الايقاف المؤقت للبرنامج عبر العبارة STOP  .
o      لاستئناف عمل البرنام الذي تم ايقافه مؤقتا نستخدم العبارة CONT
o      للايقاف النهائي للبرنامج يتم ذلك عن طريق العبارة END  .
اوامر نظم التشغيل المستخدمة في التعامل مع برامج بيزيك :
عند كتابة اي برنامج  هناك وامر خاصةلتشغيل هذا البرنامج او حفظه او مسحه ....الخ .

الامر
وظيفة الامر في لغة بيزيك
CLS  
مسح ما هو مكتوب علي الشاشة
OPEN
لفتح برنامج قديم
RUN
تنفيذ البرنامج بعد الضغط علي ENTER
SAVE  
حفظ البرنامج في القرص الصلب
LOAD  
اعادة البرنامج من القرص الي الذاكرة للتعامل معه
NEW
توجيه للحاسوب لازالة البرنامج نهائيا من الذاكرة
LIST , LLIST  
يستخدمان لاظهار كل البرنامج الذي بالذاكرة علي الشاشة
RENAME  
اعادة ترقيم الاسطر
SYSTEM
يامر الحاسوب بايقاف المعالجة في المفسر وتنفيذ وامر التشغيل
COUTIUE  
لمتابعة تنفيذ البرنامج من اخر سطر توقف عنده
OUTPUT SCREEN  
يستخدم لاظهار الشاشة التي يتم فيها التعامل مع المستخدم
يستحسن استخدام الامر SAVE  من وقت لاخر حتي يضمن وجود البرنامج مخزونا علي القرص اذا حدث اي خطاء ادي لفقدانه من الذاكرة .
التفرع والتحكم في البرمجة بلغة بيزيك :
o      التفرع : يقوم البرنامج بعدة عمليات واستخراج النتائج ليستخدمها في جزء اخر من البرنامج .
نستخدم العبارة IF condition THEN statement1 ELSE statement2
Condition  تعني الشرط الذي يستخدم في عمليات المقارنة وهي (> < => , =<   ) وغيرها
o      يتم التفرع او القفز لتنفيذ اوامر فرعية في برنامج بيزيك بواسطة العبارة IF (condition)      THEN (line number )  وهي توجيه للحاسوب اذا تحققت الحالة في الجملة الشرطية اعلاه والمحددة لموضع القفز .
o      يستخدم الامر IF …THEN  لتنفيذ اوامر فرعية في برنامج بيزيك بينما يستخدم الامر GOTO مصحوبا مع الاول لتنفيذ التفريع والقفز الي امر سابق او لاحق
الاختبارات المنطقية التي يمكن ان يتحقق منها الحاسوب :
o      تحقق التساوي او التكافؤ مثل   A= B  OR  A$ =B$   
o      تحقق الكبر A> B OR A$ >B$   
o      تحقق الصغر A< B or  A$ <B$   
o      تحقق التساوي او اكبر من A>=B  
o      تحقق التساوي او اصغر من  A<= B  
o      تحقق حالة عدم التساوي A<>B  
اذا تحققت شرط القفز فان الحاسوب يبداء في تنفيذ الاوامر ابتداءً من السطر الواقع بعد عبارة THEN  وان لم يتحقق شرط القفز فان الحاسوب سوف يتابع تنفيذ الاوامر علي التوالي  .
Example:
10 INPUT A , B
20 IF A = B THEN 40
30 PRINT “ A is not equal to B “
35 GOTO 50
40PRINT “A is equal to B”
50 END
RUN
? 20 , 20
A is equal to B
نري عند تشغيل هذا البرنامج وادخال عددين متساويين عند عبارة  INPUT  ان الحاسوب يقفز بعد عمل الاختبار مباشرة الي السطر 40 لتحقق تساوي العددين  ويطبع العبارة A is equal to B.
هناك امرتفريعي آخر يستعمل في لغة بيسك وهو GOTO line number  الي اذهب الي السطر المحدد رقمه في الامر وهو 50 في هذا المثال .
التفريع بطريقة العداد في لغة بيزيك :
ان اكثر لغات البرمجة لها خاصية عمل العداد وتفريعه وايقاف التفريع عند وصول العداد للعدد المطلوب من التكرارات وهذه الخاصية توجد في لغة بيزيك بالعبارة :
الصيغة العامة :                                          
     For Count=First TO Last
Statement 1
Statement 2
.
Statement N
NEXT Count
حيث FOR  كلمة محجوزة تعني بدء جملة التكرار
حيث Count متغير عددي يمثل عداد التكرار
حيث first  ثابت او متغير او تعبير حسابي يمثل القيمة الابتدائية للعداد Count
حيث TO  كلمة محجوزة تعني حتي 
حيث  last  ثابت او متغير او تعبير حسابي يمثل القيمة النهائية للعداد Count
حيث (Statement2 ,  Statement1   .... Statement N)
حيث NEXT  جملة محجوزة تعلن عن نهاية جملة التكرار .              
مثال اطبع كل الارقام الزوجية من 10 الي 2
10 REM NUMBER DIVIDES 2 BETWEEN 10 AND 2
20FOR J =10 TO 2 STEP 2
30 PRINT J
40 NEXT J
50 END
RUN ..
10    8    6    4     2

Post a Comment

Previous Post Next Post