|
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
|
أدوات الموضوع | انواع عرض الموضوع |
|
2012-11-17, 12:08 | رقم المشاركة : 1 | |||||
|
اقتباس:
كود:
algo temps; var :n,j,jj,h,hh,m,mm:integer; deput ecrire ( entre le nombre de seconde); lire(n); si n<0 alors ecrire (entrer un autre nombre possitif) sinon deput {pour avoir le nombre de jour}j:= n div 86400; jj:= n mod 86400 h:= jj div 3600 hh:= jj mod 3600 m:= hh div 60 mm:=m mod 60finsi ecrire (j,h,m,mm); fin.
|
|||||
2012-11-17, 12:42 | رقم المشاركة : 2 | |||
|
كود:
algo 2 le principe est d'entrer de nobre (2n,n1 est n2) 1)on ecrire le n1 sous la forme precedent (j1,h1,m1,mm meme coose avec le n2 on fait la difference entre j1 et j2 h1 et h2 m1 et m2 mm1 et mm2 est on affiche les resultat remargue j pour les jours h pour le heures m pour les minute mm pour les seconde div indique la division eucleidienne mod indique le resye de la division eucleidiene example 13 div 5 := 2 ------ 13 mod 5 := 3 |
|||
2012-11-17, 12:47 | رقم المشاركة : 3 | |||
|
ارجوا زيادة التفاعل |
|||
2012-11-17, 12:49 | رقم المشاركة : 4 | |||
|
exo pour les 2 eme anneé info |
|||
2012-11-17, 21:19 | رقم المشاركة : 5 | ||||
|
اقتباس:
كود:
program expo; uses wincrt; type tab = array[1..20] of integer; { disant que le programme accepte 20 entier au max} { Pour faire la somme des cases d'un tableau de n éléments : Pour la case n°1 c'est le cumul de la case n°1 et des case qui précédent (dans ce cas on à pas des cases) plus la somme des cases qui restent Pour la case n°2 c'est le cumul de la case n°2 et des cases précédant plus la somme des cases qui restent Pour la case n°3 c'est le cumul de la case n°3 et des cases précédant plus la somme des cases qui restent Et ainsi de suite... On s'arrête lorsque la case traité est celle la dernière (la variable i désigne la case traité, la variable n désigne le nombre total des cases) } function somme (t:tab;i,n:integer):integer; begin if i<=n then somme:=t[i] + somme (t,i+1,n) else somme:=0; end; {On ne parle d'un tableau que lorsque on 'à plus que un élément (2 ou plus)} procedure saisir(var n:integer); begin readln(n); if ((n > 20) or (n < 2)) then saisir(n); end; {Pour remplir un tableau on doit saisir une valeur dans la case traitée puis on remplit le reste du tableau (Presque même principe que la fonction somme)} procedure remplir(var t : tab ;i,n : integer); begin if i <= n then begin readln(t[i]); remplir(t,i+1,n); end; end; {Variables globaux} var n :integer; t:tab; {Corps du programme principal} begin saisir(n); remplir(t,1,n); writeln(somme(t,1,n)); end. |
||||
2012-11-22, 15:20 | رقم المشاركة : 6 | ||||
|
اقتباس:
في انتظار وضع تمارين جديدة اكثر صعوبة شكرا لك |
||||
2012-11-17, 13:33 | رقم المشاركة : 7 | |||
|
بارك الله فيك اخي على الشرح المستوى هو السنة الاولى |
|||
2012-11-17, 17:23 | رقم المشاركة : 8 | ||||
|
اقتباس:
hh هو الباقي فقط يحرف variable نفس اشيء بالنسبة لmm مثلا اليوم فيه 86400 ثانية مثلا اذا كان لدينا 96400 ثانية فان 96400 فيها يوم و10000 ثانية 10000 ثانية اعطيناها رمز hh الان علينا ان نعرف 10000 ثانية كم فيها من ساعة والباقي نرمز له ب mm ;وهكذا ------------- بخصوص برمجته بالباسكال للاسف الامر صعب بنوعا ما نظرا لادخال ارقام كبيرة وللقيام بعمليات على الاعداد الطبيعية الكبيرة نحتاج الى حواسيب كبيرة lمثلا اذا عرفنا les variable على اساس integer فان المجال يكون صغير جدا وبالتالي تنتج بعض المشاكل لذلك من الصعب ان نبرمجه بالباسكال نظرا لمشاكل les type des variable بخصوص البرنامج الثاني نقوم بالالوغوريتم الاول فقط يكون لدينا n1et n2 سنحاول كتابته على اساس الغوريتم |
||||
2012-11-17, 18:19 | رقم المشاركة : 9 | |||
|
البرنامج الاول كود:
program temps; uses wincrt; var n,j,r,h,m,s:integer; begin writeln('S.V.P entrer n'); readln(n); j:=n div 86400; r:=n mod 86400; h:=r div 3600; r:=r mod 3600; m:= r div 60; s:= r mod 60; writeln(n,'=',j,':',h,':',m,':',s); end. البرنامج الثاني كود:
program temps; uses wincrt; var n1,n2,n3,j1,j2,j3,r1,r2,r3,r4,r5,r6,h1,h2,h3,m1,m2,m3,s1,s2,s3:integer; begin writeln('S.V.P entrer n1,n2'); readln(n1,n2); j1:=n1 div 86400; r1:=n1 mod 86400; h1:=r1 div 3600; r2:=r1 mod 3600; m1:= r2 div 60; s1:= r2 mod 60; j2:= n2 div 86400; r3:= n2 mod 86400; h2:=r3 div 3600; r4:= r3 mod 3600; m2:= r4 div 60; s2:=r4 mod 60; n3:=n1-n2; j3:=n3 div 86400; r5:=n3 mod 86400; h3:=r5 div 3600; r6:=r5 mod 3600; m3:= r6 div 60; s3:= r6 mod 60; writeln(n1,'=',j1,':',h1,':',m1,':',s1); writeln(n2,'=',j2,':',h2,':',m2,':',s2); writeln('la difference est:',j3,':',h3,':',m3,':',s3); end. حاول(ي) اضافة هذه الشروط +احترام مجال integer يمكن القيام بالبرنامجين بطرق مختلفة |
|||
2012-11-17, 20:09 | رقم المشاركة : 10 | ||||
|
اقتباس:
كود:
Turbo Pascal fournit cinq sous types Entier. Chacun d'eux concerne un sous-ensemble particulier des nombres entiers: Type Domaine Format -----------|--------------------------------|------------------------ | | Shortint | -128..127 | 8 bits signés Integer | -32768..32767 | 16 bits signés Longint | -2147483648..2147483647 | 32 bits signés Byte | 0..255 | 8 bits non signés Word | 0..65535 | 16 bits non signés |
||||
2012-11-17, 19:34 | رقم المشاركة : 11 | |||
|
اخي هل يمكن وضع j3, h3, m3 بالقيمة المطلقة (abs j3, abs h3, abs m3)? |
|||
2012-11-22, 15:16 | رقم المشاركة : 12 | ||||
|
اقتباس:
يعني اما نقوم بعمل القيمة المطلقة او نعمل permutetion بحيث اذا كان الزمن 1 اصغر من الزمن 2 يصبح الزمن 2 هو الزمن الاول والزمن الاول هو الثاني بحسب التمرين وبحسب الطلب ولكن في مثل هذه التمارين من الاحسن ان نقارن بين الزمن الاول والزمن الثاني اذا كان الزمن الثاني اكبر من الاول نخرج من البرنامج مباشرة |
||||
2012-11-17, 20:33 | رقم المشاركة : 13 | |||
|
السلام عليكم |
|||
2012-11-17, 22:14 | رقم المشاركة : 14 | |||
|
Selon Euclide PGCD (a,b) = PGCD(a,b-a) si b>a PGCD (a,b) = PGCD (a-b,b) si a>b PGCD (a,b) = a (ou b) si a=b كود:
program pgcd; uses wincrt; var a,b:integer; begin repeat readln(a); until a>=0; repeat readln(b); until b>=0; while a<>b do begin if a>b then a:=a-b else if a<b then b:=b-a; end; writeln(a); end. |
|||
2012-11-17, 22:19 | رقم المشاركة : 15 | |||
|
كود:
program premier; uses wincrt; var i,d:integer; begin for i:=2 to 100 do begin d:=2; while ((i mod d <>0) and (d <= i div 2)) do begin d:=d+1; end; if d> i div 2 then writeln(i); end; end. |
|||
الكلمات الدلالية (Tags) |
ملتقى, الالي, الاعلام, طلاب |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc