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.
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 1k<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.
Les sous programmes
Algorithme : tirage
Début
Répéter lire(n,k) jusqu’à 1≤k<n
//calcul de factoriel de k
Pk1
Pour i de 1 à n faire
Pkpk*i
Fin pour
//calcul de factoriel de n
Pn1
Pour i de 1 à n faire
Pnpn*i
Fin pour
//calcul de factoriel de n-k
Sn-k
Pkn1
Pour i de 1 à n faire
Pknpkn*i
Fin pour
Ecrire ("le nombre de tirage possible =" ,pn/(pk*pkn)
Fin
Objets
Type
Pn,pk,ipnk,n,k
Entier
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.
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
Types
N,k
Entier
Fact
Foncion
Fonction fact (h :entier) :entier
Début
P1
Pour i de 1 à h faire
Pp*i
Fin pour
Retourner(p)
Fin
Objets
Type
P,i
entier
A- Types de sous programmes :
1- Définition : un sous-programme est un ensemble
d’instruction, déclarer dans un programme ou dans un sous-
programme. 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)
algorithme
b- Procédure : une procédure est un sous-programme qui
permet de donner zéro à plusieurs résultats
Remarque : en python seules les fonctions existent.
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 sous-
programme.
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 :
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !