Académique Documents
Professionnel Documents
Culture Documents
Classe : TI1x
Notion d’objet
Un objet est soit :
Remarque : On ne peut pas faire un traitement sur un objet si on ne connaît pas son type.
- Son nom,
1
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Un entier est représenté par un nombre fixe d'octets (mot machine). C’est pour cette raison que
l'ensemble des entiers en informatique est compris entre un minimum et un maximum avec un bit de
signe (le plus à gauche).
Pour chacun de ces types qui représentent des entiers signés, il existe un type équivalent pour
les entiers non signés et ceci en ajoutant le mot clé unsigned devant chaque type voulu. En
effet, le bit servi pour coder le signe pour les entiers signés entre dans le codage du nombre
ce qui permet de doubler la taille des nombres représentables.
2
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Sur les variables de type Entier, on peut utiliser les opérateurs arithmétiques ainsi que les opérateurs
relationnels.
Désigne les valeurs des réels. Les valeurs de type réel forment un sous-ensemble de
l'ensemble des nombres réels.
Un nombre réel sera représenté sous la forme M.BE avec M mantisse, B base et E exposant.
Exemple : 4.2 x 10-3 -2.51 x 104
En machine, les nombres réels sont représentés dans la norme IEEE 754.
Il existe 3 types de réels :
- float
- double
- long double
Le tableau suivant résume les caractéristiques des flottants (réels) de C :
Sur les variables de type Réel, on peut utiliser les opérateurs arithmétiques ainsi que les opérateurs
relationnels.
3
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Cos(x) cos(x) Donne le cosinus de x. x est cos(0) vaut 1
en radians cos(PI/2) vaut 0
Sin(x) sin(x) Donne le sinus de x sin(0) vaut 0
sin(-PI/2) vaut -1
Exp(x) exp(x) Donne l’exponentiel de x exp(0) vaut 1
Ln(x) log(x) Donne le logarithme népérien log(0.48) vaut -0.73
NA pow(x,y) Donne la puissance de x par y pow(2,3) vaut 8
Une variable de type caractère contient un et un seul caractère. Les caractères peuvent être
des lettres en majuscule ou en minuscule, des chiffres ou des symboles.
Comme les valeurs du type caractère sont ordonnées, on peut donc utiliser les opérateurs
relationnels.
Sur les variables de type caractère, on peut utiliser les opérateurs relationnels, sachant que chaque
caractère est remplacé par son code ASCII.
En langage C, le type char n'est qu'un entier signé codé sur un octet. Il en découle que toutes
les opérations autorisées sur les entiers peuvent être utilisées sur les caractères (ajouter ou
soustraire deux caractères, ...).
4
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Une variable est un objet dont le contenu peut être soit consulté, soit modifié par une action
tout le long d'un algorithme. Une variable est définie par :
son nom ;
son type ;
son contenu.
Exemples:
En algorithmique En langage C
x : réel double x ;
Une constante est un objet dont l'état reste inchangé tout le long d'un algorithme. Seule la
consultation est autorisée.
son nom ;
sa valeur.
5
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
En langage C :
Exemples:
En algorithmique En langage C
PI=3.14 #define PI 3.14
ou
const double PI=3.14 ;
ANNEE=2020 #define ANNEE 2020
ou
const int ANNEE=2020 ;
Opérateur En algorithmique En C
Addition + +
Soustraction - -
Multiplication * *
Division réelle / /
Remarques :
- Le résultat de la division de deux entiers est un entier. Si le résultat n’est pas entier la
partie décimale est ignorée.
- L’opérateur modulo (%) ne peut pas être utilisé avec des nombres décimaux (float,
double, …).
6
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Egal = ==
Différent ≠ !=
Négation NON !
ET logique ET &&
OU logique OU ||
Opérateur En C Exemple
7
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
+= x+=3 ; x=x+3
-= y-=2 ; Y=y-2 ;
*= z*=4 ; z=z*4 ;
/= x/=2 ; x=x/2 ;
%= x%=y x=x%y
Entre les opérateurs que nous venons de présenter, nous pouvons distinguer les classes
de priorités suivantes :
Priorité 3: *, /, %
Priorité 4: +, -
Priorité 6: ==, !=
- Dans chaque classe de priorité, les opérateurs ont la même priorité. Si nous avons une
suite d'opérateurs binaires de la même classe, l'évaluation se fait en passant de la
gauche vers la droite dans l'expression.
- Pour les opérateurs unaires (!, ++, --) et pour les opérateurs d'affectation =,( += , -=,
*=, /=, %=), l'évaluation se fait de droite à gauche dans l'expression.
8
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Une opérande peut être une constante ou une variable de type Entier, Réel, Caractère ou Booléen.
IV.1 L'Affectation
L’affectation est une instruction qui permet de placer une valeur dans une variable qui
doit être préalablement déclarée.
Syntaxe:
En algorithmique En C
<variable> <expression> <variable>=<expression> ;
Une variable
En algorithmique En C
xy x=y ;
Une expression
En algorithmique En C
xz*y x=z*y ;
A 1 3 B
Aux
Exemple
En algorithmique En C
AuxA Aux=A ;
AB A=B ;
BAux B=Aux ;
10
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Format général:
Saisir (<nom_variable1> [ , <nom_variable2>, … ,<nom_variableN>])
Ou bien
Lire (<nom_variable1> [ , <nom_variable2>, … ,<nom_variableN>])
L’instruction de lecture (saisir) permet de lire à partir du clavier la valeur à affecter à la
variable <nom_variablei> au moment de l’exécution du programme.
Exemples:
Lire (n) cette instruction permet de saisir une valeur dans la variable n
Lire (a,b,c) cette instruction permet de saisir 3 valeurs respectivement dans les
variables a,b et c
« stdio.h » est le nom d’un fichier de définitions, des fonctions et des constantes utilisées
dans un programme pour des entrées ou des sorties standards.
std → Standard
i → Input
o → Output
h → header (entête)
Exemple :
char c ;
c=getchar() ;
12
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Exemple :
char c ;
c=’a’ ;
putchar(c) ;
VI.4. Fonction scanf()
Elle permet d’affecter la valeur saisie à partir du clavier à la variable mise en paramètre
selon le type concerné.
Syntaxe :
Une spécification de conversion commence par le caractère % suivi d’un type de conversion
comme suit :
%c Caractère : Char
13
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
Exemple :
char c,y ;
float x ;
int i ;
scanf(“%c“, &c) ;/* saisir un caractère et le stocker dans la
variable c */
Elle permet d’afficher sur l’écran les variables mises en paramètre selon le type
concerné. Syntaxe :
Exemple :
int i ;
char c ;
i=5 ;
c=’a’ ;
printf(“ %c %d “ , c , i ) ; /* permet d’afficher l’entier 5
et le caractère a sur l’écran */
- La fonction printf() peut ne pas contenir des arguments.
Exemple :
printf(“ bonjour “) ;
Exemple :
int d=203 ;
float f=23.54 ;
14
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
#include <stdio.h>
int main () {
ALGORITHME Surface1
VAR
longueur, larg, surf : Réel double longueur, larg,
surf;
DEBUT
longueur 12.5
larg 7.3 longueur=12.5;
larg=7.3;
surf long * larg surf=longueur*larg;
Ecrire ( La surface du rectangle
printf("La surface est
est : , surf) %f",surf);
FIN return 0;
#include <stdio.h>
int main () {
15
Cours : Algorithmique et programmation I Année universitaire : 2020-2021
Classe : TI1x
ALGORITHME Surface2
VAR
double longueur, larg, surf;
long, larg, surf : Réel
DEBUT printf("Introduire la longueur
du rectangle : ");
Ecrire ( Introduire la longueur scanf("%lf",&longueur);
du rectangle : ) printf("Introduire la largeur
Lire (long) du rectangle : ");
Ecrire ( Introduire la largeur scanf("%lf",&larg);
du rectangle : ) surf=longueur*larg;
FIN
16