Vous êtes sur la page 1sur 23

Cours de rattrapage

Programmation structurée
Qu’est-ce qu’un programme?
• Un programme est une suite d'instructions définies dans un langage
de programmation donné. Il décrit un algorithme.
• Un langage de programmation est un ensemble de règles de
vocabulaire et de grammaire compréhensible par un ordinateur.
Quelques concepts élémentaires du C
• Variables
• Affectation
• Les instructions d'entrées-sorties : lecture et écriture
• Instructions conditionnelles
• Instructions itératives
• Tableaux
• Fonctions
Notion de variable
A quoi servent les variables ?
• Permettent de manipuler des valeurs et les stocker provisoirement
dans la mémoire.
• une variable a un type, une valeur et un identificateur
• une variable peut être vue comme une case mémoire
• On peut lire et écrire des valeurs dans cette case mémoire
Notion de variable
• Les variables doivent être déclarées avant d’être utilisées,
• elle doivent être caractérisées par :
• un nom (Identificateur)
• un type (char, int, short, long, float, double, long double)
• En pseudo-code:
Type liste d'identificateurs ;
Exemple:
int i, j, k=3 ;
short valeur, compteur, total ;
char c, d=5, e1 ;
float x1, x2, x3 ;
double p=-15.25, q=25e-15, t ;
long double h, w ;
Notion de variable: Les types
Notion de variable: Identificateur
• Un identificateur doit être différent d’un mot clé du langage.

auto break case char const continue


default do double else enum extern
float for goto if int long
register return short signed sizeof static
struct switch typedef union unsigned void
volatile while
Notion de variable : Format d’affichage
• Le langage C propose plusieurs types entiers avec des précisions
différentes.
• Pour afficher un entier au format décimal, il suffit d’utiliser
l’instruction « printf » et de préciser le format %d.
• Les nombres flottants sont affichés en utilisant le format %f pour une
écriture usuelle (partie entière et partie fractionnaire) et le format %e
(ou %E) pour une écriture scientifique normalisée.
L’affectation
• En C l'affectation est effectuée grâce à l'opérateur "="
var = val;
• val est une expression
• la variable var prend la valeur de l'expression val
Exemple
#include <stdio.h>
int main () {
int a=45;
float x = 0.5e+30;
printf ("\n %d", a);
printf ("\n %f", x);
return 0;
}
Les instructions d'entrées-sorties: lecture et
écriture
• L'écriture permet d'afficher des résultats à l'écran
• En pseudo-code, on note :
printf("le message à afficher ");
• La lecture permet d'entrer des donnés à partir du clavier
• En pseudo-code, on note:
scanf("%d", &var);
Exemple
#include <stdio.h>
int main () {
int i, j ;
float a, b, c ;
scanf ("%d%d", &i, &j);
scanf ("%f%f%f", &a, &b, &c);
printf ("\n Valeurs lues : %d %d”, i, j);
printf ("\n Et : %f %f %f", a, b, c);
return 0 ;
}
Les opérateurs
• des opérateurs arithmétiques : +, -, % (modulo), *, /
• des opérateurs logiques :
• NON : !
• OU : ||
• ET : &&
• des opérateurs de comparaison : <, <=, >, >=, ==, !=
Exemple : opérateurs arithmétiques
#include <stdio.h>
int main () {
int i = 14, j = 547896;
n=j+3%i*2;
c=b*4-i/j;
m = (a - 5) / (n / 3) ;
printf ("\n %d\t%d\t%d", i, j, k);
printf ("\n %d\t%d\t%d", l, m, n);
return 0;
}
Exemple : opérateurs logiques
#include <stdio.h>
int main () {
int i = 5, j = 0, k = 13, l, m;
float a = 5, b = -2.5, c = 10.25;
printf ("\n !i : %d\t i && j : %d\t j || k : %d ", !i, i && j, j || k);
l = (i>j) && (a<k);
m = (b!=c) || (b>a);
printf ("\n l : %d\t m : %d", l, m);
return 0;
}
Exemple : opérateurs de comparaison
#include <stdio.h>
int main () {
printf ("\n 3>4 : %d", 3>4);
printf ("\n 4>3 : %d", 4>3);
printf ("\n 4==3: %d", 4==3);
printf ("\n 3>=4: %d", 3>=4);
printf ("\n 3<=4: %d", 3<=4);
printf ("\n 3!=4: %d", 3!=4);
return 0;
}
Instructions conditionnelles
• Permettent d'exécuter des instructions sous certaines conditions
• Branchement conditionnel : if... else
if(expression){
instruction 1
} else {
instruction 2
}
• Le branchement multiple : switch
Permet le traitement d'une variable qui peut prendre différentes valeurs.
switch (expression){
case valeur 1: instruction1; break;
case valeur 2: instruction2; break;
default: instruction;
};
Exemple : if ….. else
Un programme qui lit 2 entiers saisi au clavier et qui affiche le plus grand et le plus petit des 2.

#include<stdio.h>
int main() {
int x, y, min, max;
printf("Entrez deux entiers\n");
scanf("%d%d", &x,&y);
if(x>y) {
min=y; max=x;
} else {
min=x; max=y;
}
printf("le plus petit entier est :%d\n", min);
printf("le plus grand entier est :%d\n", max);
}
Exemple : switch
Un programme qui affiche le choix d’un client dans le menu d'un fast food. Le
client choisit son plat à l'aide du numéro correspondant à chaque plat.
Exemple d’affichage:
=== Menu ===
1. Cheese burger
2. Panini
3. Pizza
4. Sandwitch

Votre choix ?
2
Vous avez choisi le panini
#include <stdio.h>
#include <stdlib.h>
int main() {
int choixMenu;
printf("=== Menu ===\n\n");
printf("1. Cheese burger\n");
printf("2. Panini\n");
printf("3. Pizza \n");
printf("4. Sandwitch\n");
printf("\nVotrechoix ? ");
scanf("%d", &choixMenu);
printf("\n");
switch (choixMenu) {
case 1: printf("Vous avez choisi le Cheese burger \n"); break;
case 2: printf("Vous avez choisi le panini \n"); break;
case 3: printf("Vous avez choisi la pizza\n"); break;
case 4: printf("Vous avez choisi le Sandwitch \n"); break;
default: printf("Vous n'avez pas rentrer un nombre correct. Vous ne mangerez rien du tout !");
}
return 0;
}
Exercice
• Soit le programme :
if (A>B) printf ("premier choix \n");
else if (A>10) printf ("deuxième choix \n");
if (B<10) printf ("troisième choix \n");
else printf ("quatrième choix \n");
a) Réécrire ce programme en appliquant les recommandations de style vues au cours.
b) Déterminez les réponses du programme pour chacun des couples de nombres suivants.
• A=10 et B=5
• A=5 et B=5
• A=5 et B=10
• A=10 et B=10
• A=20 et B=10
• A=20 et B=20
Exercice
• Écrire un programme qui calcule la distance entre deux points d'un
plan. Le programme doit :
a) Lire les coordonnées de deux points : (x1, y1) et (x2, y2).
b) Afficher les données lues
c) Calculer la distance d entre les deux points, avec la formule : d
d) Afficher le résultat à l'écran.
Exercice
• Ecrire un programme qui réalise le traitement suivant :
a) Lit une valeur flottante F qui exprime la température en degré
Fahrenheit.
b) Convertir la température en degré Celsius en utilisant la formule : 𝐶
= (5/9)(𝐹 − 32)
c) Affiche l’un des messages suivants :
• « Il fait chaud » si C ≥ 30
• « Il fait beau » si 30 > C ≥ 16
• « Il fait froid » si 16 > C ≥ 8
• « Il fait très froid » si 8 > C

Vous aimerez peut-être aussi