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.
Sémantique des langages de programmation - cours M1.1
mathématiques la logique
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 programmation](https://pdfprof.com/Listes/16/33471-16amphi1.pdf.pdf.jpg)
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´es500 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 boucleSlide 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´eexOn 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´eSlide 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,longAutres types :boolean(false,true)
Flottants :
float,double(6.02E23)Caract
`eres char('g') Huit types primitifsTypes 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;} incorrecteVariable non finale :
mutableEn Caml
let x = 5 in pet nonlet x = ref 5 in p y := x + 3 et nony :=!x + 3quandxest finale En C, constau lieu definalSlide 21
La s´equence
{p1 p2} {x = 1; y = x + 1;} Quand on ex´ecute cette instruction, on ex´ecutep1puisp2En 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´ecutep2En 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 24La 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'esttrue, 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 rienEn 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 terminaisonSlide 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´ematiqueSlide 32
L'´etat
Ensemble des valeurs des variables`a un instant donn´e Ensemble infiniVardont les´el´ements sont appel´es variablesEnsembleVal:[-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´emoireVarValRef
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 mSlide 36
La repr´esentation graphique des´etats
Une r´ef´erence : une caseSlide 37
La repr´esentation graphique des´etats
L'environnement
a x bSlide 38
La repr´esentation graphique des´etats
La m´emoire
quotesdbs_dbs29.pdfusesText_35[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