البرمجة
بلغة بيسك
متي تم تصميم لغة البرمجة بيسك ؟
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