|
في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
آخر المواضيع |
|
ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal
|
أدوات الموضوع | انواع عرض الموضوع |
2012-12-06, 18:51 | رقم المشاركة : 91 | |||||
|
اقتباس:
كود:
ex02 program sol; uses wincrt; var t,max,moy,min:real; i:integer; begin moy:=0; max:=-900; min:=900; for i:=1 to 30 do begin writeln('Entrez la temperature de la ',i,' jour: '); readln(t); if t<min then min:=t; if t>max then max:=t; moy:=moy+t; end; writeln('la temperature min=',min:3); writeln('la temperature max=',max:3); writeln('la temperature moy=',(moy/30):3); end. بخصوص الدالة for اذا لم تتطرقوا لها بعد ممكن ان نساعد في الشرح بخصوص القيم الاولية ل max و min فهي قيم سوف تتغير بمجرد ادخال القيمة الاولية لدرجة الحراة بحيث اعطينا قيمة صغيرة جدا ل max وقمية كبيرة لل min يمكن ان لا نعطي قيم اولية لل max min ونجعل قيمتهما الاولية هي القيمة الاولية لدرجة الحراة الخاصة باليوم الاول ونكمل الباقي بنفس الشيء
|
|||||
2012-12-06, 19:05 | رقم المشاركة : 92 | |||
|
كود:
ex03 program sol; uses wincrt; type tab=array[1..100]of integer; var t:tab; multi,n,i:integer; begin writeln('Combien de nombre vous voulez?'); readln(n); for i:=0 to n do begin multi:=5*i; writeln(multi); end; end. |
|||
2012-12-06, 19:15 | رقم المشاركة : 93 | |||
|
كود:
ex04 program sol; uses wincrt; var a,b,i,multi:integer; begin multi:=0; writeln('Entrez deux nobre>0'); read(a); readln(b); for i:=1 to b do multi:=a+multi; writeln('la mutliplication =',multi); end. المبدا هو ان a*b=a+a+a+a+a+a+a b fois مثلا 2*3=2+2+2 نقوم بعملية الجمع على 2 الذي يمثل a 3 مرات الذي يمثل b الدالة for تقوم بتكرار الامر مرة واحدة واذا اردنا تكرار عدة امور نكتب begin end; يجب دوما اعطاء قيمة اولية للعداد *-* او الحرف الذي ياخذ قيمة العمليات الرياضية مثلا الضرب او القسمة او الجمع .... الذي هو في هذه الحالة multi في هذه الحالة لدينا الجمع لذلك القيمة الاولة ل multi تكون العنصر الحيادي لعملية الجمع الذي هو 0 لان اي رقم +0 يعطينا الرقم نفسه بينما هو كانت لدينا عملية الضرب فالقيمة الاولية تكون 1 الذي يمثل العنصر الحيادي لان اي عدد مضروب 1 يساوي العدد نفسه نفس الشيء بالنسبة للطرح*-* يمكن تحويلة الى جمع*-* او القسمة*-* يمكن تحويلة الى ضرب*-* |
|||
2012-12-06, 19:18 | رقم المشاركة : 94 | |||
|
اظن تم حل هذا النوع من المسائل في هذا الموضوع راجع*-*ي*-* الردود السابقة
|
|||
2012-12-06, 19:33 | رقم المشاركة : 95 | |||
|
بخصوص كود:
program sol; uses wincrt; var m1,m2:string; function anag(mot1,mot2:string):boolean; begin if length(mot2)> length(mot1) then anag:=false; if length(mot2)= 0 then anag:=true else if pos(mot2[1],mot1)=0 then anag:=false else begin delete(mot2,1,1); delete(mot1,1,1); anag:=anag(mot1,mot2); end; end; begin writeln('Entrez deux mot:'); readln(m1); read(m2); writeln(anag(m1,m2)); end. البرنامج يقوم بقراءة كلمتين اذا كانت كل حروف الكلمة الثانية موجودة في الكلمة الاولى بغض النظر عن ترتيبها فالنتيجة تكون صحيح مثلا كود:
bonjour rnob النتيجة صحيح في الحالة التي يكون لدينا عدد حروف الكلمة الثانية اقل او يساوي عدد حروف الكلمة الاولى نقوم باستدعاء الدالة pos مبدا عمل الدالة هو انك تعطيها حرف او char وكلمة او string فهي تقوم بحساب كم من مرة تكرر هذا الحرف في الكلمة مثلا كود:
pos(e,element):=3 في هذه الحالة ناخذ الحرف الاول من الكلمة الثانية mot2[1] ونبحث باستعمال الدالة pos عن كم من مرة تكرر في الكلمة الاولى اذا لم يتكرر فالنتيجة تكون خاطئ بينما لو تكرر نقوم بمقارنة كم من مرة تكرر الحرف الثاني في الكلمة الاولى من اجل هذا نستعمل دالة اخرى وهي الدالة delete وهو مبدا عملها حذف حرف او مجموعة حروف من كلمة مثلا كود:
delete(element,1,1); e في هذه الحالة يصبح الحرف الاول من الكلمة هو l نقوم بنفس الشيء باستعمال الدالة pos وكل مرة نحذف الحرف اذا وجدناه حتى يصير طول الكلمة الثانية =0 في هذه الحالة تكون النتيجة صحيح |
|||
2012-12-06, 19:38 | رقم المشاركة : 96 | ||||
|
اقتباس:
من الممكن ان تجد ظالتك هنا من خلال اسئلة الاعظاء شكرا لك |
||||
2012-12-06, 19:41 | رقم المشاركة : 97 | |||
|
كود:
ax²+bx+c=0 program ex07; uses wincrt; var a,b,c,x,x1,x2,delta:real; begin writeln('S.V.P entrez les valeur de a,b,c'); readln(a,b,c); if a=0 then if b=0 then if c=0 then writeln('L''ensemble des solution est R') else writeln('Pas de solution ,impossible') else writeln('La solution est:',-c/b:3) else begin delta:=sqr(b)-4*a*c; if delta<0 then writeln('Pas de solution dans R') else if delta=0 then writeln('Solution double',-b/(2*a):3) else begin x1:=(-b-sqrt(delta))/(2*a); x2:=(-b+sqrt(delta))/(2*a); writeln('Les deux solution distinctes sont x1:',x1:3,' x2:',x2:3); end; end; end. |
|||
2012-12-06, 21:17 | رقم المشاركة : 98 | |||
|
بسم الله الرحمـن الرحيم
السلام عليكم مشكور أخي يوسف مسبقا على مجهوداتك أخي الكريم لي طلب وأرجو أن تساعدني فيه درسنا في الخوارزميات درس الجداول والحمد لله فهمته وبعده درس المصفوفات ، وللأسف كنت غائبا بسبب المرض طلبي هو أرجو منك أن تمدّنــي بملفات إن كان ليدك حول هذا الموضوع بارك الله فيك وفي مجهوداتك رزقني الله وإياك الإخلاص بووووركت |
|||
2012-12-07, 18:50 | رقم المشاركة : 99 | ||||
|
اقتباس:
كود:
program ex; uses wincrt; type tableau=array[1..50,1..50]of integer; var i,j,n,m:integer; t:tableau; begin writeln('Entrer deux nombre>0'); read(n); readln(m); for i:=1 to n do for j:=1 to m do begin write('Entrez la valeur de [',i,',',j,']='); read(t[i,j]); end; end. |
||||
2012-12-07, 21:17 | رقم المشاركة : 100 | |||
|
بخصوص الانواع المقبولة فهناك خطا |
|||
2012-12-08, 11:08 | رقم المشاركة : 101 | |||
|
من فضلكم ساعدوني على حل هذا 1. Lire deux chaînes de caractères représentant deux nombres binaires à partir du clavier et |
|||
2012-12-08, 11:55 | رقم المشاركة : 102 | |||
|
مساعدة في lles listes svp
Enoncé:
simulation de la listed'attente des patients d'un cabinet médical suivant la politique le premier venu est le premier servi,sauf quelque exeption ,le cas d'urgence(le plus prioritaire )et le cas des resultats des analyses medicale(qui seront géres en alternative avec les consultations Donc ecrire un programme qui permet de -Saisir les informations d'un patient,num sequentiel,nom,prenom,age et l'etat (urgent,consul,analyse) -faire appel a une procedure pour inverser les patients arrivés chacun a sa liste (consul,urg,analyse) -D'afficher le contenu de chaque liste apres l'arrivée d'un patient -De retirer et afficher le patient approrié chacun a son tour puis afficher le contenu des trois listes Aidez moi svp j'ai deja essayé je vais afficher ma solution plus tard Merci d'avance |
|||
2012-12-08, 12:48 | رقم المشاركة : 103 | ||||
|
اقتباس:
بعدها نقوم باظهار الجدول في سطر واحد وهكذا تكون حصلنا على القرم بالنظام 0 و1 باقي التمرين ليس صعب اسف لانني لا يمكنني وضع الحل ظرا لان لدي امتحانات في هذه الفترة شكرا لك |
||||
2012-12-08, 12:53 | رقم المشاركة : 104 | ||||
|
اقتباس:
receord بالباسكال تابع*-*ي*-* الشرح هنا https://www-ipst.u-strasbg.fr/pat/program/pascal12.htm الموقع يحتوي دروس البرمجة والالغوريتم للسنة الاولى اليك الموقع https://www-ipst.u-strasbg.fr/pat/program/pascal_t.htm هناك زر للانتقال الى الصفحة الموالية اضغط عليه للانتقال الى درس اخر لموقع مفيد جدا بخصوص التمرين ما قلنا نستعمل الدالة record الشرح موجود في الموقع بعدها نقوم بتخزين المعلةومات في جدول عند اظهار المعلومات علينا ان نعمل فحص لها بالنسبة للاولية من اجل هذا علينا ترتيب الجدول بحسب الاولية باستعمال مبدا permutation بعدها نظهر الجدول من جديد |
||||
2012-12-08, 15:22 | رقم المشاركة : 105 | |||
|
merciii bcp mais je sais que je vais utiliser les enregistrement mais apres l'enregistrement je vais cree une liste vide puis les ajouté des emements sa depend la priorité des etat j'ai l'idée mais j'ai pa pu la 'appliquer |
|||
الكلمات الدلالية (Tags) |
ملتقى, الالي, الاعلام, طلاب |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc