Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Questions de Cours: Devoir Surveillé #2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Année scolaire : 2023-2024

1ere Année MPSI/PCSI


Informatique

Devoir surveillé
N° 2

Questions de cours
Quel résultat fournit les programmes suivants, interpréter les résultats :

Programme 1 Programme 2 Programme 3


a = 27
c = 0
x = 2 b = 15
a = 24
n = 5 while a != b :
b = 4
s = 1 if a > b :
while a >= b :
fo r i in range ( 1 , n +1): a = a−b
a = a−b
s = s ∗x else :
c = c+1
print ( ” r e s u l t a t ␣ e s t : ␣ ” , s ) b = b−a
print ( ” r e s u l t a t ␣ e s t : ␣ ” , c )
print ( ” r e s u l t a t ␣ e s t : ␣ ” , a )

Solution:

• Programme 1 : il calcule et affiche xn donc il va afficher 25 = 32

• Programme 2 : il calcule et affiche le quotient de la division de a sur b donc il va afficher 6

• Programme 3 : il calcul et affiche le pgcd de a et b donc il va afficher 3

Exercice I
Un coefficient binomial est défini pour deux entiers positifs n et k tels que n ≥ k. C’est le nombre de parties
de k éléments dans un ensemble de n éléments. On le note : Ckn , et sa valeur est calculée par la formule
suivante :
n × n − 1 × ... × n − (k − 1)
Ckn =
k!

Question 1 : Écrire un programme python qui lit un entier positif p, et qui affiche la valeur de la factorielle
de p : p! = 1 × 2 × 3 × ... × (p − 1) × p.
NB : pour p = 0 affiche 1

Solution:
p = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
f = 1
f o r i in range ( 1 , p +1):
f = f ∗ i
print ( f )

Question 2 : Écrire un programme python qui lit deux entiers positifs n et k tels que n ≥ k, et qui affiche la
valeur du produit : n × n − 1 × ... × n − (k − 1)
Solution:
n = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
k = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
p = 1
for i in range ( 0 , k ) :
p = p ∗ ( n−i )
print ( p )

Question 3 : Écrire un programme python qui lit deux entiers positifs n et k tels que n ≥ k, et qui affiche la
valeur du coefficient binomial Ckn .
Exemple : La fonction binomial (6, 3) affiche le nombre 20

Solution:
n = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
k = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
p = 1
for i in range ( 0 , k ) :
p = p ∗ ( n−i )
f = 1
f o r i in range ( 1 , k + 1 ) :
f = f ∗ i
print ( p// f )

Exercice II

Un nombre entier naturel non nul est dit abondant s’il est strictement inférieur à la somme de ses di-
viseurs stricts.

Exemples : 12 est un nombre abondant car :

• Les diviseurs stricts de 12 sont 1, 2, 3, 4, et 6. Donc La somme 1 + 2 + 3 + 4 + 6 donne 16.


• Et 16 est supérieur à 12.

Question 4 : Écrire un programme qui permet de calculer la somme des diviseurs stricts de p donné.

Solution:
p = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
s = 0
f o r i in range ( 1 , p ) :
i f p % i == 0 :
s = s + i
print ( s )

Question 5 : Écrire un programme qui permet de déterminer si un nombres p est un nombre abondant ou
non.
Solution:
p = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
s = 0
f o r i in range ( 1 , p ) :
i f p%i ==0:
s = s + i
if p < s :
print ( ” Le␣nombre␣ ” , p , ” ␣ e s t ␣ abondant ” )
else :
print ( ” Le␣nombre␣ ” , p , ” ␣n ’ e s t ␣ pas ␣ abondant ” )

Question 6 : Écrire un programme qui permet de déterminer s’il existe un nombre abondant inférieur à un
nombre N .

Solution:
N = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
Trouve = F a l s e
i =0
while i <N and Trouve == F a l s e :
s = 0
fo r j in range ( 1 , i ) :
i f i%j ==0:
s = s + j
if i < s :
Trouve = True
i=i +1
i f Trouve == True :
print ( ” e x i s t e ” )
else :
print ( ”n ’ e x i s t e ␣ pas ” )

Question 7 : Écrire un programme qui permet d’afficher seulement N premiers nombres abondants.

Solution:
N = int ( input ( ” e n t r e z ␣un␣ e n t i e r ” ) )
i =0
k=1
while i <N:
s = 0
f o r j in range ( 1 , k ) :
i f k%j ==0:
s = s + j
if k < s :
print ( k )
i=i +1
k= k+1

Vous aimerez peut-être aussi