Discussion:Algorithmique/Variables

=>Malgré son nom, le contenu d'une variable n’est pas variable à un moment précis du programme. Il a toujours soit aucune valeur, soit une valeur précise.

Je ne suis pas tout à fait d'accord avec votre définition. Une variable est souvent un triplet (nom, type, valeur). Une variable à toujours une valeur, initialisée ou indéfinie.

Je suis d'accord une variable est variable car sa valeur varie au cours de l'exécution. a contrario Une constante est constante car sa valeur est constante lors de l'exécution.

Pour une fois en informatique que les noms sont biens choisit n'allons pas tout compliquer.

Je suis d'accord une variable est variable car sa valeur varie au cours de l'exécution. a contrario Une constante est constante car sa valeur est constante lors de l'exécution.

Pour une fois en informatique que les noms sont biens choisit n'allons pas tout compliquer.

De plus

modifier

Principe de Variable mal défini. Parties sur les types de variables totalement erronées.

Les types de variables sont(sans prendre en compte l'interprétation de la valeur):

 Types simples:
    Booléen , Deux états (vrai faux, ouvert fermé). états courants : (VRAI-FAUX)
    Entier , infinité d'états possibles.
 Type tableau, définis comme:
    Tableau "Limite d'indices" de "type simple"
 Type ensemble, définis comme(les crochets servent a délimiter l'ensemble:
     type montype{
         Identificateur1: Type;
         Identificateur2: Type;
     }

 Type pointeur
 Type Fichier.

Il n'y a pas de type Char ou de type String comme variables (de base du moins). Le type Char dans les langages de programmation n'est qu'une instruction d'interprétation qui veux dire lors de l'affichage:

  "Va dans le tableau des symbole et affiche le symbole a l'adresse contenue dans ma variable"

De même, Grâce a l'organisation de ce tableau, il est facilement possible d'afficher un nombre comme un char et de passer d'un char a un nombre Exemple:

  Pour avoir le numéro de la lettre(A=1,B=2,...) contenue dans ma variable, en C, il suffit de faire:
      int x = "char" - "a" +1;
     Cette instruction aura pour effet de donner l'écart de l'adresse de "char" par rapport à "a" et d'incrémenter de 1.
  Note: cela peut sembler trop "rigoureux", mais cela permet de simplifier grandement un programme (traitement de texte par exemple)(1).

Pour le type string, il n'existe pas non plus, il s'agit d'un tableau d'entiers interprétés comme des lettres


1:une suite de else if peut dés lors être simplifiée a une seule instruction de choix:

If( lettre == "A"){lettre == "a";} else if( lettre == "B"){...

deviens

If(lettre >= "A"){lettre = lettre - 20;}


Car dans le tableau de caractère, les minuscules et majuscules sont séparés de 32 adresses (en hexadécimal, 20)

Revenir à la page « Algorithmique/Variables ».