8.11 تمارين الباب الثامن كتاب لينكس الشامل >>

8.11 تمارين الباب الثامن

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

  1. ما الفرق بين malloc و g_malloc و g_try_malloc.
  2. كيف تعمل البرامج المرتبطة مع مكتبة motif في لينكس مع أن رخصة motif ليست حرة ويمنع توزيعها.
  3. ما الفرق بين GtkWidget و GTK_WIDGET ؟
  4. ما الفرق بين gtk_button_new_with_label("OK.") و gtk_button_new_from_stock(GTK_STOCK_OK) ؟
  5. لماذا يجب استعمال مكتبة أخرى إلى جانب OpenGL مثل glut أو SDL عند عمل أي تطبيق.
  6. ما الفرق بين ثلاثية الأبعاد في Allegro و OpenGL ؟ ومتى تكون كل منها أسرع ؟
  7. ما احداثيات الزاوية اليسرى السفلى في كل من OpenGl و Allegro و SDL ؟ (بدلالة أبعاد الشاشة W و H)
  8. أيهما توفر وظائف أكثر SDL أم Allegro ؟ أيهما أصغر حجما ؟ أيهما جزء من توزيعات لينكس التقليدية ؟

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

  1. استعمل GDir في عرض ملفات الموجودة في دليل معين يقدم على شكل معامل كما ls.
  2. اكتب برنامج استدعاء ذاتي recursion يعمل على عد الملفات في دليل معين (وكل الأدلة الفرعية منه).
  3. اكتب برنامج و multi-thread استدعاء ذاتي recursion يعمل على عد الملفات في دليل معين (وكل الأدلة الفرعية منه) ويشغل 5 خطوط threads كحد أقصى.
  4. اكتب برنامج يأخذ معاملات الأول نموذج Pattern باستعمال wildcards أي * و ؟ وباقي المعاملات أسماء ملفات. يعرض أي الأسطر التي تطابق النموذج، باستعمال g_pattern_match_string و g_file_get_contents.
  5. اعمل برنامج آلة حاسبة بواسطة GTK في لغة C.
  6. اكتب محرر نصوص بسيط بواسطة GTK في لغة C به قائمة File تحتوي على Open و Save.
  7. صمم واجهة برنامج تطبيقي يحول من نظام RGB إلى CYMK وبالعكس من خلال أشرطة تمرير scroll bars ثم نفذه بواسطة GTk.
  8. اكتب برنامج يمثل اقتران (مثل f(x)=x2-x) بيانياً يعطى في وقت التصنيف Compile time (أي كجزء من كود البرنامج hard coded)
  9. اكتب برنامج يولد المسار المعقد الموضح في بند رسوم الانكسارية Fractals بدرجة n بواسطة SDL أو Allegro أو OpenGL.

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

  1. في سؤال محرر نصوص البسيط السابق اجعل البرامج متعدد اللغات باستعمال gettext.
  2. اعمل برنامج آلة حاسبة بواسطة Gtkmm في لغة سي++.
  3. اعد كتابة أمثلة وأجوبة الأسئلة المتعلقة OpenGl باستخدام GlArea في GTK بدلاً من GLUT
  4. اكتب برنامج يمثل أي اقتران بيانياً يعطى في وقت التنفيذ run time وذلك بالتأكد من الصيغة ثم بأخذ القيم المطلوب رسمها عبر أنبوب من برنامج bc باستعمال الوظيفة popen من مكتبة سي القياسية.
  5. اكتب برنامج يولد الشفق المعطى بالعلاقة v(x,y)=sqrt((x-u)2+(y-v)2)/max(u,v) حيث (u,v) احداثيات مركز الشاشة، أولاً دون مسار معقد ثم بمسار معقد.
  6. اكتب برنامج يولد الشفق المعطى بالعلاقة v(x,y)=0.5+0.5*sin(sqrt((x-u)2+(y-v)2)/min(u,v)*2*M_PI) حيث (u,v) احداثيات مركز الشاشة، أولاً دون مسار معقد ثم بمسار معقد.
  7. اكتب برنامج يولد الشفق المعطى بالعلاقة v(x,y)=sqrt((x-u)2+(y-v)2)/max(u,v) حيث (u,v) احداثيات مركز الشاشة، حيث قيم v من 0 إلى 1 تمثل درجات الأزرق من 0-255.


<< السابق كتاب لينكس الشامل التالي >>