حل لبعض أسئلة الباب الأول

10

Click here to load reader

Upload: mr-ahmed-elmasry

Post on 10-Aug-2015

646 views

Category:

Documents


5 download

DESCRIPTION

حل لبعض أسئلة الباب الأول مترجمات الصف الرابع

TRANSCRIPT

Page 1: حل لبعض أسئلة الباب الأول

: وحل لبعض األسئلة علي الباب األولمراجعة . Computer الحاسب األليعرف

تعريف الحاسب اآللي :: ١ج وخلفیـات تخصـص بـإختالف اآللـي الحاسب تعريفات تختلف

، العلمیة معرفیه بمعنـــي Compute الفعـــل مـــن مشـــتقة Computer كلمــة

ذات إلكترونیــة حاســبة آلــة بأنــه الحاســب ويعــرف، يحســب البیانـــات معالجــة يمكنھـــا متناھیــة دقـــة و عالیــة ســرعة

Processing ــا Storingوتخزينھـــــــــــــــــــــــــــــــــــــــــــــــ و التعلیمــات مــن لمجموعــة وفقــا Retrieval ســترجاعھاإ و

علمــاء يــري حــین فــي، المطلوبــة للنتــائج للوصــول األوامــر إتصــاالت أجھــزة عــن عبــارة ھــي الحاســبات بــأن اإلتصــاالت

. السرعة فائقة رقمیة

: بأنه الحاسب Wikipedia موسوعة تعرف و إلـى ومعالجتھـا البیانـات إستقبال على قادر إلكتروني جھاز

وفي مختلفة، تخزين وسائط في يخزنھا قیمة ذات معلومات مـع والمعلومـات النتـائج ھـذه تبادل على قادرا يكون الغالب .متوافقة أخرى أجھزة

بمئــات القیــام ھــذا يومنــا فــي الحواســیب أســرع تســتطیع ــین ــات بالي ــابیة العملی ــة الحس ــي والمنطقی ــوان ف ــة ث قلیل

................................................. دائـرة عـن عبـارة باألسـاس ھـو اآللي الحاسب أن والمعني

إلیكترونیــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــة الضخمة اإللكترونیة الدوائر من مجموعة أو اإللكترونیـة النبضـات مع إال التعامل تعرف وال تجید ال والتي

. وفقــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــط أن يمكـن التـي الوحیـدة اللغـة أن نجـد الرقمـي بالمنطق و

Machine اآللـة لغـة ھـي مباشـرة بھـا الحاسب مع نتعاملCode } 1 ، 0{ ھما إثنین رمزين علي إال أبجديتھا تحتوي ال والتي

Compilers Page ١

Page 2: حل لبعض أسئلة الباب الأول

ما ھي األھداف األساسیة من دراسة المترجمات ؟

: Our Goals: األھداف األساسیة من دراسة المترجمات ٢ج ھي : األساسیة Compilers المترجمات مھمة إن ــط ــرامج رب ــة الب ــة المكتوب ــتوي ذات برمجــة بلغ ــال مس ــة ع ــة بالبنی للحاســب التحتی

Hardware . علیه المستخدم Operating System التشغیل نظام و غاية في أمرا يعد معروفة برمجة للغة أو جديدة برمجة للغة حقیقي مترجم بناء أن كما

. والجامعات البحثیة المراكز و الكبري الشركات علي يقتصر ويكاد الصعوبة و الدقة : يلي فیما بعضھا نوجز عديدة فوائد لھا المترجمات عمل وكیفیة بناء طريقة فھم لكن

البرمجـة بلغـات والتطبیقـات البـرامج بكتابـة المتعلقـة المشـاكل وإسـتیعاب فھم . المختلفة

التعريـف بـرامج إنتاج علي يعملون الذين األشخاص كثیرا المترجمات دراسة تفید

. Hardware Drivers" التوصیف"

لغـة مسـتقبال نـري أن في فعال وبشكل ستسھم نأمل وكما المترجمات دراسة . عربیة برمجة

. Language Machine أذكر ممیزات وعیوب لغة اآللة

: Machine Code: ممیزات وعیوب لغة اآللة ٣ج مباشرة اآللي الحاسب وينفذھا يفھمھا التي الوحیدة البرمجة لغة ھي الوصف

ــدون" ــد"ترجمــة ب ــات مــن وتع Low Level المســتوي المنخفضــة اللغLanguage

، اإلطالق علي مستوي األقل اللغة ھي باألحري أو ، به خاصة آلة لغة Microprocessor المعالجات من نوع لكل

ثنائیة أرقام صورة علي تكتب Binary Code، الـذاكرة عنـاوين تحتـوي لھـا اآللـة بلغة المكتوبة والبرامج

.Physical Addresses الحقیقیة بسـرعة المسـتوى منخفضـة اللغـة بإسـتخدام المكتوب البرنامج يتمیز الممیزات

بلغـة المكتـوب نظیـره بعكس الذاكرة من جدا صغیرا حیزا وإحتالله التنفیذ المصـادر مـن مزيـد إلـى ويحتـاج أطـول وقتـا يأخـذ والذي المستوى عالیة

Resources .

المكتوبة البرامج وتحتاج جدا صعبة لغة ھي اآللة لغة العیوب و بـاألجھزة الكاملـة الدرايـة تـوافر ضـرورة عـن ناھیـك طويـل وقت إلي بھا

لغـات إلـي الحاجـة ظھـرت األسباب ولھذه. المبرمج لدي المعالج أھمھا . Abstraction التجريد من بشيء وتتسم مستوي أعلي أخري برمجة

Compilers Page ٢

Page 3: حل لبعض أسئلة الباب الأول

توجد العديد من لغات البرمجة وھي في زيادة مستمرة ، فما ھو سبب ذلك وماھي . البرمجة األفضللغة

:تساؤالت ھامة : ٤ج للغ�ة یمك�ن وال أحیان�ا متعارض�ة تكون وقد مختلفة و ممیزة سمات إلي دائما التطبیقات مجاالت تحتاج

برمج���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ة ع�ن كثی�را تختل�ف والھندس�یة العلمی�ة التطبیق�ات متطلب�ات أن تج�د ذلك مثال. المزایا جمیع تحتوي ان

Applications Business التجاری�ة التطبیق�ات عن یختلفان وكالھما Games األلعاب تطبیقات

.Systems Operating التشغیل نظم وعن

لغ�ة عل�ي المطلوب�ة التحس�ینات إج�راء م�ن أق�ل جدیدة برمجة لغة إنشاء تكلفة تكون األحیان بعض في

. المعدل اإلصدار علي بعد فیما المبرمجین تدریب تكلفة عن ناھیك. بالفعل موجودة برمجة

Java لغ�ة ب�ین الكبی�ر التش�ابھ م�ن ذل�ك ویتض�ح . س�بقھا لم�ا مش�ابھة الجدی�دة اللغ�ات تأتي ما غالبا

. Visual Basic Dot Netو VB6 بین فیما أو ++C ولغة

المج�ال ھ�ذا ف�ي علیھ متفق معیار یوجد ال سبق ما إلي فباإلضافة األفضل اللغة تحدید یخص فیما أما . وتجاري إقتصادي ھو بما علميھو ما كثیرا فیھ یختلط كما

أو أق�ل وق�ت ف�ي إجادتھ�ا أس�تطیع أو أكث�ر أجی�دھا الت�ي اللغ�ة ھ�ي ل�ي بالنسبة األفضل اللغة تكون فقد

العوام��ل م��ن ذل��ك وغی��ر الن��اس م��ن األكب��ر الع�دد یس��تخدمھا الت��ي اللغ��ة تك��ون وق��د أق��ل ت��دریب بتكلف�ة . واألسباب

تعتمد علي Construction Compilerعملیة بناء مترجم فقط كیف أن الرسموضح ب

. لغة البرمجة المستخدمة ونظام التشغیل الذي سیجري تنفیذ البرنامج علیه : عملیة بناء المترجم تعتمد علي لغة البرمجة و نظام التشغیل . ٥ج

رسم تخطیطي يبین عالقة المترجم بنظام التشغیل .

Compilers Page ٣

Page 4: حل لبعض أسئلة الباب الأول

تمثل لغة اآللة الجیل األول من لغات البرمجة في حین تمثل اللغات العالیة المستوي "Procedural. الجیل الثالث ، قارن فیما بینھما "

: مقارنة بین لغة اآللة و االغات اإلجرائیة : ٦ج

Machine Languages Procedural مباشرة اآللي الحاسب وینفذھا یفھمھا الوصف

مستوي األقل اللغة وتعد"ترجمة بدون" المعالجات من نوع لكل، اإلطالق علي

Microprocessor بھ خاصة آلة لغة ، ، Binary Code ثنائیة أرقام صورة علي تكتب

عناوین تحتوي لھا اآللة بلغة المكتوبة والبرامج . Physical Addresses الحقیقیة الذاكرة

Procedural اإلجرائیة بالبرمجة تسميlanguage .

اللغة جمل من قریبة جمال وتستخدم االنكلیزیة

إلى الریاضیة المصطلحات بعض إضافة مع تنفیذ أو مشكلة حل بغیة المكتوب البرنامج

عتاد على تعتمد ال بأنھا تتمیز. معینة مھمة hardware independent الحاسب

الثالث األول الجیلرموز األبجدیة اإلنجلیزیة واألرقام وبعض { 1, 0 } الرموز

الحروف الخاصة یستطیع حتى اآللة للغة لترجمة تحتاج ال تحتاج إلي مترجم المترجم

: واقعي وكمثال .منھ المطلوب فھم الحاسبPascal language .

سرعة التنفیذ

أقل سرعة من لغة اآللة األسرع علي اإلطالق

إمكانیة التعلم

سھل في التعلم .أ . لغة صعبة جدأ

أكبر تحتل حیز أقل من الذاكرة الذاكرةالجیل الثالث من لغات البرمجة بینما البرمجة Proceduralتمثل البرمجة اإلجرائیة

تمثل الجیل الرابع وضح ذلك ؟ OOPالشیئیة : ولغات البرمجة الشیئیة غات اإلجرائیةل: ال ٧ج

Procedural : high level languageالجیل الثالث

. Procedural language أو ما یسمي بالبرمجة اإلجرائیة : االنكلیزیة اللغة جمل من قریبة جمال البرمجة في نستخدم ھنا أصبحنا حل غیةب المكتوب البرنامج إلى الریاضیة المصطلحات بعض إضافة مع

الحاسب عتاد على تعتمد ال بأنھا تتمیز. معینة مھمة تنفیذ أو مشكلةhardware independent

فھم الحاسب یستطیع حتى اآللة للغة لترجمة تحتاج كسابقتھا وھي . Pascal language: واقعي كمثال.منھ المطلوب

OOP :Non procedural languageالجیل الرابع

الموكل�ة المھ�ام تنفی�ذ ف�ي المب�رمجین عم�ل تس�ھیل غی�ة ب الجی�ل ھذا دجو OOP التوج�ھ الكائنی�ة البرمج�ة ولع�ل ،البرمجی�ة المش�كالت وحل للحاسب

أي معالج��ة عل��ى تعتم��د وھ��ي، الجی��ل ھ��ذا ب��ھ یوص��ف أن مك��نی م��ا أھ��م . Objects الكائن���������ات م���������ن سلس���������لة أنھ���������ا عل���������ى مش���������كلة

الكائن��ات ب��ین التف��اعالت بدراس��ة تھ��تم كم��ا ب��ھ خ��اص س��لوك ك��ائن ولك��لObjects .

Compilers Page ٤

Page 5: حل لبعض أسئلة الباب الأول

بین ذلك مع الرسم . المترجم إلي مرحلتین رئیسیتینیمكن تقسیم

:٨ج : رئیسیتین مرحلتین إلي المترجم تقسیم یمكن

: Front End: التحلیل مرحلة

Analysis Phase . النص تقسیم فیھا یجري التي وھي

من للتأكد وجمل كلمات إلي البرمجي . ودالالتھا صحتھا

Back:: التولید أو التركیب مرحلة End Syntheses .

جدید برمجي نص تولید فیھا یتم والتي بلغة ولكن المصدر النص داللة بنفس التنفیذیة التعلیمات من تتألف" أخري ". التشغیل نظام یفھمھا التي

للخوارزمیات أشكال "أنواع متعددة" ، أذكر بعضا منھا .

: Alghorithmsالخوارزمیة : ٩ج الخوارزمی�ة وس�میت . ما مشكلة لحل الالزمة والمتسلسلة والمنطقیة الریاضیة الخطوات من مجموعةھي

.المیالدي التاسع القرن في إبتكرھا الذي الخوارزمي المسلم العالم إلى نسبة االسم بھذا یقتص��ر معناھ��ا ك��ان األص��ل وف��ي» Algorithm« ھ��ي واألوروبی��ة الالتینی��ة اللغ��ات ف��ي المنتش��رة الكلم��ة

. Loops والتكرار) Decision( واإلختیار التسلسل: وھي فقط ثالثة لتراكیب خوارزمیة على والك��������ود Flowcharts اإلنس��������یاب مخطط��������ات أش��������ھرھا متع��������ددة أش��������كال للخوارزمی��������ة

تناس��ب وھ��ي UML أو . الك��ود تش��بھ طبیعی��ة بلغ��ة أو البرن��امج كتاب��ة وھ��ي Pseudocode الزائ��ف . أكثر الشیئیة البرمجة و الكبیرة البرامج

أما تراكیبھا فھي : ق�د التعلیم�ات ھ�ذه المتسلس�لة، التعلیم�ات م�ن مجموع�ة ع�ن عب�ارة الخوارزمیة تكون :التسلسل

.التالیین النوعین من أو بسیطة إما تكون بع�ض إختب�ار إل�ى تحت�اج وق�د للتعلیم�ات، بس�یط بتسلس�ل حلھ�ا یمكن ال المشاكل بعض :اإلختیار

متسلس�لة، تعلیمات یحوي مسار تتبع صحیحة النتیجة كانت إذا اإلختبار، نتیجة إلى وتنظر الشروط أو الق�رار إتخ�اذ تسمى ما ھي الطریقة ھذه. التعلیمات من مختلف آخر مسار تتبع خاطئة كانت وإذا

. اإلختیار وھ�ذا . الم�رات م�ن ع�دد الخط�وات تسلس�ل نف�س إع�ادة من بد ال المشاكل بعض حل عند :التكرار

.Loops التكرار علیھ یطلق ما

Compilers Page ٥

Page 6: حل لبعض أسئلة الباب الأول

ما المقصود بلغات البرمجة الطبیعیة ؟

:Natural language الطبیعیة اللغات الخامس الجیل: ١٠ج من مافیھا علي الطبیعیة اللغات فھم من الحاسب تمكن برمجة لغة إلي التوصل في الحاسب علماء یأمل

علیة تركز الصناعي الذكاء أبحاث من كبیرا جزءا أن إال المنال بعید األمر ھذا أن ورغم وغموض تعقیدات . التقدم من قلیال نوعا فیھ وتحرز

. إلنشاء برنامج بشكل عامإرسم مخطط إنسیابي كخوارزمیة

: Alghorithmsخوارزمیة كتابة برنامج : ١١ج 1 .Edit Programخ�الل من ویتم البرمجي النص : تحریر

نص��وص مح��رر أيف��ي H.L.Lالمس��توي عالی��ة بلغ��ة كتابت��ھ Notepad, Notepad++ Or Any IDE{ مث���ل:

CodeEditor {ب�النص العملیة ھذه من المنشأ الملف ویسمي .Source Code المصدري

2. Compilation: مت�رجم إستخدام الترجمة: وتعني عملیة Compiler المص�دري ال�نص في ترجمة Source Code

األل���ة تفھمھ���ا أن یمك���ن بلغ���ة مكت���وب مك���افئ برن���امج إل���يMachine Code.

Compile Errors: 3 أخط��اء الترجم��ة: ق��د یوج��د ب��النصالمصدري بعض األخطاء والت�ي تتعل�ق بقواع�د لغ�ة البرمج�ة المستخدمة في كتابتھ وفي ھذه الحالة یصدر المت�رجم تقری�را

ك عل�ي حس�ب باألخطاء أو بأول خطأ ق�د تم�ت مص�ادفتھ وذل� نوع المترجم وطریق�ة إنش�اؤه وف�ي ھ�ذه الحال�ة یتوج�ب عل�ي المب��رمج إع��ادة ف��تح المل��ف المص��دري وتص��حیح ماب��ھ م��ن أخطاء ثم تكرار الترجمة ثانی�ة حت�ي ی�تخلص م�ن أي أخط�اء

ترجمة قد تكون موجودة. ٤.Testing :م�ن البرن�امج إختب�ار یج�ب : اإلختبار مرحلة

النت�ائج ص�حة وإختب�ار مختلف�ة بیان�ات وتمری�ر تش�غیلھ خ�الل باألخط�اء تسمي المرحلة ھذه في ظھورھا المتوقع واألخطاء .المنطقیة

٥ .Logical Errors .و Runtime Errors :كتابة مثال .سھوا أخري حسابیة عملیة معامل ووضع الجمع معامل

القسمة محاولة أو بالفعل موجود غیر معین ملف فتح أو یجب األخطاء تلك وجدت حال وفي. صفر علي وتعدیل أخري مرة المصدري الكود فتح إعادة المبرمج علي الخطوات إعادة ثم األخطاء تلك

Compilers Page ٦

Page 7: حل لبعض أسئلة الباب الأول

. مرحلة كل وخرج دخل توضیح مع بالتفصیل المترجم مراحل بالرسمإشرح مع

مراحل المترجم بالتفصیل ودخل وخرج كل مرحلة: ١٢ج

من Handling Errorو إدارة األخطاء Table Symbolتعد مرحلة إدارة جدول الرموز في المترجم وضح ذلك . لمراحل الموازیةا

المراحل الموازیة :: ١٣ج : Symbol Table الرموز جدول إدارة

قائم��ة عل��ي المعتم��د وھ��و: والمعطی��ات البن��ي بج��دول أحیان��ا یس��مي

تخ����زن أن����ھ بمعن����ي. List Of Tokens الص����حیحة المف����ردات كم��ا . الج��دول ھ��ذا ف��ي البرمج��ي ال��نص ض��من المعرف��ة المتغی��رات

البرمج�ي ال�نص ف�ي عنھ�ا اإلع�الن جري التي أنواعھا تخزین یجري، Variable Scope لمتغی�ر الرؤی�ة مجال تحدید في یستخدم كما.

فیھ���ا یمك���ن الت���ي ودوال���ھ البرمج���ي ال���نص مق���اطع مجموع���ة وھ���ي یق��وم ل��ذا . الرم��وز ج��دول ف��ي لتعریف��ھ وفق��ا المتغی��ر ھ��ذا إس��تخدام المتغی���ر إس���م تخ���زین ف���ي الرم���وز ج���دول عل���ي باإلعتم���اد المت���رجم

" النط������اق " وم������داه " Data Type" نمط������ھ و " المتح������ول"Variable Scope خ�ارج المتغیر ھذا إستخدام عدم للتأكد من وذلك

: الش�������������������كل یوض�������������������ح كم�������������������ا، النط�������������������اق ھ�������������������ذا : Error Handling: األخطاء إدارة ك�ل م�ع التعام�ل ویج�ري ، المص�در لل�نص كتابت�ھ أثن�اء المب�رمج فیھا وقع أخطاء السابقة العملیات عن تنتج إش�ارة المب�رمج إعط�اء ھ�و األخط�اء لمعالج�ة واألخی�ر األول الھ�دف ویبق�ي . مختلف بشكل األخطاء من نوع أول خط�أ ع�ن الناجمة األخطاء من عدد أكبر تجمیع ومحاولة اإلمكان قدر الخطأ سبب وتوضیح الخطأ إلي

. الترجمة عملیة تسریع بھدف. واحد آن في وإظھارھاCompilers Page ٧

Page 8: حل لبعض أسئلة الباب الأول

مصطلحات مما یأتي : خمسةإشرح بإختصار : ١٤ج

Parser : :Syntax Analyzer : Parser القواعدي المحلل

. مترجم أي من الثانیة المرحلة ویمثل ع�ن الناتجة الكلمات جمع خاللھ ویجري. Parser النحوي أو اإلعرابي، الصرفي بالتحلیل تسمیتھ یمكن

. Parse Tree" اإلعراب شجرة" قواعدیة وبني جمل في" الھیكلي" المفرداتي التحلیل . Grammar برمج���ة لغ���ة بك���ل خاص���ة لقواع���د تبع���ا وذل���ك قواع���دیا الجم���ل س���المة م���ن بالتأك���د ویق���وم صرفیة لقواعد تبعا تكتب C لغة ++ في if الشرطیة الجملة ذلك ومثال

. كذلك while loop الحلقة و معینة" نحویة" :أن تجد ذلك ومثال العربیة اللغة في اإلعراب عملیة برمجة للغة القواعدي التحلیل عملیة وتشبھ

بھ. ومفعول وفاعل فعل من تتألف فیھا الفعلیة الجملة وخبر. مبتدأ من تتألف اإلسمیة الجملة

VB في تكتب كما معینة بصیاغة تكتب أن یجب if جملة أن تجد C# Or Java معینة برمجة لغة في كذلك أخري. بصیاغة

القواعدي المحلل مع الماسح عمل آلیة یوضح تخطیطي رسمContext Analyzer :

"الداللي": محلل السیاق Context, Checker or Semantic Analyzer

مث���������ل المحل���������ل ال���������داللي أو المعن���������وي المرحل���������ة الثالث���������ة م���������ن أي مترجم،حی���������ث تج���������ري ی بعد التحقق منھا قواعدیا . ویعتبر التحقق من األنم�اط Statementsفیھا عملیة التحقق من داللة الجمل

"أنواع البیانات" من أھم أولویات التحلیل الداللي . تعب�ران قیم�ة عددی�ة ، X , Yلھا معني إذا كان كل من لھا داللة أو )X * Y ( مثال ذلك : نقول أن العملیة

القیمتین تعب�ر ع�ن سلس�لة نص�یة كم�ا یتض�ح م�ن الش�كل الت�الي: في حین ال تصبح لھا داللة إن كانت إحدي

Compilers Page ٨

Page 9: حل لبعض أسئلة الباب الأول

Optimization :

أو ما یسمي بأمثلة الرماز " وضع الك�ود ف�ي ص�ورة مثالی�ة " حی�ث تھ�تم ھ�ذه المرحل�ة بإختص�ار وتحس�ین الك�ود المول��د بھ��دف تس��ریع عم��ل البرن��امج التنفی��ذي الن�اتج وض��مان تنفی��ذ س��ریع وفع��ال ل��ھ عن��د تش��غیلھ ،

إس���تخدامھ ، فیج��ري ف���ي ھ���ذه المرحل���ة ح���ذف أي تعلیم���ات ال معن���ي لھ���ا مث���ل مث���ل تعری���ف متغی���ر وع���دم وإلي غیر ذلك . 0، جمع قیمة أخري علي 1ضرب قیمة ما في

Code Generator :

مولد الكود :

تجري في ھذه العملیة تولید التعلیمات التنفیذیة والتي تكافيء النص المصدري

واللذین سیجري تشغیل Operating Systemولكن بلغة مفھومة من كل من الجھاز ونظام التشغیل البرنامج علیھما .

كما یمكن ان تكون عملیة التولید عبارة عن :تحویل النص المصدر من لغة عالیة المستوي إلي لغة أخري عالیة المستوي أیضا بغرض نقل ھذا

الكود من لغة برمجة قدیمة إلي أخري أحدث منھا لتسھیل الربط مع برامج أخري ، Java Virtualكما ھو الحال مع Virtualة خاصة بآلة إفتراضیة التحویل إلي لغ

Machine . التحویل إلي لغة آلة خاصة بنوع معین من المعالجات ضمن نظام تشغیل معین مثل :

winX68 winX64

Compilers Page ٩

Page 10: حل لبعض أسئلة الباب الأول

قم بتمریر الكود التالي علي جمیع مراحل مترجم مع التوضیح بالرسم :• Position = initial + Rate * 60 • X = a + B / 13

Compilers Page ١٠