Page 1 sur 1
Terminale NSI
Posté : mar. oct. 08, 2024 9:27 am
par maths-code
Code : Tout sélectionner
class Point:
def init (self, abscisse, ordonnee):
self.a = abscisse
self.b = ordonnee
def __str__(self):
return f"({self.a}, {self.b})"
def distAB(self, autrepoint):
return pow((pow((autrepoint.a - self.a), 2) + pow((autrepoint.b - self.b), 2)), 1/2)
def __eq__(self, autrepoint):
return self.a == autrepoint.a and self.b == autrepoint.b
class Domino:
def __init__(self, faceA, faceB):
self.a = faceA
self.b = faceB
def __str__(self):
return f"({self.a}, {self.b})"
def valeur(self):
return self.a + self.b
def somme(self, autredomino):
return self.valeur() + autredomino.valeur()
def __eq__(self, autredomino):
return self.valeur() == autredomino.valeur()
Re: Terminale NSI
Posté : mar. oct. 08, 2024 9:58 am
par maths-code
Code : Tout sélectionner
class CompteBancaire:
def __init__(self, solde, nom):
self.s = solde
self.n = nom
def depot(self,argent):
self.s = argent + self.s
def retrait(self, montant):
self.s = self.s - montant
def __str__(self)
return f"le montant disponible est {self.s}"
Récursivité
Posté : mar. déc. 10, 2024 11:02 am
par maths-code
#Exercice 1
Code : Tout sélectionner
def somme_carre(n):
if n == 1:
return 1
else:
return somme_carre(n-1) + n*n
#Exercice 2
Code : Tout sélectionner
def inverser(liste):
n = len(liste)
if n == 0 or n == 1:
return liste
else:
x0 = liste.pop(0)
fin_liste = liste
inverser(fin_liste)
fin_liste.append(x0)
return fin_liste
inverser([1, 2, 3])
#Exercice 3
Code : Tout sélectionner
def nb_dor(n):
if n == 0:
return 1
else:
return 1+1/nb_dor(n-1)
Code : Tout sélectionner
def nb_dor_2(n):
"""
Pourquoi cette version pose problème ?
"""
if n > 0:
return 1+1/nb_dor(n-1
)
"""
Faire 2 versions :
Et la suivante
"""
Code : Tout sélectionner
def compte_rebours(n):
if n == 0:
return "Décollage"
else :
return(f"{n} , " + compte_rebours(n-1))
Re: Terminale NSI
Posté : jeu. déc. 12, 2024 8:26 am
par maths-code
Code : Tout sélectionner
def est_palindrome(mot):
if len(mot) == 0 or len(mot) == 1:
return True
if not mot[0] == mot[-1]:
return False
else:
n_mot = mot[1:-1]
return est_palindrome(n_mot)
Re: Terminale NSI
Posté : jeu. mars 06, 2025 8:35 am
par maths-code
Code : Tout sélectionner
class Maillon:
def __init__(self, valeur = None, suivant = None):
self.val = valeur
self.suiv = suivant
def __str__(self):
if self.val is not None:
return str(self.val) + "-" + str(self.suiv)
else:
return str(self.val)
class ListeC:
def __init__(self, premier = None, prem_suiv=None):
self.prem = Maillon(premier, prem_suiv )
def __str__(self):
return str(self.prem)
def __repr__(self):
return str(self.prem)
def est_vide(self):
return self.prem.val is None
def tete(self):
if self.prem.val is not None:
return self.prem.val
def longueur(self):
n = 0
c = self.prem
while c is not None:
n += 1
c = c.suiv
return n
def ajoute(self, valeur):
"""
ajoute un élement en fin de liste
"""
m = Maillon(valeur)
if self.prem.val is None:
self.prem = m
else:
p = self.prem
while p.suiv is not None:
print(self.prem)
p = p.suiv
p.suiv = m
def ajoute_debut(self, valeur):
"""
ajoute un élement en debut de liste
"""
m = Maillon(valeur)
if self.prem.val is None:
self.prem = m
else:
p = self.prem
self.prem = m
m.suiv = p
L = ListeC(5)
L.ajoute(10)
L.ajoute(3)
L.ajoute(4)
L.longueur()