[PDF] Les principes des langages de programmation





Previous PDF Next PDF



Les langages informatiques

Les langages informatiques. Interagir avec l'ordinateur. ?Un langage informatique permet à un humain de communiquer avec un ordinateur au moyen de symboles 



Les langages de programmation par blocs (scratch)

Un logiciel de programmation par blocs comme Scratch est un environnement de programmation visuelle et multimédia qui permet de créer de manière très simple des 



Diversité et unité des langages de programmation

Il en résulte que depuis la création de l'informatique on a vu sans cesse des nouveaux langages être créés



Les langages de programmation - Une très brève introduction

Les langages de programmation. Une très brève introduction. A. Guatto. UFR Informatique & IRIF. Semaine de rentrée. 6 septembre 2021 



Limportance des langages en informatique

4 nov. 2015 en informatique. Gérard Berry. Collège de France. Chaire Algorithmes machines et langages ... paradigmes et langages de programmation.



Les langages de programmation les plus demandés en 2020

langages de programmation les plus demandés en 2020. C'est le langage natif d'Android la plateforme informatique mobile la plus populaire du secteur.



Les principes des langages de programmation

De nombreux langages formels : http ://www.enseignement.polytechnique.fr/informatique/INF321/ Parmi lesquels : les langages de programmation.





Rappel sur les langages de programmation

Rappel : Evolution des techniques de Programmation. (procédurale modulaire



Informatique Générale Informatique Générale Langages de

– cartes perforées encore utilisées dans les années 70 pour programmer les ordinateurs!!! Informatique générale - Introduction aux langages de programmation.

Les principes des langages de programmation

Les principes des langages de

programmationSlide 1 Concevoir des algorithmes : une activit´e ancienne (<-2500)

Transform

´ee au milieu du XXesi`ecle : ordinateurs

Ecrire un texte lu par une machine : langage formelSlide 2 Langage formelSous-ensemble deL?dont on connaˆıt une d´efinition math

´ematique

e.g.{a,aa,aaa,aaaa,...}, ensemble des mots d'un nombre pair de lettres OD : -1,25 (-0,50)180◦OG : -1,00 (-0,25)180◦

Slide 3

De nombreux langages formels :

http ://www.enseignement.polytechnique.fr/informatique/INF321/ ... pour aborder de nouveaux langages dans la suite de leur cursus`a l'´Ecole et au del`a.

Il permet d'acc

eder au cours Algorithmes et Programmation : du s equentiel au distribu e.


Les enseignants

...

Slide 4

Parmi lesquels :les langages de programmation

class Hypothenuse { static double hypothenuse (final double x, final double y) { return Math.sqrt(x *x + y*y);} public static void main (String [] args) {

System.out.println(hypothenuse(3,4));}}

Slide 5

Une double contrainte

Un programme doitˆetre lisible par unemachine(formel)

Un programme doit

ˆetre lisible par un

ˆetre humain(plus ou moins

naturel)

Slide 6

De 6 lignes`a 1 000 000 lignes

Un saut dans la

complexit´edes objets industriels (v.s.locomotive a vapeur, appareil photo, ...)

Slide 7

Slide 8

Nouveauxprobl`emes: y a un bug, ...

Enretour, conception d'autres objets complexes : circuits int´egr´es

500 000 000 transistors

Slide 9

Les langages de programmation

Plus de 2000 (de nouveaux langages avant 2012)

Principescommuns : affectation, boucle, cellule, passage par r

´ef´erence

Langues naturelles : article, pronom, verbe, temps, mode, aspect, conjugaison, d

´eclinaison, ...Slide 10

Comprendre cesprincipesplus important que connaˆıtre les idiotismesde Java ou de Caml Apprendre un langage ne suffit pas : comparer avec d'autres, pour d

´egager les principes universelsSlide 11

Objectifs

1. Apprendre`a programmer enJava

2. Comprendre lesprincipes(comparaison avec Caml et C)

3. Commencer

`a apprendre les outils qui permettent de d´ecrire la significationdes programmes (plus : ann´ee 3)

4. Apprendre les

algorithmes de basesur les listes, les arbres et les tableaux (plus : ann

´ee 2)

Slide 12

Organisation :

10 amphis + 10 s´eances de TD (projets) + 2 s´eances de tutorat

´Evaluation :

TD 7 (16 juin) not´e + pˆale HC (6 juillet)

Note finale=max((t+ 2p)/3,p)

Slide 13

I. Le noyau imp´eratif

Slide 14

Dans (presque) tous les langages, cinq constructions : la d´eclaration,l'affectation,la s´equence,le testetla boucle

Slide 15

L'affectation

x = t; x = 3 + y; xvariable ettexpression variable : un mot d'une ou plusieurs lettres expression : form ´ee`a partir des constantes et des variables avec des op

´erations (

En Caml :x := 3 +!y

En C : comme en Java

Slide 16

Ce qu'il se passe quand on ex´ecutex = t;

Dans un recoin de la m´emoire de l'ordinateur, une case appel´eex

On met lavaleurdetdans cette case

La valeur ant

´erieure est oubli´ee

Expressions :

3,5 + 3,y + 3

Valeurs (nombre entier) :3,8,10

Etat : ensemble des valeurs des variables`a un instant donn´e

Slide 17

Exemples

x = 4; x = y + 2;

Slide 18

La d´eclaration

Avant de pouvoir utiliser la variablexil faut la d´eclarer Associer le nomx`a une des cases de la m´emoire {int x = t; p} {int x = 5; x = 3 + y;}

Expressiont: valeur initiale (optionnelle)

Instructionp: port´ee de la variablex

En Caml :let x = ref 5 in pEn C : comme en Java

Slide 19

int: nombres entiers compris entre-231et231- 1 Outre int, trois autres intervallesbyte,short,long

Autres types :boolean(false,true)

Flottants :

float,double(6.02E23)

Caract

`eres char('g') Huit types primitifs

Types composites (`a suivre) :String("Bonjour")

{T x = t; p}

Slide 20

Les variables finales et les variables mutables

D´eclaration d'une variable, engagement`a ne jamais l'affecter {final T x = 5; p} {final int x = 5; y = x + 3;} {final int x = 5; x = 3;} incorrecte

Variable non finale :

mutable

En Caml

let x = 5 in pet nonlet x = ref 5 in p y := x + 3 et nony :=!x + 3quandxest finale En C, constau lieu definal

Slide 21

La s´equence

{p1 p2} {x = 1; y = x + 1;} Quand on ex´ecute cette instruction, on ex´ecutep1puisp2

En Caml :p1; p2

En C : comme en Java

Slide 22

Le test

if (b) p1 else p2 if (x<0) y = -1; else y = 1; Quand on ex´ecute cette instruction, on calcule la valeur deb Si c'esttrueon ex´ecutep1si c'estfalseon ex´ecutep2

En Caml :if b then p1 else p2

En C : comme en Java

Slide 23

La boucle

while (b) p while (x<1000) x = x*2; Quand on ex´ecute cette instruction : on calcule la valeur deb, si c'estfalseon a termin´e, si c'esttrue, on ex´ecutep, puis onSlide 24

La boucle

while (b) p while (x<1000) x = x*2; Quand on ex´ecute cette instruction : on calcule la valeur deb, si c'estfalseon a termin´e, si c'esttrue, on ex´ecutep, puis on calcule la valeur deb, si c'estfalseon a termin´e, si c'esttrue, on ex ´ecutep, puison calcule la valeur deb, si c'estfalseon a termin´e, si c'est true, on ex´ecutep, puison calcule la valeur deb, si c'estfalseon a termin´e, si c'est

true, on ex´ecutep, puison calcule la valeur deb, si c'estfalseon a termin´e, si c'esttrue, on ex´ecutep, puisSlide 25

while (b) q: notation finie pour une instruction infinie if (b) {q if (b) {q if (b) {q if (b) ... else skip;} else skip;} else skip;} else skip; avec une instruction fictiveskip;qui ne fait rien

En Caml :while b do p;En C : comme en Java

Slide 26

{int x = 3; while (x <= 1000) x = 2;} ne termine pas Instruction infinie : potentialit´e de non terminaison

Slide 27

II. Le instructions d'entr´ee et sortie en Java (en un transparent)Slide 28 System.out.print(x) ;System.out.println() ;System.out.println(x) ;Ppl.lireInt ();

Slide 29

III. La fonctionΣ

Slide 30

Ce qu'il se passe quand on ex´ecute l'instructioni x = t; :"On met la valeur detdans la casex» Description en langue naturelle rapidement complexe et confuse (d

´ej`a :

while) On finit par donner des exemples (... qui couvrent les cas simples) Comment´ecrire un interpr´eteur / compilateur?

Comment raisonner

`a propos d'un programme?

Comment analyser automatiquement un programme?

Slide 31

Remplacer cette phrase par une d´efinition math´ematique

Slide 32

L'´etat

Ensemble des valeurs des variables`a un instant donn´e Ensemble infiniVardont les´el´ements sont appel´es variables

EnsembleVal:[-231, 231- 1]? {false, true} ?

Un ´etatest une fonction d'une partie finie deVardansVal e.g.:[x = 1, y = 4]

Attention : pas1 = x

Slide 33

Ex´ecuter une instructionitransforme l'´etat La signification des instructions d'un langage est d

´efinie par une

fonctionΣ

Σ(i,s) = s'

e.g.:Σ(x=3;,[x = 1,y = 4]) = [x = 3,y = 4]

Slide 34

La d´ecomposition de l'´etat

Utile pour plus tard :s = m◦e, l'environnement et la m´emoire

VarValRef

e m Ensemble interm´ediaireRefdes r´ef´erences

Σ(i,e,m) = m'

Slide 35

Le cas des variables finales

final int x = 3; p au lieu d'associerx`ardanseetr`a3dansm on associex`a3danse(la m´emoire est ce qui peut changer)

Ref?Val

Var Ref Val e m

Slide 36

La repr´esentation graphique des´etats

Une r´ef´erence : une caseSlide 37

La repr´esentation graphique des´etats

L'environnement

a x b

Slide 38

La repr´esentation graphique des´etats

La m´emoire

quotesdbs_dbs29.pdfusesText_35
[PDF] L 'évolution des prix du logement en France sur 25 ans

[PDF] Evolution des mentalités et changement du regard de la société sur

[PDF] L 'évolution des modes de vie

[PDF] Elocution Evolution des Moyens de Transport

[PDF] Les transports CPédagogique Cycle 2

[PDF] Les prix de l 'immobilier : évolutions de long terme et impacts - Cepii

[PDF] Promenons-nous ? travers le temps - Académie en ligne

[PDF] Le Secteur des BTP au Maroc : Aspects économiques et Sociaux

[PDF] L 'histoire du cinéma français - Histoire géographie Dijon

[PDF] Variations climatiques sur Terre - Planet-Terre

[PDF] l 'évolution du commerce mondial - L 'Etudiant

[PDF] l 'évolution de la géographie du commerce en france - Crédoc

[PDF] L 'évolution du système commercial international et ses - Unctad

[PDF] LE CONSEIL CONSTITUTIONNEL FRANÇAIS

[PDF] Évolutions récentes du marché du travail et de l - Direccte IDF