Examen Programmation Python CPGE TSI PDF

Examen Programmation Python

Télécharger PDF

CPGE Mohammedia

Durée: 1h

DS N°5

Module: Programmation Python

Barème: Note /20

Classe: TSI

Année de formation: 2013 - 2014

Documents non autorisés

Exercice 1 (7 pts)

Mathématiquement q est un diviseur commun de m et n si q divise à la fois m et n (le reste de la division entière est 0). Le plus grand diviseur commun (pgcd) de m et n est le plus grand entier q divisant à la fois m et n. Pour trouver le pgcd de deux entiers m et n il suffit de trouver tous les diviseurs de a et b, et trouver le diviseur commun le plus grand.

L'exemple ci-dessous illustre le calcul de pgcd de 30 et 105.

  • Diviseurs de 30: 1, 2, 3, 5, 6, 10, 15, 30
  • Diviseurs de 105: 1, 3, 5, 7, 15, 21, 35, 105
  • pgcd(30, 105) = 15

Pour cela nous proposons d'exploiter un tableau afin de trouver le pgcd de deux entiers a et b.

Question 1

Écrire une fonction d’entête def Diviseurs(T,n) qui permet de mémoriser dans le tableau T tous les diviseurs de n.

Exemples de la fonctionnalité attendue:

>>>Diviseurs(T,6)
1 2 3 6
>>>Diviseurs(T,9)
1 3 9

Question 2

Écrire une fonction d’entête def Existe(T,x) qui retourne True si x existe dans le tableau T ou False sinon.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>Existe(T,100)
False
>>>T=[10,2,10,120]
>>>Existe(T,2)
True

Question 3

Écrire une fonction d’entête def EltCom(T1,T2) qui retourne un nouveau tableau qui contient les éléments communs de deux tableaux T1 et T2.

Exemples de la fonctionnalité attendue:

>>>T1=[1,2,3,6]
>>>T2=[1,3,6]
>>>EltCom(T1,T2)
[1,3,6]
>>>T1=[1,2,10,120]
>>>T2=[1,5]
>>>EltCom(T1,T2)
[1]

Question 4

Écrire une fonction d'entête def maxTab(T) qui retourne la valeur maximale du tableau T.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>T=[1,3,12,0]
>>>MaxTab(T)
15
>>>MaxTab(T)
12

Question 5

Écrire une fonction d'entête int pgcd (int a, int b ) qui retourne le pgcd de a et b en utilisant les fonctions précédentes.

Exercice 2 (7 pts)

Question 1

Écrire une fonction d’entête def NbrPaires(T) qui retourne le nombre des éléments paires qui existent dans le tableau T.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>T=[1,3,11,15,101,21]
>>>NbrPaires(T)
3
>>>NbrPaires(T)
0

Question 2

Écrire une fonction d’entête def TousPaires(T) qui retourne True si tous éléments de T sont paires ou False sinon.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>T=[10,2,10,120]
>>>TousPaires(T)
False
>>>TousPaires(T)
True

Question 3

Écrire une fonction d’entête def Occurencepaire(T) qui retourne la position du premier nombre paire dans le tableau T ou retourne -1 si T ne contient aucun nombre paire.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>T=[1,3,11,15,917]
>>>Occurencepaire(T)
2
>>>Occurencepaire(T)
-1

Question 4

Écrire une fonction d’entête def Extrait(T) qui retourne un nouveau tableau contenant que les éléments paires de T.

Exemples de la fonctionnalité attendue:

>>>T=[1,3,10,15,12,0]
>>>T=[2,3,11,16,917]
>>>Extrait(T)
10 12 0
>>>Extrait(T)
2 16

Exercice 3 (6 pts)

Question 1

Écrivez une fonction d’entête def Somme2Tab(T1,T2,n), qui à partir de deux tableaux de même longueur n retourne un nouveau tableau qui sera la somme des éléments des deux tableaux de départ.

Exemples de la fonctionnalité attendue:

>>>T1=[4,8,7,9,1,5]
>>>T1=array('i',range(4))
>>>T2=[7,2,-6,1,3,5]
>>>T2=array('i',range(4))
>>>Somme2Tab(T1,T2,6)
11 10 1 10 4 10
>>>Somme2Tab(T1,T2,4)
0 2 4 6

Question 2

Écrivez une fonction d’entête def T1inclusT2(T1,T2), qui retourne True si le tableau T1 est inclus dans le tableau T2 c-à-d tous les éléments de T1 appartient au tableau T2. La fonction retourne False dans le cas contraire.

Exemples de la fonctionnalité attendue:

>>>T1=[4,8,7]
>>>T1=[4,8,17]
>>>T2=[8,20,4,14,7,11]
>>>T2=[8,20,4,14,7,11]
>>>T1inclusT2(T1,T2)
True
>>>T1inclusT2(T1,T2)
False

Question 3

Écrivez une fonction d’entête def SupprimerDernier(T) qui retourne le même tableau T en supprimant le dernier élément. (il ne faut pas utiliser la fonction del ou remove)

Exemples de la fonctionnalité attendue:

>>>T=[4,8,7,9,1,5,4,6]
>>>T1=array('i',range(6))
>>>SupprimerDernier(T)
[4,8,7,9,1,5,4]
>>>SupprimerDernier(T)
[0,1,2,3,4]

FAQ

Qu'est-ce que le pgcd de deux entiers?

Le pgcd (plus grand commun diviseur) de deux entiers m et n est le plus grand entier q qui divise à la fois m et n.

Comment trouver les diviseurs d'un entier?

Pour trouver les diviseurs d'un entier n, il suffit de vérifier quels nombres divisent n sans laisser de reste.

Qu'est-ce qu'un tableau en Python?

Un tableau en Python est une structure de données qui permet de stocker une collection d'éléments de même type.

Partagez vos remarques, questions ou propositions d'amélioration ici...

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2