|
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
|
أدوات الموضوع | انواع عرض الموضوع |
2013-01-24, 12:37 | رقم المشاركة : 241 | ||||
|
ممكن تعطولنا السر لحل الألقوريثم........merciiiii
|
||||
2013-01-24, 13:28 | رقم المشاركة : 242 | |||
|
عن اي الغوريتم ؟ كود:
program ex; uses wincrt; var x,y:char; begin readln(x); readln(y); writeln(x+y); writeln(y+x); end. مثلا begin end; يجب ان نضعها في اماكنها الصحيحة كذلك استعمال بعض الدوال كحال for,while,repeat,length,case,goto يجب حسن استعمالها 3-اختصار البرنامج قدر الامكان والعمل على تطوير الممستوى دوريا 4-استعمال التعلقات les commentaire*-*explicatif ou principale qui figure dans le program*-* شكرا |
|||
2013-01-24, 13:41 | رقم المشاركة : 243 | |||
|
مشكوووووور مشكلتي تكمن في اختيار البوكل و العلاقاث اللي لازم نسثعملهم |
|||
2013-01-24, 18:33 | رقم المشاركة : 244 | ||||
|
اقتباس:
1-هناك بوكل for هذه البوكل تقوم باعادة الامر الى غاية الحد الاقصى لها مثلا for i:=1 to 10 do فهذا يعني انها تقوم بتكرار كل العمليات التي تلي ابدا do يمكن استعمال begin-----end; اذا كانت عدد العمليات التي نريد القيام بها يفوق 1 هذه الدالة تقوم اتوماتيكيا عند الانتهاء من كل العمليات باضافة 1 الى المتغير الذي هو في هذه الحالة i*-* incrimentation de i*-* فاذا كانت بعد كلمة ابدا 5 عمليات للقيام بها فمجرد الانتهاء من هته العمليات تصير قيمة المتغير القيمة السابقة +1 في هذه الدالة يجب ان يكون المتغير من مجموعة الاعداد الطبيعية i appartian t a l'ensemble z عيوب هذه الدالة 1-المتغير يجب ان يكون من مجموعة الاعداد الطبيعية 2-يجب ان نعلم مسبقا المجال الذي ياخذه المغتير في الاحالة السابقة فان domain i = 1,2,3,4,5,6,7,8,9,10 3- الدالة تسمح بالقيام ببعض العمليات بدون اي فائدة منها مثلا البرنامج التالي نريد ان نعرف اول قاسم للعدد 2 من المجال 5-200 كود:
for i:=5 to 200 do if i mod 2 =0 then writeln (i); 1-بالرغم من اننا نريد اظهار القاسم الاول في المجال السابق الى اننا سوف نحصل على كل قواسم العدد 2 التي تنتمي الى المجال السابق *-* والذي ليس المطلوب *-* 2-بالرغم من اننا نحصل على اول قاسم في العملية 2 الى ان الدالة سوف تستمر في العمل الى غاية القيمة200*-*تكرار العمليا من 6 الى 200 ليس له اي فائدة *-* 3-تاخر في الوقت *-* لان الدالة for تحتاج الى وقت كبير مقارنة بالدوال الاخرى *-* اذن هنا المشكل يكمن في اختيار الدالة ملاحظة: for i:=1 to 1 do يعني ان الدالة سوف تقوم بالقيام بعملية واحدة والتي يكون فيها قيمة المتغير تساوي 1 for i:=10 downto 1 do نفس المبدا السابق ولكن هذه المرة تنازليا في كل مرة يتم انقاص واحدة من القيمة السابقة للمتغير for i:=-3 to 5 do تعمل بشكل عادي بالرغم من القيمة السابقة لان 3appartient a z في هذه الدالة ليس هناك test avant ou apres chaque etape ---------------------------------------------- |
||||
2013-01-24, 18:52 | رقم المشاركة : 245 | |||
|
الدالة كود:
i:=0.5 repeat writeln(i); i:= i+0.2 y:=sqr(i); writeln(y); until i<0.3 في الحالة 1 i:=0.5 المفروض البرنامج لا يشتغل يتم اظهار 0.5 i:=0.7 يتم اظهار0.7*0.7 نقوم بعمل test نتوقف بالرغم من ان القيمة الاولية للمتغير حققت شرط التوقف الا ان البرنامج اشتغل *-* عيب الدالة *-* |
|||
2013-01-24, 19:07 | رقم المشاركة : 246 | |||
|
الدالة كود:
i:=0.5 while i<=0.3 do begin writeln(i); i:=i+0.2 y:=sqr(i) writeln(y); end; خاطئة فالدالة لا تعمل اطلاق اذا كانت i:=0.2 الدالة تعمل مرة واحدة فقط لانها عند انتهاء العملية الاولى تكون قيمة المتغير :=0.4 التي لا تحقق لشرط لتحوبل دالة من نوع while الى دالة من نوع repeat نقوم باخذ الشرط الموجود بعد while نقوم بعمل negation والعبارة التي حصلنا عليها نقوم بوضعها بعد until بدون نسيان اننا لا نستعمل begin .... end; في الدالة repeat الى في الحالات التي نحتاجها *-* لا نستعمل begin .... end; في الدالة repeat للقيام بكل العميلات لان هذه الدالة تقوم بعمل كل الاشياء الموجودة بين repeat .... until مهما كان عدد بعكس الدالتين السابقتين التي اذا كان لدينا اكثر من امر علينا القيام به في كل مرة فيجب استخدام begin .. end; في حالة لم استعاب اي شيء اطرح*-*ي*-* الاسئلة شكرا للجميع |
|||
2013-01-25, 18:03 | رقم المشاركة : 247 | |||
|
ماشاءالله عليك شككككررررااا............. |
|||
2013-01-25, 18:55 | رقم المشاركة : 248 | ||||
|
اقتباس:
i سالبة فان الدالة for تعمل بشكل عادي مثال كود:
program ex; uses wincrt; var i: integer; begin for i:=-3 to 5 do writeln(i); end. pas de test dans ce cas لان ترجمتها الى اللغة العربية هي من اجل س:=1 حتى 10 افعل يعني لا توجد عبارة اذا او لطالما بينا في الدالتين الاخرتين فترجمتها هي كرر العمليات حتى والدالة الثالثة طالما*-* او بما ان*-* افعل يعني في الدالتين الثانية والثالثة هناك شرط لعملهما بعكس الدالة الاولى |
||||
2013-01-26, 09:35 | رقم المشاركة : 249 | |||
|
نعممم شكرااااا جزيلا .........درك نزيد نفهم مليح ونعاود نرجع انشاء الله هههه |
|||
2013-01-31, 23:59 | رقم المشاركة : 250 | |||
|
يعطيكم الصحة |
|||
2013-02-01, 10:59 | رقم المشاركة : 251 | ||||
|
اقتباس:
لا ادري لماذا الاساتذة لا يقدمون برنامج كامل في الحصص بخصوص uses wincrt فالباسكال برنامج وعند عمله يحتاج الى ان بعض ادوات الحاسوب وبعض البرمجيات الاخرى لكي يعمل فهنا تكون دوال اخرى تاتي مع الباسكال نفسه او توجد في الحاسوب ايضا فمثلا عند اظهار النتائج على شاشة الحاسوب نحتاج الى دالة تقوم باخذ النتائج وما نريد اظهاره من ram تقوم بعرضها هنا نحتاج الى استدعاء هذه الدالة فعوض ما نقوم بكل مرة باستدعاء الدوال التي نحتاجها نقوم باستدعاء دالة شاملة تقوم هي بدورها باستدعاء الدوال التي تحتاجها في البرنامج فهذه الدالة هي wincrt فمثلا ناخذ البرنامجين التاليين كود:
program ex; uses wincrt; var i:integer; begin writeln('lire i'); readln(i); writeln(sqr(i)); end. كود:
program ex; var i:integer; begin writeln('lire i'); readln(i); writeln(sqr(i)); end. لمزيد من الفهم استعمل خاصية المساعدة في الباسكال |
||||
2013-02-01, 11:12 | رقم المشاركة : 252 | |||
|
الرجاء المساعدة في ايجاد هذه الخوارزمية كود:
cosx=1-(x^2/2!)+(x^4/4!)-(x^6/6!)+... |
|||
2013-02-01, 11:26 | رقم المشاركة : 253 | |||
|
علما ان محاولتي كالتالي كود:
readln(n) readln(x) while n>=5 do p,fact,s:=1 for i:=1 to n -1do for j:=2 to n-1(هذه تقوم كل مرة بإضافة 2) fact:=fact*j s:=x*x*s cos:=1-p*s/fact+cos;; p:=-p write(cos) end. |
|||
2013-02-01, 12:10 | رقم المشاركة : 254 | ||||
|
اقتباس:
بما ان هذه الدالة تتعامل فقط مع الاعداد الزوجية فنقوم بعمل فحص test si le nombre pair ou inpair avec la fonction mod لخوارزمية si n=0 ou n=1 alors fact:=1 si n=2 alors fact(2):=fact*(n-1)*n =1*1*2 =2 si n=3 alors on a 3 mod 2=1 alors on fait rien si n=4 alors on a 4 mod 2=0 alors fact:=fact*(n-1)*n =2*3*4 =24 c'est vrai est ca marche bien on continu fair le meme choose pour la puissance ensuite on fait p/fact le resulat sera sommer avec la somme s on verifier la condition est on choisi si on continu le meme travail ou on affiche le resultat merci |
||||
2013-02-01, 12:33 | رقم المشاركة : 255 | |||
|
هل الدالة tant queتكون دائما عكس الشرط |
|||
الكلمات الدلالية (Tags) |
ملتقى, الالي, الاعلام, طلاب |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc