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.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

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