Home Previous Up C/C++ " href="c.html">Next6.9 تمارين الباب السادس
حول
المحتويات
مشاريع
ثواب
مقالات
تنزيل
English

6.9 تمارين الباب السادس

هذه مجموعة من الأسئلة الأساسية حول فصول الباب السادس.يفترض أن تتمكن من الإجابة عليها بمجرد قراءة هذا الباب.

  1. اختر الإجابة الصحيحة:
    1. واحدة من التالية ليست صحيحة بخصوص '#' :
      1. تحدد المفسر shell إذا تبعت بعلامة '!'
      2. تحول السطر إلى تعليق إذا بدأ بعلامة '#'
      3. تكمل بقية السطر كما 'echo "woo" # display woo'
      4. تعليق حتى لو كان كان داخل علامة تنصيص echo "I'm \#1"
    2. برنامج يبدأ ب #!/usr/bin/env wish فإنه مكتوب بلغة
      1. wish
      2. env
      3. tcl
      4. sh
    3. واحد من التالية لا يجمع 'x' مع 'y':
      1. expr $x+$y
      2. echo (( $x+$y ))
      3. echo $(( x+y ))
      4. echo $(( $x+$y ))
      5. (a) و (b)
    4. إذا كتبت النص التنفيذي 'Hello, world!' التقليدي ، وعندما نفذته حصلت على 'permission denided' فإن هذا يعني :
      1. فقط الجذر يمكنه تشغيله ، عليك استعمال 'su'
      2. غيّر اسم الملف لينتهي ب '.sh'
      3. غيّر الأذونات إلى 755.
      4. غيّر مالك الملف.
    5. مخرجات 'grep -q vfat /etc/fstab; echo $?' هي
      1. معرّف PID لبرنامج grep
      2. 0 فقط إذا وجد vfat
      3. 0 إذا لم يجد vfat.
      4. 3، عدد معاملات grep
    6. إذا كان 'x=15.2' و 'y=10.3' الأمر الذي يجمعهما :
      1. expr $x+$y
      2. echo (( $x+$y ))
      3. echo $(( x+y ))
      4. echo "$x+$y" | bc
    7. واحدة من التالية خطأ
      1. 'if [ -e myfile] then' ... etc
      2. 'if [ -e myfile]; then' ... etc
      3. [ -e myfile] && echo '[myfile] is there'
    8. واحدة من التالية خطأ عند مقارنة أعداد صحيحة :
      1. '[ $x > $y ]' ... إلخ
      2. '[ $x -gt $y ]' ... إلخ
      3. '(( $x > $y ))' ... إلخ
  2. ما الفرق بين '[ $x == $y ]' و '[ $x -eq $y ]' ؟
  3. ما هي مخرجات 'cd /home/ali; (( cd foo )) ; pwd' ؟
  4. ما مخرجات :
    #! /bin/bash
    function foo() {
        echo $#
    }
    foo Hello world
    
  5. ما الخطأ في النص البرمجي التالي ؟ يفترض أن يطبع المعاملات بأحرف كبيرة
    #! /bin/bash
    function to_up() {
        echo "$*" | tr a-z A-Z
    }
    to_up
    
  6. تتتبع ماذا يفعل هذا النص ؟
    #! /bin/bash
    function to_lo() {
        echo "$*" | tr A-Z a-z
    }
    for i in $@
    do
        [ -e "`to_lo $i`" ] && echo "skip $i" || mv "$i" "`to_lo $i`"
    done
    
  7. قام شخص بتصنيف ملف hello.java بواسطة javac فحصل على ملف hello.Class ثم كتب java hello.Class فلم ينجح تنفيذ الملف، لماذا ؟
  8. مل هو الفرق بين مصنف java المسمى javac والمسمى gcj .

هذه مجموعة من الأسئلة المتوسطة حول فصول هذا الباب. يفترض أن تتمكن من الإجابة عليها بعد قراءة وتطبيق هذا الباب.

  1. متغير بيئة يسمى 't' كيف تعرضه متبوعاً بحرف 'm' دون مسافة ؟
  2. اكتب نص تنفيذي script اسمه gzall.sh يقوم بضغط كل الملفات التي تمرر له على شكل معاملات بطريقة gz
  3. اكتب نص تنفيذي script اسمه ungzall.sh يقوم بفك ضغط كل الملفات التي تمرر له على شكل معاملات بطريقة gz
  4. اكتب نص تنفيذي script اسمه gz2bz2.sh يحول الملفات الممرة له على كل معاملات المضغوطة بطريقة gz إلى مضغوط بطريقة bz2
  5. اكتب نص تنفيذي script اسمه findtmp.sh يعرض الملفات التي تنتهي بعلامة ~ (في المعاملات أو الدليل الحالي) وإذا استعملت الخيار d يحذفها.
  6. اكتب نص تنفيذي script يأخذ معاملات هي ملفات يحول كل سطر يحتوي كلمة WARNING فيها إلى أحرف كبيرة .
  7. اكتب نص تنفيذي script يأخذ معاملات هي ملفات يحذف فيها اشارة - من أي كلمة تبدأ ب ex- مثل ex-wife لتصبح exwife.
  8. اكتب نص تنفيذي script يعرض عدد مرات تكرار المعامل الأول في الملفات من باقي المعاملات.
  9. اكتب نص تنفيذي script اسمه badnames.sh يعرض أسماء الملفات التي لها أسماء مكونة من غير الأرقام والحروف.
  10. اكتب نص تنفيذي script اسمه autoren.sh يحذف المسافات من أسماء (بإعادة تسميتها) وتحويلها إلى - مع ملاحظة احتمال وجود الاسم الجديد مسبقاً أو وجود أكثر من مسافة.
  11. اكتب نص تنفيذي script اسمه noblank.sh يحذف الأسطر الخالية من أي ملف.
  12. اكتب نص تنفيذي script اسمه calc.sh يأخذ أرقام (موجبة أو سالبة) ويظل يجمعها حتى إدخال ما ليس برقم. (استعمل bc ومتغيّر مركم)
  13. ما هو ناتج [ "1" < "10" ] && echo "1 is bigger than 10" || echo "12 is bigger than 1" ، لماذا ؟ تأكد من جوابك عملي
  14. البرنامج التالي نص بلغة perl ماذا يفعل هذا البرنامج ؟
    #!/usr/bin/perl -w
    $a=chomp( ) ;
    printf ("a = %g\n", (($a<0.0)?($a):(-$a)) );
    

هذه مجموعة من الأسئلة المتقدمة حول فصول هذا الباب. عليك أن تبحث (ربما في أبواب أخرى من الكتاب) وتفكر لكي تحصل على الإجابة

  1. مخرجات 'grep -q vfat /etc/fstab; echo -e "$*"' هي: (اختر الإجابة)
    1. معاملات grep
    2. معاملات echo
    3. معاملات bash
  2. اكتب نص تنفيذي script اسمه fstab-gen يستعمل برنامج parted لتوليد ملف fstab بشكل تلقائي.
  3. اكتب نص تنفيذي script اسمه unix2dos.sh يستعمل tr ليقوم بنفس وظيفة الأداة unix2dos التقليدية.
  4. اكتب نص تنفيذي script اسمه split.sh يستعمل dd مع خيار skip ليقوم بنفس وظيفة الأداة split التقليدية.
  5. اكتب برنامج تطبيقي آلة حاسبة بواسطة Ptyhon و GTK.
  6. اقرأ ملف java.txt في kernel-doc، واجعل برامج تتنفذ مثل أي برنامج عادي عبر النواة فقط بكتابة اسمها.

المحتويات
حقوق النسخ والملكية الفكرة
ما هو لينكس؟
كيف تركب نظام لينكس؟
حقوق النسخ المرفوعة
وثائق التخويف

عرب-آيز
مجتمع لينكس العربي
موسوعة ثواب
موسوعة ويكيبيديا
تعريف البرمجيات الحرة
تعريف مفتوحة المصدر
LinuxToday
Linux.org
Linux.com
SlashDot
FreshMeat
LWN.net
توزيعات لينكس
النسخة الإسلامية لأوبنتو
عَرَبيان
جواثا (أول مسجد في أوروبا)
المزيد من التوزيعات هنا

إسلاميات
    برامج:
بريمج أوقات الصلاة
بريمج التقويم الهجري
    صوتيات:
محاضرات: قصص الأنبياء (نبيل العوضي)
أناشيد
اطلب نسختك مجاناً
لكي تصلك أقراص لينكس أوبونتو Ubuntu أصلية مجاناً والتوصيل مجاناً لن تدفع فلساً واحداً ولن تجبر على رؤية دعايات. كل ما عليك هو أن تنقر هنا.
مقالات
    تقنية:
تسجيل وتحويل الصوتيات
تعريف الماسح الضوئي في لينكس
    ساخرة:
من أجل ذلك لا تقرأ
الفيلة والصراع العربي الإسرائيلي
بلاغات
التبليغ عن إعلانات غير مرغوبة
عثرات وأخطاء إملائية
وصلات لا تعمل:

 

ننصح باستخدام متصفحات الوب الحرة، جرب ثعلب النار الآن

يمكنك الحصول على الكثير من البرامج الحرة عالية الجودة من هنا مجاناً
proud to be 100% Microsoft FREE GNU FDL
التدخين حرام

كن كحامل المسك ولا تكن كنافخ الكير

Generously Hosted by www.JadMadi.net

Previous Up 6.9 تمارين الباب السادس C/C++ ">Next
Copyright © 2007, Muayyad Saleh AlSadi