0% ont trouvé ce document utile (0 vote)
51 vues51 pages

Programation 1

Transféré par

nadadado027
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
51 vues51 pages

Programation 1

Transféré par

nadadado027
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algorithmique et programmation

c
1ère Année Licence en EEA

Chapitre1 : Initiation au langage C : Notions de base

Slimene Ons

2023-2024
Objectifs

• Initier les étudiants à apprendre les bases de


programmation .
• Se familiariser aux vocabulaires de programmation
• Ecrire et compiler un langage en C
2
C’est Quoi un Algorithme ?

 Un algorithme représente une séquence d’instructions


(Actions), logiquement ordonnées, qui permet de résoudre
un problème donné.

Problème à Algorithme
résoudre
Exemple d’un algorithme

Instructions:

1. Allumer le four pour le préchauffer à 150°c.

2. Mélanger les ingrédients dans un saladier.

3. Verser le contenue du saladier dans un moule à gâteau.

4. Quand le four est chaud, enfourner le gâteau.

5. Attendre 40 minute de cuisson.

6. Sortir le gâteau du four.


Ingrédients:
7. Laisser refroidir le gâteau.
- 4 oeufs.
- 200g de sucre. 8. Démouler le gâteau.
- 200g de beurre.
- 200g de farine. 9. Miam !
Analyse et Résolution d’un Problème
Problème

Analyser et Etudier le problème à Résoudre


Modèle

Spécifier le modèle de Résolution : données et les


formules mathématiques
Algorithme

Écrire l’algorithme
Programme

Traduire l’algorithme à un programme

Résultats

Exécuter le programme par un ordinateur afin


d’obtenir des résultats
C’est Quoi un Programme ?

 Un programme est le résultat de la traduction d’un


algorithme. Cette traduction est effectué en choisissant un
langage de programmation

 Séquence d’instructions destinées à être exécutées par un


ordinateur

 Un langage de programmation définit un ensemble de


règles syntaxiques (comment écrire correctement le
programme) et sémantiques (le sens affecté à chaque
instruction ou structure de programme)
Pourquoi le langage C ?

Le langage C a été mis au point par Ritchie et Kernighan au début des années 70.
Leur but était de développer un langage qui permettrait d’obtenir un système
d’exploitation de type UNIX portable

 Les avantages du C :

Universel : n’est pas orienté vers un domaine d’applications spécifique


Près de la machine
Rapide
Portable : il est possible d’utiliser le même programme sur autre système
Extensible
Structure général d’un programme C

#include "stdio.h“ les directives de précompilation

/* début du programme */
int main()

{
déclarations des variables;
instructions;

return;
}

-Les directives de précompilation sont des instructions spéciales dans un programme

-fonction main est la fonction principale

-L’exécution du programme entraine automatiquement l’appel à la fonction main


Exemple d’un programme C

#include <stdio.h>

/* début du programme */
int main()
{
printf("Ceci est un programme simple!");

return;
}
Entrée

- aucune entrée -

Sortie

Ceci est un programme simple!

9
Les types de données :variable
- La programmation est basée sur deux concepts nécessaires
les variables et les instructions

-Une variable est une sorte de boite, étiquetée, ou l’on peut


stocker de l’information pour le consulter et le modifier plus
tard

-Les variables correspondent aux récipients utilisés dans une


recette et les instructions aux différentes étapes de la recette
Qu’est ce qu’une variable

Une variable est un objet (emplacement) en mémoire repéré


par son nom ou son adresse, pouvant contenir des données.
mémoire

Adresse Nom de la variable Valeur

0x1E02 A 20

0xEE15 X 2.36
Qu’est ce qu’une variable

Une variable est caractérisée par :

Type Nom Valeur


Le nom de variable
- Les noms de variables doivent respecter certaines règles et conventions :

- Les noms de variables peuvent contenir des lettres (majuscules et


minuscules), des chiffres et le caractère souligné (underscore, _).

-Les noms de variables doivent commencer par une lettre ou un caractère


souligné.

-Les symboles utilisables sont :


-0,1,2……..9
-A,B,……….Z
-a,b,c,………z
-_

- Le nom de variable ne doit pas être un mot clé du langage C


Le nom de variable
Nom de variables correctes: Nom de variables incorrectes:

nom1 1nom

nom_2 nom.2

Nom_de_variable Nom de variable

deuxieme_choix deuxiéme_choix

Continue continue
Types de variables
Les variables en langage c sont typées, elles sont stockées
dans la mémoire et occupent un nombre d’octets dépendant
du type de donnée stockée.

Types de variables

char int short [int] long [int]

caractères Entiers entiers courts Entiers longs

float double long double unsigned int

Nombres Nombre décimaux de Nombre décimaux Entier non


décimaux précision supérieur encore plus précis signé
Types de variables : entier
Type de donnée Signification Taille (en octets ) Plage de valeur accepté

short Entier court 2 32768 à 32767

unsigned short Entier court non signé 2 0 à 65535

int Entier 2 (processeur 16 bits) -32768 à 32767


4 (processeur 32 bits) -2147483648 à 2147483648
unsigned int Entier non signé 2 (processeur 16 bits) 0 à 65535
4(processeur 32 bits) 0 à 4294967295
long Entier long 4 -2147483648 à 2147483647

unsigned long Entier long non signé 4 0 à 4294967295


Types de variables : réel
Type de donnée Signification Taille (en octets ) Plage de valeur accepté

float flottant 4 5.9x10-39 à 3.4 x1038.

double Flottant double 8 5.9x10-39 à 3.4 x1038.

long double Flottant double long 10 5.9x10-39 à 3.4 x1038.

La précision des nombres réels dépend du nombre du chiffres après la virgule


Types de variables : caractère
Type de donnée Signification Taille (en octets ) Plage de valeur accepté

char Caractère 1 -128 à 127

unsigned char Caractère non signé 1 0 à 255


Types de variables : booléen
Type de donnée Signification Taille (en bits ) Valeur

bool booléen 1 0 ou 1
Exercice
Donner le type des données suivantes :
Donnée Type

"d " char

-300 int ou flaot

"8 " char

2506.6 float

87 int ou unsigned int

True bool
Déclarations des variables
Les déclarations permettent de réserver de l’espace en
mémoire pour les variables.

Syntaxe de déclaration:
Type nom_variable [=valeur] ;

Exemples :

int main()
{
int nb;
char c = “a”;
bool admis;
Les types de données : constante
Qu’est ce qu’une constante:

Une constante est une valeur qui apparait littéralement dans le


code source d’un programme, le type de la constante étant
déterminé par la façon dont la constante est écrite. Les
constantes peuvent être de 4 types : entier, flottant (nombre
réel), caractère, énumération
Déclarations des constantes
Syntaxe de déclaration d’une constante:

const Type nom_constant = valeur ;

Exemples:

const float pi = 3.14;

const int nb_mois = 12;


Affectation

-L’affectation est une opération qui consiste à attribuer à


une variable :

-Soit une valeur particulière

-Soit une valeur contenue dans une autre variable

-soit une valeur calculée à l’aide d’opérateurs arithmétiques


Affectation
Syntaxe d’affectation:
nom_variable = valeur;
Exemples:

La variable A reçoit la valeur 2


A=2;

B=A; La variable B reçoit Le contenu de A

C=A+B; La variable C reçoit Le résultat de A plus B

D=‘’M’’; La variable D reçoit La valeur M


Exercice : déclaration et affectation

- Soient trois variables A , B et C tels que :

-A est de type entier : int A;

-B est de type caractère : char B;

-C est de type logique : bool C;

Comment on déclare les variables A,B et C dans ce cas ?


Exercice : affectation
Compléter le tableau suivant :

Instructions A B C D
B=2; 2
C=B+10; 2 12
A=4; 4 2 12
D=A; 4 2 12 4
B=B*D; 4 8 12 4
C=B+5; 4 8 13 4

A=10+4+C; 27 8 13 4
C=A+B+D; 27 8 39 4
L’instruction d’écriture : printf()

-printf() permet d’afficher la valeur d’une expression sur


l’écran. Une expression peut être :

-Une chaine de caractères (en mettant la chaine entre deux


apostrophes)

-Un nombre, une variable numérique, un résultat d’une


opération entre plusieurss variables
L’instruction d’écriture : printf()
Syntaxe :

printf("texte", var, cons, expr,…);

• le texte à afficher
• les spécificateurs de
format • variables ou constantes
•Caractère d’échappement ou expressions
L’instruction d’écriture : printf()
Exemples :

Signifie affiché sur l’écran le message suivant :


printf("maroc"); maroc

printf("A=%d ",A); Signifie affiché sur l’écran le contenu de la variable


A
L’instruction d’écriture : printf()
Les spécificateurs de format Type

" %d " int

" %ld " long

" %f " float ou double

" %c " char


L’instruction d’écriture : printf()
Les caractères d’échappement Type

" \n " Retour à ligne

" \t " Tabulation horizontale

" \’ " Affiche une apostrophe

" \’’ " Affiche un guillemet


" \\ " Affiche un antislash
" %% " Affiche un %
L’instruction de lecture: scanf()

-scanf () permet de demander à l’utilisateur de fournir des


informations. Chaque information donnée par l’utilisateur
est stockée dans une variable

Syntaxe :

scanf("format_1,.. ", &var_1, …);

Adresse Nom du variable


Spécificateur de
format
L’instruction de lecture : scanf()
Exemples:

• scanf("%lf", &n) ; Pour demander la valeur de n ( n est


de type réel)

• scanf("%d", &x) ; Pour demander la valeur de x ( x est


de type entier)

• scanf("%c", &y) ; Pour demander la valeur de y ( y est


de type caractère )

• scanf("%d%d%d", &jour, &mois, &année) ;


Exercice 1
Ecrire un programme qui calcule l’aire du cercle.
1- Donner les instructions de déclaration
2- Donner les instructions qui permet de l’utilisateur de taper
les valeurs de données
3- Donner les instructions de traitement
4- Donner les instructions qui permettent d’afficher le résultat
Correction
#include <stdio.h>
int main()
{
const float pi = 3.14;
float rayon;
float surface;

printf("Veuillez entrer le rayon du cercle : ");


scanf("%f", &rayon);

surface = pi * rayon * rayon; // Instructions pour afficher le résultat

printf("L'aire du cercle est : \n", surface);

return 0; }
Les opérateurs: arithmétiques
 Une expression arithmétique est formée par des combinaisons
d’objets numériques (entier et réel) et des opérateurs arithmétiques

Une expression arithmétique donne un résultat numérique dont le


type est entier ou réel.

N = (20+B) * k;

Opérateurs arithmétiques
Les opérateurs: arithmétiques
 Les opérateurs arithmétiques classiques sont :

 + addition
 - soustraction
 * multiplication
 / division
 % reste de la division (modulo)
 ++ incrémentation
 -- décrémentation

Remarque : L’opérateur % ne s’applique qu’à des opérandes de


type entier.
Les opérateurs: arithmétiques
 Exemples :

 B=15/3;

A=10%3;
Équivalent à
A=A++; A=A+1;

A=A--; A=A-1;
Puissance en langage c
 Il n’y a pas en C d’opérateur effectuant l’élévation à la puissance.
il faut utiliser la fonction pow(x,y) de la librairie math.h pour
calculer x puissance y .

Exemple :
#include <stdio.h>
#include <math.h>

int main(){
int A,B,C;
A=2;
B=3;
C=pow(A,B);
printf(“%d“,C);

return 0;
}
Division en langage c

#include <stdio.h>
#include <math.h>
Affecter le résultat de la division à
int main(){ une variable entière (type entier)

float A,B;
int C;
C= A / B;
printf(“%d“,C);

return 0;
}
Les opérateurs : comparaison
• Une expression de comparaison donne un résultat booléen
(vrai ou faux ). Les opérateurs de comparaison usuels sont :

• > strictement supérieur


• >= supérieur ou égal
• < strictement inférieur
• <= inférieur ou égal
• == égal
• =! Différent

Exemple : N= (3*A / 7) <= (18 * B)

Opérateur de comparaison
Les opérateurs d’affectation composée

Opérateur Opération normal Opération élargie

+= X=X+Y; X+=Y;

-= X=X-Y; X-=Y;

*= X=X*Y; X*=Y;

/= X=X/Y; X/Y;

%= X=X%Y; X%Y;
Les opérateurs : logiques
 Une expression logique est la composée d’expressions de
comparaisons par les opérateurs logiques

 Les opérateurs logiques sont :

 && et logique
 || ou logique
 ! Négation logique
Les opérateurs : logiques
-Les résultats des opérateurs logiques sont du type int :
- La valeur 1 correspond à la valeur booléenne vrai
- La valeur 0 correspond à la valeur booléenne faux
-Les opérateurs logiques considèrent toute valeur différente
de zéro comme vrai et zéro comme faux

-Exemple :

N= (A > B) && 3+B == 9


Les opérateurs : logiques

A B A&&B A||B !A

FALSE FALSE FALSE FALSE TRUE

FALSE TRUE FALSE TRUE TRUE

TRUE FALSE FALSE TRUE FALSE

TRUE TRUE TRUE TRUE FALSE


La priorité des opérateurs
Certains opérateurs sont prioritaires par rapport aux autres. Voici la liste des opérateurs
par ordre décroissant de priorité.

Priorité Opérateur
1 la plus forte ()
2 ! ++ --
3 * / %
4 + -
5 < <= > >=
6 == !=
7 &&
8 ||
9 = += *= /= -= %=
La priorité des opérateurs
Exemple :
Supposons pour l’instruction suivante :
X=2*(A+3)*B+4*C avec A=5, B=10 , C=4;

L’ordinateur évalue tout d’abord l’expression entre


parenthèses en suite les multiplications.
A+3 8
2*8*b 160 , 4*c 16

Ensuite il fait l’addition de trois résultats obtenues : 160+16


X=164
Exercice
Soient les déclarations suivantes :
int n = 5, p = 9 ;
int q ;
float x ;
Quelle est la valeur affectée aux différentes variables concernées
par chacune des instructions suivantes ?
a) q = n<p ; q=1
b) q = n == p ; q=0
c) q = p % n + p>n ; q=5
d) x = p / n ; x= 1.8
e) x = (p + 0.5)/n ; x=1.9
f) x = (5*15) > pow(5,5); x=0
Exercice
Ecrire un programme C qui lit trois entiers et affiche leur
somme, leur produit et leur moyenne.
Correction
#include <stdio.h>

int main()
{ // Déclaration des variables
int entier1, entier2, entier3, somme, produit;
float moyenne;
// Saisie des trois entiers
printf("Veuillez entrer trois entiers ");
scanf("%d %d %d", &entier1, &entier2, &entier3);
// Calcul de la somme, du produit et de la moyenne
somme = entier1 + entier2 + entier3;
produit = entier1 * entier2 * entier3;
moyenne = somme / 3.0;
// Affichage des résultats dans une seule instruction printf
printf("Somme : %d\nProduit : %d\nMoyenne : %.2f\n", somme, produit,
moyenne);

return 0; }

Vous aimerez peut-être aussi