Bibliographie Sur le WEB A propos de SageMath et Python

A
Bibliographie
Bibliographie
1. SIMON SINGH, Histoire des codes secrets, Livre de Poche, 2001
2. DIDIER MULLER, Les codes secrets décryptés, City Editions, 2007
3. DIDIER MULLER, Les 9 couronnes, Société jurassienne d’Emulation, 2009
Sur le WEB
1. Le site compagnon du polycopié :
http://www.javmath.ch
2. Ars Cryptographica :
http://www.apprendre-en-ligne.net/crypto/menu/index.html
3. La Cryptogr@phie expliquée :
http://www.bibmath.net/crypto/index.php
A propos de SageMath et Python
1. SageMathCloud, l’interface que nous utilisons :
https://cloud.sagemath.com/
2. SageMath, le site de référence en français (tutoriels,...) :
http://www.sagemath.org/fr/
3. Calcul mathématique avec Sage (un mode d’emploi en pdf)
http://dl.lateralis.org/public/sagebook/sagebook-web-20130530.pdf
71
A
Quelques éléments de solutions
A.1 Un doigt d’algorithmique avec SageMath
Exercice 1.1: factorielle(40)
|815915283247897734345611269596115894272000000000
factorielle(100)
|9332621544394415268169923885626670049071596826 (...)
Exercice 1.2:
Pas de corrigé
Exercice 1.3: def successeur(n):
n=n+1
return n
Exercice 1.4:
a) Il permute les 2 valeurs aet b.
b) Il s’agit de :
def mystere(a,b):
a=a+b
b=a-b
a=a-b
return a,b
Exercice 1.5: L1=[];L2=[];L3=[];L4=[];
for iin [-3..3]:
L1=L1+[i]
print L1
for iin [-2..4]:
L2=L2+[i^2]
print L2
L3=L1+L2
print L3
for iin [0..6]:
L4=L4+[L1[i]+L2[i]]
print L4
I
II ANNEXE A. QUELQUES ÉLÉMENTS DE SOLUTIONS
Exercice 1.6:
a) Le pseudo-code :
Mult7liste vide
k1
tant que 7¨k60 :
ajouter 7¨kdans Mult7
kk`1
acher Mult7
Exercice 1.7:
a) Il s’agit à nouveau de calculer la factorielle : n!
b) def mystere(n):
p=1
k=1
while k<n+1:
p=p*k
k=k+1
return p
Exercice 1.8:
a) Cette fonction permet de calculer le quotient et le reste de la division de npar p
b) def divmod(n,p):
j=0
while n>=p:
n=n-p
j=j+1
return j,n
Exercice 1.9:
On peut par exemple proposer :
def tableau(min ,max):
for xin [min..max]:
print "si x =" ,x,"alors f (" ,x,")=",x^3-x^2+2
Ce qui donnera :
tableau(-3,3)
|si x=-3alors f(-3)=-34
|si x=-2alors f(-2)=-10
|si x=-1alors f(-1)=0
|si x=0alors f(0)=2
|si x=1alors f(1)=2
|si x=2alors f(2)=6
|si x=3alors f(3)=20
ANNEXE A. QUELQUES ÉLÉMENTS DE SOLUTIONS III
Exercice 1.10:
c) Elle permet de calculer n
ÿ
k0
1
k!
d) def sommefacto(n):
somme=0
for kin [0..n]:
somme=somme+1/factorielle(k)
return(somme)
e) Vous obtiendrez l’approximation d’un nombre bien connu ... :
N(sommefacto(6))
|2.71805555555556
N(sommefacto(100))
|2.71828182845905
Exercice 1.11:
a) On considère une première fonction monlog :
def monlog(n):
return log(3*n+1)
qui sera ensuite appelé dans une deuxième fonction pour donner le résultat :
def masomme(min ,max):
somme=0
for iin [min..max]:
somme=somme+1/monlog(i)
return N(somme)
masomme(3,7)
|1.84797821242055
b) Démarche comparable. On obtient : 12
ÿ
i5
i
a2i´115.859914
Exercice 1.12:
a) def facto(n):
if n==0:
return 1
else:
return n*facto(n-1)
b)
Cette troisième façon d’obtenir
n
!est certainement la plus subtile, car à l’intérieur de la
fonction elle-même, la commande factorielle est appelée.
On appelle ceci une fonction récursive.
c) def combi(n,p):
c=facto(n)/(facto(p)*facto(n-p))
return c
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !