Académique Documents
Professionnel Documents
Culture Documents
INITIATION A LA PROGRAMMATION
BJECTIFS DU COURS
Ce cours a pour but d’expliquer le plus simplement possible les notions de
base, préalables à une bonne programmation et non de former des programmeurs
chevronnés. Concrètement, il vise à initier les étudiants à la logique de
programmation ; c’est-à-dire les initier à établir ou élaborer un raisonnement abstrait
ou schématique d’un programme informatique. Donc, à la fin de ce cours, l’étudiant
qui aura suivi régulièrement et attentivement le cours devra être capable, devant un
problème à automatiser, d’en établir les algorithmes et ordinogrammes
(organigrammes).
CHAPITRE I :
INTRODUCTION GENERALE
II.L’ORDINOGRAMME
Introduction
Entrée des informations
Pour être traite par l’ordinateur, toute information doit se trouver dans la
mémoire centrale par l’ordre de lecture du fichier.
A chaque ordre de lecture correspond la lecture d’un et d’un seul
enregistrement qui devra occuper une place lui réservé d’avance appelé zone
d’entrée et qui a la même structure que le fichier.
Sortie des résultats
Les résultats sortent de la mémoire cetrale enregistrement par enregistrement
à passant par une zone de sortie verouillée en avance et ayant la même structure
que le fichier.
Etapes nécessaires à la résolution d’un problème
- connaitre la structure de l’enregistrement de chaque fichier à lire
- connaitre toute les informations disponible, utile et non reprise dans un fichier.
- Décrire les actions à prendre avec leur conditions pour la manipulation des ces
informations.
- Savoir les résultats à restituer après traitement.
2)
= Connexions
3)
= Ouverture et fermeture d’un fichier
6)
= Opérations d’entrée ou de sortie
7) = Document imprimé
8)
= Préparation ou sous programme
10)
= Test ou point de décision
Domaine d’application :
Exemple
a) Séquence linéaire
Début
"Traitement 1"
"Traitement 2"
Fin
b) Séquence alternative
Si "condition"
Fin si
c) Séquence répétitive
faire "traitement"
d) Séquence répétitive
Répéter "traitement"
jusqu'à "condition"
Règles de lisibilité
Modèles :
Exemple 1
Avantages
Inconvénients
Absence de quantification (l'ajout d'une étiquette sous la tâche est la seule
possibilité de faire apparaître les quantités)
DEBU
TT
x=B=A=0
LIRE A,B
V F
A=
0
V F x= - B/A
B=
0
Indétermination Pas de solution
FIN
DEBU
TT
A=B=C=x1=x2=Delta=0
LIRE A,B,C
Delta= B² - 4*A*C
V
F
Delta>=
F 0
V
Delta=0 Pas de
solution
x1=x2=-B/2*A
x1,x2
FIN
3) Le procédogramme :
C’est un outil identique à l’ordinogramme. Il permet de regrouper plusieurs
opérations par entité et d’indiquer la dimension « Qui ». Il est utilisé pour décrire les
processus complexes qui nécessitent un regroupement d’opérations.
Exemple : Le processus d’affectation d’un nouvel employé dans l’entreprise.
Service du personnel
Classer les lettres de candidatures
Eliminer les demandes
inadéquates Convoquer les
candidates
CHAPITRE II :
L’ALGORITHMIQUE
II1. Définitions
L’algorithmique (c’est-à-dire l’art de découper un problème complexe en
tâches élémentaires) est la seule chose vraiment passionnante dans l’informatique.
Elle est à la base de l’informatique et spécialement de la programmation. Cette
notion d’algorithme existait bien avant l’apparition du premier dinosaure informatique.
Elle est profondément enracinée dans le désir humain de transmettre des méthodes
efficaces pour résoudre des problèmes.
Algorithme est une notion mathématique abstraite comme l’ensemble ou le
point par exemple, qui n’a pas une définition stricte, c’est-à-dire, on ne peut pas le
définir à travers les notions plus élémentaires et plus simples. Actuellement, le mot
algorithme signifie la description exacte d’un processus.
Le mot vient du nom d’un mathématicien arabe du 9 e siècle MUHAMMED IBN
KHAREZIN. Il en existe beaucoup de définitions, à titre d’exemple, en voici quelques
unes :
- C’est une succession des calculs numériques (Larousse)
- C’est un ensemble de règles opératoires propres à un calcul (Petit Robert)
- C’est un procédé spécial de résolution d’un certain type de problèmes
(Dictionnaire des mathématiques)
Mais, c’est KNUTH qui, dans « The art of computer programming » en donne
les caractéristiques complètes : un algorithme est un ensemble de règles ayant 5
caractéristiques suivantes :
- Un algorithme doit être fini et doit se terminer après un nombre fini d’opérations,
en d’autres termes, il doit avoir un début et une fin ;
- Un algorithme doit être défini et précis c’est-à-dire chaque instruction ou règle doit
être définie sans ambiguïté ;
- S’il y a des données d’entrée, leur champ d’application doit être précisé c’est-à-
dire leur type de données. Par exemple, des données nombres entiers, données
nombres réels, données type caractère,…
- Un algorithme doit posséder au moins un résultat c’est-à-dire une donnée de
sortie ;
- Un algorithme doit être effectif c’est-à-dire toutes les opérations doivent pouvoir
être effectuées exactement, et dans un temps fini, par un homme qui utilise les
moyens manuels.
Il y a lieu d’ajouter une 6e caractéristique selon laquelle, le fonctionnement
d’un algorithme doit être déterministe c’est-à-dire un algorithme doit toujours donner
les mêmes résultats pour les mêmes données.
Les caractéristiques 3 et 4 indiquent le point de départ de l’élaboration d’un
algorithme, ainsi dans tout problème à traiter, il faut identifier :
- Les données en entrée,
- Les résultats à obtenir,
- Ensuite, il faut définir la méthode pour obtenir les résultats recherchés à partir des
données, c’est la recherche ou la conception de l’algorithme proprement dit.
NB : Pour un problème donné, il existe souvent plusieurs algorithmes de résolution. Il
s’agit de choisir le meilleur en fonction des circonstances d’application (économie de
la mémoire par exemple).
Un algorithme comprend plusieurs éléments, entre autre :
1° Le contenu de chaque étape : opérations ou ensemble d’opérations Exemple :
Calculer Mv
2° L’ordre de succession de différentes étapes. Exemple : Calculer Mv, puis Qd et
comparer de Qs et Qd
3° Eventuellement, l’existence des conditions (soumises à une expression logique)
déterminant l’exécution ou la non exécution de certaines étapes
4° Un début et une fin.
Tous les objets sont décrits en tête de l’algorithme en même temps leurs
types, ce qui évite toute ambiguïté sur leur utilisation.
La déclaration d’un objet ou d’une variable est matérialisée par une
réservation de l’espace mémoire.
Nous donnons ici, une fois pour toute, la liste des opérateurs avec leur
définition pour pouvoir les utiliser par la suite sans avoir à revenir constamment sur
leur signification et leur ordre de priorité.
1° Les opérateurs arithmétiques : l’addition +, la soustraction -, la multiplication *, la
division /, l’élévation à la puissance **. Les parenthèses peuvent être utilisées.
2° Les opérateurs relationnels : l’égalité =, inférieur <, inférieur ou égal <=, supérieur
>, supérieur ou égal >=, différent de <>.
3° Les opérateurs logiques : ils relient des expressions logiques ou des
identificateurs de type booléen. On en utilise essentiellement trois, qui sont par
ordre de priorité croissante : OU, ET et NON. Une expression logique est toujours
de type booléen. Il est conseillé de revoir les tables de vérité des opérateurs
logiques.
II5. Les structures de base :
1° La lecture des données :
Cette instruction permet de lire les données à partir du clavier pour les
assigner dans leurs variables et de les transférer vers l’unité de traitement.
Syntaxe : Lire <variable>, <variable>
Exemple: Lire n
Lire x, y, z
Lorsque l’ordinateur, après traduction de l’algorithme en langage de programmation
quelconque, rencontre cette instruction, il s’arrête et attend que l’utilisateur donne
une valeur.
3° L’affectation :
Cette instruction assigne à une variable le contenu d’une autre variable ou
bien d’une expression. Les caractéristiques de cette instruction sont :
L’affectation écrase la valeur précédente de la variable et la remplace par la
nouvelle valeur assignée.
La valeur de l’objet à droite du signe (signe d’affectation ← ou =) n’est pas
touchée par l’affectation.
Syntaxe : Si <condition>
Alors <Instructions bloc1>
Sinon <Instructions bloc2>
Fin si
Exemple : Elaborer un algorithme qui permet d’afficher le plus grand (maximum) de
deux nombres entiers x et y saisis au clavier.
Début
x, y, max : entiers
Lire x, y
Si x>y
Alors max=x
Sinon max=y
Fin si
Ecrire max
Fin
5. Le langage structuré :
C’est une forme de représentation très simplifiée. Elle consiste à représenter
les instructions par des mots clés ou des verbes d’action comme par exemple : lire,
écrire, faire, aller,…
Ces instructions s’exécutent selon l’ordre d’arrivée. L’avantage de cette forme
est que le passage à un langage de programmation se fait très rapidement.
Exemple1 : Présenter l’algorithme pour résoudre l’équation de la forme : Ax+B=0
On peut proposer l’algorithme ci-après :
Début
A, B, x : Réel
Lire A,B
Si A = 0
Alors
Si B = 0
Alors écrire « indétermination »
Sinon écrire « pas de solution, car A=0 »
Fin si
Sinon x = – B/A
Fin si
Ecrire « Le résultat est :» x
Fin
Sinon ,
Fin si
Fin si
Ecrire « Le résultat est : » x1, x2
Fin
LOGIQUE DE PROGRAMMATION
L’homme a un esprit synthétique au point que lorsqu’il effectue un calcul ou
tout autre travail, il ne lui est pas nécessaire de décomposer toutes les étapes
élémentaires de son raisonnement, mais, pour un ordinateur, il doit décomposer et
ordonner les étapes les plus élémentaires : Il faut faire un algorithme.
Dans le chapitre précèdent, nous n’avons donné qu’un aperçu général des
algorithmes. Cependant, toutes les opérations ne sont pas organisées de la même
manière dans un algorithme. C’est pourquoi dans ce chapitre, nous parlerons des
structures de traitement ou de contrôle. On appelle structure de contrôle, la manière
dont les opérations sont organisées dans un algorithme. Nous en distinguons :
- la séquence
- la structure conditionnelle
- les structures répétitives ou itératives ou boucles
- les modules ou sous algorithmes
1. La séquence :
Une séquence est une suite d’instructions qui s’exécutent les unes après les
autres selon leur ordre d’apparition dans l’algorithme. C’est donc l’ordre dans lequel
sont organisées les informations dans un fichier. Cet ordre sera établi en référence à
une ou plusieurs zones de l’enregistrement appelées clé.
La clé permet de trier un fichier c’est-à-dire d’organiser les enregistrements
selon un ordre préétabli.
2. La structure conditionnelle :
La structure conditionnelle est encore appelée structure alternative. Elle
correspond au partage du processus calculatoire en deux sous ensembles
d’opérations dont l’exécution est exclusive.
C’est donc une instruction précisant que le déroulement ne sera plus
séquentiel. Il s’agit de représenter une alternative où, selon le cas, un bloc
d’instruction est exécuté plutôt qu’un autre.
La syntaxe de cette instruction est la suivante :
Si <expression logique>
Alors <liste d’instruction 1>
Sinon< liste d’instruction 2> Expression
Fin si logique
Liste d’instructions
Il arriver aussi que l’on soit devant un cas d’une structure à choix multiples.
C’est un cas général de la structure alternative dans lequel l’expression logique peut
conduire à plusieurs choix.
La syntaxe est :
SELECTIONNER< variable>
SELON QUE <expression1>
Instruction 1
Ou SELON QUE< expression2>
Instruction2
Ou SELON QUE <expression3>
Instruction3
…………
AILLEURS
Instruction n
Fin SELECTION
Liste d’instructions
Liste d’instructions
VRAI
Instructions 2 Instructions 1
Exp. Faux
Log
Vrai
Instructions 2 Instructions 1
Faux Exp.
Log
Vrai
- PRINT <Variable>
Exemple: PRINT « Bonjour »
PRINT n
Ce programme affiche le mot Bonjour à l’écran (voir 1 ère ligne) ; puis affiche aussi
le contenu de la variable n à l’écran (voir 2 e ligne).
Remarque : Dans la 2e ligne, il n’y a pas de guillemets autour de n pour indiquer au
programme d’afficher la valeur contenue dans la variable n et non pas la lettre n.
CLS
INPUT « Entrez un nombre » ; A%
INPUT « Entrez un autre nombre » ; B%
N%=A%+B%
S%=B%-A%
P%=A%*B%
D%=A%/B%
PRINT A% “+” B% “=”; N%
PRINT B% “-” A% “=”; S%
PRINT A% “x” B% “=”; P%
PRINT A% “:” B% “=”; D!
END.
Remarque:
1° L’instruction PRINT peut afficher à la suite plusieurs variables et texte entre
guillemets tant qu’ils sont séparés par des points virgules.
2° Jusqu’à présent, le programme exécutait les instructions de haut en bas. Avec
GOTO, il est possible de dire au programme de retourner à une certaine ligne.
La syntaxe est : GOTO Numéro de la ligne où on doit retourner.
Ainsi, donc :
La numérotation peut être faite dans le désordre et des numéros peuvent
être sautés
L’instruction END stoppe le programme (elle est facultative si elle est la
dernière instruction du programme)
3° Le signe ! pour les variables numériques décimales est facultatif. Il existe un autre
format pour les variables numériques qui permet d’avoir plus de précision :
Variable# pour les variables numériques décimales et Variable& pour les
numériques entières.
4° Il y a beaucoup de façons pour attribuer ou modifier la valeur d’une variable, par
exemple l’instruction INPUT comme nous l’avons vu précédemment, mais on peut
aussi utiliser LET, qui permet d’attribuer une valeur à une variable.
Exemple : LET N% = 5
LET Nom$ = « Joseph »
LET x = 34+5,3
M% = A ! + B%
C ! = C ! + 4
Il n’est pas obligatoire de marquer LET. Si l’on attribue une valeur à une variable
alors qu’elle en avait déjà une, l’ancienne valeur est remplacée.
III14. Les structures de contrôle
Maintenant, nous allons apprendre comment faire prendre des décisions au
programme.
A. La condition simple
Il est possible de faire exécuter certaines instructions selon qu’une condition
est vraie ou fausse, un peu comme cette situation de la vie courante : S’il pleut,
alors, je prends mon parapluie, sinon, je ne le prends pas. Voici, comment
faire (syntaxe):
IF <condition> THEN
<Instructions à exécuter si la condition est vraie>
ELSE <Instructions à exécuter si la condition est fausse>
END IF
IF <condition> THEN
<Instructions à exécuter si la condition est vraie>
ELSE
END IF
Le dernier cas ici, nous voulons dire que le ELSE et les instructions à exécuter si la
condition est fausse sont facultatifs, surtout, si rien ne sera fait une fois la condition
fausse.
Exemple :
CLS
INPUT « Tapez un nombre » ; A%
INPUT « Tapez un autre nombre » ; B%
IF A% > B% THEN
Max%=A%
ELSE
Max% = B%
END IF
PRINT Max%
END.
B. Le choix multiple
Il est possible et souvent utile de faire exécuter certaines instructions suivant
la valeur d’une variable, un peu comme ceci :
Si le temps :
- est très froid, je prends mon jacket
- est pluvieux, je prends mon parapluie
- sinon, je prends mes habits habituels
Voici la syntaxe :
SELECT CASE <variable à comparer>
CASE <valeur 1>
<Instructions à exécuter si variable à comparer est valeur 1>
CASE <valeur 2>
<Instructions à exécuter si variable à comparer est valeur 2>
CASE <valeur 3>
<Instructions à exécuter si variable à comparer est valeur 3>
CASE <valeur n>
<Instructions à exécuter si variable à comparer est valeur n>
CASE ELSE
<Instructions à exécuter si rien n’a été exécuté>
END SELECT
Bien sûr, vous pouvez mettre autant de CASE que vous voulez.
Exemple :
CLS
INPUT « Entrez votre âge en années » ; Age%
SELECT CASE Age%
CASE Age% = 0 TO 9
PRINT « Vous êtes encore un enfant »
CASE Age% = 10 TO 20
PRINT « Vous êtes adolescent »
CASE Age% = 21 TO 40
PRINT « Vous êtes un adulte »
CASE ELSE
PRINT « Vous êtes vieux »
END SELECT
END.
NB : Il est possible de composer des conditions avec plusieurs autres conditions, en
utilisant les signes de comparaison et les opérateurs logiques.
Les formulaires – Dans Visual Basic une fenêtre est appelée un formulaire. Il
pourrait y avoir plusieurs formulaires dans un même programme.
Les contrôles – Les icônes utilisées pour mettre différentes commandes sur les
différents formulaires. Tel que la commande bouton, bouton d'Option etc.
Les objets – les Formulaires et contrôles sont appelle comme collectivement des
objets.
Les propriétés – les Objets incluent des propriétés qui définissent l'apparence et
comportement de ces objets.
En début, Visual Basic 6.0 expose la boîte du dialogue comme montré dans le chiffre
suivent. Vous pouvez choisir de commencer un nouveau projet, ouvrir un projet
existant ou sélectionner une liste de programmes récemment ouverts. Un projet est
une collection de dossiers qui composent votre application. Il y a des plusieurs types
de application nous pourrions créer; mais nous concentrerons en créant EXE
Standard programme (EXE veut dire le programme exécutable).
La boite de démarrage
Il inclut aussi une Boîte d’outils qui consiste à tous les contrôles essentiels pour
développer une application VB, Ces contrôles sont des outils tels que les zones de
texte, les commandes boutons, étiquettes et autres objets.
Boite d’outils
Positon d’un formulaire
8 La boîte d’outils :
Il contient tous les contrôles que vous pouvez ajouter à un formulaire. Si quelques
contrôles que vous avez besoin ne sont pas disponibles dans la boîte à outils ils
pourraient aussi être ajoutés après.
Pointeur Images
Label Text Box
Nous allons examiner d’emblée deux spécificités dont il est essentiel de comprendre
la signification. Ces propriétés existent pour l’objet Formulaires, mais elles
existent aussi pour tous les autres objets Visual Basic. Ce que vous allez
apprendre maintenant est donc d’une utilité universelle.
A tout Formulaire en particulier, et à tout contrôle en général, sont donc associées
des propriétés :
Control box – C'est une boîte que paraît sur le coin du sommet de le
formulaire et contient les boutons des minimisez, maximisez, restaurez et
fermez. Il paraît quand le style de boudeur est 0,1 ou 2. Il y a deux cadres
Vrais ou Faux.
Foreground color – Il est utilisé pour définir la couleur du premier plan. C'est
la couleur de texte et graphique qui sont affichés sur le formulaire.
Icon – Cette propriété est utilisée pour spécifier une image pour l'icône.
Quand le formulaire ou le projet est compilé et son dossier exécutable est
créé, cette image est assignée comme son icône.
Format aligner
Cette commande est utilisée pour aligner des objets sur le formulaire.
Exemple Gauche, centré, droit, Haut, milieu, Bas et Quadriller. La procédure
suivante est utilisée :
o Sélectionnez le contrôle
o Choisissez le format, et alignez
Make same size
Cette commande est utilisée pour faire des contrôles de la même
dimension, c'est différent d'aligner. Procédure
o Sélectionnez le contrôle
o Choisissez le format, faites la même dimension &
Largeur/Hauteur/les deux.
Size to Grid(Ajuster à la grille)
Cette commande est utilisée pour aligner un contrôle à la grille sur le
formulaire. La grille est l’ensemble des lignes horizontales et verticales sur le
formulaire.
Horizontal Spacing
Cette commande est utilisée pour ajuster l'espacement horizontal entre
les contrôles sélectionnés. Les options sont faites égaliser, augmenter,
diminuer & supprimer.
Procédure :
o choisis un contrôle
o Choisissez le format, espacement horizontal & faites égal
Vertical Spacing
Il est utilisé pour ajuster l'espacement vertical entre les contrôles
sélectionnés. Procédure :
o Choisis un contrôle
o Choisissez le format, Espacement Vertical & suprimer
Center in form
11. Projet :
Un programme que vous créez dans Microsoft Visual Basic est appelé un
projet. Un projet Microsoft Visual Basic est fait de plusieurs objets qui vous avez
crées ou ajoutés selon l’évolution de votre programme. Par conséquent, quand vous
sauvegardez un programme, vous devez sauver le projet principal et ses objets.
Un nom pour chaque composant vous permet de l'identifier comme comparé à autres
objets du même programme. Le nom d'un objet peut contenir une combinaison
jusqu'à 255 caractères. Abstenez-vous d'utiliser des caractères extravagants. Pour
assignez un nom utilisez de caractères a-z, A-Z, et chiffres 0 à 9.
12 Procédures Evénementielles
considéré vient d’être créé. Si elle existait déjà, cette manipulation vous amène sur
elle pour modifications éventuelles.
La procédure ainsi créée, je le rappelle, se présente ainsi :
Vous remarquerez que l’événement retenu par VB comme étant le plus probable
pour un Formulaire est Load (chargement). Autrement dit, cette procédure contient
tout ce que l’application doit faire au moment où le Formulaire en question est chargé
en mémoire vive.
Evénement
Objet
de l’Objet
Concerné
Concerné
par le code
Il est maintenant grand temps pour vous de passer aux premières joies de la
programmation VB...
Le Label (Etiquette)
Un Label est un contrôle, qui sert à afficher un texte sur un Formulaire. Son aspect
peut varier quelque peu selon les styles adoptés :
Ce qu’il faut comprendre avec les Labels, c’est qu’ils ne peuvent jamais servir à
effectuer une saisie par l’utilisateur.
Pour le reste, les propriétés notables d’un contrôle Label sont :
AutoSize – peut être vrai ou faux, si vrai, peut aider pour aller
parfaitement à la dimension du texte.
Label1.Caption = Command1.Caption
End Sub
Label1.Caption = Command2.Caption
End Sub
Ces zones (de la classe "TextBox" pour VB) peuvent servir à saisir une
information. Il s’agit du seul contrôle permettant une saisie au clavier par
l’utilisateur. En Visual Basic, il n’y a donc plus à proprement parler spécifiquement
d’instruction Lire. A la place de cette instruction, on est contraint de passer par de
telles zones.
Propriétés :
La propriété essentielle d'une Zone de Texte est… Text. C’est la propriété qui
désigne son contenu. Comme toute propriété, elle va pouvoir être utilisée tant en
lecture qu’en écriture.
Supposons ainsi que nous avons défini une zone de Texte TextBox, que nous avons
appelé "NomDeFamille". Pour mettre cette zone à blanc à l’affichage de la feuille de
dialogue, on écrira tout simplement :
Nomdefamille.Text = ""
Une fois que l’utilisateur aura entrée quelque chose dans cette zone, si l’on veut
récupérer ce quelque chose dans la variable Toto, on passera l’instruction suivante :
Toto = Nomdefamille.Text
On retrouve bien entendu à propos des zones de texte les événements déjà aperçus
à propos des contrôles précédents, comme le Click. Toutefois, un nouvel événement
fait son apparition : il s'agit de Change, qui survient chaque fois que le contenu de la
zone de texte est modifié. Cet événement peut donc survenir :
soit parce que l'utilisateur a frappé un texte dans la zone - et dans ce cas, il
provoque un événement Change à chaque nouveau caractère frappé
Soit parce qu'une ligne de code provoque une modification de la propriété
Text de cette zone.
Else
txtPassword.SelStart = 0
txtPassword.SelLength = Len(txtPassword.Text)
Else
End
End If
End If
txtPassword.SetFocus
End Sub
txtPassword.SetFocus
End Sub
End
End Sub
Text: PasswordChar *
Tag Amir12
Default True
Caption E&exit
BIBLIOGRAPHIE SELECTIVE
1. GAUDEL Marie-Claude, MARRE Bruno et Bernot Gilles, Précis de génie logiciel,
Ed. Masson, Paris, 1996
2. DEMARCO T, LISTER T., Les hommes de l’ordinateur, Ed. Masson, Paris, 1991
3. André Grimaumont et all, Algorithmes et langage Pascal, Ed. A. De Boeck,
Bruxelles, 1984
4. Gillis Clavel, Joel Biondi, Introduction à la programmation, Tome II, Ed. Masson,
Paris, 1994.