MagPI 4 Page 24

De Le French MagPi
Aller à : Navigation, rechercher

Tutoriel 2 - Variables, conditions et boucles.

Avant de commencer le tutoriel de ce mois, regardons rapidement la solution du défi du mois dernier :


Solution du défi


#include <stdio.h>
int main()
{
  int i = 100, j = 9, k;
  i = i/10;
  k = i - j;
  printf("Bravo, ce programme compile. \n" );
  printf("%d- %d = %d\n" , i , j , k);
  return 0;
}


Aviez-vous tout trouver ? Au lieu d'essayer de chercher toutes les erreurs avec les yeux, c'est souvent une bonne idée d'utiliser un compilateur pour les trouver. Quand un programme est bien conçu, le compilateur peut être un outil utile pour mettre en évidence les fautes de frappe.


Les langages de programmation offrent différentes façons d'écrire des structures similaires. Les langages Scratch, Python, et C, tous permettent de déclarer des variables, des conditions logiques et des boucles.

Variables

Il existe deux sortes de variables numériques en C, (i) les nombres entiers (c.-à-d. int) et (ii) les nombres en virgule flottante (c.-à-d. float). Quand une variable est déclarée, un bloc de mémoire lui est alloué. La quantité de mémoire allouée à un int ou à un float est la même, mais ils ne sont pas stockés de la même manière. Un int est enregistré en mémoire avec un bit de signe et une valeur sur 31 bits. Par exemple,


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1


représente 13 en décimal. De la droite vers la gauche, les bits correspondent à 2^0, 2^1, ..., 2^30. Le bit de signe se trouve à l'extrême gauche. Le nombre treize est formé à partir de la somme des bits. Le plus grand nombre qu'il est possible de représenter est 2^31-1, soit 2147483647. Si on ajoute un à ce nombre, il devient -2147483648. Cela se produit à cause du bit de signe qui est positionné. Voici un programme de test simple,

#include <stdio.h>
int main()
{
  int i = 2147483647; /* Affecte la valeur (2^31)-1 à i */
  i++; /* Incrémente i */
  printf("%d\n" , i ); /* Affiche la valeur de i */
  return 0; /* Retourne succès au système d'exploitation. */ 
}


Un int ne peut pas être utilisé pour stocker un nombre fractionnaire. Les nombres fractionnaires ou à virgule peuvent être stocker dans un float. Contrairement au type int, un float se compose de trois parties : un signe, un exposant et une mantisse. Par exemple,


0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0

correspond à 3,14159 en décimal. Le bit de signe est tout à gauche, les bits d'exposant sont au milieu et les bits de la mantisse sont à droite. Le nombre est formé par cette multiplication : signe x 2^exposant x mantisse

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils