Fiche 1 Initiation à Python NSI Initiation à Python Fiche 1 Correction 1 Les va
Fiche 1 Initiation à Python NSI Initiation à Python Fiche 1 Correction 1 Les variables Exercice 1 : 1. Écrire un programme qui demande des coordonnées ( abscisses puis ordonnées ) de deux point A et B, puis retourne les coordonnées du milieu du segment [AB]. Correction Listing 1 Le milieu x_a = int ( input ( " Entrer l ' a b s c i s s e de A : " )) y_a = int ( input ( " Entrer l ' ordonnee de A : " )) x_b = int ( input ( " Entrer l ' a b s c i s s e de B : " )) y_b = int ( input ( " Entrer l ' ordonnee de B : " )) x_i = (x_a + x_b) / 2 y_i = (y_a + y_b) / 2 print ( " l e s coordonnees du milieu sont : ( " + str ( x_i ) + \ " , " + str ( y_i ) " ) " ) 2. Écrire un programme qui demande des coordonnées ( abscisses puis ordonnées ) de deux point A et B, puis retourne les coordonnées du symétrique de A par rapport à B. Correction Listing 2 Le symétrique x_a = int ( input ( " Entrer l ' a b s c i s s e de A : " )) y_a = int ( input ( " Entrer l ' ordonnee de A : " )) x_b = int ( input ( " Entrer l ' a b s c i s s e de B : " )) y_b = int ( input ( " Entrer l ' ordonnee de B : " )) x_a_2 = 2*x_b−x_a y_a_2 = 2*y_b−y_a print ( " l e s coordonnees du symetrique sont : ( " + str (x_a_2) + \ " , " + str (y_a_2) " ) " ) Exercice 2 : Écrire un programme qui demande à l'utilisateur d'entrer deux entiers, et a che le résultat de la division euclidienne : Exemple : Si l'utilisateur entre 25 puis 3, l'algorithme a che : 25 = 3 x 8 + 1 Correction sebjaumaths.free.fr 1/3 Lycée Jean Rostand Fiche 1 Initiation à Python NSI Listing 3 Le division euclidienne a = int ( input ( " Entrer un e n t i e r a : " )) b= int ( input ( " Entrer un e n t i e r b : " )) q = a//b r = a% b print ( str ( a ) + " = " + str ( b ) + " x " + str (q) + " + " + str ( r ) ) Exercice 3 : 1. Aecter aux variables a et b les valeurs respectives 123 et 456. En utilisant une variable temporaire ( appelée temp ), inverser les aectations ( a prendra la valeur de b et inversement ). Correction Listing 4 Echange a = 123 b = 456 temp = a a = b b = temp 2. En considérant que a et b sont des entiers, inverser les valeurs sans utiliser une variable temporaire. Correction Listing 5 Echange a = 123 b = 456 a = a+b b = a−b a = a−b Exercice 4 : Écrire une procédure qui demande à l'utilisateur d'entrer son nom puis son pré- nom, et a che une phrase d'accueil : bonjour , votre nom est . . . , et votre prenom est . . . Correction Listing 6 Nom et prenom nom = input ( " entrer votre nom : " ) prenom = input ( " entrer votre prenom : " ) print ( "bonjour , votre nom est " + nom + \ " , et votre prenom est " + prenom ) 2 Les conditionnelles Exercice 5 : Sans utiliser l'ordinateur, donner la valeur de la variable a à la n de la procédure dans chacun des cas suivants : sebjaumaths.free.fr 2/3 Lycée Jean Rostand Fiche 1 Initiation à Python NSI 1. >>> a = 8 >>> x = 3 >>> y = " bonjour " >>> i f (x>3) or (y <= " tout " ) : a = 14 else : a = 2 2. >>> a = 8 >>> x = 2.5 >>> y = 5 >>> i f (x>3) : i f ( y == 5 ) : a = 7 else : a = 15 else : i f ( y % 5 == 1 ) : a = 48 3. >>> a = 8 >>> x = 3 >>> y = 5 >>> z = 10 >>> i f (x > −1) and (y <= 0) or ( z == 10 ) : a = a+4 >>> i f (x == −1) and (( y <= 0) or ( z == 10 )) : a = a+2 >>> i f (x == −1) or (y <= 0) and ( z == 10 ) : a = a+7 >>> i f (x == 3) or (y <= 0) and ( z < 5 ) : a = a+1 Exercice 6 : Écrire une procédure demande à l'utilisateur son nom et son age, et a che indiquant si le nom est inférieur au prénom ( dans l'ordre alphabétique), et si l'utilisateur est adulte. Correction def signe (n) : i f n > 0 : return 1 e l i f n< 0: return −1 else : return 0 def signe_2 (n) : i f n > 0 : return 1 else : i f n< 0: sebjaumaths.free.fr 3/3 Lycée Jean Rostand Fiche 1 Initiation à Python NSI return −1 else : return 0 3 Les boucles Exercice 7 : 1. Écrire une procédure qui a che la table de multiplication d'un entier entré par l'utilisa- teur. 2. Écrire une procédure qui décompte, en partant de 10, et nie par "Partez !". Correction def decompte_while () : n=10 while n >=0 : print (n) n=n−1 print ( " partez " ) def decompte_for () : for i in range (11) : print(10−i ) print ( " partez " ) Exercice 8 : 1. Écrire une procédure qui calcule la somme des entiers consécutifs entre deux entiers entrés par l'utilisateur. 2. Écrire une procédure qui calcule le produit des entiers consécutifs entre deux entiers entrés par l'utilisateur. Correction def somme_entre_deux_entiers_while () : a = int ( input ( " entrer un premier nombre : " )) b = int ( input ( " entrer un deuxieme nombre : " )) s = 0 # s est la somme cherchee while a <= b : s = s + a # s += a a = a +1 # a +=1 return s def somme_entre_deux_entiers_for () : a = int ( input ( " entrer un premier nombre : " )) b = int ( input ( " entrer un deuxieme nombre : " )) s = 0 sebjaumaths.free.fr 4/3 Lycée Jean Rostand Fiche 1 Initiation à Python NSI for i in range(a , b+1 ) : s = s + i return s def produit_entre_deux_entiers_while () : a = int ( input ( " entrer un premier nombre : " )) b = int ( input ( " entrer un deuxieme nombre : " )) s = 1 # s est la somme cherchee while a <= b : s = s * a # s *= a a = a +1 # a +=1 return s def produit_entre_deux_entiers_for () : a = int ( input ( " entrer un premier nombre : " )) b = int ( input ( " entrer un deuxieme nombre : " )) s = 1 for i in range(a , b+1 ) : s = s * i return s sebjaumaths.free.fr 5/3 Lycée Jean Rostand Fiche 1 Initiation à Python NSI Exercice 9 : On utilisera une fonction qui renvoie aléatoirement un entier entre deux entiers donnés : >>> from random import randint >>> randint (8 ,12) 8 1. Écrire une procédure qui simule le lancer de trois dés de 6, et renvoie le score obtenu. 2. Écrire une procédure qui compte le nombre d'essais pour obtenir trois 6. 3. Écrire une procédure qui compte le nombre d'essais pour obtenir la combinaison "421". Correction from random import randint def trois_de () : de_1 = randint (1 ,6) de_2 = randint (1 ,6) de_3 = randint (1 ,6) return (de_1 + de_2 + de_3 , de_1 * de_2 * de_3 ) def nb_essai () : nb = 0 t i r a g e = 0 while not( t i r a g e == 18) : nb +=1 t i r a g e = trois_de () return nb def nb_essai_421 () : nb = 0 tirage_somme = 0 tirage_produit = 0 while not( tirage_produit == 8 and tirage_somme ==7 ) : de_1 = randint uploads/s1/ corrige-nsi-fiche-d-x27-exercice-1.pdf
Documents similaires










-
41
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 18, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 0.1600MB