Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
La Tanière du Loup Hirsute
15 décembre 2007

Explications sur le programmation.

 

1°) Algorithmie

L'algorithmie pourrait être associée à la grammaire. En effet, on utilise pour programmer des "langages" informatiques qui ont tout autant que nos langues des règles, une syntaxe, etc.

De la même façon qu'on peut écrire une phrase en respectant la syntaxe "sujet - verbe - complément", on peut écrire un programme respectant la syntaxe "test - itération - affichage".

Ainsi on dissocie l'algorithmie qui est l'écriture théorique d'"algorithmes" avec lesquels on réalise des programmes, de l'écriture de programmes avec un langage de programmation. L'algorithmie propose des conventions d'écriture étendues à tous les langages de programmation, de la même façon que sujet verbe et compléments se retrouvent dans beaucoup de langues, pour ne pas dire toutes.

2°)Le concept de variable

a)Les variables simples

Ce concept est omniprésent dans le domaine de l'algorithmie et de la programmation c'est pourquoi il est indispensable de bien le comprendre pour être à même de programmer.

Par analogie, une variable peut être considérée comme une boîte. Les principaux attributs d'une variable simple sont son nom et le type de données qu'elle peut contenir. Je m'explique : imaginons que vous ayez des boîtes à thé. Vous n'allez pas mélanger les thés dans plusieurs boîte mais chaque boîte contiendra un type de thé. On peut donc considérer que vous aurez par exemple une boîte qui s'appellera "boîte à earl grey" dans laquelle vous ne mettrez que du thé earl grey, une boîte "darjeeling" dans laquelle vous ne mettrez que du thé darjeeling, etc. Cependant cela reste du thé, mais pas le même à chaque fois. Dela même manière vous pouvez avoir plusieurs variables dans laquelle vous stockez des données de type entier, vous aurez alors la variable entier1 qui contiendra 1, la variable entier2 qui contiendra 4, etc.

Mais vous pouvez aussi avoir une boîte à sucre par exemple et là vous ne mettrez pas de thé dedans, elle s'appellera alors "boîte à sucre". Encore une fois on peut imaginer avoir une variable caractere qui contiendra 'c'.

On ne peut pas mettre de sucre dans la boîte à thé ni de thé dans la boîte à sucre, on ne peut pas mettre 'c' dans entier1 et on ne peut pas mettre 1 dans caractere. Par contre, on peut mettre le thé darjeeling dans une boîte pour earl grey et du earl grey dans une boîte de darjeeling comme on peut mettre 3 dans entier1 et 1 dans entier2.

Pour récapituler :

                                                                               
NomcontenuNomcontenu
Boîte à earl grey contient du thé entier1contient 1
Boîte à darjeeling contient du thé entier2contient 2
Boîte à sucrecontient du sucre caracterecontient 'c'

J'attire votre attention sur le fait qu'un caractère est noté par convention entre quotes ' et non entre guillemets ". Les guillemets sont réservés pour les chaînes de caractères qui sont comme nous allons le voir des variables complexes.

b)Les variables complexes

En effet, il existe également des boîtes avec des compartiments n'est-ce pas ?

C'est comme si dans une boîte, il y en avait plusieurs. Et bien les variables dites complexes sont exactement cela : ce sont des variables contenant d'autres variables. Le type le plus connu de ces variables complexes est la chaîne de caractères, qui est en relation étroite avec le tableau. Je ne vais pas parler des autres pour l'instant.

En gros, un tableau est une variable contenant un certain nombre d'autres variables mais toutes du même type ! Ainsi on aura une boîte dans laquelle on a plusieurs compartiments pour différents type de boutons, mais cette grande boîte sera réservée uniquement aux boutons.

Par exemple on pourra donc avoir un tableau d'entiers ou un tableau de caractères, c'est ce qu'on appelle une chaîne de caractères !

C'est pourquoi la chaîne "toto" peut être considérée comme un tableau contenant 't' 'o' 't' 'o'.

On accède à chaque élément avec son indice que l'on place entre crochets comme suit : [indice].   

Ainsi dans la chaîne "toto", 't' est à l'indice 1, etc. ATTENTION, ceci est valable en algorithmie mais dans certains langages comme le c++ le premier indice du tableau est 0 et non pas 1.

Mais revenons à notre tableau. Prenons une variable de type chaîne de caractère que l'on appellera ch et dans laquelle on mettra "toto".

ch[1] = 't'

ch[4] = 'o'

ch = "toto"

Le tableau étant un conteneur, on peut imaginer créer une variable comme étant un tableau de tableaux !

Voici un autre exemple avec un tableau d'entiers : tablo est un tableau d'entiers dans lequel on met 5, 4, et 3. tablo[1] = 5, tablo[2] = 4 et tablo[3] = 3.

Vous suivez toujours ?

Passons donc rapidement sur la notation algorithmique : on déclare une variable, c'est à dire qu'on dit qu'on va l'utiliser en écrivant "var nomdelavariable : type".

Cela donne :

var ch : chaîne de caractères

var entier1 : entier   

var car : caractère

L'attribution d'une valeur à la variable se fait ensuite comme ceci :

ch <- "toto"

entier1 <- 3 

Voilà, vous savez maintenant déclarer des variables ! Mais vous allez me dire : "c'est bien beau tout ça, mais les variables, ça sert à quoi ?"

Eh bien admettons que l'instruction "affiche" avec entre paranthèses ce que l'on veut afficher, serve à faire apparaître à l'écran quelque chose.

Affiche("toto") afficherait donc "toto" à l'écran. Si vous voulez afficher l'âge de la personne qui tape au clavier, il faut d'abord lui demander, mais comment savoir ce qu'elle tape ? On récupère ce qu'elle tape dans une variable pardi ! Ainsi on peut afficher directement ce que l'utilisateur tape, sans savoir exactement ce qu'il tape.

Exemple :

var age : entier

age<-saisie("Saissez votre âge :")

affiche(age)

Le tour est joué. Peu importe ce que tape l'utilisateur comme âge, on verra apparaître ce qu'il a tapé à l'écran. Bien sûr, l'utilisation des variables ne se limite pas uniquement à la saisie de l'utilisateur, mais le principe est là : récupérer des données et les stocker pour pouvoir les traiter indépendamment de leur contenu.

Nous arrivons maintenant à la première étape de la programmation : le test.

3°)Le test 

Comme nous venons de le voir, nous pouvons récupérer la saisie d'un utilisateur, mais nous ne pouvons pas connaître directement son contenu. Pourtant nous avons besoin de traiter ce que l'utilisateur nous fournit : c'est là qu'intervient le test. Nous ne pouvons pas connaître directement le contenu de la variable mais nous pouvons en quelque sorte deviner ce qu'elle contient avec la syntaxe "si... alors...sinon".

Reprenons l'algorithme précédent et imaginons qu'on veut simplement afficher à l'écran si la personne est majeure ou pas. Nous ne pouvons pas savoir directement si elle a tapé 18, 22, 23 ou encore 16, mais en stockant l'âge saisi par l'utilisateur dans une variable de type entier, nous pouvons tester si la variable est supérieure ou égale à 18.

Par convention, un bloc algorithmique est imbriqué par un "début...fin", mais voyez plutôt :

var age : entier

Début

age<-saisie("Saissez votre âge :")          

SI age >= 18 ALORS

affiche("Vous êtes majeur(e).")

SINON           

affiche("Vous êtes mineur(e).")            

FIN            

FIN

Voilà : nous venons de demander la saisie de son âge à l'utilisateur, nous avons testé ce qu'il nous a envoyé et nous avons renvoyé un résultat en fonction de sa saisie. Si l'utilisateur tape 16, il aura le message "vous êtes mineur(e)", s'il tape 22 par exemple, il aura le message "vous êtes majeur(e)".

Pour pousser un peu plus loin, sachez qu'on peut imbriquer plusieurs tests. On pourrait donc ajouter un message de plus pour afficher à l'utilisateur qui a 18 ans qu'il est majeur depuis peu de temps :

var age : entier

Début

age<-saisie("Saissez votre âge :")    

SI age = 18 ALORS

affiche("Vous êtes majeur(e) depuis peu de temps ! ")

SINON    

SI age >18 ALORS

          affiche("Vous êtes majeur(e).")

SINON

           affiche("Vous êtes mineur(e).") 

FIN

       FIN

FIN


Vous n'avez pas mal à la tête ? Ok on peut continuer alors.

3°)Les itérations 

Publicité
Commentaires
La Tanière du Loup Hirsute
Publicité
La Tanière du Loup Hirsute
Archives
Publicité