« 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

  1. 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:

            ° <, >, >= ,<=, ==

 

  1. 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”, &note1);
            printf(”Donner la note 2: ”);
            scanf(”%f”, &note2);

            printf(”Donner la note 3: ”);
            scanf(”%f”, &note3);
            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