L’ALGORITHMIQUE
Les éléments de base
Les données
Une donnée peut être considérée comme une boîte, portant une étiquette (nom), d’une certaine forme (type) et qui contient une information (valeur).
Une donnée peut être :
– soit une constante si sa valeur ne change jamais durant l’exécution du programme ;
– soit une variable si sa valeur est susceptible de changer durant l’exécution du programme.
Nous pouvons classer les données selon 3 grandes classes en fonction de la nature des valeurs qu’elles peuvent prendre :
– les données numériques
– les données alphanumériques
– les données logiques.
Les types numériques
Le type numérique caractérise les valeurs entières ou réelles (et parfois complexes),
Entier : De manière générale une variable est caractérisée par un nom appelé identificateur et un contenu représentant une valeur d’un type donné. Cette dernière peut changer durant l’exécution du programme.
Une variable est dite entière si elle prend ses valeurs dans Z (ensembles des nombres entiers relatifs) et qu’elle peut supporter les opérations suivantes :
addition notée +
soustraction notée –
multiplication notée *
division entière notée div
n div p = q : la division entière de n par p donne la
division modulo
partie entière du quotient q.
notée mod
n mod p = r : la division modulo de n par p donne le reste r.
exemples:
12 div 3 = 4
13 div 3 = 4
12 mod 3 = 0
13 mod 3 = 1
Il existe plusieurs types d’entiers représentant chacun un ensemble particulier de valeurs. Cette différenciation de types résulte du mode de stockage des informations selon le langage de programmation utilisé.
Réel : il existe plusieurs types de réels représentant chacun un ensemble particulier de valeurs prises dans R (ensembles des nombres réels). Ici encore, cette différenciation se justifie par le mode de stockage des informations.
Il existe deux représentation des réels :
⇒ la forme usuelle avec le point comme symbole décimal.
exemples : 0.2467 345.876 -12.1 ….
⇒ la notation scientifique ayant la forme suivante : aE+b, où :
• a est la mantisse, qui s’écrit sous une forme usuelle,
• b est l’exposant représentant un entier positif.
exemple : 247 = 2.47E2 = 0.247E+3 = 2470E-1 = …
Opérations définies sur les rééls :
addition notée +
soustraction notée –
multiplication notée *
division notée /
Les types alphanumériques
Le type alphanumérique caractérise les valeurs caractère (notées Car) ou chaîne de caractères (notées Chaîne)
Caractère : sa valeur est un caractère quelconque. Un caractère peut appartenir au
domaine des chiffres de ‘0’ à ‘9’, des lettres de ‘A’ à ‘Z’ (majuscules ou minuscules) et des caractères spéciaux (‘+’ ‘-‘ ’,‘ ’;’ ‘.’ ‘(‘ ‘{‘ ‘[‘
‘]’ ‘}’ ‘)’ ‘$’ ‘%’…). Un caractère sera toujours noté entre des apostrophes. Le caractère blanc (espace) s’écrit ‘ ‘, le caractère apostrophe ‘’’.
Les opérations qu’on définit sur les données de type caractère sont :
égal notée =
différent notée ≠
supérieur ou égal notée ≥
supérieur notée >
inférieur ou égal notée ≤
inférieur notée <
Les quatre dernières représentent un ordre entre les caractères qui est le suivant :
‘ ‘ < ‘0’ < ‘1’ < … < ‘9’ < ‘A’ < ‘B’ < … < ‘Z’ < ‘a’ < ‘b’ < … < ‘z’
Cet ordre est déterminé par la codification ASCII.
Remarque :
• Les minuscules et les majuscules sont considérés comme des caractères différents.
Chaîne : sa valeur est une suite finie de caractères quelconques. Ce type n’est pas toujours pré-défini et doit faire l’objet d’un « paramétrage », en fonction de sa longueur (le nombre de caractères).
Une variable chaîne peut être vide, si elle est de longueur nulle, et sera notée : ‘ ‘ . Si cette dernière est égale à 1, la variable est considérée aussi comme Car.
Exemples :
‘BONJOUR’ ‘CECI EST UN EXEMPLE’.
Les opérations définies sur les variables de type Chaîne sont celles des variables de type Car.
ChaîneA < ChaîneB : si le mot contenu dans ChaîneA est ‘inférieur’ à celui de ChaîneB
dans le sens du dictionnaire; (inférieur : avant ; supérieur : après).
Exemples:
‘BAL’ < ‘BALLES’ < ‘BALLON’ < ‘BAR’ < ‘Bar’ < ‘bar’
De plus, il existe une autre opération définie sur les variables chaîne, la concaténation (notée ||). Elle crée une nouvelle en juxtaposant deux ou plusieurs mots.
Exemple :
‘TELE’||’VISION’ = ‘TELEVISION’
Le type logique
Une valeur logique (ou booléenne) est l’une des deux valeurs ‘vrai’ ou ‘faux’. Elle intervient dans l’évaluation d’une condition.
Les opérations définies sur les variables de type logique sont la négation, l’intersection et l’union.
– la négation (notée : , non)
Les expressions
Ceux sont des combinaisons entre des variables et des constantes à l’aide d’opérateurs. Elles expriment un calcul ou une relation, selon qu’elles sont arithmétiques (algébriques) ou logiques.
expressions arithmétiques
Exemple :
Var1 * 54.5 /(2+pi)
L’ordre selon lequel se déroule chaque opération du calcul est important. Afin d’éviter les ambiguïtés dans l’écriture, on se sert des parenthèses et d’une hiérarchie entre les différents opérateurs arithmétiques. Hiérarchie des opérateurs arithmétiques :
1 – ± opérateur unaire
2 – ( ) parenthèses
3 – ^ puissance
4 – * / multiplication ou division
5 – + – addition ou soustraction
Remarque :
• En cas de conflit entre deux opérateurs de même priorité, on commence par celui situé le plus à gauche.
Exemples :
a+b-c : on fait d’abord a + b, ensuite – c
a/b*c : on fait d’abord a / b, ensuite * c
♦ soit l’expression suivante :
(( 3 * a ) – x^2 ) – ((( c – d) / ( a / b )) / d )
1 2 4 5
3 6
7
8
♦ Soit l’expression algébrique suivante :
(3-yx)2 – 4ac
2x-z
sa forme algorithmique est la suivante :
(( 3 – y * x ) ^ 2 – 4 * a * c ) / ( 2 * x – z )
expressions logiques
Ceux sont des combinaisons entre des variables et des constantes à l’aide d’opérateurs relationnels (=, <, =<, >, >=, ≠ ) et/ou des combinaisons entre des variables et des constantes logiques à l’aide d’opérateurs logiques ( , et, ou).
De la même façon, on utilise les parenthèses et des hiérarchies entres les différents opérateurs pour résoudre les problèmes de conflits.
Les actions
Toutes les primitives algorithmiques que nous allons utilisées seront présentées en pseudo-code, un mélange convenable de locutions françaises aussi peu ambiguës que possible et de notations algébriques et assimilées pour autant qu’elles soient nécessaires ou commodes.
l’action de déclaration
Il est nécessaire de déclarer tout donnée utilisée dans un algorithme et de préciser son type.
Une constante ou une variable est désignée par un nom : l’identificateur. Celui-ci est une suite de caractères alphanumériques, dont le premier est nécessairement une lettre (en général, on n’utilise que des lettres et des chiffres).
exemples :
mauvais identificateurs :
Ident1, Ident2, A10, B,…
5ABC, 35, a+b, …
Remarques :
• la suite des caractères n’est pas nécessairement limitée .
• Les majuscules et les minuscules ne sont pas distinctes.
• Donner des identificateurs parlants pour faciliter la relecture de l’algorithme.
Exemple:
VAR1 est identique à Var1 et à var1 .
Syntaxe :
Var liste des identificateurs : Type;
Exemple :
Var
Réponse : booléen;
Chain1 : Chaîne[30] ; (Chain1 est une chaîne de 30 caractères)
Rep : Car ;
i, j : entier ;
a, b, c : réel ;
L’action d’affectation
syntaxe :
ident := expression
où :
ident : est un identificateur;
expression : valeur ou variable ou expression.
Avant d’utiliser toute variable, la première fois dans un calcul, il faut l’initialiser : lui affecter une valeur de départ, à moins de lui affecter le résultat à obtenir.
Dans la notation d’affectation, l’élément à gauche du symbole est une variable qui reçoit une valeur ou le contenu d’une variable ou le résultat d’une expression (partie de droite).
Autre notation de l’affectation : ident ← expression
exemples : mauvais exemples :
A := 10; a + 1 := 3;
B:=A; A := 3B; (3B n’est pas un identificateur;
n’est pas non plus une
C:=C+1; expression )
Exemple
Soit un algorithme qui permet de calculer la moyenne de 3 notes et de l’afficher.
Algorithme Moyenne ;
Const Note1 = 12 ; Note2 := 7.5 ; Note3 := 14 ; Var Som, Moy : réel ;
début
Som := Note1
Som := Som + Note2
Som := Som + Note3
Moy := Som / 3
Afficher ( ‘‘ La moyenne est de : ‘’ , Moy) ;
fin;
Lecture/Ecriture des données
Les actions d’Entrée/Sortie (ou de Lecture/Ecriture) permettent d’introduire des données dans un programme ou d’afficher des résultats à partir de celui-ci.
Exemples :
Lire (A, B) :
Entrer 2 valeurs à stocker
dans les variables A et B.
Afficher( ‘‘ Le résultat est : ‘‘ , Moyenne) :
le message Le résultat est s’affichera suivi de la valeur de la variable Moyenne.
Les actions simples et composées
! On appelle action simple, toute action de déclaration, d’affectation, d’appel à une procédure, ou de Lecture/Ecriture.
exemples d’actions simples :
Var i1,i2 : entier;
Som := Som + 1;
Lire (Age);
‘ lire une valeur et la stocker dans
Age
CALCUL (A,B)
‘ procédure qui fait un calcul sur A et
B
Afficher (A,B)
’ écrire les valeurs de A et de B.
! Une action composée est un ensemble fini d’actions simples (ou composées).
syntaxe :
début :
Action 1;
Action 2;
…….
Action p;
fin;
Exemple :
Début
Var A,B : réel;
A:=B+1;
Lire (A,B);
CALCUL (A,B);
Afficher (A,B)
fin;
L’action sélective
Supposons qu’on veut connaître le plus grand de 2 nombres a et b.
algorithme plusgrand(a,b)
Var a, b, pgran : entier;
début
Lire (a, b);
pgran := a;
Si b > a alors pgran := b
finsi
fin;
– Ou encore :
algorithme plugrand(a,b)
Var a, b, pgran : entier;
début
Lire (a,b);
Si a > b alors pgran := a
sinon pgran := b
finsi
fin;
Nous pouvons schématiser les actions de sélection dans ces 2 algorithmes de la manière suivante :
Syntaxe :
1ier cas :
SI Condition ALORS action0 FINSI;
Syntaxe
2ième cas :
SI Condition ALORS action1
SINON action2
FINSI;
1ier cas) – Si la condition est vérifiée, on exécute action0, et on passe à la suite de l’algorithme. Si la condition ne l’est pas, alors on passe à la suite de l’algorithme.
2ième cas) – Si la condition est vérifiée, on exécute action1 et on passe à la suite de l’algorithme; sinon on exécute action2 et on passe à la suite de l’algorithme.
Il existe une autre forme de l’action sélective, qu’on appelle le choix multiple :
Syntaxe
SELON variable
début
val 1 : action 1;
val 2 : action 2;
…
val N : action N
Sinon : action
fin;
Si variable est égale à val i , on exécute action i , et on passe à la suite de l’algorithme, sinon on exécute action et on passe à la suite de l’algorithme.
L’action itérative
Lorsqu’on a plusieurs actions qui se répètent, on écrit celles-ci dans une même action composée et l’on réitère plusieurs fois l’exécution. Le nombre d’itérations peut être connu a priori ou pas. Dans ce dernier cas c’est l’exécution de l’action itérative qui déterminera son arrêt.
PREMIERE PARTIE : L’ALGORITHMIQUE
1. MÉTHODOLOGIE DE PROGRAMMATION
1.1. La démarche
1.2. Définitions :
2. LES ÉLÉMENTS DE BASE
2.1. Les données
2.1.1. Les types numériques
2.1.2. Les types alphanumériques
2.1.3. Le type logique
2.2 Les expressions
2.2.1. expressions arithmétiques
2.2.2. expressions logiques
2.3. Les actions
2.3.1. l’action de déclaration
2.3.2. L’action d’affectation
2.3.3. Lecture/Ecriture des données
2.3.4. Les actions simples et composées
2.3.5. L’action sélective
2.3.6. L’action itérative
2.4. Les autres types de données
2.4.1 Les types construits
2.4.1.1. Le type énuméré
2.4.1.2. Le type intervalle
2.4.2. Les types structurés
2.4.2.1. Les tableaux
2.4.2.2. Les enregistrements
2.4.3. Les Fichiers
2.5. La notion de sous programmes
2.5.1. La procédure
2.5.2. La fonction
2.5.3. La portée des données
2.5.4. Le passage des paramètres entre sous programmes
DEUXIEME PARTIE : Introduction au Visual Basic
1. GÉNÉRALITÉS
1.1. Programmation objet, visuelle, événementielle
1.2. Composition d’une application VB
1.2.1. La forme visuelle
1.2.2. Les programmes VB
1.2.3. Les fichiers d’une application VB
1.2.3. Les fenêtres de VB
2. ELÉMENTS DE BASE DU VB
2.1. Les variables
2.1.1. Les identificateurs
2.1.2. Les types
2.1.3. Les déclarations
2.1.3.1. Les déclarations explicites
2.1.3.2. Les déclarations implicites
2.1.3.3. La déclaration des tableaux
2.1.4. La portée des variables
2.1.5. Les constantes
2.2. Les actions
2.1.1. Les actions simples
2.1.2. Les actions sélectives
2.1.2.1. Les tests simples
2.1.2.2. Les tests en cascade
2.1.2.3. Le test IIf
2.1.2.4. Les choix multiples
2.1.2.3. L’instruction Choose
2.1.3. Les actions répétitives
2.1.3.1. La boucle While… Wend
2.1.3.2. Les boucles Do … Loop
2.1.3.3. La boucle For
3. LES SOUS PROGRAMMES
3.1. Définition d’une Procédure/Fonction
3.2. Appel d’une Procédure/Fonction
4. LES FICHIERS
4.1. Les fichiers séquentiels
4.2. Les fichiers d’accès direct
4.3. Les fichiers binaires
5. ELÉMENTS VISUELS
5.1. Les feuilles
5.1.1. La feuille
5.1.2. Les fenêtres prédéfinies
5.2. Les contrôles
5.2.1. La zone de texte
5.2.2. L’étiquette
5.2.3. Le bouton de commande
5.2.4. Le cadre
5.2.5. Le bouton d’option
5.2.6. Les cases à cocher
5.2.7. Les listes
5.2.7.1. La liste simple
5.2.7.2. La liste combinée
5.2.8. La grille