« Programmation/Types » : différence entre les versions

Contenu supprimé Contenu ajouté
Tavernierbot (discussion | contributions)
Tavernier (discussion | contributions)
modif intro + plan proposé
Ligne 1 :
{{ébauche}}
 
LeDans typela plupart des langages de programmation il est possible d'uneattribuer variablearbitrairement ouaux variables des d'un''types''' élémentpour – entre autres quelconque déterminedéterminer la nature des données qu'elle peut contenir et la manière dont elle sont enregistrées et traitées par le système. Concrètement le type d'un élément influe sur la taille quque le compilateur ou l'elleinterpréteur occupelui allouera en mémoire ; et les opérations quequi ne devraient pas être permises si la syntaxe du langage était respectée le programme est en droit de lui faire subir. Il est parpas exemple rarementrare autoriséqu'un devérificateur multiplierd'erreurs unne élémentse dontmanifeste lapas valeurlorsqu'on esttente destinéede àmultiplier correspondreun à« unnombre texte» avec unune élément« dontlettre la». valeur correspondSi à la vitessebase dula son.« Silettre à» laet basele on« multiplienombre un» nombresont avectous undeux nombreune « succession de 0 et de 1 », en pratique ce à quoi correspondenton cesfait nombrescorrespondre rendces une telle« opération videsuccessions de sens,0 et dansde le1 cas» d'unrend langageune àtelle {{glossaire|typageopération fort}},vide de telles opérations sont tout simplement interditessens.
 
Selon le degré d'abstraction du langage, il peut être soit indispensable de préciser le type de la variable lors de sa création, ou bien cela peut ne pas être nécessaire, le langage déterminant automatiquement le type de la variable à sa création, et le modifiant de manière dynamique lorsque la valeur contenue par la variable dépasse la quantité de mémoire correspondant au type précédent.
 
{{todo|Plan proposé :
* Comment un nombre est représenté dans un ordinateur (les nombres complexes sont les derniers en date il me semble : http://docs.python.org/dev/3.0/tutorial/introduction.html#numbers)
* Comment les mots sont représentés (ascii, iso, utf8)
* Les types complexes (listes, matrices, objets...)
}}
 
== Types de données simples ==