Telechargé par nhnaimhammami

sous programme en python

publicité
Les sous programmes
Une urne contient n boules numérotée de 1 à n. On tire
simultanément p boules de U. On désire calculer le nombre de
tirages possibles.
Algorithme : tirage
Début
Répéter lire(n,k) jusqu’à 1≤k<n
//calcul de factoriel de k
Pk1
Pour i de 1 à n faire
Pkpk*i
Fin pour
Le nombre de tirage possible est égale au nombre de
combinaisons de p éléments parmi n.
On désire écrire un programme qui permet de saisir deux entier n
et k (avec 1≤k<n), de calculer et d’afficher le nombre tirage possible.
Les tâches à faire :



Saisir deux entiers n et k tel que 1≤k<n
Calculer le nombre de combinaison C de n et k :
o Calculer le factoriel de n
o Calculer le factoriel de K
o Calculer le factoriel de n-k
Afficher le nombre de tirage.
//calcul de factoriel de n
Pn1
Pour i de 1 à n faire
Pnpn*i
Fin pour
//calcul de factoriel de n-k
Sn-k
Pkn1
Pour i de 1 à n faire
Pknpkn*i
Fin pour
Ecrire ("le nombre de tirage possible =" ,pn/(pk*pkn)
Fin
Objets
Pn,pk,ipnk,n,k
Type
Entier
Algorithme : tirage
Début
Répéter lire(n,k) jusqu’à 1≤k<n
C fact(n)/(fact(k)*fact(n-k)
Ecrire ("le nombre de tirage possible =" ,c)
Fin
Objets
N,k
Fact
Remarque :


Le traitement de calcul de factoriel a été effectué ou
répété 3 fois
Pour remédier à ce problème on utilise la notion de
sous-programme.
Solution qui utilise un sous-programme appelé factoriel qui va
nous permettent d’écrire le traitement de calcul une seule fois
mais on l’appelle 3 fois.
Types
Entier
Foncion
Fonction fact (h :entier) :entier
Début
P1
Pour i de 1 à h faire
Pp*i
Fin pour
Retourner(p)
Fin
Objets
Type
P,i
entier
algorithme
A- Types de sous programmes :
1- Définition : un sous-programme est un ensemble
d’instruction, déclarer dans un programme ou dans un sousprogramme. Il peut être soit une fonction soit une procédure.

Un sous-programme peut être exécuté plusieurs
fois grâce à des appels.
 Un sous-programme est une entité indépendante
dans un programme.
a- Fonction : (algorithme)
Une fonction est sous-programme qui permet de donner
un seul résultat de type simple (sauf tableau)
Remarque : en python seules les fonctions existent.
b- Procédure : une procédure est un sous-programme qui
permet de donner zéro à plusieurs résultats
2-
Notions d’objets :
Objets locales : un objet local est objet déclaré et connu
seulement à l’intérieur d’un sous-programme.
Objets globales : un objet global est déclaré dans la partie
déclarative d’un programme principal. Cet objet est utilisé par
le PP et par les différents autres sous-programmes.
3



Notion de paramètres :
Les paramètres formels figurent dans l’entête de la définition d’un
sous-programme
Les paramètres effectifs figurent dans l’appel d’un sousprogramme.
Les paramètres effectifs et les paramètres formels doivent
s’accorder au point de vue nombre, ordre et type
Leurs identificateurs ou noms peuvent êtres différents.
4-
Mode de passage des paramètres :
La substitution (remplacement)des paramètres effectifs aux paramètres
formels s’appelle mode de passage des paramètres. Il s’agit d’un appel
entre le sous-programme appelant ou PP et les sous programmes appelé.
Il existe deux modes de passage de paramètres :
 Si le sous-programme ne change par la valeur d’un paramètre formel
c’est mode de passage par valeur.
 Si le sous-programme change la valeur d’un paramètre formel et le
programme appelant à besoin de cette nouvelle valeur c’est mode de
passage par variable.
 Chaque paramètre formel doit être précédé par son mode de passage
et suivi par son type en algorithme
 Chaque paramètre formel passé par variable doit être précédé par le
signe @ en algorithme
 En python tous les paramètres passé par variable doivent être
éliminer de l’entête et misent dans l’instruction return
 Les paramètres d’une fonction sont toujours passés par valeur.
L’analyse modulaire :
L’analyse modulaire consiste à diviser un problème en sous
problème (en module ou sous-programme) de moindres
difficultés.
Exemple :
Ecrire un programme qui permet de saisir deux tableaux T et V
de n entier ( n dans [5..50]), de calculer et d’afficher la somme
des élément de T et V dans un autre tableau K.
Les taches à faire :

Téléchargement