Vous êtes sur la page 1sur 23

ALGORITHME 10/11/11

Programmation

Exemples en Javscript et VisualBasic

1) Structure gnrale d'un programme


1. Instructions
2. bloc d'instruction
2) Type basique de donne et variable
1. entier, rel, chane de caractre, boulen, date
2. dclaration et utilisation de variable
3. exemple de calcul : incrmentation, cumul de valeur
3) Traitement conditionel
1. Si/Alors/Sinon : If/Then/Else
2. Selon : Switch
4) Traitement itteratif
1. Tant que : While
2. Faire/Tant que : Do/While
3. Pour : For
5) Procdure, fonction
1. Dclaration de procdure et fonction
2. Appel de procdure et de fonction
6) Tableau
1. 1 dimension
2. Plusieurs dimensions
ALGORITHME 10/11/11

1) Structure de programmation
1. Instruction : Une instruction est un ordre simple excut par le processeur
Dans la plupart des langages une instruction s'crit sur une ligne et se termine par un ;
Exemple :
a=23 ; <= Instruction : on demande de copier la valeur 23 dans la variable a
b=b+1 ; <= Instruction : on demande au processeur de lire le contenu de la
variable b, de lui ajouter 1 et de copier le rsultat dans la variable b

2. Bloc d'instruction : Les instructions sont crites les unes aprs les autres pour former un
bloc d'instructions.
Exemple :
Instruction 1 ;
instruction 2 ;
En gnral le dbut et la fin de chaque bloc d'instructions sont marqus par un symbole
particulier :
- En Java, Javascript, C, C++, php,
{
}
- En vb, Pascal, Dephi, winder
begin
end
Exemple :
{
a=15 ;
c=a+18 ;
}
Dans un bloc d'instruction, les instructions sont excuts de manires squentielle : les
unes aprs les autres du haut vers le bas.

2) Type de valeur et variable


1. Types basiques de valeur
Un programme manipule des donnes constitues de valeur d'un type particulier. Les
types de valeur les plus courants ou plus simple sont :
Valeur numrique :
1. Entier sign : possde un signe soit positif soit ngatif
Exemple : 123 ou 123
2. Entier non sign : sans signe, ils sont toujours positif
Remarque concernant la notion de base :
En gnral on crit les nombre en base 10
Exemple : 17
En informatique, on utilise aussi
- La base 2 binaire
- La base 16 hexadcimal
Un nombre en base 16 s'crit sous la forme :
Exemple : 0x11 <= Nombre 11 en base 16
On met 0x devant un nombre pour signaler qu'il est en base 16
ALGORITHME 10/11/11

Chiffres de la base 16 :
Base 16 Base 10 Base 2
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
Exemple :
0xFE 254 1111 1110
Base 16 Base 10 Base 2

1. Nombre rel en dcimal


Exemple : 123.56
La sparation dcimale est le .
Pour les nombres avec des puissanes de 10, on les crits :
1,23x106 = 1.23E6
2. Caractres :
Pour dlimiter un caractre on utilise de simple ctes pour le dlimiter.
'A' caractre A
Exemple : c='A' ; <= Cette instruction copie la caractre dans la variable C.
Remarque : Chaque caractre est quivalent un nombre entier (en gnrale sur 8 bits
de O 255) que l'on appel code ASCII
Caractre Code Ascii
'A' 65
'B' 66
'a' 97
'1' 49
ALGORITHME 10/11/11

2. Chaine de caractres : Ensemble de caractre pouvant constituer des mots, phrase, un


texte. Une chaine de caractre est dlimite par des doubles cotes.
Exemple : Toto Demain c'est le 11/11/11, on ne travaille pas
1 <= Entier constitu du chiffre 1
'1' <= Caractre 1
''1'' <= Chane de caractre constitu du caractre 1
Exemple de programme en C :
int a ; <= dclaration de la variable a qui contient des entiers
a=1 ; <= copie le nombre 1 dans a
a= '1'; <= copie du caractre 1 dans une variable entire. En fait c'est la valeur ASCII qui
est copie et donc la variable a contiendra la valeur entire 49 correspondant au code
ASCII du caractre 1

Remarque : Concatnation
La concatnation de chane de caractre est une opration qui assemble bout bout plusieurs
chanes de caractre.

Exemple : En Javascript, C++, Java,


toto + titi tototiti
toto + b totob (On peut concatner une chane avec un caractre.)
'A' + 'B' AB

L'oprateur de concatnation :
- en JS, java, C++,C# => le plus +
- en php => le point .
- en VB => le et commercial &
Exemple : En php
toto . titi tototiti
Exemple : En VB
toto & titi tototiti

Remarque : Comparaison
Deux chanes de caractres sont gale si et seulement si tous les caractres sont gaux 2 2.
toto est gal toto
toto est diffrent de tot

La comparaison avec les oprateurs < ou > utilise l'ordre lexigrophique (alphanumrique) pour
dterminer si une chane est plus grande que l'autre.
Les valeurs ASCII des caractres sont compares 2 2 en commenant par la gauche et en
progressant vers la droite tant qu'il y a galit. Ds qu'une valeur est plus grande que l'autre
alors la chane correspondante est dite plus grande.

Attention : La longueur de la chane n'est pas prise en compte.


Exemples:
toto < tpto => tpto > toto
abcdef < acc
ALGORITHME 10/11/11

3. Boulen :
Type binaire : 0 ou 1
Vrai/faux ou True/false tel que false=0 et true <> 0
N'importe quel valeur numrique entire diffrente de 0 est considre comme vrai.

Transition : Type basique/Type complexe


Le type de donne peut tre basique comme ceux dcrit precedement soit complexe, structure,
Ce sont par exemple les type "objet "= ni entier, ni chaine de carractre, ni boolen
Type de donne - Objet
Type de donnes complexe ou structur qui contiennent des proprits que l'on peut
accder avec l'oprateur (en JS, Java, C++, Csharp, VB) ou avec l'oprateur (php, C++)
Exemple :
A la place d'utiliser la commande prompt pour demander l'utilisateur de saisir une
valeur via une fentre, on va utiliser un Textbox zone de texte o l'utilisateur peut rentrer une
valeur
=> utiliser la balise <input>

Age => <label>


Textbox => <input>
Bouton => <button>

Ainsi on obtient le script suivant :


<label>Age :</label>
<input id="Zone de saisie age :">
<button> bouton </button>

Afin de crer une action en cliquant sur le bouton on ecrit :


onclick= Bouton_onclick ();
qui va appeler la fonction Bouton_onclick () qui va tre crer dans une balise script

Ainsi on a :
Objet.html
<label>Age :</label>
<input id="Zone de saisie age :">
<button onclick= Bouton_onclick (); > bouton </button>

<script>
function Bouton_onclick()
{
var zone = document.getElementById( ZoneSaisieAge ) ;
alert(zone.value) ;
}
</script>

zone.value => On accde la proprit value du textbox de ZoneSaisieAge pour rcuprer la


valeur saisie par l'utilisateur afin de l'afficher.

Remarque : la balise script peut tre plac au dessus ou en dessous peut importe.
Le naviguateur HTML va compiler le script et la procdure ne se lancera que lorsque le bouton
ALGORITHME 10/11/11

3)
Variable :
Obligation de dclarer la variable par l'instruction "var"
Le type de variable sera dfini l'initialisation de la variable et non dfini tout de suite
l'inverse d'autre language (Java, C,C++,VB,CSharp) o l'on prcise tout de suite le type de variable.
Il y a mme des languages ou les variables ne sont pas dclar (php) mais alors l il faudra utiliser
une typologie specifique ($) pour que le compilateur reconnaisse les variables.

1. Definition :
Une variable est un espace mmoire (dans la RAM) nomm (toute variable possde un nom
unique) destin stocker une valeur ( la fois) d'un type dtermin.

A la notion de variable sont associ 3 choses :


Nom unique
Type de valeur que la variable stocke
Un espace mmoire rserv pour stocker une valeur la fois.

Le type de valeur de la variable conditionne la taille de l'espace mmoire allou pour la variable
ainsi que la manire utilise pour crire ou lire une valeur dans cet espace mmoire.

En gnral, avant d'utiliser une variable ou la declare avec une instruction prvue cet effet.

Capacit minimale de stockage de la mmoire = 1 octet (8 bits)


Stock une valeur comprise entre 0 et 255 et qui est le code ASCII du caractre.
Entier = 32 bits (2Milliard -2Milliard 4 octets

Sur 32 bits = 24 bits pour la mantisse (ou significande) 1 pour le signe et le reste pour l'exposant

Sur 64 bits

Conditionner la taille de l'espace reserver, la manire d'ecrire ce carratre en mmoirepour le


stocker.
Lors de la declaration de variable, le compilateur ou l'interpreteur va reserver l'espace mmoire
en consquence et prvoir la manire utilis pour ecrire ou lire une valeur dans cet espace
mmoire (concretement il s'agit d'un algorithme de lecture/ecriture)

Pour un entier : codification binaire classique


Pour un reel : codification mantisse + exposant ...

pour les chaines de caractre = nombre de caractre (1 octet code ASCII/caractre + 1 pour le
terminaison (octet 0)
ALGORITHME 10/11/11

Declaration de variable en JS :
var nomdevariable = valeur ;

nomdevariable => nom pour la variable


valeur => - definie le type de valeur
initialise la variable

Exemple :
var i = 1 => variable entiere Int
var s = toto => variable de chaine String
var f = 1,23 => variable rel Float

ParseInt( 123 )
fonction qui analyse et convertie la chaine de caractre en valeur entire de type Int

ParseFloat( 123 )
fonction qui analyse et convertie la chaine de caractre en valeur rel de type Float

RQ : noms de variable
1. un nom de variable doit tre unique l'interieur du bloc d'instruction dans lequel elle est
dclare.
Exemple :
{
var a = 1 ;
.
var a = 1,23 ; Erreur de compila^on
}

{
var a = 2 ; L cela fonc^onne
}

2. Un nom de variable commence par une lettre ou caractre soulign (underscore) suivi par des
lettres, chiffres non soulign

3. Les lettres a-z A-Z mais Attention = pas d'accent

4 . Les noms doivent tre significatif avant d'tre court !

JS VB C, C++, Java, CH Explication


var i =1; dim i as Integer int i=1 ; Variable entire
i=1
var f=1.2; dim f as Single float f=1.2; Variable rel 32bits
f=1.2 (simple precision=0,0)
var d=1.2; dim d as Double double d=1.2; Variable rel 64bits
ALGORITHME 10/11/11

d=1.2 (double precision=0,0)


var s= toto ; dim s as string En C pas de chaine de Chaine de caractre
s= toto caractre (tableau de
caractre)

Ecriture dans une variable


Comme une variable ne peut contenir qu'une seule valeur, quand on ecrit dedans la
nouvelle valeur remplace l'ancienne.
Pour crire ou copier une valeur dans une variable on utilise un oprateur d'affectation qui
est en gnral = (en pascal:=)
L'oprateur d'affectation travaille en 2 temps : d'abord du cots droit du gal pour produire un
resultat qui est ensuite copi dans la variable gauche

variable = expression
|Valeur simple
|Calcul
|Appel de fonction
Exemple :
a=1;
a= b + 2*c ; => calcul avec des variables en 2 temps : 1. Le caclul est execut et produit une
valeur resultat
2. Le resultat est copi dans la variable
a = parseInt( 123 ) ; => en 2 temps : 1. la foction est excute et renvoie une valeur resultat
2. La valeur resultat est dans la variable a

Lecture dans une variable.


Quand une variable est presente dans une expression. Au moment o l'expression est excute, la
variable est remplace par la valeur qu'elle contiens au moment de l'execution.

Exemple :
a b
var a, b ; Undefined Undefined
var a =1 ; 1 Undefined
var b =2 ; 1 2
b=b+a-3 ; 1 0
a=a+2 ; 3 0
b=b+a-3 ; 3 0
a=a*3+b ; 9 0
b=b+a-3 ; 9 6

Difficult de la programmation
Systeme complexe =
Ce que va produire le programme n'est qu'une proprit emergeante de l'execution de toute les
instructions du programmes
ALGORITHME 10/11/11

Ce qui fait la difficult de la programmation.


La nature regorge de systeme complexe : les fourmis par exemple qui prisent individuellement
(suivi de feromone, depose de feromone, prise de nourriture, deplacement ) = comportement trs
simple.
Mais de part les comportements simple des fourmis, comment arrive on a expliqu l'organisation
d'une fourmilire (recherche systematique de nourriture, organisation commun).
Des etudes scientifique montrent que l'organisation dune fourmiliere n'est qu'une proprit
emergeante de la repetition de comportement trs simple des milliers d'exemplaire.
L'evolution des variable en informatique est une tude du complexe.
Le resultat n'est qu'une proprit emergeante de la repetition d'oprations simple par directement
previsible.
Pas de mthode mathematique pour prvoir le resultat d'une programmation.
Le resultat depend de la valeur de la variable au moment de l'execution de la ligne, ainsi un mme
calcul avec les mme variables a et b ne donnera pas le mme resultat.

Exemple avec une boucle

Definition a
var a, b ; Undefined
var a =1 ; 1
while (a < 10) 1
{ }Corp de boucle 1
a=a+1 } 2
{ } 2
2
2

L'tat de la variable a va evoue en fonction de l'iteration.


ALGORITHME 10/11/11

Instructions classiques de calcul :


Incrementation/dcrmentation d'une variable

var a =1 ;
a = a + 2;
Incrmente le contenu de a de la valeur 2

De manire plus gnrale


a a + constante
Incrmente le contenu de a de la valeur de la constante

A l'inverse :
a=a-3
Dcremente le contenu de a de la valeur 3.

Exemple plus classique :


a = a +1;
Incrmentation du contenu de a de 1, utilis dans les boucles de comptahe
var a = 1;
while (a<= 10)
{
a=a+1
{
Compte de 1 10 en faisant 10 itrations.

Instructions spciale pour l'incrmentation et la dcrementation (C, C++, Java, JS, php) :
a += 2; quivalent a = a+2; Mme plus rapide l'execution
a-=3; quivalent a = a+2;
a++; quivalent a= a +1
a --; quivalent a = a-1;

Instructions similaire pour les produits et les divisions (C, C++, Java, JS, php) :
a=a*2;

Exemple :
Augmenter de 10% le contenu d'une variable prix
prix = prix *1,1
Aprs execution de cette ligne, la valeur de la variable prix est augment de 10%

Autre notation :
a = a *2 <=> a*=2
a = a/3 <=> a/ =3
ALGORITHME 10/11/11

Concatnation de chaine de caractre gauche ou a droite


var nom = "DUPONT"
Concatnation gauche des prnoms.
nom = "charles" + nom;
nom = "Monsieur" + nom;

Concatation droite
var nom ="DUPONT"
nom = nom + "est"
non = nom + "est un Monsieur"

Exemple de programme qui crit une phrase gramaticalement juste de presentation d'une
personne partir du contenu des variale
nom "Durant"
prenom "Vlarie"
Sexe F
Age 30 an

La phrase construite es t du type :


Madame Valrue Durant est age de 30 ans.

sexe "F"
"m"
"age
"ag"
Age ==1 "an"
> 1 "ans"

On construit la phrase par concatnation successive toute la faonction des conditions.

if (sexe == "F") phrase = "Madame "Madame"


else phrase = "Monsieur" "Madame Claudine"
phrase = phrase + prenom "Madame Claudine Durant"
phrase=phrase + " " + nom; "Madame CLaudine Durant est"
phrase = phrase +"est"
if (sexe == "F") phrase=phrase+ "age"
Else phrase = phrase + "ag"
phrase = phrase +"de" + age Madame CLaudine Drurant est age de 30
if (age > 1) phrase = phrase + "ans"
else phrase = phrase + "an" Madame Claudine Durant est age de 30 ans

Autre exemple : gnrer un pome en automatique.

L'ide est de cummuler dans une variable plusieurs valeurs au travers d'une addition, soustraction,
ou multiplication ou division.
ALGORITHME 10/11/11

Exemple d'un programme qui demande l'utilisateur de saisir 10 valeurs entire et qui calcule la
somme des 10 valeurs

Le programme doit executer 10 fois la mme opration :


- Demander l'utilisateur de rentrer une valeur entire
- Cumuler cette valeur par addition dans une variable rsultat.

En conclusion il faut crire une boucle qui execute 10 itrations et chaque itration on fait le
traitement.
Il faut une boucle de comptage qui compte de 1 en 1 . Exemple de boucle de comptage :
var i =1;
while ( i <=10)
{
=> Le corp de boucle est excut 1 fois
i++;
}
Il reste convertir la boucle par le traitement.

(1) On utilise une variable valeur pour stocker la valeur saisie par l'utilisateur.
- On utilise la fonction prompt pour demander l'utilisateur et rcuprer la valeur saisie
- Comme prompt retourne une chaine de caractre on utilisera la fonction parseInt pour convertir
la chaine en nombre entier de telle sorte pouvoir faire une addition

(2) On utilise une variable resultat pour cumuler successivement les valeurs saisies.
La variable rsultat sera initialise 0.
var valeur;
var resultat=0;
var i = 1;
while (i<=10)
{
valeur = prompt ("Entrer une valeur");
valeur = parseInt(valeur);
resultat=resultat + valeur;
i++
}
A chaque itration, on incrmante la variable resultat du contenu de la variable valeur.

Exemple : Avec la multiplication, similaire sauf que la variable resultat devra tre initialis 1 au
lieu de 0
var valeur;
var resultat=1;
var i = 1;
while (i<=10)
{
valeur = prompt ("Entrer une valeur");
valeur = parseInt(valeur);
resultat=resultat * valeur;
ALGORITHME 10/11/11

i++
}

De cet exemple nous pouvons ecrire un programme qui calcule une factorielle :
On utilise la variable i qui s'incremente de 1 en 1 chaque fois.
Pour calculer la factorielle on aura alors :
var valeur;
var resultat=1;
var i = 1;
while (i<=10)
{
valeur = i;
valeur = parseInt(valeur);
resultat=resultat * valeur;
i++
}
Pour automatiser le processus et fair eun programme qui demande un nombre entier l'utilisateur
et en calcul la factorielle.
On ajoute une nouvelle variable fact
var valeur;
var fact;
var resultat=1;
var i = 1;
while (i<=fact)
{
valeur = i;
valeur = parseInt(valeur);
resultat=resultat * valeur;
i++
}

Ou en simplifiant :
var fact;
var resultat=0;
var i = 1;
while (i<=fact)
{
i = parseInt(i);
resultat*=i;
i++
}
ALGORITHME 10/11/11

Variable locale/globale

Rappel : Bloc d'instruction


Commence par une accolade ouvrante et se termine par une accolade fermante.

Une variable dclare l'interieur d'un bloc d'instruction est dite locale ce bloc est n'est
accessible qu' l'interieure du bloc.
A la fin du bloc la variable et sa valeur sont supprims.

Exemple :
{
----------------- ; => La variable a n'existe pas encore
var a = 1; => a est une variable locale uniquement visible au sein du bloc et
----------------- au sortir du bloc elle disparait.
----------------- => Domaine de visibilit de la variable a
} => La variable et sa valeurs sont dtruites.

A contrario une variable dclare en dehors de tout bloc est une variable dite globale.
Elle est accessible de n'importe o dans le programme, et sa dure de vie correspond la dure
d'execution du programme.

Remarque : mlange de variables locales et globales

Exemple :
var a =1; => variable globale
{
var b =2; => variable locale
----------------;
----------------;
}
{
var b =3; => variable locale
var c =1;
var a =10;
---------------;
}

Je peux dclarer une variable locale a alors qu'il existe dj une variable globale a.
La variable locale va tre prpondrante sur la variable globale au sein d'un bloc.

Dans un bloc si on a une variable locale de mme nom qu'une variable gloable dj existante, la
variable locale est prioritaire.
ALGORITHME 10/11/11

Exemple : TP calculatrice

=> Input ID : valeur


1 2 => Button
C =>

<imput id="valeur"> <br>


<button onclick = "V(1);"> 1 </button> => Gre l'evenement click sur le boutton 1 en appelant
<button onclick = "V(2);"> 2 </button> la fonction V avec la valeur 1
...........
<button onclick = "efface();"> C </button>

<script/>
function V(chiffre)
{
var valeur = document.getElementByID("valeur"); => valeur est une variable locale
valeur.value = valeur.value + chiffre;
}

function efface()
{
var valeur = document.getElementByID("valeur"); => valeur est une variable locale
valeur.value = "";
}
</script>

Remarque : Pour acceder la chaine de caractre contenu dans l'imput ID, on utilise la
commande .value

Autre solution : Declarer la variable valeur en variable globale


<script/>
var valeur = document.getElementByID("valeur");

function V(chiffre)
{
valeur.value = valeur.value + chiffre;
}

function efface()
{
valeur.value = "";
}
</script>

Attention : en declarant la variable globale le programme va executer le script avant les balises
ALGORITHME 10/11/11

html. Les objets HTML sont cr aprs le script et cela risque de generer une erreur.

Recommandation :
Prfrer les variables locales au variables globales. Limiter l'utilisation des variables globales pour
ne pas polluer le programme.
ALGORITHME 10/11/11

Traitement conditionnels

if (condition) .... else if (....) else ....


Permet d'excuter une instruction ou un bloc d'instruction de manire conditionnelle selon le
resultat boulen du calcul d'une condition.

Cas simple :
If (condition) instruction ;
Si la condition est vraie l'instruction est execute, sinon on passe l'instruction suivante.

Cas avec bloc d'instruction :


If (condition) FAUX condition
{ VRAI
instruction 1 ;
Condition 1
instruction 2 ; Condition 2
instruction 3 ; Condition 3
}

Cas avec else :

If (condition)
{
instruction 1 ; VRAI condition FAUX
instruction 2 ;
}
Else Condition 1 Condition 1
{ Condition 2 Condition 2
instruction 1 ; Condition 3 Condition 3
instruction 2 ;
}

Ici le bloc vert est excute quand la condition est vraie et sinon c'est le bloc bleu qui s'execute
Remarque :Comme pour le if, else peut s'utiliser avec juste une instruction.

Cas du Else If

If (condition 1)
{ VRAI FAUX
Condition 1
instruction 1 ;
}
else if (condition 2) instruction 1
{ Condition 2
instruction 2 ;
} instruction 2 instruction 3
else
{
instruction 3 ;
ALGORITHME 10/11/11

Les blocs sont exclus mutuellement : a partir du moemnt ou un bloc est execut les autres ne
s'executent pas.

Conditions

Conditions simple
- resultat d'une condition est boulen (true/false)
- comparaison entre valeur d'expression, en utilisant des oprateur de comparaison.
- Egalit : expression == expression
l'expression de gauche est calcule ainsi que celui de droite et leur resultat sont compars.
s'ils sont gaux la condition renvoi true sinon false
a == 1 : compare le contenu de a avec la valeur 1
a+1 == a x 2 : compare le resultat des 2 expression.

Si a vaut 1 la condition renvoi true et sinon false


1 ==2 est toujours faux.

- Diffrence : expression := expression.


Condition vraie si les 2 expressions renvoient des resultats differents.

- Inferieur/ inferieur ou gal


expression < expression
expression <= expression

- Superieur/ superieurou gal


expression > expression
expression >= expression

Attention pige :
If (a =1 ) => Oprateur d'affectation qui copie la valeur dans a.

Conditions composes
Conditions composes de conditions simples spares par des oprateurs logiques (boulen.)

Condition Notation Resultat


ET condition && condition Vrai que si les 2 conditions sont vraies.
OU condition || condition (Alt Gr + 6) Vrai si l'une des 2 conditions au moins
est vraie.
OU Exclusif condition ^ condition Vrai que si les resultats des 2 conditions
sont differentes
NON (inversion) ! condition Le contraire de celui de la condition
Parenthese (condition || condition) && condition Defini la priorit entre 2 conditions

Les oprateurs s'excutent selon un ordre de priorit : Priorit forte -> Priorit faible
( ), ! , && , ^ , ||
ALGORITHME 10/11/11

Exemple :
Appartenance d'une valeur un intervalle de 2 valeur :
if ( v >= min && v <=max)
vrai si v est comprise entre min et max
MIN MAX

Non appartenance d'une valeur un intervalle :


if ( v <min || v>max)
vrai si v n'est pas dans l'intervalle
MIN MAX

if ( ! ( v>=min && v <=max ) )


condition quivalente

Remarque : if ( v < min && v >max ) toujours faux si max >=min

Traitement conditionnel : switch, selon

Ce type de traitement permet de remplacer quelquechose du genre :

if (choix == 1 ) switch (choix)


{ {
...... case 1 :
} {
else if (choix == 2 ) .........
{ break ;
...... }
} case 2 :
else if (choix == 3 ) ............
{ break ;
...... case 3 :
} ............
else break ;
default :
.............

L'expression dans le switch est value.


Puis son resultat est compare aux valeurs donnes dans les cases.
Si une case contient une valeur identique en resultat le processeur commence executer les
instructions jusqu' rencontrer une instruction break qui le fera sortir de la structure
conditionnelle.
Si le processeur ne rencontre pas de break il continue jusqu' l'accolade fermante } qui termine la
structure conditionnelle.
Si le resultat ne correspond aucunes des valeurs, les instructions du dfault sont xcutes.
ALGORITHME 10/11/11

De manire gnrique on a :

Switch (expression)
{
case valeur 1 :
.......................... ;
.......................... ;
case valeur 2 :
{
.......................... ;
.......................... ;
}
case valeur 3 :
.......................... ;
break ;
case valeur 4 :
.......................... ;
break ;
default :
........................... ;
............................ ;
}

Exemple :
Switch (choix)
{
case 1 :
Eliminer ("Charles") ;
break ;
case 2 :
Eliminer (" Claudine");
case 3 :
Eliminer ("Henri");
break ;
case 4 :
Eliminer ("Laurent");
break ;
default :
print ( "Mauvais choix");
}
Choix Personnes limines
1 Charles
2 CLaudine et Henri
3 Henri
4 Laurent
ALGORITHME 10/11/11

Notion de structure ou de type structure en algorithme et en javascript

Rappel : Type de valeur basique :


entier, reel, chaine de carractre, boolen

Type composite ou structure de valeur :


Un type composite ou structur est un tyupe de valeur compos de plusieurs champs eux
mme mme d'un type basique ou compos

Exemple :
On veut stocker les donnes nom, prenom, datenaissance, numcompte d'une personne
On va ainsi crer un type structur Personne contenant les champs destins recevoir les valeur
d'une personne.

En algorithme :

type structure Personne


nom : chaine Cration du type
prenom : chaine de donne
datenaissance : date personne
numcompte : entier
fin type
Dclare la variable p de
var p : Personne type Personne

p.nom = 'DUPOND'
p.prenom = 'Alain'
p.datenaissance = '01/04/1989'
p.numcompte = 123456

P : Personne

DUPOND
Alain
01/04/1989
123456

A partir d'un type structur on peut crer des variavbles de ce type, qui contiendront autant de
valeurs que de champs prcis dans le type.
Le genre de variable est appel structure.
Pour accder un champ d'une variable structure, on utilise la syntaxe : nomvariable.nomchamp
Exemple : p.datenaissance = '01/04/1989'

On peut aussi crer des tableaux partir de type structur o chaque case contient alors tous les
champs spcifis dans le type.
ALGORITHME 10/11/11

Exemple :
En Algorithmique :

var t[ 5 ] : Personne Dclaration du tableau t de 5 cases, chacune de type Personne


t[ 1 ].nom = 'DURAND'
t[ 1 ].prenom = 'Marcel'

t [ 5 ] : Personne

nom
0 prenom
datenaissance
numcompte

nom DURAND
1 prenom Marcel
datenaissance
numcompte

En Javascript :
Il n'existe pas de type en gnral et de type structur mais on peut crer des valeurs structurs
que l'on appelle objet.
La cration et mise jour des champs se fait la vole.

En Javascript :

var p = {}; Dclaration de la variable p initialise avec une variable structure ou objet vide.

p.nom ="DUPOND";
p.prenom = "Marcel"; On met jour des valeurs
p.datenaissance = "01/04/1989"; de p en mme temps que
p.numcompte = 123456; l'on definit les champs

Notation GISON :
var p = { "nom" : "DUPOND", "prenom" : "Marcel", "datanaissance" : "01/04/1989",
"numcompte" : 123456};

Autre manire de faire en considrant la variable p comme tant un tableau associatif :


var p = [ ] ;
p [ "nom" ] = "DUPOND" ; La variable p est un
p [ "prenom" ] = "Alain" ; tableau avec des cases
p [ "datenaissance" ] = "01/04/2012" ; nomme partir des
p[ "numcompte" ] = 123456 ; noms de champs
ALGORITHME 10/11/11

Remarque : On peut mlanger les 3 manires de faire, on aboutira au mme rsultat.

Vous aimerez peut-être aussi