« Les gens travaillent mieux quand ils connaissent le but assigné et pourquoi : il est important que les gens aient hâte de venir travailler le matin et qu’ils aiment travailler. »Elon Musk
- Phase de spécification
Cette phase permet d’élaborer un algorithme à partir du modèle conceptuel d’analyse. Un algorithme est une suite finie d’étapes et d’actions donnant une solution informatique à un problème posé
L’écriture d’un algorithme doit suivre un formalisme qui définit les règles syntaxiques et sémantiques à respecter
a.syntaxe générale
Un algorithme est défini par un nom et est composé de deux parties :
-Une partie déclaration : on déclare l’ensemble des objets de données qui seront utilisés dans la deuxième partie
-Partie corps : composée d’une suite d’actions qui agissent sur les objets de données
Algorithme : nom_algo
Déclaration
//Objet de données
Début
//Traitement:actions
Fin nom_algo
On peut expliciter le rôle des objets de données ou celui des actions en insérant des commentaires. Un commentaire permet de documenter un algorithme. Un commentaire est inséré en ”/*” et ”*/”, ou s’il peut se tenir en une seule ligne, il démarre avec ”//”.
b. Les types et les objets de données
Un objet de données est défini par: un nom, un type et une nature.
°Le nom: est un identificateur de l’objet (unique) composé d’une suite de lettres, des chiffes et le caractère ‘_’.
Exemples:
A ne pas utiliser |
A utiliser |
année |
annee |
prix ht |
prixht, prix_ht |
l’heure |
heure, lheure |
33age |
age, age33, age_33 |
Les noms des objets de données doivent être significatifs ou représentatifs à eviter une seule lettre pour constituer le nom d’un objet de données :
Exemple :
prix_ht : c’est mieux que p
age_fils : c’est mieux que a
°Le type : donne l’ensemble des valeurs que peut prendre un objet de données. En algo, on distingue cinq types :
Nom du type |
Ensemble de valeurs |
Entier |
Valeurs +/- appartenant à l’ensemble Z |
Réel |
Valeurs +/- appartenant à l’ensemble R |
Caractère |
Lettre, chiffre, symbole |
Chaine |
Un ensemble de caractère |
Booléen |
Deux valeurs, true/false (vrai/faux) |
°La nature: Un objet de données peut être une constante ou une variable,
-Constante= Objet qui a la même valeur pendant toute l’exécution du programme
Syntaxe de déclaration:
constante nomConstante = valeur |
Exemple :
constante tva = 20
-Variable : Objet qui change de contenu
Syntaxe de déclaraton :
NomVariable : type |
Exemple :
prix : réel
heure : entier
3. Les actions
3.1 L’affichage
Pour afficher un texte ou le contenu d’une variable, on utilise la fonction afficher.
Syntaxe :
afficher(”texte”)
afficher(”texte”, nomVariable, ”texte”,…)
Exemple :
afficher(”La moyenne est de: ”, moyenne)
3.2 La saisie
Pour affecter une valeur saisie par l’utilisateur à une variable, on utilise la fonction saisir.
Syntaxe :
saisir(nomVariable)
saisir(nomVariable1, nomVariable2)
Exemple :
saisir(prix)
saisir(heure, min, sec)
3.3 L’affectation
Pour affecter une expression calculé à une varialbe, on utilise le signe ”←” qui est différent du signe ”=”. Le signe égal est utilisé en algo pour le test d’égalité
Opérateur |
Désignation |
← |
Affectation |
= |
Test d’égalité |
Syntaxe :
nomVarialbe ← expression
Exemple :
surf ← lg * lr
Pour l’instant il n’y a pas de signe pour ce sens là ”→”
4. Les opérations
On distingues trois types d’opération : arithmétiques, logiques et de test
-Opérations arithmétiques: +, -, *, /, %
-Opérations logiques: et, ou, non / conjonction, disjonction, négation
Les tables de vérité de ces trois opérateurs:
X |
Y |
X et Y |
X ou Y |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
L’opérateur négation:
X |
Non X |
0 |
1 |
1 |
0 |
-Opérations de texte : <, >, >=, <=,!=, =
5. Exemple complet
Rappel du premier exemple de MCA :
Algo: calcul_moyenne
Déclaration
note1, note2, note3, s, m : réel
Début
afficher(”Donner la note 1: ”)
saisir(note1)
afficher(”Donner la note 2: ”)
saisir(note2)
afficher(”Donner la note 3: ”)
saisir(note3)
s ← note1 + note2 + note3
m ← s / 3
afficher(”La moyenne est de: ”, m)
Fin calcul_moyenne
Le langage C.
1.Introduction
Le C est né de l’expérience de Mr. Denis Ritchie qui travaillait dans les laboratoires AT&T de Thomson en 1972 sur le système d’exploitation Unix. (La Bible du C)
Les ancêtres du C:
-Algol en 1960
-Basic en 1966
Le C existe sur toutes les plateformes et gratuit :
-MSDOS: Turbo C
-Windows: Dev C++, Code Blocs, Visual Studio C++
-Linux, Unix, VMS, Mac: compilateur GNU gcc
Les langages respectant la syntaxe du C :
-C++ (1980), C#,…
-Java
-PHP, Python, Ruby, etc…
2.Les types et les objets
°Les types :
Algo |
C |
Entier |
Int, short, long, unsighed |
Réel |
Float(6 décimales), double (12) |
Caractère |
Char |
Chaîne |
Tableau de char |
Booléen |
Assimilé à un int (0,1) |
°Nature:
-Déclaration de variable:
Type nomVariable; |
Exemple:
int heure;
float prix;
-Déclaration d’une contante:
const type nomContante= valeur; |
Exemple:
const float tva=20;
3.Les actions
3.1 L’affichage
Algo |
C |
Afficher() |
printf() |
Syntaxe:
printf(”Texte”);
printf(”format”, nomVariable);
Format:
-%d pour un entier
-%f pour un flottant
-%c pour un char
-%s pour un string (chaine)
Exemple:
printf(”La moyenne est de: %f ”, moyenne);
3.2 La saisie
Algo |
C |
Saisir |
Scanf |
Syntaxe:
scanf(”Format”, &nomVariable);
& = opérateur d’adresse mémoire qui donne l’adresse de la variable
Format: %d, %f, %c, %s
Exemple:
scanf(”%d”, heure);
3.3 L’affectation
Algo |
C |
← |
= (Affectation) |
= |
== (Test) |
Syntaxe :
surf = long * larg ;
4.Les opérations
-Arithmétiques: +, -, /, *, %
S’ajoutent à ces opérations les raccourcis:
° + +, – – : x++: idem que x=x+1 / ++x: idem que x=x+1
° +=, -=, *=, /=, %=
Raccourcis de x=x+a : x +=a
Raccourcis de x=x/2 : x /= 2
-Opérations logiques
Algo |
C |
ET |
&& |
OU |
|| |
Non |
! |
-Opération de test:
° <, >, >= ,<=, ==
- Exemple
Traduction en C de l’algorithme: calcul_moyenne
#include <stdio.h>
int main(){
float note1, note2, note3, s, m;
printf(”Donner la note 1: ”);
scanf(”%f”, ¬e1);
printf(”Donner la note 2: ”);
scanf(”%f”, ¬e2);
printf(”Donner la note 3: ”);
scanf(”%f”, ¬e3);
s= note1 + note2 + note3;
m= s/3;
printf(”La moyenne est de: %f ”, m);
return 0;
}
include: inclusion de librairies
-stdio.h: standard librairie input ouput
fonction d’entrée/ sorties telles que printf, scanf, etc
-string.h: fonctions de chaînes de caractères
-math.h: fonctions mathématiques