Introduction les langages de programmation

Formation introduction les langages de programmation, tutoriel & guide de travaux pratiques en pdf.

Les ordinateurs

Composants principaux :
– Unite centrale (CPU) ou processeur, pour le traitement des donnees et instructions logees en m´emoire centrale. Capable d’executer un ensemble d’instructions dites instructions machine. Il s’agit d’op´erations simples telles que la lecture/ecriture en memoire centrale, operations arithmetiques et logiques, comparaison des valeurs, branchement (saut) vers une adresse afin de poursuivre l’ex´ecution, etc. Ces instructions sont codees´ en binaire (s’equences de 0 et de
1) et diff`erent dans chaque plateforme mat´erielle. Ainsi , une instruction qui s’ex´ecute sur un processeur Intel/PC ne peut pas s’ex´ecuter sur un processeur SPARC/Sun.
– Memoire´ Centrale (RAM), tr`es rapide (acc`es directe), mais volatile. Cette m´emo ire est orga-nis´e comment une suite d’emplacements appel´es mots et munis chacun d’une adresse. On doit y stocker les donn´ees a` traiter, ainsi que les instruction s machine a executer. Tout programme a` ex´ecuter et toute donn´ee a` traiter doit etreˆ charg´e en m emoire´ centrale au prealable.
– Periph´eriques´. Dispositifs de communication de l’ordinateur pour l’aquisition, production, communication des donn´ees : clavier, ecran, enceintes, p orts de communication ; et pour le
stockage persistent tels que disques durs, disquettes, etc.
Fonctionnalit´es principales :
– Ex´ecution des instructions des programmes charg´es en m´ emoire centrale.
– Commande des p´eriph´eriques.
– Acquisition, stockage, communication et production des d onn´ees : saisie au clavier, affichage a` l’´ecran, etc.

Les langages de programmation

Il en existe deux groupes principaux :
– Langages de haut niveau. (Ex : C, Ada, Pascal, Cobol, Java, OCaml, Python). Ils fournissent des nombreuses constructions sophistiqu´ees qui facilitent l’ecriture des programmes. Ils sont comprehensibles par les humains, mais pas directement exécutables par les machines. Un pro-gramme ecrit en langage de haut niveau devra etreˆ traduit e n langage machine avant son execution.
– Langages de bas niveau. Ce sont les differents ensembles d’instructions propres a` chaque machine (SPARC/Sun, Intel/PC, etc). Appeles egalement langages cibles ou natifs. Ils sont cod´es en binaire et directement executables par chaque ma chine.

Langages de haut niveau

Un langage de programmation est compose de trois ensembles : un ensemble de types de donnees, un ensemble de r`egles de construction syntaxiques des instructions et un ensemble de regles` semantiques´. Ces trois composants d´ecrivent toutes les possibilit´es d es donn´ees et instructions dans un programme, ainsi que leur comport´ement a` l’ex´ecution.
– Les types des donnees´ : utilis´ees pour d´ecrire et mod´eliser les donn´ees. Exemple : Le type int en Java sert a` mod´eliser les nombres entiers.
– La syntaxe : r`egles de formation textuelle des instructions et des programmes. Exemple : pour ecrire´ l’expression math´ematique 1 ≤ x ≤ 7, une syntaxe possible en Java est : 1 <= x && x <= 7.
– La semantique´ : r`egles qui pr´ecisent, d’une part le comportement ou le sens des contruc-tions syntaxiques lorsqu’elles sont execut´ees par une machine et d’autre part, les contraintes de coherence´ entre types. Exemples : 4+3*2 equivaut´ en Java a` la valeur enti`ere 10. L’expres-sion « bonjour » * 2 est bien form´ee du point de vue de la syntaxe, mais pas du point de vue s´emantique : * est un op´erateur num´erique, et ici il a pour op´erande la ch aˆıne de caract`eres « bonjour ». Cette expression est incoh´erente vis-a`-vis des types.

La production des programmes

La fabrication d’un programme suit les phases suivantes :
1. Analyse et Conception : On etablit´ pr´ecisement le probl`eme a` resoudre, les don n´ees de d´epart et ce que l’on souhaite obtenir en r´esultat, puis, on raisonne sur la mani`ere de repr´esenter les donn´ees du probl`eme, et sur une m´ethode de resolution. Ce tte m´ethode est ensuite enonc´ee sous forme de suite de pas a` accomplir pour aboutir aux solutions : c’est l’algorithme de resolution du probleme`.
Repr´esentation donn´ees
⇒ Modele` des donnees´
+
Enonc´e pas a` pas des traitements
⇒ Algorithme
2. Codage : il s’agit de traduire l’algorithme en langage de programmation, et sous forme de fichier texte (c.a.d., suite de caracteres sans formattage ni mise en page). Le resultat du codage est un fichier appel´ code source du programme.
3. Mise au point : comprend le plus souvent plusieurs etapes´ rep´et´ees jus qu’`a ce que le pro-gramme semble satisfaisant :
– Compilation : un langage de programmation de haut niveau n’est pas directement comprehen-sible par la machine. Il faut donc traduire le code source du programme vers le langage natif de la machine (ou parfois vers du code interm´ediaire). Le r´esultat est un nouveau fichier ecrit en langage machine, et appel´ code objet. Cette etape´ comprend souvent egalement l’edition´ de liens, qui est la pr´eparation du code objet pour l’ex´ecution.
– Tests : ex´ecution du code objet avec divers cas typiques des entr´ees, ou jeu de tests. C’est le moment ou` la plupart des erreurs apparaisent.
– Correction d’erreurs : on modifie le code de mani`ere a` corriger les erreurs au fil de s tests, et l’on recommence la compilation, ex´ecution et tests, etc.
4. Maintenance : il s’agit le plus souvent de la correction des erreurs apparues apr`es la mise en service, mais aussi de la modification du programme pour l’ad apter a` de nouvelles sp´ecifications du probl`eme.

Traducteurs de programmes

Chaque langage de programmation est equip´e d’un logiciel de traduction des programmes ecrits´ dans ce langage. Entre autres traitements, il traduit chaque instruction de haut niveau en plusieurs instructions machine equivalentes.
– code source : fichier texte avec les instructions a` traduire.
– code cible : fichier (binaire ou texte, selon le type de traduction) resultat de la traduction.
– code objet : fichier binaire avec des instructions machine.
– pseudo-code ou byte-code : fichier texte contenant du code intermediare d’assez bas niveau, mais non executable directement par la machine.
Il existe deux sortes de traducteurs : les interpretes et les compilateurs.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *