|
قسم أرشيف منتديات الجامعة القسم مغلق بحيث يحوي مواضيع الاستفسارات و الطلبات المجاب عنها ..... |
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
|
أدوات الموضوع | انواع عرض الموضوع |
|
2013-02-07, 13:59 | رقم المشاركة : 1 | ||||
|
اريد حل تمرين في الالغوريتم
Exercice :
|
||||
2013-02-07, 17:46 | رقم المشاركة : 2 | |||
|
جاري برمجته |
|||
2013-02-07, 18:51 | رقم المشاركة : 3 | |||
|
كود:
program ex; uses wincrt; type sem=array[1..2]of string; type uu=array[1..2,1..9]of string; type matt =record cod:integer; nom:string; uni:string; cre:integer; coe:integer; lib:string; end; type tab=array[1..9]of matt; var i:integer; t:tab; ch:string; u:uu; semm,chch,j:integer; procedure lire; begin writeln('Entrez semestre'); readln(semm); for j:=1 to 2 do for i:=1 to 9 do begin writeln('code'); readln(t[i].cod); writeln('nom matiere'); readln(t[i].nom); writeln('unite'); readln(t[i].uni); writeln('credit'); readln(t[i].cre); writeln('coefficient'); readln(t[i].coe); writeln('libele'); readln(t[i].lib); end; for j:=1 to 2 do for i:=1 to 9 do u[j,i]:=t[i].nom; end; procedure seme; begin for i:=1 to 9 do writeln(u[j,i]); end; procedure mati; begin writeln('Entrez la matier'); readln(ch); while (ch<>t[i].nom) and (i<=9) do i:=i+1; if ch=t[i].nom then begin writeln('code:',t[i].cod); writeln('unité:',t[i].uni); writeln('credit:',t[i].cre); writeln('coefficient:',t[i].coe); writeln('libelle:',t[i].lib); end; end; procedure aff; begin writeln('Entrez le semestre que vous voulez afficher'); readln(chch); if chch=1 then for i:=1 to 9 do writeln(u[1,i]); if chch=2 then for i:=1 to 9 do writeln(u[2,i]); end; begin lire; seme; aff; end. بقي فقط تجريب اذا كان يشتغل جيدا وبعض التعديلات فقط في القراءة |
|||
2013-02-07, 19:59 | رقم المشاركة : 4 | |||
|
البرنامج الكامل لاجابة عن الاسئلة الثلاث الاولى كود:
program ex; uses wincrt; type sem=array[1..2]of string; type uu=array[1..2,1..9]of string; type matt =record cod:integer; nom:string; uni:string; cre:integer; coe:integer; lib:string; end; type tab=array[1..9]of matt; var i,z:integer; t:tab; ch:string; u:uu; semm,chch,j:integer; procedure lire; begin writeln('Entrez les matiere de semestre 1'); j:=1; for i:=1 to 9 do begin writeln('code'); readln(t[i].cod); writeln('nom matiere'); readln(t[i].nom); writeln('unite'); readln(t[i].uni); writeln('credit'); readln(t[i].cre); writeln('coefficient'); readln(t[i].coe); writeln('libele'); readln(t[i].lib); end; for i:=1 to 9 do u[1,i]:=t[i].nom; writeln('Entrez les matiere de semestre 2'); j:=2; for i:=10 to 18 do begin writeln('code'); readln(t[i].cod); writeln('nom matiere'); readln(t[i].nom); writeln('unite'); readln(t[i].uni); writeln('credit'); readln(t[i].cre); writeln('coefficient'); readln(t[i].coe); writeln('libele'); readln(t[i].lib); end; for i:=1 to 9 do u[2,i]:=t[i].nom; end; procedure mati; begin writeln('Entrez la matier'); readln(ch); for i:=1 to 18 do if ch=t[i].nom then begin writeln('code:',t[i].cod); writeln('unité:',t[i].uni); writeln('credit:',t[i].cre); writeln('coefficient:',t[i].coe); writeln('libelle:',t[i].lib); end; end; procedure aff; begin writeln('Entrez le semestre que vous voulez afficher'); readln(chch); i:=1; if chch=1 then repeat writeln(u[1,i]); i:=i+1; until i>9; if chch=2 then repeat writeln(u[2,i]); i:=i+1; until i>9; end; begin writeln('1-> lire ,2->semestre ,3->matiere ,4->stop'); repeat readln(ch); if ch='1' then lire; if ch='2' then aff; if ch='3' then mati; until ch='4'; end. |
|||
2013-02-07, 21:11 | رقم المشاركة : 5 | |||
|
تم برمجة البرنامج ولكن ينقص بعض الامور فيه |
|||
2013-02-07, 23:30 | رقم المشاركة : 6 | |||
|
أولا شكرا جزيلا لك أخي يوسف بارك الله فيك وجعلها في ميزان حسناتك إن شاء الله |
|||
2013-02-08, 09:30 | رقم المشاركة : 7 | ||||
|
اقتباس:
سيتم تعديل البرنامج |
||||
2013-02-08, 10:52 | رقم المشاركة : 8 | ||||
|
اقتباس:
في هذه الحالة لدينا خيار اننا نقوم بقراءة رمز المادة التي اردنا حذفها مثلا الفصل الاول مواده تاخذ الرمز من 1 الى 9 فتصير هكذا 1 2 3 4 5 6 7 8 9 في هذه الحالة مثلا اردنا حذف المادة 3فنقوم بقراءة مثلا y نرجع الى بروسيدور اظهار مواد الفصل ونقوم باضافة السطر التالي في الدالة فور if i<>y do writeln(...); نقوم بتشغيل الجالة في الحالة 1 لدينا ايي ياخذ القيمة1 التي تختلف عن 3 يقوم باظهار المادة ثنيا لدينا 2 يختلف عن 3 يقوم بالاظهار اثلثا لدينا 3 يساوي 3 لا يقوم بالاظهار رابعا لدينا 4 يختلف عن 3 يقوم بالاظهار وهكذا رغم بساطة الامر الا انه لم يشتغل عندما برمجته لذلك اما ان تحاولي برمجته بهذه الطريقة فقد اكون نسيت بعض الامور او تكتبه على شكل الغوريتم فهو صحيح ولكن في هذه الحالة يجب ان تكون رموز المواد code matier تنتمي الى نفس مجال i يعني المواد تكون مرمزة ما بين 1 الى 18 المادة الاولى رمزها 1 الثانية 2 وهكذا -------------------- الحالة الثانية وهي معقدة نوعا ما وهي ان نقوم بعمل تعديل بحيث تصير المواد 17 n-1 اذا كانت لدينا مثلا هذا التريتيب 1-analyse 2-algeber 3-info 4-mec 5-ele 6-beru 7-chimie 8-tec 9-ang اردت ان احذف ele فيصير التريتب التالي 1-analyse 2-algeber 3-info 4-mec 5-beru 6-chimie 7-tec 8-ang واظن ان الالغوريتم لهذه الحالة لديكم ولكن لا ننسى ان لدينا ايضا مواد الفصل الثاني والتي عوض ما يكون ترميزها من 10 الى 18 تصبح مرمزة من 9 الى 17 فيصبح لدينا هكذا كود:
procedure supp; begin writeln('Entrez le code matier que vouler supprimer'); readln(cc); for i := cc + 1 to n do begin t[i-1].nom:=t[i].nom; t[i-1].cod:=t[i].cod; t[i-1].uni:=t[i].uni; t[i-1].cre:=t[i].cre; t[i-1].coe:=t[i].coe; t[i-1].lib:=t[i].lib; end; n:=n-1; end; رغم انها كانت تشغل جيدا قبل اضافة بروسيدور الحذف فعند اضافة بروسيدور الحذف لم تعد تشتغل جيدا وهذا اظن يعود لاخطاء في البرنامج *-* رغم انني اعتقد انه صحيح *-* او لحجم البرنامج الكبير البرنامج النهائي مكتوب بشكل جيد *-* الالغوريتم صحيح ولكن البرنامج ليس شغال*-* كود:
program ex; uses wincrt; type sem=array[1..2]of string; type uu=array[1..2,1..9]of string; type matt =record cod:integer; nom:string; uni:string; cre:integer; coe:integer; lib:string; end; type tab=array[1..9]of matt; var i,z,n:integer; t:tab; ch,p,chh,m,u1,l,chc:string; u:uu; semm,chch,j,p1,c,e,o,m1,mm1,m3,mm3,m4,mm4,cc:integer; procedure lire; begin writeln('Entrez les matiere de semestre 1'); j:=1; for i:=1 to 9 do begin writeln('code'); readln(t[i].cod); writeln('nom matiere'); readln(t[i].nom); writeln('unite'); readln(t[i].uni); writeln('credit'); readln(t[i].cre); writeln('coefficient'); readln(t[i].coe); writeln('libele'); readln(t[i].lib); end; for i:=1 to 9 do u[1,i]:=t[i].nom; writeln('Entrez les matiere de semestre 2'); j:=2; for i:=10 to 18 do begin writeln('code'); readln(t[i].cod); writeln('nom matiere'); readln(t[i].nom); writeln('unite'); readln(t[i].uni); writeln('credit'); readln(t[i].cre); writeln('coefficient'); readln(t[i].coe); writeln('libele'); readln(t[i].lib); end; for i:=10 to 18 do u[2,i]:=t[i].nom; end; procedure mati; begin writeln('Entrez la matier'); readln(ch); for i:=1 to 18 do if ch=t[i].nom then begin writeln('code:',t[i].cod); writeln('unité:',t[i].uni); writeln('credit:',t[i].cre); writeln('coefficient:',t[i].coe); writeln('libelle:',t[i].lib); end; end; procedure aff; begin i:=1; writeln('Entrez le semestre que vous voulez afficher'); readln(chch); if chch=1 then for i:=1 to 9 do writeln(u[1,i]); if chch=2 then for i:=10 to 18 do writeln(u[2,i]); end; procedure mode; begin writeln('Entrez le semestre dans laquelle vous aime modifier un matiere '); readln(p1); writeln('Entrez la matiere que vous aime modifier'); readln(chh); for i:=1 to n do if chh=t[i].nom then begin writeln('nouvelle nom'); readln(m); t[i].nom:=m; u[p1,i]:=t[i].nom; writeln(' nouvelle code:'); readln(c); t[i].cod:=c; u[p1,i]:=t[i].nom; writeln('nouvelle unité:'); readln(u1); t[i].uni:=u1; u[p1,i]:=t[i].nom; writeln('nouvelle credit:'); readln(e); t[i].cre:=e; u[p1,i]:=t[i].nom; writeln('nouvelle coefficient:'); readln(o); t[i].coe:=o; u[p1,i]:=t[i].nom; writeln('nouvelle libelle:'); readln(l); t[i].lib:=l; u[p1,i]:=t[i].nom; end; end; procedure supp; begin writeln('Entrez le code matier que vouler supprimer'); readln(cc); for i := cc + 1 to n do begin t[i-1].nom:=t[i].nom; t[i-1].cod:=t[i].cod; t[i-1].uni:=t[i].uni; t[i-1].cre:=t[i].cre; t[i-1].coe:=t[i].coe; t[i-1].lib:=t[i].lib; end; n:=n-1; end; begin n:=18; writeln('1-> lire ,2->semestre ,3->matiere ,4->mode, 5->supp'); repeat readln(ch); if ch='1' then lire; if ch='2' then aff; if ch='3' then mati; if ch='4' then mode; if ch='5' then supp; until ch='6'; end. |
||||
2013-02-08, 00:22 | رقم المشاركة : 9 | |||
|
اي سنة هذا التمرين الوجريتم سنة ثانية اعلام الالي ؟ |
|||
2013-02-08, 10:33 | رقم المشاركة : 10 | ||||
|
اقتباس:
للسنة الاولى اعلام الي ولكن المفروض تدرسونه في الفصل الثاني |
||||
2013-02-14, 22:23 | رقم المشاركة : 11 | |||
|
مشكور أخي الآن الهدف هو حل هذا التمرين المعقد حاولت بالطرق التي ذكرتها لكن بلا جدوى لأنه كما قلت بروسيدور الحذف عطل لي بروسيدور الأخرى وأنا آسفة إذا عطلتك |
|||
2013-02-15, 11:32 | رقم المشاركة : 12 | ||||
|
اقتباس:
جامعة تلمسان |
||||
الكلمات الدلالية (Tags) |
algorithme |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc