Terminale NSI

Forum NSI du lycée Carnot


Répondre
Avatar du membre
maths-code
Site Admin
Messages : 53
Enregistré le : mer. avr. 19, 2023 9:02 pm

Terminale NSI

Message 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()
Avatar du membre
maths-code
Site Admin
Messages : 53
Enregistré le : mer. avr. 19, 2023 9:02 pm

Re: Terminale NSI

Message 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}"
Avatar du membre
maths-code
Site Admin
Messages : 53
Enregistré le : mer. avr. 19, 2023 9:02 pm

Récursivité

Message 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 :

Code : Tout sélectionner

>>> compte_rebours(5)
5
4
3
2
1
Décollage !

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))
Avatar du membre
maths-code
Site Admin
Messages : 53
Enregistré le : mer. avr. 19, 2023 9:02 pm

Re: Terminale NSI

Message 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)
Avatar du membre
maths-code
Site Admin
Messages : 53
Enregistré le : mer. avr. 19, 2023 9:02 pm

Re: Terminale NSI

Message 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()
Répondre