Rechercher : dans
Par :

Exo factoriel en pascal(prog)

Dernière réponse le 1 jan 2009 à 16:44:22 abdelmadjid1990, le 31 déc 2008 à 11:42:08 
 Signaler ce message aux modérateurs

Boujour a tous et merci de m'aider sur ce sujet , voila g un exercice de programmation en pascal; voila l'éxo:

-programme permetant de faire le calcul suivant:

(1/1!) + (2/2!) + (3/3!) +.......+ (n/n!) ,avec n lu.

donc voila j'ai commencer et voici mon idée mais elle ne marche pas :

program exo_facto;
var h,n:integer;
s:real;
begin
for n:=1 to n do
for h:= 1 to n do
s:=s+1/h
writeln(s);
readln;readln;
end.


merci de vos réponses..

Configuration: Windows XP
Firefox 3.0.5

Meilleures réponses pour « exo factoriel en pascal(prog) » dans :
Introduction au langage Pascal VoirUn peu d'histoire Ce langage a été créé en 1969 à l'école polytechnique de ZURICH par N. WIRTH. Il a été conçu pour permettre d'enseigner la programmation comme une science. Ce langage est à la base d'une nouvelle méthode de programmation : la...
Les bases du langage Pascal VoirDe la structure du langage et des principaux mots-clés Tout d'abord, nous sommes d'accord : notre but est d'écrire un programme; quand notre programme sera suffisamment élaboré, on pourra appeler ça une application (ça fait pro). Tous nos...
Les caractéristiques du langage Pascal VoirDe l'Algorithme ou de l'art de ne pas être trop astucieux Définition du Petit Larousse : Suite finie d'opérations élémentaires constituant un schéma de calcul ou de résolution d'un problème. Ce mot est à connaître et à placer régulièrement dans...

1

KX, le 31 déc 2008 à 18:58:25

Petits rappels mathématiques :
0! =1
n! =1* 2* ...* n
n! = n* (n-1)!
n/ n! = 1/ (n-1)!

Ton problème se simplifie donc en 1/0! + 1/1! + 1/2! ... + 1/(n-1)!
Il te faut un accumulateur pour ta factorielle (initialisé à 0!=1)

program exo_facto;

var i,n,facto:integer; e:real;
begin
write('n = '); readln(n); // à ne pas oublier pour que ça marche
facto:=1; e:=1; // initialisation n=0
for i:=1 to (n-1) do
    begin
    facto:=facto*i; // facto = i!
    e:=e+1/facto;
    end;
writeln('e ~ ',e:0:15); // pour n grand e=exp(1)
writeln; write('Fin du programme. Appuyer sur Entree'); readln;
end.
La confiance n'exclut pas le contrôle 

Répondre à KX

2

 abdelmadjid1990, le 1 jan 2009 à 16:44:22

Merci beaucoup , ça marché
merci encore

Répondre à abdelmadjid1990