Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

LA PROGRAMMATION

Par Andy MUBALAMA N'NAKA Publié le 28/10/2016 à 17:57:40 Noter cet article:
(0 votes)
Avis favorable du comité de lecture
Andy Mubalama

INTRODUCTION

La programmation consiste avant tout à déterminer la démarche permettant d’obtenir, à l’aide d’un ordinateur la solution d’un problème donné. C’est ce que l’on nomme généralement « L’ANALYSE »ou encore « LA RECHERCHE D’ALGORITHME ». La traduction de cette analyse dans un langage de programmation donnée n’en constitue que l’aboutissement et la codification suivant des règles précises.

Or,le faute de disposer d’un moyen rationnel lui permettant d’exprimer sa démarche, le programmeur en est souvent réduit à « penser » dans le langage qu’il a appris en premier. Dans ces conditions, les contraintes spécifiques du langage, ses particularités techniques, voire sa complexité, masquent nécessairement les aspects fondamentaux de l’analyse.

Il est impérieux de fournir les élément de baseintervenant en programmation, quelque soit le langage employé : variable ; type; instruction d’affectation, de lecture, d’écriture, structures. Une attention très particulière, veut que malgré son caractère fondamental. La programmation est une discipline qui ne peut se maîtriser que par la pratique.

L’ORDINATEUR ET LA PROGRAMMATION

LE PROGRAMME

Comment un ordinateur peut-il effectuer des taches aussi variées ?

On entend dire qu’il suffit de le programmer.

Effectivement, l’ordinateur est capable de mettre en mémoire un programme qu’on lui fournit puis de l’exécuter. Précisément, l’ordinateur possède un répertoire limité d’opérations élémentaires qu’il sait exécuter très rapidement et sans erreur.

Un programme est constitué d’un ensemble des directives, nommées instructions, qui spécifient :

1- les opérations élémentaires à exécuter et

2 - la façon dont elles s’enchaînent (se suivent)

Notons que s’il est possible de réaliser des choix et des répétitions, c’est uniquement parce que l’ordinateur a mis le programme en mémoire. Ainsi, par exemple, il pourra répéter à diverses reprises les mêmes instructions sans qu’il ne soit nécessaire de les lui fournir plusieurs fois.

C’est là un point fondamental quidistingue l’ordinateur d’une machine à programme « externe »

A.communication ou archivage ?

- D’où proviennent les données ?

- Que deviennent les résultats ?

Réponse : les données sont communiquées au programme par l’utilisateur et les résultats par le programme.

De manière analogue, l’intérêt des programmes d’interrogation des bases de données réside dans la qualité et la quantité d’informations déjà archivées auxquelles ils ont accès. Notez que ces mêmes informations qui ont dû préalablement êtrearchivées par d’autres programmes dont elles apparaissent alors comme résultat. Ceci montre la relativité de la notion des données ou de résultat. Une même information peut-être donnée ou résultat, suivant l’usage que l’on en fait.

En général, cet échange d’information entre programme et milieu extérieur parait assez naturel. En revanche, on voit clairement que le programme représente lui-même une information particulière. Comme les données, il sera, soit communiqué à l’ordinateur par l’homme soit prélevée automatiquement dans des archives. Pour des raisons purement technologiques, l’ordinateur ne peut (actuellement) traiter qu’une information exprimée sous forme « binaire ».

Quand vous transmettez une information à l’ordinateur (par exemple en tapant des chiffres ou des lettres sur un clavier), il est nécessaire qu’il la transforme en binaire. Nous dirons alors qu’il réalise un «codage en binaire??? » de cette information. De même, avant de vous fournir un résultat, il devra opérer une transformation symétrique.

Voici un schéma illustrant la mise n présence de deux milieux : le milieu de l’ordinateur ou tout est exprimé en binaire ; l’environnement de l’ordinateur ou l’information s’exprime sous des formes multiples mais nous sont familières.

Quant aux codes binaires employés par l’ordinateur, ce sont tout simplement des codes à deux moments. Il suffit donc de deux symboles pour exprimer une information binaire. Leur choix est purement conventionnel. Nous pourrions utiliser ● et O comme dans le schémaprécédent. Généralement, on emploie tout simplement les deux premiers chiffres de notre système décimal, c’est- à - dire 0 et 1

Ainsi :

Représente une information binaire utilisant huit positions. Chaque position porte le nomde ״bit״. Le terme bit est donc l’équivalent pour les codes binaires, des termes chiffres ou lettres employés par les codes rencontrés précédemment.

EN DEFINITIVE

L’ordinateur code l’information, l’homme fait de même, cependant l’ordinateur code « plus ». si l’on peut dire ; il n’est en effet pas possible d’attribuer un sens à la seule vue d’une information binaire.

B.Commentparler à l’ordinateur

Comme nous l’avons vu, l’ordinateur ne sait exécuter qu’un nombre limité d’opérations élémentaires, dictées par des instructions de programmes codées en binaire. En d’autres termes l’ordinateur ne peut comprendre que le langage machine.C'est-à-direquelque soit le langage choisi, ce que nous exprimons doit être, en fin de compte, traduit par un programme, dans le langage de l’ordinateur. Plus le langage est élaboré, plus le programme de traduction devient complexe. Ceci explique qu’actuellement, on doive se restreindre à des langages ayant un nombre limité de mots, avec des règlesde syntaxe assez rigoureuse. Nous allons examiner succinctement les différentes sortes de langages qui nous permettent de parler à l’ordinateur

En langage ASSEMBLEUR

Supposons qu’en langage machine l’instruction est :

Ceci signifie: Additionner (0101) les valeurs contenues dans les mots d’adresses :

010011 Et 011010

Nous pouvons choisir d’exprimer cela sous une forme un peu plus parlante par exemple :

Pour que la chose soit réalisable, il suffit de disposer d’un programmedeconvertir ADD en 0101 et deremplacer les symboles A et B par des adresses binaires (ici 010011 et 011010). Tous les conducteurs sont en mesure de fournir avec leur ordinateur unprogrammecapable de traduire un langage du type de celui que nousvenons d’évoquer. Un tel langage se nomme « langage d’assemblage» ou « Assembleur»

Toutefois, bien qu’ils se ressemblent, tousles ordinateurs n’ont pas exactement le même répertoire d’instructions. D’autres part, mêmesiun tel langage est plus facile d’emploi que le langage machine, il ne s’en distingue que par son caractère « Symbolique ». Les deux langages possèdent pratiquement les mêmes instructions, laseule différence réside dans la façon de les exprimer.

Dans tous les cas, l’emploi del’assembleur nécessite une bonne connaissance du fonctionnement de l’ordinateur utilisé. On exprime souvent cela en disant que ce langage est orienté machine. Réaliser un programmenécessite de penser davantage à la machine qu’à son problème. Très viteest apparu l’intérêt dedéfinir des langages généraux utilisable sur n’importe quel ordinateur et « orientés problèmes », autrement dit permettantà leurutilisateursde penser davantage à leur problèmequ’à la machine.

C’est ainsi que sont nés de très nombreux langages que l’on a qualifiés d’évolués. Parmi eux, il y en à qui sont tombé dans l’oubli mais quelques-uns sont passés à la postérité : FORTRAN,BASIC, COBOL, PL/I, PASCAL, ADA, C… Certains se veulent spécialisés (Fortran pour le domaine scientifique, Cobol pour la gestion) d’autres se sont voulues avec plus ou moins de bonheur, d’intérêt général (Basic, PL /I, Pascal, C).

Quelque soit le langage évolué utilisé,il est nécessaire d’en réaliser par programme, la traduction en langage machine. Pour cela, il existe deux techniques différentes :

- la compilation et

- l’interprétation.

Tandis que la compilation consiste à traduire dans un premier temps l’ensemble du programme(écrit enunlangage évolué) en un programmeen langage machine ; dans un deuxième temps, ce programmeest exécuté. Par contre, l’interprétation consiste à traduire chaque instruction du programmeavant de l’exécuter.

Qu’est-ce que la programmation ?

A priori, vous pouvez penser que laprogrammation consiste à réaliser des programmesdans un langage donné.

Devant l’existence d’un grand éventail de langages, vous pouvez vous poser la question :

Y'a-t-il plusieurs sortes de programmation ?

Effectivement, à l’heure actuelle,l’idée reste très répandue qu’il existe des programmeurs Basic, des programmeurs Cobol, des programmeurs Pascal, etc. Cette idée est d’autant mieux entretenue que beaucoup de personnes abordentdirectement la programmation par l’étude d’un langage.

En fait, la plupart des langages utilisent les mêmes concepts fondamentaux :

- certains sont imposés par la nature même des ordinateurs. C’est par exemple le cas de la notion de variable qui consiste à donner un nom à un mot de la mémoire ; elle est donc liée à la notion technologique d’adresse. De même, tout langage possède des instructions permettant d’échanger des informations entre la mémoire et les périphériques.

- D’autres, plus théorique, sont liés aux « structure » qui se relève utiles dans un programme. On appelle structure, ce qui permet d’exprimer comment enchaîner les instructions d’un programme.

Est-ce parce qu’on connaît un langage qu’on peut savoir programmer ?

Il faut savoir simplement que le langage n’est rien d’autres qu’un moyen d’expression, de la ״démarche qui va permettre d’obtenir la solution du problème posé.״

Fonctionnement d'un programme

Par les instructions d’écriture et de lecture

Nous avons vu comment l’instruction d’affectation permet de manipuler des variables. Généralement, pour qu’un programme présente un intérêt pratique, il devra pouvoir nous communiquer un certains nombre d’informations (résultats), par l’intermédiaire d’un périphérique. Ce sera là lerôle de l’instruction ״d’écriture״ De même nous pouvons dans certains cas êtreemmenés à transmettre des information (données) à notre programme, toujours par l’intermédiaire d’un périphérique. Cela sera réalisé par l’instruction de « Lecture ».

Instruction d’Ecriture: Communication programme - utilisateur

Le rôle de cette instruction à pour objet de nous fournir des résultats sous une forme directement compréhensible. Plus précisément elle écrit sur un périphérique les valeurs d’une ou plusieurs variables.

Notez qu’une telle instruction ne se contente pas de transmettre à un périphérique le simple contenu binaire des variables concernées (nous aurions certainement quelques peines à l’interpréter). Elle doit également transformer les contenus en un ou plusieurs caractères compréhensibles par l’utilisateur. Supposons par exemple qu’on demande d’écrire le contenu d’une variable numérique contenant la valeur 147 (codée en binaire). L’instruction correspondante devra (après des opérations de conversion) transmettre au périphérique concerné les caractères 1,4 et 7 (en toute rigueur, elle transmet au périphérique les codes binaires de chacun de ces caractères). Dans la plupart des langages, il est possible de choisir le périphérique sur lequel on souhaite écrire.

Voici l’instruction :

Signifiera : écrire les valeurs X et de Y dans cet ordre sur ce péripherique.

Présentation des résultats

Considérons ce petit programme :

Son exécution écrira quelque chose du genre :

Ce sont bien les valeurs des variables x et y. toutefois si nous considérons uniquement ces résultats, sans connaître le détail du programme, nous nous trouverons simplement en présence de deux valeurs. Rien ne nous dire ce que chacune d’entre elles représente. Certes l’exemple est ici très simpliste avec peu de confusion possible. Par contre vous imaginez qu’un véritable problème d’identification des résultats va se poserdès que le programmeécrira quelques valeurs. Nous sortirons de cette confusion par l’utilisation des ״libellés ״

DISPOSITION

Dans l’exemple précédent, nous avons fait apparaître les valeurs 1 et 5 sur la mêmeligne. C’est effectivement ce qui se passera dans la plupart de langage.

Par contre, le nombre d’espace séparant ces deux valeurs dépendra du langage ; la plupart des temps, vous pourrez mêmele choisir. Ici, nous ne nous préoccuperons pas ces détails dedisposition.

Cela ne sera nécessaire que lorsque vous passez à l’étude d’un langage donné.

Par ailleurs, nous conviendrons (arbitrairement) que chaque instruction d’écriture, écrit toujours sur une nouvelle ligne.

Ainsi ce petit programme ;

Des variables x,y,et z s’écrira :

Fournira les résultats :

Exemple 1: écrire un programmequi calcule et écrit le carré de 547.

Solution 299209

Exemple 2 Quel résultat produira ce programme :

Solution

N’est-ce pas qu’une instruction machine effectue des opérations sur des valeurs repérées par leur ״adresse ״. L’introduction des langages nous a montré qu’on y reprenait une telle adresse par un ״nom ״.

En programmation, une variable est donc un nomqui sert à repérer un emplacement donné de la mémoire centrale.

Cette notion, simple en apparence,contribue considérablement à faciliter la réalisation deprogrammes.

Elle vous permet en effet de manipuler des valeurs sans avoir à vous préoccuper de l’emplacement qu’elles occuperont enmémoire centrale.Cette notion contribue considérablement à faciliter la réalisation des programmes sans avoirdes confusions sur les données.

Pour cela, il vous suffit tout simplement de leur choisir un nom. Bienentendu, la chose n’est possible que parce qu’il existe un programmedetraduction (compilateur ou interpréteur) de votre programme dans le langage machine ; c’est lui qui attribuera une adresse à chaquevariable.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels