Consultez gratuitement nos différents cours

  • Droite et plan de l'espace (Mathématique)

      Détermination d'une droite Détermination d'une droite Dans l'espace 2 points déterminent une droite. Exemple: Les 2 points A et B de la figure ci-dessus déterminent la droite (AB) Détermination d'un plan La base sur laquelle se dépose le prisme ci-dessus matérialise un plan. On admet que les 3 points non alignés D, E, F déterminent le plan de la base DEF. On note ce plan (DEF) ou (P). Par convention on représente un plan par un parallélogramme. Exemple: Voir le plan (DEF) représenté par la...

    Lire la suite : Droite et plan de l'espace

  • Végétation, sol et faune du Cameroun (Géographie)

    Le Cameroun est caractérisé par la diversité de sol de végétation et de faune.   Végétation et sols La végétation Camerounaise est le condensé de celle de l'Afrique intertropicale. On a la forêt dense humide et méridionale (Sud). Une savane arborée au centre (Dans l'Adamaoua). La steppe dans le Nord, la forêt et la prairie des montagnes. Les sols sont aussi variés. La zone équatoriale La végétation La forêt dense humide. Elle caractérise la région équatoriale. C'est une forêt primaire verte aux...

    Lire la suite : Végétation, sol et faune du Cameroun

  • Les classes des mots ou parties du discours (Français)

    Chaque mot appartient à une classe, une classe est un ensemble comportant tous les mots qui peuvent se substituer les unes aux autres sans que la phrase cesse d’être Française. On remplace un groupe grammatical par un groupe de même nature, est appelé substitution. Exemple: Le concierge monte nos lettres. Le: article. Concierge: nom montre: verbe nos: adjectif lettre: nom propre.   La classe des déterminants Au lieu de "le concierge", on peut dire ce concierge, chaque concierge etc... C'est la...

    Lire la suite : Les classes des mots ou parties du discours

  • Le mouvement de rotation (Technologie)

    Un solide indéformable qui tourne entre deux points fixes effectue un mouvement de rotation. La rotation se fait au tour d'un axe appelé axe de rotation. Remarque: Le mouvement de rotation est le mouvement le plus étudié. Expérience Observation: Les points A, B et C se déplacent et décrivent des trajectoires circulaires Les arcs AA'>BB'>CC'. A la fin de la course les points A', B', C' restent alignés. Définition du mouvement de rotation   Faisons tourner le cylindre sur son axe de rotation....

    Lire la suite : Le mouvement de rotation

Les sous-programmes

Généralités

Lorsque la complexité d'un problème s'accroît, il devient nécessaire d'utiliser les sous-programmes pour alléger la tâche. Ces sous-programmes sont les procédures et les fonctions. De façon générale les sous programmes nous permettent:

  • D'éviter de copier un segment de code plusieurs fois dans un même algorithme.
  • De décomposer un grand problème en petit module ou sous problème, chacun effectuant une tâche bien précise. Les modules peuvent être écrites par plusieurs personnes de façon indépendante.
  • De constituer une bibliothèque sous-programme.

Définition

  • Le sous-programme est une suite d'instruction ordonnée que la machine n'exécute lorsque c'est nécessaire
  • La procédure est un sous programme qui peut calculer et mettre à la disposition de l'utilisation plusieurs valeurs
  • La fonction est un sous-programme qui calcule et met à la disposition de l'utilisateur une valeur unique. La valeur calculée est mise à la disposition de l'utilisateur par l'intermédiaire du nom de la fonction qui est une variable d'un type donné: celui de la valeur calculée.

Syntaxe des sous-programmes

Procédure: nom (liste des paramètres)
déclaration
début
corps de la procédure
fin

Exemple:

Ecrire une procédure qui prend en paramètre deux nombres "a" et "b", qui calcule la somme et la moyenne de ces nombres
Algorithme: somme(A, B, S, M: réel)
debut
S←A+B
M←S/2
fin

Syntaxe d'une fonction

Fonction: nom (liste des paramètres): type
déclaration
debut
corps de la fonction
nom_de_la_foncton←valeur_calculée
fin

Exemple:

Ecrire une fonction qui prend en paramètre deux nombres et renvoie la moyenne de ces nombres.
fonction moyenne(A, B: réel):réel
var m: réel
debut
m←(A+B)/2
moyenne←m
fin

 


Passage de paramètres

On distingue les paramètres effectifs et les paramètres formels.

  • Un paramètre formel est un paramètre utilisé dans la définition d'un sous programme.
  • Un paramètre effectif ou réel est un paramètre utilisé lors de l'appel d'un sous-programme.

Un sous-programme peut avoir trois types de paramètre:

  • Les paramètres d'entrée fournissent les données au sous-programme. Exemple: A et B étaient les paramètres d'entrée précédemment)
  • Les paramètres de sortie: les paramètres de sortie contiennent les résultats à la fin du déroulement du sous-programme. Exemple: S et M était les paramètres de sortie précédemment)
  • Les paramètres d'entrée-sortie jouent deux rôles: Il jouent le rôle de paramètre d'entré et celui de paramètre de sortie.

 


Introduction à l'analyse descendante

Soit un travail T décrit par un énoncé E, l'analyse descente du travail T consiste à trouver une décomposition de l’énoncer E en une suite d’énoncer E0, E1, ..., En-1 tel que la décomposition obtenue soit élémentaire.
La réalisation des travaux associées T0, T1, ..., Tn-1 réalise le travail T.
L'arbre hiérarchique ou arborescence hiérarchique correspondant respective à l'énoncé E et le travail T se présente comme suite:

a02
Chaque Ei ou Ti peut également être décomposé:

a03
La décomposition s'arrête lorsque l'on obtient des énoncés pouvant être réalisés simplement à l'aide d'action élémentaire.
Après la décomposition chaque énoncé peut être réalisé par un algorithme ou un sous-programme indépendant. L'enchaînement approprié de ces algorithmes ou sous-programme permet de réaliser le travail T.

 


Application

Problème 1

Ecrivons un algorithme qui permet de calculer Cpn avec P inférieur ou égal à n. Ce problème peut être décomposé en trois modules comme suite:

  • La lecture de "p" et "n" avec les conditions suivantes: n supérieur ou égale à 0; p supérieur ou égale à 0; p est inférieur ou égale à n.
  • Le calcule de la factoriel d'un nombre
  • Le calcul du quotient A/B*C

L'arborescence hiérarchique de ce problème est sous la forme:

a04

Résolution:

procédure: lecture(x, y: entier)
debut
répéter
lire(x)
jusqu'à x>=0
répéter
lire(y)
jusqu'à y>=0 et y<=n
fin

fonction: factorielle(m:entier):entier
var i, fact: entier
debut
si m=0 alors
fact←1
sinon
fact←1
pour i=1 à m faire
fact←fact*i
fin pour
fin si
factorielle←fact
fin

fonction: combinaison(a, b, c: entier):entier
var z: entier
debut
z←a div(b*c)
combinaison←z
fin

Algorithme: combinaison_P_N
var n, P, R, A, A, B, C: entier
debut
lecture(n,P)
A←factorielle(n)
B←factorielle(p)
C←factorielle(n-P)
R←combinaison(A,B,C)
écrire(R)
fin

Problème 2

Ecrire un algorithme qui permet de résoudre une équation du second degré de la forme ax2+bx+c=0 avec a différent de zéro.
Arborescence:

a05
Procédure: lecture(a,b,c: réel)
debut
répéter
lire(a)
jusqu'à a#0
lire(b,c)
fin

Fonction discriminant(a, b, c: réel):réel
var d: réel
debut
d←b**2-4*a*c
discriminant←d
fin

Procédure: solution(d:réel)
var x0, x1, x2: réel
debut
si d<0 alors
écrire('pas de solution')
sinon
si d=0 alors
x0← -b/2
écrire('la solution est x0= ',x)
sinon
x1←(-b-sqrt(d))/2*a
x2←(-b+sqrt(d))/2*a
écrire('les solutions sont: ', x1, x2)
fin si
fin si
fin

Algorithme: équation
var dit, a, b, c: réel
debut
lecture(a,b,c)
det←discriminant(a,b,c)
solution(det)
fin


NB: "sqrt" permet d'avoir la racine carrée d'un nombre