موضوع مميز ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal - الصفحة 4 - منتديات الجلفة لكل الجزائريين و العرب

العودة   منتديات الجلفة لكل الجزائريين و العرب > منتديات الجامعة و البحث العلمي > منتدى الهندسة > قسم الرياضيات و الاعلام الالي

في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة تقرير عن مشاركة سيئة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .

آخر المواضيع

ملتقى طلاب الاعلام الالي لحل تمارين Algorithmes et programmation en Pascal

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 2012-11-17, 13:33   رقم المشاركة : 46
معلومات العضو
marwa.dz
عضو مشارك
 
إحصائية العضو










افتراضي

بارك الله فيك اخي على الشرح المستوى هو السنة الاولى
فقط لم افهم mm ،hh
انا فهمت اني احول وقت ما موجود بالثانية s اللى اليوم والساعة و الدقيقة والثانية
والسؤال الثاني احسب الفرق بين وقتين
ممكن تضعه لي في البسكال شكرا









 


رد مع اقتباس
قديم 2012-11-17, 17:23   رقم المشاركة : 47
معلومات العضو
you92cef
عضو محترف
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة marwa.dz مشاهدة المشاركة
بارك الله فيك اخي على الشرح المستوى هو السنة الاولى
فقط لم افهم mm ،hh
انا فهمت اني احول وقت ما موجود بالثانية s اللى اليوم والساعة و الدقيقة والثانية
والسؤال الثاني احسب الفرق بين وقتين
ممكن تضعه لي في البسكال شكرا

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   رقم المشاركة : 48
معلومات العضو
you92cef
عضو محترف
 
إحصائية العضو










افتراضي

البرنامج الاول
ملاحظة يجب احترام مجال integer *-*الاعداد التي تتكون من 4 ارقام يحولها بشكل صحيح الاعداد التي تتكون من 5 ارقام ا اكثر فيها بعض المشاكل الناتجة عن type integer


كود:
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.
lملاحظة هامة البرنامجين ليسا شغالين بنسبة 100/100 ويجب اضافة بعض الشروط كان يكون العدد الذي تدخله موجبا وان يكونn1 من n2
حاول(ي) اضافة هذه الشروط
+احترام مجال integer

يمكن القيام بالبرنامجين بطرق مختلفة









رد مع اقتباس
قديم 2012-11-17, 19:34   رقم المشاركة : 49
معلومات العضو
marwa.dz
عضو مشارك
 
إحصائية العضو










افتراضي

اخي هل يمكن وضع j3, h3, m3 بالقيمة المطلقة (abs j3, abs h3, abs m3)?
وشكرا لك على الشرح المفصل










رد مع اقتباس
قديم 2012-11-17, 20:09   رقم المشاركة : 50
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة you92cef مشاهدة المشاركة
البرنامج الاول
ملاحظة يجب احترام مجال integer *-*الاعداد التي تتكون من 4 ارقام يحولها بشكل صحيح الاعداد التي تتكون من 5 ارقام ا اكثر فيها بعض المشاكل الناتجة عن type integer
تعقيبا على ما سلف


كود:



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, 20:33   رقم المشاركة : 51
معلومات العضو
Arzt
عضو مميّز
 
إحصائية العضو










افتراضي

السلام عليكم










رد مع اقتباس
قديم 2012-11-17, 20:59   رقم المشاركة : 52
معلومات العضو
AKKAINMOH
عضو جديد
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة salemk مشاهدة المشاركة
كود:

on utilise les fonctions prédéfinis longueur et successeur

soit la séquence d’algorithme qui suit

lire (ch)
ecrire (ch, longeur(ch))
lire(c)
ecrire (succ(c))


 en pascal

read(ch);
write(ch, length(ch));
read(c);
write(succ(c));
الشكر أو النقد لن يكلّف كثيرا

مشكور أخي كثيرا بارك الله فيك وجعلها في ميزان حسناتك
لاكن ممكن توضخ أكثر










رد مع اقتباس
قديم 2012-11-17, 21:19   رقم المشاركة : 53
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة you92cef مشاهدة المشاركة
exo pour les 2 eme anneé info

ecrire un programe recursive qui fait la somme de n element entre d'un tableu
puis affiche le resultat
كود:

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-17, 21:36   رقم المشاركة : 54
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة AKKAINMOH مشاهدة المشاركة

مشكور أخي كثيرا بارك الله فيك وجعلها في ميزان حسناتك
لاكن ممكن توضخ أكثر


كود:
Read (x1,x2,x3…,xn) ; 
Utiliser pour saisir des valeurs depuis le clavier vers des zones de la mémoire centrale, la première valeur saisie sera enregistrée dans la zone de la mémoire identifiée par le nom x1, la deuxième dans la zone identifiée par x2 … et ainsi de suite


Write (x1,x2,’A’,3…) ;
Permet d’afficher le contenu d’une variable, une valeur ou les deux à la fois sur l’écran. x1 et x2 deux variables dont le contenu sera affiché, ‘A’ et 3 se sont des valeurs à afficher.



length(ch) ;
Permet de renvoyer le nombre des caractères alphanumériques qui forment la chaîne de caractères ch

 
succ(c) ;
pour renvoyer le successeur d’un caractères alphanumériques, par exemple succ(‘B’) donne ‘A’, succ(‘e’) donne ‘f’









رد مع اقتباس
قديم 2012-11-17, 22:14   رقم المشاركة : 55
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة tarake مشاهدة المشاركة
السلام عليكم

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   رقم المشاركة : 56
معلومات العضو
salemk
عضو مشارك
 
الصورة الرمزية salemk
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة tarake مشاهدة المشاركة
السلام عليكم
كود:
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.









رد مع اقتباس
قديم 2012-11-22, 00:06   رقم المشاركة : 57
معلومات العضو
AKKAINMOH
عضو جديد
 
إحصائية العضو










افتراضي

merci pour tout salemk










رد مع اقتباس
قديم 2012-11-22, 00:07   رقم المشاركة : 58
معلومات العضو
AKKAINMOH
عضو جديد
 
إحصائية العضو










افتراضي

السلآم عليكم ورحمة الله وبركآتهُ ..
كيف نحدد عدد الأرقام بعد الفاصلة في pascal










رد مع اقتباس
قديم 2012-11-22, 15:16   رقم المشاركة : 59
معلومات العضو
you92cef
عضو محترف
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة marwa.dz مشاهدة المشاركة
اخي هل يمكن وضع j3, h3, m3 بالقيمة المطلقة (abs j3, abs h3, abs m3)?
وشكرا لك على الشرح المفصل
بحسب التمرين

يعني اما نقوم بعمل القيمة المطلقة او نعمل permutetion

بحيث اذا كان الزمن 1 اصغر من الزمن 2
يصبح الزمن 2 هو الزمن الاول والزمن الاول هو الثاني
بحسب التمرين وبحسب الطلب ولكن في مثل هذه التمارين من الاحسن ان نقارن بين الزمن الاول والزمن الثاني اذا كان الزمن الثاني اكبر من الاول نخرج من البرنامج مباشرة









رد مع اقتباس
قديم 2012-11-22, 15:20   رقم المشاركة : 60
معلومات العضو
you92cef
عضو محترف
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة salemk مشاهدة المشاركة
كود:

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.
شكرا على البرنامج تم حله في حصة الاعمال التطبيقية
في انتظار وضع تمارين جديدة اكثر صعوبة
شكرا لك









رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
ملتقى, الالي, الاعلام, طلاب


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 14:13

المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية


2006-2024 © www.djelfa.info جميع الحقوق محفوظة - الجلفة إنفو (خ. ب. س)

Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc