أول صحيفة سعـودية تصــدرعلـى شبكـة الانتــرنت صحيفة يومية تصدرها مؤسسة الجزيرة للصحافة والطباعة والنشر

الطبعة الثانيةالطبعةالثالثةاختر الطبعة

Monday 4th June,2001 العدد:10476الطبعةالاولـي الأثنين 12 ,ربيع الاول 1422

الصفحة التعليمية

الفصل التاسع
البرامج الفرعية
«البرمجيات»
تعريف البرنامج الفرعي
هو مجموعة من جمل البيسيك التي نحتاج لتكرار تنفيذها عدة مرات ولكن تكتب مرة واحد.
فوائد البرامج الفرعية
1- تجزئة البرامج الكبيرة المعقدة
2- سرعة وسهولة التطوير والتعديل والاضافة.
3- سرعة وسهولة التصحيح واكتشاف الأخطاء
الأوامر: GOSUB امر استدعاء برنامج فرعي
الأمر: RETURN امر انهاء البرنامج الفرعي
ملاحظة: يمكن لبرنامج فرعي استدعاء برنامج فرعي آخر. والبرنامج دائماً يتكون من برنامج رئيس وعدة برامج فرعية.
البرنامج الرئيس ينتهي بالأمر END اما البرنامج الفرعي فينتهي بالأمر
RETURN.
تطبيق 1- اكتب برنامجاً باستخدام البرامج الفرعية حيث يقوم بالاتي:
أ- ان يتقبل من المستخدم سبعة اعداد
ب- ان يطبع الاعداد الاكبر من العدد 12
ج- ان يطبع اصغر عدد فيها
د. ان يطبع المجموع الكلي للاعداد والمتوسط الحسابي لها
شرح: وهنا نجد ان البرنامج يتكون من برنامج رئيس واربعة برامج فرعية هي: أ،ب،ج، د فتكون الاجابة كالتالي:
10-GOSUB 100
20 GOSUB 200
30 GOSUB 300
40 GOSUB 400
50 END
100 DIM A )6(
110 FOR I = 0 TO 6
120 INPUT A )I(
130 NEXT I
140 RETURN
200 FOR I = 0 TO 6
210 IF A )I( * 12 THEN PRINT A )I(
220 NEXT I
230 RETURN
300 MIN = A )0(
310 FOR I = 1 TO 6
320 IF A )I( < MIN THEN MIN = A )I(
330 NENXT I
340 PRINT MIN
350 RETURN
400 SUM = 0
410 FOR I = 0 TO 6
420 SUM = SUM + A )I(
430 NEXT I
440 PRINT SUM, SUM/7
450 RETURN
تطبيق 2: اكتب برنامج يدخل اسماء ورواتب مائة موظف في مصفوفتين ثم باستخدام البرامج الفرعية برنامج فرعي لطباعة جميع البيانات وبرنامج فرعي آخر لطباعة اسماء الموظفين الذين رواتبهم اقل من 3000 ريال وكذلك برنامج فرعي لطباعة اسم وراتب الموظف الاعلى راتبا وبرنامج فرعي آخر لطباعة المجموع الكلي للرواتب.
شرح: وهنا نجد ان البرنامج يتكون من برنامج رئيس واربعة برامج فرعية البرنامج الرئيس يحتوي على اعلان وتخزين بيانات المصفوفات واستدعاء البرامج الفرعية اما البرامج الفرعية فهي جميع الاسترجاعات التي سبق دراستها في المصفوفات.
10-DIM N$ )99(, P )99(
20 FOR I = 0 TO 99
30 INPUT N$ )I(, P )I(
40 NEXT I
50 GOSUB 100
60 GOSUB 200
70 GOSUB 300
80 GOSUB 400
90 END
100 FOR I = O TO 99
110 PRINT N$ )I(, P )I(
120 NEXT I
130 RETURN
200 FOR I = 0 TO 99
210 IF P )I( < 3000 THEN PRINT N$ )I(
220 NEXT I
230 RETURN
300 MAX = P )0(: L= O
310 FOR I = 1 TO 99
320 IF P )I(* MAX THEN MAX = P )I(: L =I
330 NEXT I
340 PRINT N$ )L(, MAX
350 RETURN
400 SUM = O
410 FOR I = O TO 99
420 SUM = SUM + P )I(
430 NEXT I
440 PRINT SUM
450 RETURN
المراجعة النهائية:
ضع علامة صح او خطأ امام العبارات الآتية:
1- الأمر GOTO أمر تفرع مشروط ) (
2- لا يمكن استبدال الأمر ON GOTO بعدة جمل من الأمر IF THEN ) (
3- الأمر ON GOTOأمر متفرع غير مشروط ) (
4- الدالة EXP )X( دالة لحساب القيمة المطلقة للعدد X ) (
5- الدالة ATN )X( دالة لحساب ظل الزاوية X ) (
6- الدوال المثلثية تستخدم الزاوية بالقياس الستيني ) (
7- الدالة CHR$ )M( دالة لايجاد الحرف المناظر للعدد M من جدول الترميز اسكي ) (
8- لحساب طول الجملة الحرفية نستخدم الدالة LEFT$ ) (
9- لاستخلاص جزء من يمين الجملة الحرفية تستخدم الدالة MID $ ) (
10- لتعريف دالة معرفة يكتب الأمر «طريقة حساب الدالة = «المعاملات» DEFFN { ) (
11- في حالة كون عدد عناصر المصفوفة اكثر من عشرة يمكن استخدامها مباشرة دون الاعلان عنها ) (
12- الأمر GOSUB هو أمر العودة من البرنامج الفرعي ) (
الإجابة:
1- الأمر GOTO أمر تفرع مشروط )خطأ(
2- لا يمكن استبدال الأمر ON GOTO بعدة جمل من الأمر IF THEN )خطأ(
3- الأمر ON GOTO امر تفرع غير مشروط )خطأ(
4- الدالة EXP )X( دالة لحساب القيمة المطلقة للعدد X )خطأ(
5- الدالة ATN )X( دالة لحساب ظل الزاوية X )خطأ(
6- الدوال المثلثية تستخدم الزاوية بالقياس الستيني )خطأ(
7- الدالة CHR$ )M( دالة لايجاد الحرف المناظر للعدد M من جدول الترميز اسكي )صح(
8- لحساب طول الجملة الحرفية نستخدم الدالة LEFT$ )خطأ(
9- لاستخلاص جزء من يمين الجملة الحرفية تستخدم الدالة MID $ )خطأ(
10- لتعريف دالة معرفة يكتب الأمر «طريقة حساب الدالة = «المعاملات» DEFFN { )خطأ(
11- في حالة كون عدد عناصر المصفوفة اكثر من عشرة يمكن استخدامها مباشرة دون الاعلان عنها )خطأ(
12- الأمر GOSUB هو أمر العودة من البرنامج الفرعي )خطأ(
بيِّن الخطأ في الجمل الآتية مع تصحيح الخطأ:
1- 20 IF A = G$ THEN 60
2- 20 IF N = B THEN B*N/4
3- 20 IF V *< 10 THEN 110
4- 20 GOTO 100,200
5- 20 ON A GOTO 100
6- 20 ON A< B GOTO 100,200,300
7- 30 N$ = LIN )"ALIس(
8- 30 PRINT LEN$ )"QBASICس(
9- 30 PRINT LEFT )"ALIس,2(
10- 30 PRINT MID )"QBASICس,2(
11- 40 DEF FN )B( = 3*B
12- 10 DIM B$ )20(, )30(
13- 250 RETURN 120
الإجابة:
1-IF A$ = G$ THEN 60 خطأ في المقارنة
2- THEN IF N =B THEN PRINT B*N/4 خطأ في الجملة التي تلي .
3-IF V <* 10 THEN 110 خطأ في علامة المقارنة .
4-GOTO 100خطأ لان عدد السطور أكثر من سطر واحد بعد الأمر التفرع غير المشروط.
5-ON A GOTO 100,200 خطأ لأن عدد السطور على الاقل بعد الأمر يكون اثنين .
6-ON A+B GOTO 100,200,300 خطأ لأن بعد الامر لا يوجد مقارنة ولكن تكون عملية حسابية.
7-N= LEN )"ALIس( خطأ لاسناد عددي الى حرفي .
8-PRINT LEN )"QBASICس( خطأ في كتابة الدالة
9- خطأ في كتابة الدالة PRINT LEFT$ )"ALIس,2(
10- PRINT MID$ )"QBASICس,2,3( خطأ في كتابة الدالة
11-DEF FN A )B(= 3*B خطأ في نقص اسم الدالة المعرفة
12-DIM B$ )20(, A$ )30( خطأ في نقص اسم المصفوفة
13-RETURN خطأ في وجود رقم سطر بعد الأمر لأنه لا يكتب بعده شيء

أعلـىالصفحةرجوع
















[للاتصال بنا][الإعلانات][الاشتراكات][البحث]
أي إستفسارات أو إقتراحات إتصل علىMIS@al-jazirah.comعناية م.عبداللطيف العتيق
Copyright, 1997 - 2000 Al-Jazirah Corporation. All rights reserved