Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Cours 4 :
Algorithmique et
programmation
1
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Introduction
Applications
(Word, Excel, Jeux, Maple, google chrome, etc.)
Langages de programmation
(pascal, Java,C/C++, Fortran,etc.)
Système d’exploitation
(DOS, Windows, Unix, Macintosh, Android, etc.)
Matériel
(PC,serveur, station SUN, etc.)
3
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
4
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Langages informatiques
Un langage informatique est un outil permettant de donner
des ordres (instructions) à la machine
• A chaque instruction correspond une action du
processeur
5
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
6
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Compilateur/interpréteur
Compilateur: traduire le programme entier une fois pour
toutes
Compilateur exécution
exemple.c exemple
fichier source fichier exécutable
Enoncé du problème
Spécification
Cahier des charges
Analyse
Algorithme
Traduction en langage
Programme source
Compilation
Programme exécutable
Tests et modifications
Version finale et résultats
9
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Algorithmique
Le terme algorithme vient du nom du mathématicien arabe
Al-Khawarizmi
Un algorithme est une description complète et détaillée des actions
à effectuer et de leur séquencement pour arriver à un résultat donné
Intérêt: séparation analyse/codage (pas de préoccupation de syntaxe)
Qualités: exact (fournit le résultat souhaité),
efficace (temps d’exécution, mémoire occupée), clair (compréhensible),
général (traite le plus grand nombre de cas possibles), …
10
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
11
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
12
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Description de l’algorithme
Environnement/ Déclaration
13
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Description de l’algorithme
Corps/ programme
14
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Notion de variable
Dans les langages de programmation une variable sert à stocker la
valeur d’une donnée et/ou Résultat
Règle : Les variables doivent être déclarées avant d’être utilisées, elle
doivent être caractérisées par :
un nom (Identificateur)
un type (entier, réel, caractère, chaîne de caractères, …)
15
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Exemple:
Variables d’entrées/sorties/ ou intermédiaire i,j,k : entier
………………………………………………. x, y : réel
18
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
L’instruction d’affectation
L’affectation consiste à attribuer une valeur à une variable (ça
consiste en fait à remplir où à modifier le contenu d'une zone
mémoire)
Remarque:
- e : peut être une valeur, une autre variable ou une expression
-Var et e doivent être de même type ou de types compatibles
19
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Quelques remarques
L'affectation n'est pas commutative : A=B est différente de B=A
20
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
21
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Expressions et opérateurs
Une expression peut être une valeur, une variable ou une opération
constituée de variables reliées par des opérateurs
exemples: 1, b, a*2, a+ 3*b-c, …
22
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
* , / (multiplication, division)
% (modulo)
+ , - (addition, soustraction)
Exemple: 2 + 3 * 7 vaut 23
exemple: (2 + 3) * 7 vaut 35
23
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Algorithme : Calcul_double
Données A : entier
Résultats B : entier
Début
écrire("entrer le nombre ")
lire (A)
B = 2*A
écrire (B)
Fin
25
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que la
condition est fausse, aucun traitement n'est réalisé
Exemple (Si…Alors…Sinon)
Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis
qui teste et affiche s'il est divisible par 3 ou non
Algorithme : Divsible_par3
Données A : entier
Début
écrire("entrer le nombre ")
lire (A)
Si (A%3== 0) alors debut_si
écrire ( "le nbr A est Divisible par 3" )
fin_si
Sinon debut_sinon
écrire ( " le nbr A n’est pas Divisible par 3 ")
Fin_sinon
Fin
27
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Sinon Début_sinon
Si (A>0) alors début_si
Ecrire ("Ce nombre est positif")
Fin_si
Sinon début_sinon
Ecrire ("Ce nombre est nul")
Fin_sinon
Fin_sinon
28
Fin
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Les boucles Tant que : on y répète des instructions tant qu'une certaine
condition est réalisée
29
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
30
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Exemple (Pour)
Calcul de x à la puissance n où x est un réel et n un entier positif
Tantque (Condition)
Debut_Tantque
instructions
Fin_Tantque
Exemple (Tantque)
Un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 5
Algorithme : Déterminer N
Intermédiaire: i, Som: entier
var Sortie N: entier
Début
i=0
Som=0
Tantque (Som<=5) Début_Tantque
i=i+1
Som=Som+i
fin_Tantque
33
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Répéter
Debut_Répéter
instructions
Fin_Répéter
Tantque (Condition)
les instructions entre Répéter et Tantque sont exécutées au moins une fois et
leur exécution est répétée Tantque condition soit vrai.
34
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Exemple (Répéter…Tantque)
Un algorithme qui détermine le premier nombre entier N tel que la
somme de 1 à N dépasse strictement 5
Algorithme : Déterminer_N
Intermédiaire: i, Som: entier
Var sortie N: entier
Début
i=0
Som=0
Répéter Début_Répéter
i=i+1
Som=Som+i
fin_Répéter Tanque (Som<=5)
35
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
36
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
37
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
38
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Exemple
/* Programme Affiche nombre */
# include <stdio.h>
int a;
int main()
{
a = -12;
return 0;
}
39
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Généralités
Pour introduire un texte en tant que commentaire, il suffit de
précéder la ligne par /*……………..*/
40
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
41
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Opérateurs
42
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : l'affectation
C : instructions d'entrées-sorties
La fonction Printf : printf("%d",A); permet d'afficher la valeur de la
variable A (c'est l'équivalent de écrire en pseudo code).
printf( " la Somme= %d",S);
44
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : instructions d'entrées-sorties
Exemple:
int x=10 ; float y=2,5 ;
printf (" je vais afficher %d", x) ; // je vais afficher 10
printf (" je vais afficher %.2f",y) ; // je vais afficher 2.50
45
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : instructions d'entrées-sorties
La fonction scanf: scanf("%d",&A); permet de saisir la valeur de la
variable A (c'est l'équivalent de lire en pseudo code).
Exemple:
float y ;
scanf(%f", &y) ; // je veut saisir la valeur de y
46
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
47
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Exemple (if…..else)
Ecrire un programme qui demande deux nombres entier à l'utilisateur, puis
affiche le plus grand.
Solution :
#include <stdio.h>
int A,B;
int main ()
{
printf("donnez le premier nombre");
scanf(" %d ", &A);
printf("donnez le deuxième nombre");
scanf(" %d ", &B);
if (A > B) {
printf(" %d est supérieur à %d", A,B);
}
else {
printf(" %d est supérieur à %d", B,A);
}
return 0; 48
}
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Répéter Début_Répéter do {
instructions instructions;
Fin_Répéter }
Tantque (Condition) While (Condition);
49
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
50
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Exemple For N
i+ 1
Écrire un programme C qui permet de calculer S=∑ 2 avec N ∈ℕ
i =1 −(2i+ 1)
#include <stdio.h>
#include <math.h>
int N,i; float S;
int main ()
{ printf("donner un nombre N:");
scanf("%d",&N) ;
S=0 ;
for (i=1; i<=N ; i++)
{
S=S+ (i+1)/(-pow(2*i+1,2));
}
printf("La somme = %f ",S) ;
return 0 ;
}
51
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
52
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
// printf("\n");
}
printf("fin du programme\n");
return 0;
53
}
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C: Table de branchement
Pour éviter les imbrications d'instructions if, le C possède une
instruction qui crée une table de branchement : c'est l'instruction
switch
La syntaxe du switch est résumée:
switch (Variable) {
case value1 : <bloc d'instructions 1> ;
break ;
case value2 : <bloc d'instructions 2> ;
break ;
case valueN: <bloc d'instructions 3> ;
break ;
default : <bloc d'instructions 4> ;
break ;
}
54
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Exemple SWITCH
#include <stdio.h>
char c; float a,b,res;
int main ()
{ scanf("%f",&a) ;
scanf("%f",&b) ;
scanf("%c",&c) ;
switch(c) { case '+': res=a+b;
break;
case '-': res=a-b;
break;
case '*': res=a*b;
break;
case '/': if (b!=0) res=a/b;
else printf("erreur de division par zero");
break;
default: printf(" cette opération est erronées");
}
printf("Le Résultat = %f",res);
return 0 ; 55
} 2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
Remarque: Mis à part break qui peut être utilisé dans le contexte d’un bloc
switch, les instructions de rupture de séquence ne peuvent être utilisées que
dans le corps d’une boucle.
C : Exemple Break
Exemple:
#include <stdio.h>
int d ;
int main ()
{
for (d=100; d>=0; d-=10)
{ if(d == 50) {
break;
}
printf("%d ", d);
}
printf( " fin du programme\n") ;
return 0 ;
}
57
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Exemple Continue
Exemple:
#include <stdio.h>
int d ;
int main ()
{
For (d=100; d>=0; d-=10)
{ if(d == 50) {
continue; }
printf("%d ", d);
}
printf( " fin du programme\n") ;
return 0 ;
}
58
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1
Cours 4 : Algorithmique et programmation
C : Exemple goto
Exemple:
#include <stdio.h>
int d ;
int main ()
{
For (d=100; d>=0; d-=10)
{ if (d == 50)
goto pr;
printf("%d ", d);
}
pr: printf( " fin du programme\n") ;
return 0 ;
}
59
2014-2015 © École Préparatoire en Sciences et Techniques Semestre 1