local k,fact,somme

calcul_s:=proc(n) local k,fact,somme; fact:=1; somme := 1; for k from 1 to n do fact := fact*k; somme:=somme+1/fact; od;. RETURN(evalf(somme)); end; calcul_s n.
23KB taille 6 téléchargements 248 vues
> calcul_s:=proc(n) local k,fact,somme; fact:=1; somme := 1; for k from 1 to n do fact := fact*k; somme:=somme+1/fact; od; RETURN(evalf(somme)); end; calcul_s := proc(n) local k, fact, somme; fact := 1; somme := 1; for k to n do fact := fact∗k ; somme := somme + 1 / fact end do ; RETURN( evalf( somme ) ) end proc > calcul_s(10); 2.718281801 > calcul_s2 := proc(n) evalf(add(1/(mul(k,k=1..i)),i=0..n)); end; calcul_s2 := proc(n) evalf( add( 1 / mul( k, k = 1 .. i ), i = 0 .. n ) ) end proc > calcul_s2(10); 2.718281801 > seuil := proc(p) local n; for n from 0 while evalf(calcul_s(n) - exp(1)) > 10^(-p) do od; RETURN(n); end; seuil := proc(p) local n; for n from 0 while 10^( −p ) < evalf( calcul_s( n ) − exp( 1 ) ) do end do ; RETURN( n ) end proc > evalf(calcul_s(3) - exp(1),1000); -0.0516151617923785686936208046859958310905804270332929083003009610574099636\ 868809279047155118584997607607997252653363932551507469299623769062336676285\ 939289640714656619612768240965671632140865285843523449071675212640354874224\ 832682175008425780947940014155981335018107451870756787757704408724110783254\ 028850360951719395946647179163340853782671598936309400704465340426620424607\ 770803805640303105426434750261701523588484419907971054445857231177583902870\ 301041187833033012801977882393212649702225634321264610695115487583325629096\ 848155416032285270013665158622027318297984391542725731628221266536958427764\ 506345715304017494737303531710126540166157097981376286451356621158431527891\ 486350900506946654031445843295152149263750236849322218526791406072000719227\

562125618332254201391590826129438175317776967965783018208935669581603753119\ 565423354943235686377032751824796474267650714769738795864854295170242220403\ 501017297577114739260478968823946364405418437170838434490810375052319440207\ 30298854600488022290368368 > evalf(exp(1)); 2.718281828 > occurence := proc(l) local i,s,k,cpt; i:=1; s:=NULL; while i < nops(l) do cpt:=0; for k from i while k < nops(l)+1 and l[i] = l[k] do cpt := cpt + 1; od; s := s,[l[i],cpt]; i:= k; od; RETURN([s]); end; occurence := proc(l) local i, s, k, cpt; i := 1; s := NULL; while i < nops( l ) do cpt := 0; for k from i while k < nops( l ) + 1 and l[ i ] = l[ k ] do cpt := cpt + 1 end do ; s := s, [ l[ i ], cpt ] ; i := k end do; RETURN( [ s ] ) end proc > occurence([tota,tota,tata,tata,titi,titi,titi,titi]); [ [ tota, 2 ], [ tata, 2 ], [ titi, 4 ] ] > doublon := proc(l) local i,k; for i from 1 to nops(l) do for k from i+1 to nops(l) do if l[i]=l[k] then RETURN(true); fi; od; od; RETURN(false); end; doublon := proc(l) local i, k;

for i to nops( l ) do for k from i + 1 to nops( l ) do if l[ i ] = l[ k ] then RETURN( true ) end if end do end do; RETURN( false ) end proc > doublon([1,2,3,4,5,6,7,8]); false > inverse := proc(l) local inv,i; inv:=l; for i from 1 to nops(l) do inv[i] := l[nops(l)-(i-1)]; od; RETURN(inv); end; inverse := proc(l) local inv, i; inv := l ; for i to nops( l ) do inv[ i ] := l[ nops( l ) − i + 1 ] end do ; RETURN( inv ) end proc > inverse([1,2,3,4]); inverse( [ 1, 2, 3, 4 ] ) > minimum := proc(L) local min,i; min := L[1]; for i from 2 to nops(L) do if L[i] < min then min := L[i]; fi; od; RETURN(min); end; > minimum := proc(L) local min, i; min := L[ 1 ] ; for i from 2 to nops( L ) do if L[ i ] < min then min := L[ i ] end if end do ; RETURN( min ) end proc > minimum([4,5,6,1,2]); 1 >