3. la démarche à suivre pour résoudre un problème:
Problème
Analyse
Algorithme
Programme
Compilation
Exécution
4. Phase de réflexion qui permet d'identifier les
caractéristiques du Problème à traiter
Découper le problème en une succession de tâches
simples et distinctes:
Les données importantes
Le résultat recherché
La méthode de résolution du problème
5. Ex: La moyenne de 10 notes
Les données importantes: les notes (n1,n2,…,n10)
Le résultat recherché: La moyenne (Moyenne)
La méthode de résolution du problème:
Somme=n1+n2+…+n10
Moyenne=Somme/10
Calculer
Moyenne
Saisie clavier:
n1,n2,…,n10
Affichage écran:
Moyenne
notes
saisies
moyenne
affichée
Additionner
les données
notes et
stocker la
somme
Diviser la
donnée
somme par
10 et stocker
la moyenne
6. Enchaînement des actions (instructions) nécessaires
pour résoudre un problème
C’est une série d’opération à effectuer expliquant
comment obtenir un résultat à partir des données.
Constitue la brique de base d’un programme
informatique.
Suffisamment proche des langages de programmation
Différentes appellations
langage algorithmique
pseudo-langage de programmation
pseudo-code
7. Un programme est un fichier texte des
instructions et de leurs enchaînements dans
un langage informatique
ex: C, PASCAL, JAVA,C++,VB, Python, …
Permet de résoudre un problème posé.
Utilise un ou plusieurs algorithmes.
8. C’est la transformation en langage machine
(101000101100101001011… ) d'un programme
écrit en langage évolué
Un programme compilé permet au système
d’exploitation de déclencher l’exécution.
10. Les erreurs de programmation s'appellent des ≪
bugs »
L'ensemble des techniques que l'on met en œuvre
pour les détecter et les corriger s'appelle ≪ debug »
(ou ≪ débogage ≫).
Il existe trois types d'erreurs :
• Erreurs de syntaxe
• Erreurs sémantiques
• Erreurs à l'exécution
11. Erreurs de syntaxe
Tout langage comporte sa syntaxe.
la moindre erreur de syntaxe produit invariablement un arrêt
de fonctionnement ainsi que l'affichage d'un message d'erreur.
Erreurs sémantiques
Un programme fait exactement ce que vous lui avez dit de
faire.
Se produit lorsque la séquence d'instructions de votre
programme ne correspond pas à l'objectif poursuivi.
Erreurs à l'exécution
L'erreur à l’exécution (Run-time error), apparait seulement
lorsque votre programme fonctionne déjà, mais que des
circonstances particulières se présentent (par exemple, votre
programme essaie de lire un fichier qui n'existe plus).
Ces erreurs sont également appelées des exceptions.
13. Les variables
Types de variables
Les constantes
Règles d'écriture des variables et des
constantes
14. Une variable est un espace mémoire qui
possède:
une valeur contenue par la case mémoire
un identificateur : nom unique par lequel on peut
accéder à son contenu
un type qui définit la taille de la place occupée
Avant de pouvoir utiliser une variable il faut la
déclarer.
Cette déclaration consiste en une réservation
en mémoire de la place nécessaire et
suffisante à l’hébergement de la valeur
15. Syntaxe:
Algorithmique :
Var <Identificateur_Variable> : <Type_Variable>;
C :
<Type_Variable> <Identificateur_Variable> = valeur;
17. En C
Les entiers
Il représente des nombres entiers (ex 1, 5, -327).
Syntaxe : int <Identificateur_Variable> = valeur;
signed int est la valeur signée (négative ou
positive).
unsigned int représente des valeurs positives ou
nulles.
Par défaut une valeur int est signée
Autres entiers: Short, long
18. En C Les entiers
définition description
domaine
min
domaine
max
nombre
d'octets
short entier court -32768 32767 2
int
entier
standard
-32768 32767 2
long entier long -2147483648 2147483647 4
définition description
domaine
min
domaine
max
nombre
d'octets
unsigned
short
entier court 0 65535 2
unsigned int
entier
standard
0 65535 2
unsigned
long
entier long 0 4294967295 4
19. En C
Les réels
Il désigne les nombres décimaux réels (positifs ou
négatifs) (à virgule flottante).
Syntaxe: float <Identificateur_Variable> = valeur;
Autres réels: Double, long double
Nom de Type Intervalle
Float -3.4E38 à +3.4E38
double -1.7E308 à +1.7E308
long double -1.7E308 à +1.7E308
20. En C
Char
Il désigne les caractères.
Syntaxe : char <Identificateur_Variable> = valeur;
22. Exemples:
En Algorithmique
Var Nombre : Entier;
Chiffre: Réel;
Mot : Caractère;
Test: Booléen;
En C
Int Nombre=5 ;
float Chiffre1, chiffre2;
Char Mot = 'c‘;
int a= 0, b= 10, le-chiffre;
23. Ce sont les données dont la valeur ne peut pas être
modifiée au cours de l’algorithme ou du programme.
Une constante de type caractère se note en
écrivant le caractère entre apostrophes.
Une constante de type chaîne de caractères se
note en écrivant ses caractères entre guillemets.
Exemples:
Caractère: 'A' '2' ' " '
Chaînes de caractères : "A" "Bonjour à tous! "
24. Syntaxe:
En Algorithmique :
Const <Identificateur> = <valeur>;
En C :
Const <type><Identificateur>=<valeur>;
Exemples :
En Algorithmique
Const PI = 3,1415;
En C
Const float TPS = 0,07 ;
25. Caractères non affichables formés d’un backslash
() et d’un ou plusieurs caractères.
Exemple :
n retour à la ligne.
t tabulation.
a alarme (un bip).
' l’apostrophe.
le backslash.
" les guillemets.
26. Choisir des noms explicites
Les noms sont composés de lettres, de chiffres
et des symboles « - » et « _ ».
Aucun accent n’est autorisé.
Les espaces sont interdits.
On ne commence pas par un chiffre.
29. Une action peut avoir besoin de demander les
données du problème de l’extérieur (clavier) :
Entrée.
Il peut aussi afficher des résultats à l’extérieur
(écran) : Sortie
Syntaxe:
En Algorithmique
lire ( <liste de id_variables> );
écrire ( <liste d'expressions> );
Exemple:
Var x:Entier;
Lire(x);
Ecrire (" la valeur de x est : ", x);
30. En C: Pour afficher un texte à l'écran:
Printf (format, liste d'expressions) ;
Format : constante chaîne (en " ")
Liste d'expressions: suite d'expressions
Type Indicateurs Type Indicateurs
char %c double %f
int %d long double %Lf
long %ld unsigned int %u
short %hd unsigned short %hu
float %f unsigned long %lu
Exemple: const double pi = 3.1415926536;
printf("pi = %f", pi);
31. En C
Autres Fonctions de sortie:
puts : écrit une chaîne de caractères suivie
d’un saut de ligne.
puts ("bonjour") printf ("bonjour n")
putchar : écrit un seul caractère (sans n).
putchar (a) printf ("%c",a)
32. En C: Pour lire les données entrées par l'utilisateur:
Scanf (format, liste des id_variables)
Liste de id_variables : liste les variables qui peuvent contenir les
données entrées par l'utilisateur.
Les indicateurs de conversions sont peu différents de
ceux de printf :
Double %lf
Exemple: char lettre; scanf("%c", &lettre);
int age; scanf("%d", &age);
long age; scanf("%ld", &age);
short age; scanf("%hd", &age);
float taille; scanf("%f", &taille);
double taille; scanf("%lf", &taille);
int x, y; scanf("%d %d", &x, &y);
33. En C
Autres fonctions d’entrée
gets lit tout jusqu’à validation avec la
touche Entrée.
getch() lit un caractère unique. Elle
renvoie le caractère lu.
34. Écrire l’algorithme et le programme C qui demande à
l’utilisateur de rentrer son âge et qui affiche le résultat sous la
forme suivante :
35. Algorithme
Var age : Entier;
Ecrire ("Veuillez entrer votre âge : ");
Lire(age);
Ecrire("Votre age est : ",age);
Programme C
36. Un opérateur est un signe qui peut relier
deux valeurs, pour produire un résultat.
Les opérateurs possibles dépendent du
type des valeurs qui sont en jeu.
Il y a plusieurs types d’opérateurs.
37. Algorithmique C Rôle
+ + Addition
- - Soustraction
* * Multiplication
/ / Division
DIV renvoie le quotient de la division
MOD % renvoie le reste de la division
Opérateurs numériques
38. Algorithmique C Rôle
< < Inférieur strictement
<= <= Inférieur ou égale
> > Supérieur strictement
>= >= Supérieur ou égale
= == Egal à
<> != Différent
Opérateurs relationnels
39. Algorithmique C Rôle
ET && Et logique
OU || OU logique
NON ! Négation logique
Opérateurs logiques
41. C Rôle
+ = Addition de la valeur de gauche à la valeur de droite
- = Soustraction de la valeur de gauche à la valeur de droite
* = Multiplication de la valeur de gauche à la valeur de droite
/ = Division de la valeur de gauche à la valeur de droite
% = Reste de la division de la valeur de gauche à la valeur de
droite
Opérateurs d'assignation
42. Cette action élémentaire permet de donner une
valeur à une variable.
Syntaxe:
En algorithmique:
<nom_variable> <expression>;
En C:
<nom_variable> = <expression>;
Exemple:
Var A : entier; int A ;
A 28; A = 28;
43. Nombre 10
un nom de variable •un ensemble de valeurs liées par
des opérateurs
•le résultat final est obligatoirement
du même type que la variable
44. Quelles seront les valeurs des variables A
et B après exécution des instructions
suivantes ?
Var A, B : Entiers ;
A 1 ;
B A + 3 ;
A 3 ;
A B
1 4
3 4
45. Que produit l’algorithme suivant ?
Var A, B, C : Caractère ;
A "423";
B "12";
C A + B;
A B C
"423" "12" "42312"
46. Donner le contenu des variables de ces 3
groupes indépendants d'instructions.
a 12 ;
b 15 ;
c 13 ;
a a + b ;
b a – b ;
a a + c ;
c a – c ;
a c – b ;
c c – a ;
a b c
12 15 13
27 12 13
40 12 27
15 12 12
47. Donner le contenu des variables de ces 3
groupes indépendants d'instructions.
a = 12 ;
b = 5 ;
a-= b ;
c= ++a ;
b =a++;
d=--a;
a b c d
8 8 8 8
48. {nom de l'algorithme}
ALGORITHME Nom_Algorithme ;
{Déclaration des constantes}
Const déclaration de constantes;
{Déclaration des variables}
Var déclaration de variables;
{Début de l'algorithme}
DEBUT
Instructions;
FIN. {Fin de l'algorithme}
49. /*nom du programme*/
#include <stdio.h> /* Accéder à la
bibliothèque */
/* Début du programme */
main ()
{
déclaration des constantes; /* Déclaration
des constantes */
déclaration des variables; /* Déclaration
des variables */
Instructions;
}
50. <complex.h> : Pour manipuler les nombres complexes.
<errno.h> : Ensemble des codes d'erreurs renvoyés par les fonctions.
<float.h> : Contient des constantes qui spécifient les propriétés des
nombres en virgule flottante.
<limits.h> : Contient des constantes qui spécifient les propriétés des
types entiers.
<math.h> : Pour calculer des fonctions mathématiques courantes.
<stdio.h> : Fournit les capacités centrales d'entrée/sortie du langage C,
comme la fonction printf.
<stdlib.h> : Pour exécuter diverses opérations dont la conversion, la
génération de nombres pseudo-aléatoires, l'allocation de mémoire,
le contrôle de processus, la gestion de l'environnement et des
signaux, la recherche et le tri.
<string.h> : Pour manipuler les chaînes de caractères.
<time.h> : Pour convertir entre différents formats de date et d'heure.
51. Ecrire un algorithme et programme (en C) qui
demande l'entrée de 2 nombres entiers et
calcule la somme, la différence et la moyenne.
Chaque résultat sera affiché sous la forme d'une
phrase,
Exemple : La somme de 5 et 3 est 8
52. Algorithme Calcul;
Var n1, n2: Entiers;
DEBUT
Ecrire("Veuillez entrer un premier nombre entier:");
Lire(n1);
Ecrire("Veuillez entrer un deuxième nombre entier:");
Lire(n2);
Ecrire("la somme de", n1_entier," et ","est : ",n1+n2);
Ecrire("la différence entre ", n1," et ","est : ", n1-n2);
Ecrire("la moyenne entre ", n1," et ","est : ", (n1+n2)/2);
FIN
55. Modifier l'algorithme et le programme (en
C) précédents afin de pouvoir saisir des
nombres réels et formater les affichages
des nombres réels avec deux chiffres
après la virgule.
56. Algorithme:
Var n1Reel, n2Reel: Réel;
Ecrire("Veuillez entrer un premier nombre réel::");
Lire(n1Reel);
Ecrire("Veuillez entrer un deuxième nombre réel:");
Lire(n2Reel);
Ecrire("la somme de", n1Reel," et ", n2Reel , "est :
",n1Reel+n2Reel);
Ecrire("la différence entre ", n1Reel," et "", n2Reel , "est : ",
n1Reel-n2Reel);
Ecrire("la moyenne entre ", n1Reel," et "", n2Reel , "est : ",
(n1Reel+n2Reel)/2);
58. 1. Ecrire un algorithme, puis un programme (en
C), qui permet de réaliser ces opérations:
Dit bonjour ;
Demande deux nombres entiers à l’utilisateur ;
Les additionne, soustrait, multiplie et les divise ;
Dit au revoir.