Вы находитесь на странице: 1из 9

Chapitre II Rappel sur les techniques de programmation

Chapitre II

Rappel sur les techniques de programmation

1. La programmation et les logiciels


1.1. La programmation
« Le premier objectif de la programmation est de construire une description des tâches qu’on entend
imposer à la machine »
1.1.1. Les programmes
Un programme est un ensemble d’instructions codées. Il interprète les informations que l’on donne à
un ordinateur par l’intermédiaire du clavier ou de la souris et donne l’ordre à l’ordinateur de réaliser
une tâche bien définie.

1.1.2. Les langages de programmation


Un langage de programmation évolué permet de transcrire les algorithmes désirés d’une manière
plus claire et accessible au raisonnement mathématique. Un programme écrit dans un langage de
programmation évolué est dit « sous forme symbolique » (ou en code source), il n’est pas directement
exécutable par un ordinateur et doit être traduit au préalable à l’aide d’un compilateur. Quant aux
programmes qui peuvent être directement charges et exécutés sur un ordinateur, ils sont dits
“binaires”. Ils sont très difficiles à lire et à maîtriser par un utilisateur novice.
Il existe plusieurs langages de programmation. Chaque langage peut s’avérer plus convivial et
interactif ou simplement plus spécialisé dans un domaine. Il existe, par exemple, des langages
spécialisés dans le domaine scientifique et l’analyse numérique, d’autres le sont dans les applications
d’intelligence artificielle, les simulations, pour la Programmation Orientée Objet (P.O.O), etc.
Chaque langage a ses propres caractéristiques, sa propre syntaxe et ses éléments de base.
Voici quelques exemples de langages de programmation dans des spécialisations différentes :
¾ Le PASCAL : Langage de programmation adapté au traitement d’applications scientifiques.
¾ Le C++ : c’est un langage de programmation orientée objet.
¾ Le VISUAL BASIC : de Microsoft, orienté pour le développement de tous type d’application (base
de données, Internet, etc...)
¾ Le FORTRAN: FORmula TRANslator, l’un des premiers langages de haut niveau dit
algorithmique, conçu pour les applications scientifiques et non de gestion.

1.2. Les logiciels


Les logiciels constituent la partie Software de l’informatique. Ce sont de programmes qui permettent
de réaliser des tâches adaptées aux différents besoins des utilisateurs. Certains sont indispensables au
fonctionnement de l’ordinateur, à son démarrage et à sa gestion, comme les systèmes d’exploitation.
Tous les logiciels peuvent s’exécuter par leur fichier exécutable a partir de la disquette ou du disque
dur (ou encore a partir du CD-ROM). Les logiciels les plus récents sont de plus en plus volumineux,
ils peuvent occuper des dizaines, des centaines de Mega-octets, voire des Giga-octets d’espace. C’est
pour cela que leur installation sur disque dur est obligatoire Cette installation peut s’effectuer a partir
des supports (disquettes, CD-ROM, etc.) d’installation, selon le logiciel et sa conception, soit en
copiant tous ses fichiers dans des répertoires du disque dur, soit en exécutant un programme livré
avec le logiciel. Ce programme permet d’installer le logiciel sur disque dur en créant ses répertoires
par défaut. Certains logiciels sur CD-ROM nécessitent une installation partielle (une partie seulement
du logiciel est enregistrée) sur le disque dur.
Les logiciels sont dotés d’un numéro de version. Plus le numéro est élevé, plus le logiciel est récent
et performant. Chaque évolution ou amélioration d’un logiciel est suivie d’une augmentation du
numéro de sa version.

7
Chapitre II Rappel sur les techniques de programmation

2. Les algorithmes et les organigrammes


Avant d’écrire un programme en langage évolué comme le FORTRAN, il est préférable, et même
conseillé de donner une description détaillée de la marche à suivre afin de résoudre un problème posé.
Cette description peut être faite en utilisant deux formules:
− Les algorithmes
− Les organigrammes

2.1. Les algorithmes


L’algorithme est une manière de formaliser la solution d’un problème posé, selon le problème on
peut distinguer les cas suivants

2.1.1. Instructions séquentielles


L’algorithme est délimité par :
Début : qui indique le début de l’algorithme.
Fin: qui définit sa fin.

Entre ces deux mots il existe la solution sous forme d’instruction.


Début
enchaînement d’instructions
Fin
Si toutes ces instructions sont exécutées séquentiellement, nous parlons d’une structure séquentielle
de l’algorithme.

Exemple
Pour calculer la surface et le périmètre d’un carré, nous avons besoin de connaître la valeur du coté C.
Soit S la surface à chercher, et P le périmètre.
Voici l’algorithme qui nous résoudrait le problème:
Début
Lire C
*calcul de la surface du carré
S=C*C
*calcul du périmètre du carré
P=4*C
Ecrire S, P
Fin

Afin d’aboutir au résultat attendu, nous avons utilisé une suite d’instructions qui doivent être
exécutées séquentiellement.
Parmi ces instructions, nous constatons la présence:
¾ d’une instruction de lecture : introduite par lire
¾ d’une instruction d’écriture : introduite par Ecrire ou imprimer.
Ce sont des instructions d’entrée - sortie.
Nous avons une instruction d’affectation qui affecte la valeur d’une expression à une variable :
P = 4 *C
Hormis ces instructions, nous avons des commentaires qui sont introduits pour faciliter la
compréhension du traitement, nous avons précédés d’un astérisque.
En FORTRAN, un commentaire est défini en mettant la lettre C en première colonne de la ligne.

2.1.2. Instructions conditionnelles

Premier cas
Supposons que lors de notre traitement, une ou un ensemble d’instructions ne sont exécutés que si
une condition est vérifiée, nous formulerons ce besoin sous la forme:
8
Chapitre II Rappel sur les techniques de programmation

Si condition
Alors instruction (s) 1
Fsi
La condition est une expression logique.
En FORTRAN, cela reviendrait à écrire
IF (condition) THEN
Instruction (s) 1
ENDIF
Exemple
Donnons une prime de 4% du salaire à une personne ayant plus de 10 ans d’ancienneté. Ecrivons
l’algorithme qui calcule la prime de cette personne:
Posons : P : prime de l’employé; S : salaire ; A : ancienneté; Mat : matricule de l’employé
Début
Lire Mat, S, A
Si A> 10
Alors *calcul de la prime
P=S*0.04
Fsi
Ecrire Mat, P
Fin

Deuxième cas
Dans le cas ou la condition n’est pas vérifiée, nous pouvons avoir d’autres instructions à exécuter:
Si condition
Alors instruction (s) 1
Sinon instruction (s) 2
Le(s) instruction (s)1 sont exécutées lorsque la condition est vérifiée, dans le cas contraire, ce sont
le(s) instruction (s) 2 qui le seront.
En FORTRAN
IF condition THEN
Instruction(s) 1
ELSE
Instruction(s) 2
ENDIF
Exemple
Etant donné deux valeurs a et b positives, nous voulons un algorithme qui calcul les valeurs de :
Y = a.b2 si a > b ; Y = 0 si a = b ; Y = a.b si a < b
Le test se fait en comparant les deux variables a et b.
Début
*Lecture des valeurs a et b positives.
Lire a, b
*Calcul de la valeurs de Y suivant celles de a et b
Si a > b
alors
Y= a.b2
Si non
Si a=b
alors
Y=0
Si non
Y = a.b
Fsi
Fsi
Ecrire Y
Fin

9
Chapitre II Rappel sur les techniques de programmation

Remarque
Nous pouvons avoir la forme générale suivante:
IF condition 1 THEN
Instruction(s) 1
ELSE
IF condition 2 THEN
Instruction(s) 2
ENDIF
En FORTRAN
read (*,*) a,b
if (a.gt.b) then
y = a*b**2
else
if(a.eq.b) then
y=0
else
y=a*b
endif
endif
write(*,3)y
3 format(1x,’y = ’,f10.4)
stop
end
2.1.3. Instructions itératives
2.1.3.1. Itérations contrôlées par des conditions
L’exécution d’une ou d’un ensemble d’instructions est répétée tant que la condition posée est vérifiée.
Tant que condition
Faire
instruction(s)
Fait
La condition est une expression logique qui prendra pour valeur : vrai ou faux.
Ces instructions ne peuvent pas exécutées si la condition a pour valeur: faux, dès le départ.
De plus, les instructions peuvent être répétées indéfiniment, Si parmi elles, il n’en existe pas une qui
modifie la condition.

Exemple
Ecrire un algorithme qui calcule la valeur de S donnée par:
S= 1/ (N2+1)
La condition d’arrêt sera lorsque S est inférieure à E donné.
Début
Lire E, N
S=0
Tant que S ≥ E
Faire
S=S+1/ (N2 +1)
Fait
Ecrire S
Fin
Une autre forme d’itération contrôlée est la boucle :

Répéter
Instruction(s)
Jusqu’à condition
10
Chapitre II Rappel sur les techniques de programmation

2.1.3.2. Itérations contrôlées par des indices


Lorsque on veut tester la valeur d’un compteur dans une instruction itérative, nous pouvons utiliser la
forme suivante:

Pour compteur de VI à VF pas N


instruction(s)
Fait

En FORTRAN, cela serait représenté par:


DO étiq compteur = val1, val2, pas
instruction(s)
étiq instruction executable

Remarque
L’instruction exécutable ne peut pas être un DO, STOP ou IF.
Exemple
Nous voulons un algorithme qui calcul la somme de deux matrices carrées.
C(I,J) = A(I,J) + B(I,J)
Pour obtenir la somme nous procédons comme suit :
Nous fixons I à 1 et nous faisons varier J de 1 à N, puis nous incrémentons I de 1 (I=I+1) et nous
répétons l’opération pour J de 1 à N, etc.….
Algorithme :
Début
*Lecture de la dimension N de A et B.
Lire N
*Lecture des éléments des matrices A et B.
Lire ((A(I,J), I=1, N), J=1, N)
Lire ((B(I,J), I=1, N), J=1, N)
*Boucle calculant la somme des deux matrices.
Pour I de 1 à N
Faire
Pour J de 1 à N
Faire
C(I,J) = A(I,J) + B(I,J)
Fait
Fait
Ecrire ((C(I,J), I=1,N), J=1,N)
Fin
Programme en FORTRAN
C Nous fixons la dimension N de la matrice à 4
dimension a(4,4), b(4,4), c(4,4)
do 10 i=1,4
10 read (*,*) (a(i,j),j=1,4)
do 20 i=1,4
20 read (*,*) (b(i,j), j=1,4)
do 30 i=1,4
do 30 j=1,4
c(i,j)=a(i,j)+b(i,j)
30 continue
do 50 i=1,4
50 write (*,*) (c(i,j), j=1,4)
stop
end
11
Chapitre II Rappel sur les techniques de programmation

2.2. Les organigrammes


Une seconde description de la solution d’un problème posé, peut être donnée en utilisant la notion
d’organigrammes.
Un organigramme utilise les schémas suivants:

Début et fin de l’organigramme

Lecture et écriture (E/S)

Instruction d’affectation et opération

Test à conditions avec deux et trois sorties

Noeud pour relier les différentes parties d’un organigramme

2.2.1. Instructions séquentielles


Les instructions sont exécutées dans l’ordre, l’une après l’autre. Reprenons l’exemple donné dans la
partie algorithmique, dans le même paragraphe:

2.2.2. Instructions conditionnelles


Premier cas
Les instructions ne sont exécutées que si la condition est vérifiée. Reprenons l’exemple du même
paragraphe dans la partie algorithme:

Deuxième cas
Certaines instructions sont exécutées lorsque la condition est vérifiée, d’autres dans le cas contraire

12
Chapitre II Rappel sur les techniques de programmation

Organigramme pour le calcul d’une section rectangulaire soumise à la flexion simple :


Début


b, h, d, δ d, fe ,fc28,γs, γb, Es et Mu

0,85. f c 28
σ bc =
θ .γ b
f t 28 = 0,6 + 0,06 f c 28
fe
σs =
γs

fe
εl =
γ s .E s
3,5
αl =
3,5 + 1000ε l
μ l = 0,8.α l (1 − 0,4α l )

Mu
μ=
σ bc .b.d 2

oui non
μ ≤ μl

1 − 1 − 2μ y = α l .d
α=
0,8
β = 1 − 0,4α
d'
δ' =
d
Mu
A=
β .d .σ s
M en Nm ; b, et d en cm 1000ε s' = 3,5.(1 − δ ' ) − 1000ε l .δ '
Contraintes en MPa ; A
2

oui non
ε s' ≥ ε l
f t 28 .b.d
Amin = 0,23. fe σ s' = E s .ε s'
fe σ s' =
γs

M u − 0,8.σ bc .b. y (d − 0,4 y )


A' =
(d − d ' )σ s'
0,8.σ bc .b. y A 'σ s'
A= +
σs σs
M en Nm ; b,d,d’ et y en cm
Contrainte en MPa ; A et A’ en cm2

Fin
13
Chapitre II Rappel sur les techniques de programmation

2.2.3. Instructions itératives (boucles)


Quelquefois, il est nécessaire de répéter une partie d’instructions plusieurs fois tant que la condition
posée est vérifiée.
Deux cas se présentent à nous:

Exemple
Reprenons l’exemple de la somme de deux matrices :

Début

Lire N

Lire ((A(I,J), I=1,N), J=1,N)

Lire ((B(I,J), I=1,N), J=1,N)

I=1

J=1

C(I,J) = A(I,J) + B(I,J)

J=J+1

O
J≤N

I=I+1

O
I≤N

Ecrire ((C(I,J), I=1,N), J=1,N)

Fin

14
Chapitre II Rappel sur les techniques de programmation

Exercices :
1. La matrice C produit des matrices A et B, est obtenue par l’expression suivante :
C(I,K) = C(I,K) + A(I,J) * B(J,K)
Donner l’organigramme pour la multiplication de 2 matrices

2. Soit un vecteur réel A(50). Donner l’organigramme qui cherche sur l’élément max et l’élément
min. Les résultats seront mis respectivement dans RMAX ET RMIN

3. Soit une console chargée par des forces concentrées F1, F2, ….Fn-1, le calcul de l’effort tranchant
et le moment fléchissant dans le niveau j est donné comme suit :

he : hauteur d’étage (constante).


F1

F2

Fj

Fj+1

Fn-1
he

4. Soit la structure représentée ci-dessous, donner l’organigramme qui permet de calculer la somme
des inerties des poteaux pour chaque niveau.

15

Вам также может понравиться