Aide exercice pascal

BOUFICHA

عضو نشيط
إنضم
29 أوت 2008
المشاركات
288
مستوى التفاعل
127
:besmellah2:

Svp aidez-moi à resoudre cet exercicie

calculer s(n)=1+1/2+1/3+1/4+.....+1/n

tous les algorithmes doivent etre recursive

voila mon essai

كود:
program exercice;
uses wincrt;
var
n:integer;
procedure saisie(var n:integer);
begin
write('Tapez n: ');
readln(n);
if(n>7)or(n<1)then saisie(n);
end;
function somme(n,d:integer):real;
begin
if(n=d)then somme:=1 else
 if(d<=n)then somme:=d+(1/somme(n,d+1));              
end;
begin
saisie(n);
writeln(SOMME(n,1));
end.
 

Dj khalil

عضو فعال
إنضم
31 أكتوبر 2009
المشاركات
371
مستوى التفاعل
212
كود:
Program exemple ;
uses wincrt;

procedure saisie (var n:integer);
begin
repeat
writeln('donner un entier');
readln(n);
until n>0 ;
end;

procedure somme(n:integer);
var
i:integer;
s:real;
begin
s:=1;
for i:=2 to n do
s:=s+1/i;
writeln('la somme est : ',s:2:2);
end;

var
n:integer;
begin
saisie(n);
somme(n);
end.
 

BOUFICHA

عضو نشيط
إنضم
29 أوت 2008
المشاركات
288
مستوى التفاعل
127
كود:
Program exemple ;
uses wincrt;

procedure saisie (var n:integer);
begin
repeat
writeln('donner un entier');
readln(n);
until n>0 ;
end;

procedure somme(n:integer);
var
i:integer;
s:real;
begin
s:=1;
for i:=2 to n do
s:=s+1/i;
writeln('la somme est : ',s:2:2);
end;

var
n:integer;
begin
saisie(n);
somme(n);
end.
Mon frère l'enoncé demande que les algorithmes dovent etre recursives.
 

trmalek

عضو نشيط
إنضم
27 نوفمبر 2009
المشاركات
203
مستوى التفاعل
155
je pense que ça
كود:
program exercice;
uses wincrt;
var
n:integer;
[COLOR="red"]s: real;
s:=0;[/COLOR]
procedure saisie(var n:integer);
begin
write('Tapez n: ');
readln(n);
if(n>7)or(n<1)then saisie(n);
end;
function somme(n,d:integer):real;
begin
if(n=d)then s:=1 else
 if(d<=n)then s:=[COLOR="Red"]s[/COLOR]+(1/somme(n,d+1)); 
[COLOR="red"]return s;[/COLOR]             
end;
begin
saisie(n);
writeln(somme(n,1));
end.
 

ماهر بنحميدة

كبار الشخصيات
إنضم
25 نوفمبر 2008
المشاركات
28.065
مستوى التفاعل
77.624
je pense que ça
كود:
program exercice;
uses wincrt;
var
n:integer;
[COLOR=red]s: real;
s:=0;[/COLOR]
procedure saisie(var n:integer);
begin
write('Tapez n: ');
readln(n);
if(n>7)or(n<1)then saisie(n);
end;
function somme(n,d:integer):real;
begin
if(n=d)then s:=1 else
 if(d<=n)then s:=[COLOR=Red]s[/COLOR]+(1/somme(n,d+1)); 
[COLOR=red]return s;[/COLOR]             
end;
begin
saisie(n);
writeln(somme(n,1));
end.
non mon ami 0 considère un réel aussi
 

trmalek

عضو نشيط
إنضم
27 نوفمبر 2009
المشاركات
203
مستوى التفاعل
155
oui bien sur ou est le prob? est ce que j'ai mis 0 n'est pas reel?
 

trmalek

عضو نشيط
إنضم
27 نوفمبر 2009
المشاركات
203
مستوى التفاعل
155
non j'ai initialiser la variable à 0 pas plus , on peut la mettre sur une seule ligne pas de prob , L'important est ce que le prog marche?
 

مواضيع مماثلة

الردود
1
المشاهدات
356
Meherleprof
M
الردود
0
المشاهدات
339
B
الردود
0
المشاهدات
296
scorpion est
S
أعلى