CCF BTS SIO E22 n°4 Mai 2012
PARTIE A sur papier( 30 minutes )
On donne l'extrait d'algorithme suivant:
Variables:
n entier naturel
a et i entiers naturels
Debut
n!=0 (1)
a= 1 (2)
for i in range(1, n+1): (3)
a=i*a (4)
FIN
---------------------------------
QUESTIONS:
1. Pourquoi a-t-on mis a =1 ?
2. Quelles sont les valeurs prises par i ?
3. Que font les lignes ( 1 ) , ( 2 ) , ( 3 ) et ( 4 ) ?
4. Peut-on obtenir le même résultat avec while ?
Expliquez.
Compléter l'algorithme suivant pour obtenir n! / ( (n-p)! p! )
quand l'utilisateur entre un entier n et un entier p tels que 0 ≤ p ≤ n .
--------------------------------
from decimal import*
fromrandom import*
def fac(n):
if n==0:
return 1
else:
a=1
for i in range (1,n+1):
a=a*i
return a
def comb(n,p):
.....................
.....................
#PROGRAMME PRINCIPAL#
#######################
n=input("Entrez un entier naturel n : n = ")
p=input("Entrez un entier naturel p compris entre 0 et n : p = ")
print "nCp = ", comb(n,p)
PARTIE B sur ordinateur ( 30 minutes ) ------------------------------------------
QUESTIONS
1. Rédiger un algorithme avec Python2.7 ,sans utiliser pow( , ) ni a**n
qui donne a^n lorsque l'utilisateur rentre un entier n et a un entier non nul .
2. Tester votre algorithme pour 13^2.
---------------------------------------------