Intersection dans le cube
Télécharger le brochure ici.
Cours donnés en classe
Travaux écrits
TE n° 724 (donnée). Corrigés : Problème 1, Problème 2, Problème 3.
Télécharger le brochure ici.
TE n° 724 (donnée). Corrigés : Problème 1, Problème 2, Problème 3.
Exercices (version 1.2).
Télécharger le brochure ici.
Codes des exercices 2.2.2 -> 2.4.17.
Codes des exercices 2.5.4 -> 2.5.9.
TE n° 730 (donnée). Corrigés : Codes.
import turtle, math, random
def axes(uneTortue, cote):
uneTortue.forward(cote)
uneTortue.up()
uneTortue.goto(0, 0)
uneTortue.left(90)
uneTortue.down()
uneTortue.forward(cote)
uneTortue.up()
uneTortue.goto(0, 0)
uneTortue.right(90)
uneTortue.down()
def monte_carlo(uneTortue, cote, nombre_point):
uneTortue.up()
point_interieur = 0
n = nombre_point
carre_du_cote = cote*cote
while n > 0:
x = random.random() * cote
y = random.random() * cote
if x*x + y*y < carre_du_cote :
uneTortue.color('green')
point_interieur = point_interieur + 1
else:
uneTortue.color('red')
uneTortue.goto(x, y)
uneTortue.dot()
n = n - 1
uneTortue.goto(0, 0)
uneTortue.down()
return 4*(point_interieur/nombre_point)
caroline = turtle.Turtle()
caroline.speed('fastest')
turtle.tracer(0, 0)
axes(caroline, 200)
print(monte_carlo(caroline, 200, 1000))
Quelques définitions à lire ici.
Une introduction.
# César 1
# sv 01.05.2019
import string
# alphabet en minuscule et en majuscule
alpha = string.ascii_lowercase
ALPHA = string.ascii_uppercase
# fonction pour chiffrer
def chiffrer(texte, decalage):
chiffre = ''
for caractere in texte:
indice = ALPHA.find(caractere)
indice = indice + decalage
indice = indice%26
caractere_chiffre = ALPHA[indice]
chiffre = chiffre + caractere_chiffre
return chiffre
# fonction pour déchiffrer
def dechiffrer(chiffre, decalage):
return chiffrer(chiffre, 26 - decalage)
# César 2
# sv 01.05.2019
# fonction pour chiffrer
def chiffrer(texte, decalage):
chiffre = ''
for caractere in texte:
nombre = ord(caractere) - 65
nombre = nombre + decalage
nombre = nombre%26
caractere_chiffre = chr(nombre + 65)
chiffre = chiffre + caractere_chiffre
return chiffre
# fonction pour déchiffrer
def dechiffrer(chiffre, decalage):
return chiffrer(chiffre, 26 - decalage)
# César 3
# sv 01.05.2019
import string
alpha = string.ascii_lowercase
ALPHA = string.ascii_uppercase
# fonction pour chiffrer
def chiffrer(texte, decalage):
ALPHA_DECALE = ALPHA[decalage:] + ALPHA[:decalage]
chiffre = ''
for caractere in texte:
indice = ALPHA.find(caractere)
caractere_chiffre = ALPHA_DECALE[indice]
chiffre = chiffre + caractere_chiffre
return chiffre
# fonction pour déchiffrer
def dechiffrer(chiffre, decalage):
return chiffrer(chiffre, 26-decalage)
#César affine 1
# sv 01.05.2019
# n |–> a*n + b avec a inversible modulo 26
# Calcul de l'inverse d'un nombre modulo 26
def inverse(nombre, mod=26):
for n in range(mod):
if (n * nombre)%mod == 1:
return n
break
elif n == mod-1:
print("pas d'inverse")
return None
# fonction pour chiffrer
def chiffrer_affine(texte, a, b):
chiffre = ''
for caractere in texte:
nombre = ord(caractere) - 65
nombre = a*nombre + b
nombre = nombre%26
caractere_chiffre = chr(nombre + 65)
chiffre = chiffre + caractere_chiffre
return chiffre
# fonction pour déchiffrer
def dechiffrer_affine(chiffre, a, b):
return chiffrer_affine(chiffre, inverse(a), -inverse(a)*b)