|
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
|
أدوات الموضوع | انواع عرض الموضوع |
2013-05-10, 13:14 | رقم المشاركة : 451 | ||||
|
السلام عليكم خاوتي ، أرجو المساعدة في تطبيق خاصة بالقوائم LES LISTES
|
||||
2013-05-10, 19:18 | رقم المشاركة : 452 | ||||
|
اقتباس:
طالما لدينا polynome فقد تم برمجة البرنامج على اساس ان يكون اقل حد في polynome de degre 1 donc s'ecrit comme sa ax^b avec a,b >0 ولكن في الجبر*** بحسب ما اعرف يمكن تكون المعلومة خاطئة^_^*** يمكن ان نجد حد يكون coefficiant<=0 or puissance<=0 يكفي فقط تغير les test et les condition pour la lecture ايضا من الطبيعي ان الحدود تكون مرتبة لدلك ادا كان الحد الاول مثلا من الشكل ax^b فالحد الثاني cx^d يجب ان يكون بحسب ما هو مبرمج يحقق الشروط التالية c>a et d>b فلا يمكن مثلا ادخال الحد الاول 8x^8 والحد الثاني 7x^7 البرنامج يحتوي على deux procedure lire et afficher se sont deux procedure appliquant dans les liste en generalement puisque se sont des procedure ''speciale'' pour les pointeure par example pour le tableau soit pour lire ou ecire en utilise une boucle le meme choose ici ------- il reste la fonction qui fait la somme j'essaye de programmer plutard essayer de comprendre ce programme avec un papier et stylo en respectanrt biensur l'architacture et l'organisation des pointeur البرنامج كود:
program sol; uses wincrt; type tpoint=^tval; tval=record coe:byte; pui:byte; suiv:tpoint; end; var prem:tpoint; n,p,pp:integer; c:char; procedure lire(p:integer); var prec,point:tpoint; i:integer; begin write('conbien d''element pour le polynome n°',p,'?'); repeat readln(n); if n<1 then writeln('n doit etre >0 et puisque on utilise les pointeur il faut que n>=1'); until n>=1; new (prem); writeln('1er coefficient='); repeat readln(prem^.coe); if(prem^.coe<=0) then writeln('Entrez un coefficiant>0'); until(prem^.coe>0); writeln('1er puissance='); repeat readln(prem^.pui); if(prem^.pui<=0) then writeln('Entrez un puissance>0'); until(prem^.pui>0); prec:=prem; for i:=2 to n do begin new(point); writeln(i,'ieme coefficient='); repeat readln(point^.coe); if (point^.coe<=prec^.coe) then writeln('Entrez un coefficiant> a la coefficiant precedant'); until(point^.coe>0)and(point^.coe>prec^.coe); writeln(i,'ieme puissance='); repeat readln(point^.pui); if (point^.pui<=prec^.pui) then writeln('Entrez un puissance> a la puissance precedant'); until(point^.pui>0)and(point^.pui>prec^.pui); prec^.suiv:=point; prec:=point; end; prec^.suiv:=nil; end; procedure afficher(p:integer); var point:tpoint; i:integer; begin point:=prem; writeln('le polynome n°',p,'s''ecrit comme :'); for i:=1 to n do begin writeln(point^.coe,'x^',point^.pui); point:=point^.suiv; end; end; begin writeln('Entrez le numero de polynome ex:poly n°1'); repeat readln(p); if p<0 then writeln('numero de polynome>=0'); until(p>=0); lire(p); afficher(p); writeln('Entrez le numero de polynome ex:poly n°1'); repeat readln(pp); if (pp<=p)then writeln('numero de cette polynome doit etre> a la numero de polynome precedent'); until pp>p; lire(pp); afficher(pp); end. |
||||
2013-05-10, 21:23 | رقم المشاركة : 453 | |||
|
مشكوووووووووووووووووووووووووور أخي ،،،، لكن كيف تكون عملية الجمع ؟؟؟ |
|||
2013-05-10, 22:24 | رقم المشاركة : 454 | ||||
|
اقتباس:
لان الجمع يحتاج الى 2 listes بينما نحن لدينا une seul liste chaine بالرغم من اننا ادخلنا سلسلتين لمادا؟ الامر بسيط جدا حاله كحال باقي المتغيرات كود:
ex soit la fonction suivant function max (a,b:integer):integer; begin si a>b then max :=a else max:=b end; قيمة اما a او b ثم ادا استدعيتها مرة ثانية بالقميتن c,d فان الدالة سوف تاخد القيمة اما c او d والقيمة التي كانت لديها في الاول التي هي اما a او b تفقدها ecraser la valeur par la nouvelle valeur نفس الامر بالنسبة لنا السلسة الاولى والتي تبدا ب prem تاخد قيم le plynome1 ثم استدعينا نفس البروسيدور بنفس الالخانة الاولى والتي هي prem فالسلة الاولى التي كانت تبدا ب prem سوف تاخد قيم le polynome 2 qui commence aussi par prem et on perdre le polynome n1 ecraser les valeur /////////////// لحل هده المشكلة نحتاج الى تغير بداية كل plynome فادا غيرنا بداية كل واحد فاننا نظمن ان يكون لدينا 2 plynome لفهم اكثر خد المثال التالي كود:
t:=tableau for i:=1 to 5 do begin readln(t[i]) نقوم بادخال القيم التالية بالترتيب 1 2 3 4 5 الان الجدول يختوي القيم 1 2 3 4 5 ادا استعملت دالة اخرى مثلا for i:=1 to 7 do begin readln(t[i]) ولندخل القيم التالية 1 1 1 1 1 1 1 الان قيم الجدول t ما هي؟ بالطبع هي 1 1 1 1 1 1 1 والقيم الاولى نكون فقدناها نفس الامر بالنسبة للسلاسل كود:
procedure lire(n:integer,dp:tpoint); ف dp هي الخانة الاولى للسلة --------------- بخصوص الجمع فاننا نطبق الغوريتم بسيط نقوم بتعريف سلسلة جديدة نقوم بتعريف بروسيدور بالشكل التالي مثلا كود:
procedure somme(dp1,dp2:tpoint,n1,n2:integer); dp1 ونفس الامر بالنسبة للسلة 2 ثم ياخد ايضا عدد خانات كل سلسلة *-* يمكننا الاستغناء عنها ببوكل وايل طالما اننا لم نصل للخانة الفرغة nil ثم نقوم بالجمع عادي مثال كود:
p1(x):=2x^2+3x^3+4x^5 p2(x):=3x^2+4x^3+8x^4+3x^9+10x^10 بالجمع ax^b+cx^b:=(a+c)x^b فهنا نعمل مقارنة لل pui لما يكون لدينا نفس القيمة نجمع ل coe معا المثال السابق بالجمع ينتج ما يلي p3(x):=5x^2+7x^3+8x^4+4x^5+3x^9+10x^10 كل ما في الامر ان المجموع نضعه في سلسلة جديدة حتى لا نضيع قيم السلستين السابقيتن وطالما ان الجمع لا يعتمد على les pointeurs //on ne tient pas commpt les suivants de chaque case بالعكس مثلا ادا كنا نريد الترتيب تصاعديا كود:
مثلا soit les deux liste suivant l1:=1-->3--->5 l2:=2-->4-->6 فادا اردنا ترتيبهم ترتيب تصاعدي في سلسلة جديدة فاننا سوف نغير le pointeure suivant pour des case في المثال السابق le pointeur est la signe --> فالسلسة الناتجة تكون كالتالي l3:=1-->--2-->3--4>--5-->6 فنلاحظ اننا احدثنا تغيرات فيما يخص --> فسابقا كان لدينا التالي 1-->3 و 2-->4 ففي النتاج اصبحت 1-->2 2-->3 3-->4 ملاحظة كان هناك خطا في الشرح وفي البرنامج يتعلق بال coe فال coe الموالي لا يكون بالضرورة اكبر من coe السابق فيجب تعديل البرنامج بحيث يمكن ان يكون لدينا الشكل التالي كود:
10x^2+2x^3 بينما في البرنامج كان عليك ان تددخل قيمة اكبر من 10 حتى يتقبلها يعني ادا ادخلت 2 يرفضها فاسف على الخطا شكرا |
||||
2013-05-11, 00:40 | رقم المشاركة : 455 | |||
|
بـــــــــــــــــــــــــــارك الله فيك أخي ،،، |
|||
2013-05-11, 01:54 | رقم المشاركة : 456 | ||||
|
اقتباس:
L’énoncé est le suivant : كود:
L’ISBN (International Standard Book Number) est un numéro qui permet d’identifier le titre d’un livre. Ce numéro est formé de 20 caractères regroupés en 4 parties : o La 1ère partie correspond à la zone linguistique qui est un nombre de 3 chiffres hexadécimaux distincts, qui commencent obligatoirement par une lettre : Exemple : A12 pour Arabe ; FB2 pour Français ; o Les deux autres parties (indiquant l’éditeur et le numéro d’ordre de la production de l’éditeur) sont formées uniquement par des chiffres : 8 chiffres par partie. o La dernière partie (chiffre ou lettre) correspond à la clé de contrôle : La clé est le reste de la division d’un nombre intermédiaire N par 11 en utilisant la règle de divisibilité par 11. - Si ce reste est non nul et formé d’un seul chiffre, la clé sera égale au reste. - Si ce reste est égale à 10, la clé sera noté X. - Si ce reste est égal à 0, la clé sera égale à la somme des chiffres de la représentation binaire de la 1ère partie. Le nombre intermédiaire N est obtenu en regroupant les deux chiffres de même position de la 2ème et la 3ème partie du numéro de l’ISBN suivis des deux chiffres de la position suivante jusqu'à ajouter les deux chiffres de la 8ème position. Exemple : - Numéro saisi : A12-41213104-92651027 Numéro affecté au livre : A12-41213104-92651027-5 - Numéro saisi : A12-41213104-92651022 Numéro affecté au livre : A12-41213104-92651022-4 - Numéro saisi : A12-11111113-05550005 Numéro affecté au livre : A12-11111113-05550005-X Ecrire un programme Pascal qui permet d’affecter un numéro à un livre. كود:
program ISBN; uses wincrt; function verif(t:string):boolean; var r:boolean; i:byte; begin r:=true; if not(upcase (t[1]) in ['A'..'F']) then begin writeln('Xxx-xxxxxxxx-xxxxxxxx ,doit- être une lettre de A --> F'); r:=false; end; if ((t[1] = t[2]) or (t[2] = t[3]) or (t[1]=t[3])) then begin writeln('XXX-xxxxxxxx-xxxxxxxx ,doivent- être distincts'); r:=false; end; if not((upcase(t[2]) in ['0'..'9','A'..'F']) and (upcase(t[3]) in ['0'..'9','A'..'F'])) then begin writeln('xXX-xxxxxxxx-xxxxxxxx ,doivent- être de 1 --> F'); r:=false; end; if ((t[4] <>'-') or (t[13]<>'-')) then begin writeln('xxx - xxxxxxxx - xxxxxxxx , n''oubliez pas les - '); r:=false; end; i:=5 ; while ((t[i] in ['0'..'9'])and (i<=12)) do begin i:=i+1; end; if i<=12 then begin writeln('xxx-XXXXXXXX-xxxxxxxx , que des chiffres'); r:=false; end; i:=14 ; while ((t[i] in ['0'..'9'])and (i<=21)) do begin i:=i+1; end; if i<=21 then begin writeln('xxx-xxxxxxxx-XXXXXXXX , que des chiffres'); r:=false; end; if length(t)>21 then r:=false; verif:=r; end; function regroupe(s:string):string; function div11(s1:string):integer; var j,spair,simpr,d1,e1:integer; begin spair:=0; simpr:=0; for j:=1 to length(s1) do begin val(s1[j],d1,e1); if j mod 2 =0 then spair:=spair+d1 else simpr:=simpr+d1 end; div11:=abs(spair-simpr); end; var x:extended; e,i,d:integer; c,ch1:string; chiffre:string; begin chiffre:='0123456789ABCDEF'; x:=0; for i:=5 to 12 do begin val(s[i],d,e); x:=x*10+d; val(s[i+9],d,e); x:=x*10+d; end; str(x:16:0,ch1); if (div11(ch1) mod 11) in [1..9] then begin str((div11(ch1) mod 11),c); s:=s+'-'+c; end else if (div11(ch1) mod 11=10) then s:=s+'-'+'X' else begin d:=0; for i:=1 to 3 do d:=d*16 + (pos(upcase(s[i]),chiffre)-1); e:=0; while d<>0 do begin e:=e+(d mod 2); d:=d div 2; end; str(e,c); s:=s+'-'+c; end; regroupe:=s; end; var ch:string; begin repeat writeln('introduire un numéro qui à la forme XXX-XXXXXXXX-XXXXXXXX'); readln(ch); until verif(ch); writeln(regroupe(ch)); end. |
||||
2013-05-13, 08:52 | رقم المشاركة : 457 | |||
|
هل لغة c مطلوبة منا رياضيات واعلام آلي سنة اولى؟ |
|||
2013-05-13, 20:11 | رقم المشاركة : 458 | |||
|
ليس بالضرورة جل الجامعات تدرس السنة الاولى باسكال والفصل الاول من السنة الثانية باسكال ايضا وبتداءا من الفصل الثاني سنة ثانية تتعاملون مع السي
او العكس يمكن ان تتعالموا مع الباسكال السنة الاولى اما السنة الثانية فتتعاملون مع السي وهناك حتى جامعات تدؤس الي ابتداءا من السنة الاولى فهدا متعلق على الجامعة |
|||
2013-05-13, 20:50 | رقم المشاركة : 459 | |||
|
السلام عليكم انا طالب في تسيير قاعدة المعطيات تريد شروحات على enregistrements غدا عندي فرض جزاكم الله خيرا اريد ان افهم جيدا |
|||
2013-05-13, 21:33 | رقم المشاركة : 460 | ||||
|
اقتباس:
le type enregistrement se declare en pascal comme suit كود:
type nom_enregistrement = record nom_champ1:type nom_champ2:type.... .. .. .end; كود:
type note=record/pas de point virgule apres record module:string; note_controle:byte; credit:integer; end;/end; apres la fin de definition de type record كود:
ex for i:=1 to n do begin writeln('entrez le module'); readln(note.module); writeln('entrez la note controle') readln(note.note_controle end; par exmaple كود:
type module=record nom_module:string; credit:integer; not_controle:integer; note_examen:integer; end; type pp =array[1..10]of module begin for i:=1 to 10 do begin writeln('entrez les information de module,i); writeln('entrez le nom de modulen',i); readln(module[i].nom_module) writeln('entrez lle credit de module',i); readln(module[i].creadit); writeln('entrez la note de controle pour le module',i); readln(mode[i].note_controle); writeln('entrez la note d'examen pour le module',i); readln(module[i].note_examen); end; module1,2,3,..10 mode[i].nom_module signeifier le nom de module pour le module i ex كود:
module[2].note_controle veut dire la note de controle pour le module2 la lecture se fait a paritir a droite de la poinr . on suit a gauche de la point ent on peut meme faire un tableau d'enregistrment dans un autre tableau d'enregistremt ex |
||||
2013-05-15, 02:32 | رقم المشاركة : 461 | |||
|
أخي إذا تقدر تعطيني معلوماتك أريد التواصل معك. |
|||
2013-05-16, 11:09 | رقم المشاركة : 462 | |||
|
السلام عليكم |
|||
2013-05-16, 12:34 | رقم المشاركة : 463 | |||
|
نرجو المساعدة من فظلكم
ارجو منكم المساعدة في حل هذا التمرين عن البرمجة |
|||
2013-05-16, 18:59 | رقم المشاركة : 464 | |||
|
لا توجد معلومات للاتصال للاسف
الوسيلة الوحيدة للاتصال هي منتديات الجلفة سواء بمواضيع او غبر الرسائل الخاصة شكرا |
|||
2013-05-16, 19:09 | رقم المشاركة : 465 | ||||
|
اقتباس:
https://www-ipst.u-strasbg.fr/pat/program/pascal12.htm + دروس وتمارين مع الحل https://www.academia.edu/1906492/Algo...s_de_Donnees_I السنة الاولى 1 دروس مع الحل https://www.academia.edu/1906505/Algo..._de_Donnees_II السنة الثانية قد تحتاج الى التسجيل في الموقع لتحميل الملفات ومشاهدتها بجودة عالية عن الموقع الموقع هو بمثابة شبكة اجتماعية لاساتدة وطلاب جامعات العالم لتبادل الملفات والدروس يمكنك ايجاد الكثير من الدروس والملفات من اموقع |
||||
الكلمات الدلالية (Tags) |
ملتقى, الالي, الاعلام, طلاب |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc