1 of 22

Séance 3

2 of 22

Système Informatique?

  • Techniques du traitement automatique de l’information au moyen des ordinateurs

Système informatique = ordinateur + périphériques

  • Éléments d’un système informatique

MIPC

2

2019/2020

Langages

(Java,C/C++, Fortran,etc.)

Système d’exploitation

(DOS,Windows, Unix, etc.)

Matériel

(PC, Macintosh, station SUN, etc.)

Applications

(Word, Excel, Jeux, Maple, etc.)

3 of 22

Principaux éléments d’un PC

  • Unité centrale (le boîtier) Processeur ou CPU (Central Processing Unit)
    • Mémoire centrale
    • Unité de calcul
    • Unité de commande

  • Périphériques
    • Moniteur (l'écran), clavier, souris
    • Modem, imprimante, scanner, …

MIPC

3

2019/2020

4 of 22

Qu’est-ce qu’un programme d’ordinateur?

  • Allumez un ordinateur, vous n’en tirerez rien!!

  • Pour le faire marcher il faut lui fournir un programme

Ordinateur = matériel + programme(s)

  • Un programme est une suite d’instructions d’ordinateur

  • Une instruction est un ordre compris par l’ordinateur et qui lui fait exécuté une action, c-à-d. une modification de son environnement

MIPC

4

2019/2020

5 of 22

Langages informatiques

  • Un langage informatique est un outil permettant de donner des ordres (instructions) à la machine

    • A chaque instruction correspond une action du processeur

  • Intérêt : écrire des programmes (suite consécutive d’instructions) destinés à effectuer une tâche donnée

    • Exemple: un programme de gestion de comptes bancaires

  • Contrainte: être compréhensible par la machine

MIPC

5

2019/2020

6 of 22

Langage machine

  • Langage binaire: l’information est exprimée et manipulée sous forme d’une suite de bits

  • Un bit (binary digit) = 0 ou 1 (2 états électriques)

  • Une combinaison de 8 bits= 1 Octet 🡺

  • possibilités qui permettent de coder tous les caractères alphabétiques, numériques, et symboles tels que ?,*,&, …

  • Le code ASCII (American Standard Code for Information Inter change) donne les correspondances entre les caractères alphanumériques et leurs représentation binaire, Ex. A= 01000001, ?=00111111

  • Les opérations logiques et arithmétiques de base (addition, multiplication, … ) sont effectuées en binaire

MIPC

6

2019/2020

7 of 22

Langages de programmation:

  • Deux types de langages:
    • Langages procéduraux : sont à base de procédures. Une procédure est une portion de programme écrit en langage de haut niveau qui accomplit une tâche spécifique nécessaire au programme.
    • Langages orientés objets : sont des langages non procéduraux dans lesquels les éléments du programme sont considérés comme des objets qui peuvent s'échanger des messages.

  • Choix d’un langage?

MIPC

7

2019/2020

8 of 22

Cycle de développement du programme

MIPC

8

2019/2020

Spécification

Analyse

Traduction en langage

Compilation

Tests et modifications

Enoncé du problème

Cahier des charges

Algorithme

Programme source

Programme exécutable

Version finale et résultats

La réalisation de programmes passe par l’écriture d’algorithmes D’où l’intérêt de l’Algorithmique

9 of 22

Algorithmique

MIPC

9

2019/2020

10 of 22

Algorithmique ?

  • Une définition simple d’un algorithme : c’est une suite d’instructions qui, quand elles sont exécutées correctement aboutissent au résultat attendu. C’est un énoncé dans un langage clair, bien défini et ordonné qui permet de résoudre un problème, le plus souvent par calcul.
  • C’est un ensemble de règles opératoires rigoureuses.
  • Un algorithme est écrit en utilisant un langage de description d’algorithme (LDA). L’algorithme ne doit pas être confondu avec le programme proprement dit.
  • Le mot algorithme vient du nom du mathématicien Al Khuwarizmi (Muhammad ibn Mūsā alKhuwārizmī), savant persan du IXème siècle, auteur d’un ouvrage appelé "La transposition et la réduction", Aljabr wa’lmuqābalah. Le mot Aljabr deviendra algèbre, le nom de l’auteur sera latinisé en Algoritmi, qui sera à la base du mot algorithme.

MIPC

10

2019/2020

11 of 22

Représentation d’un algorithme

Deux façons pour représenter un algorithme:

  • L’Organigramme: représentation graphique avec des symboles (carrés, losanges,… etc.)
      • offre une vue d’ensemble de l’algorithme
      • représentation quasiment abandonnée aujourd’hui

  • Le pseudo-code égalment appelé Le Langage de description d’algorithme (LDA) : Ce langage utilise un ensemble de mots clés et de structures permettant de décrire de manière complète, claire, l’ensemble des opérations à exécuter sur des données pour obtenir des résultats ; on n’hésitera donc pas à agrémenter l’algorithme de nombreux commentaires.

  • L’avantage d’un tel langage est de pouvoir être facilement transcrit dans un langage de programmation structuré (Pascal, C, …).
          • plus pratique pour écrire un algorithme
          • représentation largement utilisée

MIPC

11

2019/2020

12 of 22

Symbole de construction d’un Organigramme

MIPC

12

2019/2020

13 of 22

STRUCTURE D’UN ALGORITHME

MIPC

13

2019/2020

14 of 22

STRUCTURE D’UN ALGORITHME

1-L’en-tête

Il permet tout simplement d’identifier un algorithme

2-Les déclarations

C’est la liste exhaustive des objets, grandeurs utilisés et manipulés dans le corps de l’algorithme ; cette liste est placée en début d’algorithme.

3-Le corps

Dans cette partie de l’algorithme, sont placées les tâches (instructions, opérations) à exécuter.

MIPC

14

2019/2020

15 of 22

Algorithme monpremier

VAR

titre:chaîne;

DEBUT

titre← "  Bonjour " ; 

afficher(titre);

FIN

MIPC

15

2019/2020

16 of 22

Langage C : Bref historique

  • Le langage C a été créé par Dennis Ritchie aux ‘Bell Telephone Laborateries’ en 1972: il a été conçu pour développer le système Unix.
  • En raison de sa puissance et de sa souplesse, le langage C s’est rapidement répandue au-delà des laboratoires Bell.
  • Les programmeurs ont commencé à l’utiliser pour écrire toutes sortes de programmes
  • Diverses organisations ont utilisé leurs propres versions du langage C. Conséquence : l’implémentation est devenu un casse-tête pour les programmeurs.
  • Réponse à ce problème : l’American National Standards Institute(ANSI) à formé un comité en 1983 pour établir le C standard ANSI.

MIPC

16

2019/2020

17 of 22

Pourquoi utiliser le langage C

  • Souple et puissant : Le langage C est utilisé pour des projets variés comme les systèmes d’exploitation, les traitements de textes, les graphiques, les tableurs, les compilateurs pour d’autres langages.
  • Il existe un large choix de compilateurs et d’utilitaires.
  • Avec la norme ANSI, le C est devenu un langage portable: un programme C écrit pour un type d’ordinateur(IBM) peut être compilé pour tourner sur un autre système avec très peu ou aucune modification.
  • Le langage C est modulaire: son code peut(et devrait) être écrit sous forme de sous-programme appelés fonctions. Si vous passez des informations à ces fonctions, vous obtenez un code réutilisable.
  • C est un langage structuré (offre plusieurs structures de contrôle) et typé (déclarations obligatoires).

MIPC

17

2019/2020

18 of 22

Cycle de développement du programme

  • Création d’un code source en utilisant un éditeur
    • Le code source est une série de commandes qui indiquent à l’ordinateur les tâches que vous voulez lui faire exécuter, il est créé à l’aide d’un éditeur.
    • La plupart des systèmes d’exploitation contiennent un éditeur. Sous Unix vous pouvez utiliser, ed, ex, edit emacs ou vi. Microsoft Windows vous offre le bloc-notes.

MIPC

18

2019/2020

19 of 22

Cycle de développement du programme

  • Compilation du code source
    • Votre ordinateur ne peut pas comprendre le code source. Il ne peut comprendre que des instructions binaires dans ce que l’on appelle du langage machine. Votre programme C doit être transformé en langage machine pour pouvoir être exécuté sur votre ordinateur. Cette opération est réalisée par un compilateur qui transforme votre fichier code source en un fichier contenant le code objet(les mêmes instructions en langage machine).
    • Chaque compilateur possède sa propre commande pour créer le code objet.
      • Windows: C Microsoft, Turbo C, Turbo C++, Borland C, Borland C++, DevCpp.
      • Unix : utiliser la commande c.
      • Linux et Unix: la commande gcc.

MIPC

19

2019/2020

20 of 22

Cycle de développement du programme

  • Création du fichier exécutable
    • Une partie du langage C est constituée d’une bibliothèque de fonctions contenant du code objet destiné à des fonctions prédéfinies. Ces fonctions sont fournies avec votre compilateur. Si votre programme les utilise, le fichier objet obtenu après compilation doit être complété par le code objet issu de la bibliothèque de fonctions. Cette dernière étape, appelée liaison, fournit le programme exécutable (exécutable signifie que ce programme peut être exécuté sur votre ordinateur)

MIPC

20

2019/2020

21 of 22

Cycle de développement du programme : langage C

MIPC

21

2019/2020

Edition

Programme source (.c)

#include…

#include <stdio.h>

…..

main()

{

…..

}

Compilation

Edition de lien

Programme objet (.obj)

Programme executable (.exe)

Fichier en-tête (.h)

………………..

stdio .h

/*déclaration*/

Bibliothèques précompilées (.lib)

…………………..

stdio.lib

22 of 22

Exemple de programme en langage C

#include <stdio.h>//standard input/output

#include <math.h>

#define NFOIS 5

main ()

{ int i;

float x, racx;

printf("Bonjour\n");

printf("je vais vous calculer %d racines carrées\n",NFOIS);

for(i=0;i<NFOIS;i++)

{ printf("donnez un nombre:");

scanf("%f",&x);

if(x<0.0)

printf("le nombre %f ne possède pas de racine carrée\n",x);

else

{ racx=sqrt(x);

printf("le nombre %f a pour racine carrée :%f\n",x,racx);

}

}

printf("travail terminé Au revoir");

}

MIPC

22

2019/2020

Programme principal

Bloc