Chapitre précédantChapitre suivant

Un peu de Maths

Il est possible de faire des calculs avec les variables, heureusement car sinon elles n'auraient pas grand intérêt; Allez un peu de maths ne fait pas de mal.

Opérations de base


Pour faire une addition avec des variables et/ou des nombres il suffit de faire:
une_variable=une_autre+une_troisieme;
on peut aussi effectuer ces opérations lorsque la variable est crée ou lors de l'appel d'une fonction comme printf,

#include <stdio.h>
#include <stdlib.h>

int main()
{
int une_variable=3;
int une_autre=1+1;
int une_troisieme;
une_troisieme = une_variable + une_autre ;// une_troisieme sera alors égal à 5
printf("une_variable + une_autre + 2 = %d \n", une_troisieme+2) ;//ceci affichera 7
system("PAUSE");
}


Ce code affichera :

une_variable + une_autre + 2 = 7
Appuyez sur une touche pour continuer...


Vous pouvez faire de même pour les soustractions les multiplications et les divisions.

Pour les divisions vous risquez de rencontrer un problème en effet 10/3 vous donnera comme résultat 3 car 10/3=3.33 et l’ordinateur faisant le calcul avec des entiers renverra un entier en tronquant le résultat.



Il existe une 5° opération de base que l’ordinateur est capable d’effectuer c’est le modulo :
10%3 cette opération renvoie le reste de la division par (ici 1)
car 10/3=3 et il reste 1
15%4 renvoie 3 etc.

Opérations avancées


Si vous voulez ajouter 1 à une variable (l’incrémenter) vous pouvez écrire :


int une_variable=21;//la variable vaut 21
une_variable++; //la variable vaut 22
//de même pour la décrémentation
une_variable--; //la variable vaut 21



Si vous voulez lui ajouter un nombre vous pouvez écrire :

une_variable+= 3;
//de même pour la soustraction la division et la multiplication:
une_variable*= 2;



Vous pouvez utiliser des parenthèses pour faire plusieurs calculs dans une ligne :

une_variable =((3+2)*4)%2 ;// (5*4)%2 = 20%2 = 0;



Les multiplications et les divisions sont prioritaires par rapport aux additions et aux soustractions:
4+2*3 = 4+6 = 10 et PAS 4+2*3 = 6*3 = 18.
faîtes attention car l'ordinateur fait les opérations de gauche à droite:
12/3*2 = 4*2 = 8 et PAS 12/3*2 = 12/6 =2



Voici un programme récapitulatif :

#include <stdio.h>
#include <stdlib.h>

int main()
{

int une_variable= 7 ;// une_variable=7
une_variable+= 3 ;// une_variable=10
une_variable-= 2 ;// une_variable=8
une_variable/= 4 ;// une_variable=2
une_variable*= 7 ;// une_variable=14

int une_autre=1+1;// =2
int une_troisieme;
une_troisieme = une_variable / une_autre ;// une_troisieme sera alors égal à 7
printf("une_troisieme = %d\n", une_troisieme) ;//ceci affichera 9
printf("une_autre = %d\n", une_autre) ;//ceci affichera 9
printf("une_variable = %d\n", une_variable) ;//ceci affichera 9
printf("une_troisieme+2 = %d\n", une_troisieme+2) ;//ceci affichera 9
une_troisieme+= une_variable;// ;// une_troisieme sera alors égal à 14+7=21
une_troisieme-- ; ;// une_troisieme sera alors égal à 20

printf("une_troisieme = %d\n", une_troisieme) ;//ceci affichera 9
printf("une_variable/(une_troisieme%%6) = %d\n", une_variable/(une_troisieme%6));// 14/(20%6)= 14/2 = 7
system("PAUSE");
}


Vous devrez voir ceci:

une_troisieme = 7
une_autre = 2
une_variable = 14
une_troisieme+2 = 9
une_troisieme = 20
une_variable/(une_troisieme%6) = 7
Appuyez sur une touche pour continuer...


Librairie mathématique


Si vous voulez acceder aux fonctions de la librairie mathématique, il vous faut ajouter cette ligne à votre code:

#include <math.h>//-----------librairie contenant les fonctions mathématiques.


elle met à votre disposition cette liste de fonctions et d'autres que je ne citerai pas.
ces fonctions sont à utiliser comme ceci:

double ma_variable, x;
ma_variable = sin(x);// ma_variable = sinus de x
ma_variable = cos(x);// ma_variable = cosinus de x
ma_variable = tan(x);// ma_variable = tangente de x
ma_variable = asin(x);// ma_variable = arc sinus de x
ma_variable = acos(x);// ma_variable = arc cosinus de x
ma_variable = atan(x);// ma_variable = arc tangente de x
ma_variable = sqrt(x);// ma_variable = racine carrée de x
ma_variable = fabs(x);// ma_variable = valeur absolue de x


fabs(-23) est égal à 23

double ma_variable, x;
ma_variable = ceil(x);


ceil tronque x en prenant le nombre au dessus
ceil(32.12) est égal à 33

double ma_variable, x;
ma_variable = floor(x);


floor tronque x en prenant le nombre en dessous
floor(32.12) est égal à 32

double ma_variable, y, x;
ma_variable = pow(y,x);// ma_variable = y puissance x


pow(3,4) est égal à 3^4=3*3*3*3=81

il y a aussi ces fonctions log,exp,log10.


Chapitre précédantChapitre suivant

Copyright "NOS Corporation", tous droits réservés
pour me contacter polo_asm@hotmail.fr
Valid XHTML 1.0 Strict