ISN TP 3 : «Premiers pas en programmation» 18/06/2015
FORMATION ISN TP DE PROGRAMMATION I 1 Premiers pas 2
premiers pas itération chaînes de caractères listes fonctions et récursivité Écrire un programme qui affiche "Bonjour le monde" Exercice 3 Écrire un |
Introduction à la Programmation : [5pt] Premiers pas en
Résumé et approfondissements sur : ▶ le cycle de développement d’un programme ☞ (section « Développement de programmes») ▶ la notion de typage fort ☞ On disserte un peu sur le calcul de moyennes ▶ quelques détails en plus sur int et double ▶ Operateurs et expressions : ▶ les notations abrégées ☞ infixé vs postfixé ▶ Fiches résumé : Variables et Opé |
LA PROGRAMMATION POUR
LA PROGRAMMATION POUR les élèves ingénieurs ou les collégiens débutants ou confirmés Cours de l’École des Ponts ParisTech - 2020/2021 |
Mes premiers pas en programmation
Mes premiers pas en programmation Cette activité se déroule en 4 phases La première phase intitulée « mon premier ordinateur » vise à faire dé-couvrir ce qu’est un ordinateur et à faire prendre conscience que les robots sont eux-mêmes des ordinateurs La seconde phase « je découvre la programmation » permet de s’initier à |
Ter S ISN TP : Premiers pas en PYTHON Septembre 2013 Que peut
Que peut-on faire avec Python ? Beaucoup de choses ! ▫ du calcul scientifique (librairie NumPy) ▫ des graphiques (librairie matplotlib) |
TP 3
Étude du paquet IP correspondant au premier message ARP Request ISN émis par le serveur vers le client ? Quelle est la taille de fenêtre |
TP 3: Premiers pas avec Express
Nous pouvons maintenant ajouter du style à notre application en utilisant CSS Ajoutez ce qui suit à public/styles css: body {padding: 50px; font: 14px \"Lucida Grande\" Helvetica Arial sans-serif;} h1 {color:darkgreen;} Nous pouvons maintenant démarrer notre serveur Express js en exécutant la commande suivante: $ node app js |
TP : CODAGE DES IMAGES NUMERIQUES
Exercice n°3 1 Ouvrir l'image Centrale bmp 2 A l'aide du menu Image/Attributs compléter la première ligne du tableau n°2 sur le Document Réponse 3 |
TP ISN 9 : Réseau Première partie : Simulation de réseau
Test 3 : A partir de la station st3 émettre une trame broadcast Questions : - Quelle information est ajoutée dans la table du switch ? - Quelles sont les |
TP ISN
Dans une liaison série les différents bits ne sont pas échangés en parallèle mais les uns après les autres dans le temps ce qui limite le nombre de fils de |
TP Premiers pas avec Python TS ISN V PICAVET & C LECHAPT
Un programme qui demande un nombre et qui affiche son opposé 2 Un programme qui demande à l'utilisateur son année de naissance et qui affiche son âge 3 Un |
TP3 PYTHON : TESTS – STRUCTURES ALTERNATIVES
ISN – Informatique et Sciences du Numérique Compléter dans le programme lab3 py la ligne 14 permettant d'afficher la ligne entière si elle ne correspond pas |
C'est quoi le protocole rs232 ?
RS-232, "Recommended Standard 232" est un ensemble de normes permettant l'échange d'informations entre un périphérique électronique et un ordinateur via une connexion D-SUB.
Le RS-232 définit les conditions d'utilisation des circuits, les niveaux électriques et le brochage.- Comment fonctionne la RS-232
Plus simplement, les dispositifs communiquant par RS-232 communiquent sur deux jeux de fils à l'intérieur d'un câble.
Les signaux sortants sont des signaux Tx (émission) et les signaux entrants sont des signaux Rx (réception).
Pendant l’heure de cours
Résumé et approfondissements sur : ▶ le cycle de développement d’un programme ☞ (section « Développement de programmes») ▶ la notion de typage fort ☞ On disserte un peu sur le calcul de moyennes ▶ quelques détails en plus sur int et double ▶ Operateurs et expressions : ▶ les notations abrégées ☞ infixé vs postfixé ▶ Fiches résumé : Variables et Opé
Concrètement, quelles sont les instructions et les données « adaptées » à l’ordinateur?
Ordinateur ≃ microprocesseur détermine l’ensemble des instructions élémentaires que l’ordinateur est capable d’exécuter; mémoire centrale détermine l’espace dans lequel des données peuvent être stockées en cours de traitement périphériques permettent l’échange ou la sauvegarde à long terme des données Les instructions de l’ordinateur Concrètement,
La notion de langage de programmation
Cependant, ces instructions-machine sont trop élémentaires pour pouvoir être eficacement utilisées (par les humains) pour l’écriture de programmes
Comment rendre les instructions plus sophistiquées compréhensibles par l’ordinateur?
☞ traduire les séquences d’instructions de haut niveau en instructions-machine directement exécutables par le microprocesseur Selon ses caractéristiques, un tel traducteur est appelé proginsc.epfl.ch
compilateur ou interpréteur
L’ensemble des instructions de plus haut niveau qu’un compilateur ou un interpréteur est capable de traiter constitue un langage de programmation. proginsc.epfl.ch
La notion de langage de programmation (3)
Un langage de programmation est donc un moyen formel permettant de décrire des traitements (i.e. des tâches à réaliser) sous la forme de programmes (i.e. de séquences d’instructions et de données de « haut niveau », compréhensibles par le programmeur) pour lesquels un compilateur ou un interpréteur est disponible pour permettre l’exécution effectiv
Java vs C++
Compilation Vérification syntaxe Byte code Salut.class Compilation Vérification syntaxe Interprétation Vérification sécurité Code machine Exécution Salut.o directe Code machine Exécution proginsc.epfl.ch
Compilation d’un programme Java
compilation interprétation fichier source bytecode code exécutable commande : javac Salut.java proginsc.epfl.ch
Salut.java
class Salut { public static void main(String [] args) { System.out.println(‘‘Salut’’); } commande : java Salut proginsc.epfl.ch
Salut.class
b- p qs tu twxy‘e ‘b() L’interpréteur Java s’appelle la machine virtuelle Java (Java Virtual Machine (JVM)) proginsc.epfl.ch
Notion de bytecode 1
Bytecodes Java ⇔ “langage intermédiaire” entre compilation et exécution : ▶ Langage dans lequel est compilé un programme Java : ▶ javac Salut.java produit Salut.class contenant des bytecodes. ▶ Pas vraiment “humainement lisible” et dans ce sens, il ressemble à du code assembleur
plateforme
▶ Possibilité de démarrer le programme sur un autre processeur sans recompilation ▶ Pour autant que la JVM soit installée ▶ L’idée de la “platform independence” (et de Java) : ▶ “Write once, run anywhere” ▶ Salut.java ⇒ autre processeur ▶ Compilation + interprétation nécessaire ▶ La compilation est lente ▶ Le compilateur est un gros programme ▶ Sal
Indépendance de la plateforme (2)
(emprunté à wikipédia) Indépendance de la plateforme (2) JVM JVM Macintosh PC Pentium JVM Sparc Java Salut.class Salut.java C++ Salut.o Salut.cc Java : La JVM pour processeurs Intel ou AMD peut interpréter du bytecode généré sur Sparc C++ : le code machine généré sur Pentium est inutilisable sur Sparc (sauf éventuelle cross-compilation) proginsc.epfl.ch
Cycle de développement
Programmer c’est : ➀ réfléchir au problème; concevoir l’algorithme ➁ traduire cette réflexion en un texte exprimé dans un langage donné (écriture du programme source) ➂ traduire ce texte sous un format interprétable par une JVM (compilation, en Java production de bytecode, javac) ➃ exécution du programme (en Java interprétation du bytecode, java) E
Cycle de développement (2)
En mode "terminal" : ▶ Les phases d’écriture et de correction se fait à l’aide d’un éditeur de texte (emacs, geany, gedit, notepad, . . .) ou d’une EDI (voir plus loin) Exemple : geany Salut.java ▶ La phase de compilation se fait à l’aide de la commande javac. proginsc.epfl.ch
Exemple : javac Salut.java
▶ La compilation produit un fichier .class. Exemple : le fichier Salut.class est généré par le compilateur ▶ La phase d’interprétation se fait à l’aide de la commande java. Exemple : java Salut proginsc.epfl.ch
Cycle de développement (EDI)
Avec un environnement de développement intégré (EDI), par exemple Eclipse, le programmeur n’appelle pas explicitement les commandes javac ou java, mais elles sont appelées par l’EDI. ▶ La phase de compilation se fait à la volée par l’EDI (il y a donc bel et bien une compilation qui est faite implicitement) lorsque des changements ont été effectués
Interpréteur/Compilateur (suite et fin)
▶ Des optimisations sont généralement appliquées au temps de la compilation (élimination de code inutile, mise à profit de jeux d’instructions spéciaux etc
Le langage Java
Le langage Java est un langage orienté-objet fortement typé. ☞ un des langages objets les plus utilisés Parmi les avantages de Java, on peut citer : ▶ langage populaire (bonne documentation, communauté active), ▶ une grande bibliothèque de fonctionnalités prédéfinies, ▶ un typage fort, ce qui permet au compilateur d’effectuer des vérifications sur
Structure générale d’un programme Java
Le programme Java le plus simple
▶ Rien
▶ Nom de la classe (du programme) ▶ Identificateur = nom choisi (presque) librement par le programmeur proginsc.epfl.ch
Fichiers, blocs et méthodes
▶ Convention (obligatoire) : ▶ Réutilisation de l’identificateur qui décrit le nom de la classe ▶ Nom du fichier qui stocke le programme = Nom de la classe + .java ▶ Rien.java (qu’on édite dans Eclipse, par exemple) ▶ Première et dernière accolade ▶ Bloc { } ▶ Marque les limites de la classe ▶ Contenu d’une classe : ▶ Diverses instructions ▶ Pour
La méthode main
▶ En-tête de la méthode main : public static void main(String[] args) ▶ Pour commencer : ▶ En-tête standard à apprendre par coeur ▶ Chaque programme possède une méthode main ▶ Lors du démarrage du programme : ▶ La méthode main est recherchée ▶ Son bloc d’instructions est exécuté ▶ S’il n’y a pas de méthode main, le programme ne démarre pas proginsc.epfl.ch
Qu’allons nous voir en programmation ?
Programmer c’est décomposer une tâche à automatiser en une séquence d’instructions (traitements) et des données Expressions & Opérateurs Structures de contrôle Modularisation (méthodes) Passage de paramètres par valeur Récursivité Complexité Variables Types de base Portée Chaînes de caractères Tableaux statiques et dynamiques Structures de données
Données et traitements
Comme dans tout langage de programmation évolué, on a en Java la possibilité de définir des traitements mis en œuvre sur des données. Pour être utilisée dans un programme Java, une donnée doit être stockée quelque part : ☞ dans une variable : objet informatique manipulable par le programme. Les traitements sont associés dans le programme à la notio
Pendant l’heure de cours
Résumé et approfondissements sur : ▶ le cycle de développement d’un programme ☞ (section « Développement de programmes») ▶ la notion de typage fort ☞ On disserte un peu sur le calcul de moyennes ▶ quelques détails en plus sur int et double ▶ Operateurs et expressions : ▶ les notations abrégées ☞ infixé vs postfixé ▶ Fiches résumé : Variables et Opé
Concrètement, quelles sont les instructions et les données « adaptées » à l’ordinateur?
Ordinateur ≃ microprocesseur détermine l’ensemble des instructions élémentaires que l’ordinateur est capable d’exécuter; mémoire centrale détermine l’espace dans lequel des données peuvent être stockées en cours de traitement périphériques permettent l’échange ou la sauvegarde à long terme des données Les instructions de l’ordinateur Concrètement,
La notion de langage de programmation
Cependant, ces instructions-machine sont trop élémentaires pour pouvoir être eficacement utilisées (par les humains) pour l’écriture de programmes
Comment rendre les instructions plus sophistiquées compréhensibles par l’ordinateur?
☞ traduire les séquences d’instructions de haut niveau en instructions-machine directement exécutables par le microprocesseur Selon ses caractéristiques, un tel traducteur est appelé proginsc.epfl.ch
compilateur ou interpréteur
L’ensemble des instructions de plus haut niveau qu’un compilateur ou un interpréteur est capable de traiter constitue un langage de programmation. proginsc.epfl.ch
La notion de langage de programmation (3)
Un langage de programmation est donc un moyen formel permettant de décrire des traitements (i.e. des tâches à réaliser) sous la forme de programmes (i.e. de séquences d’instructions et de données de « haut niveau », compréhensibles par le programmeur) pour lesquels un compilateur ou un interpréteur est disponible pour permettre l’exécution effectiv
Java vs C++
Compilation Vérification syntaxe Byte code Salut.class Compilation Vérification syntaxe Interprétation Vérification sécurité Code machine Exécution Salut.o directe Code machine Exécution proginsc.epfl.ch
Compilation d’un programme Java
compilation interprétation fichier source bytecode code exécutable commande : javac Salut.java proginsc.epfl.ch
Salut.java
class Salut { public static void main(String [] args) { System.out.println(‘‘Salut’’); } commande : java Salut proginsc.epfl.ch
Salut.class
b- p qs tu twxy‘e ‘b() L’interpréteur Java s’appelle la machine virtuelle Java (Java Virtual Machine (JVM)) proginsc.epfl.ch
Notion de bytecode 1
Bytecodes Java ⇔ “langage intermédiaire” entre compilation et exécution : ▶ Langage dans lequel est compilé un programme Java : ▶ javac Salut.java produit Salut.class contenant des bytecodes. ▶ Pas vraiment “humainement lisible” et dans ce sens, il ressemble à du code assembleur
plateforme
▶ Possibilité de démarrer le programme sur un autre processeur sans recompilation ▶ Pour autant que la JVM soit installée ▶ L’idée de la “platform independence” (et de Java) : ▶ “Write once, run anywhere” ▶ Salut.java ⇒ autre processeur ▶ Compilation + interprétation nécessaire ▶ La compilation est lente ▶ Le compilateur est un gros programme ▶ Sal
Indépendance de la plateforme (2)
(emprunté à wikipédia) Indépendance de la plateforme (2) JVM JVM Macintosh PC Pentium JVM Sparc Java Salut.class Salut.java C++ Salut.o Salut.cc Java : La JVM pour processeurs Intel ou AMD peut interpréter du bytecode généré sur Sparc C++ : le code machine généré sur Pentium est inutilisable sur Sparc (sauf éventuelle cross-compilation) proginsc.epfl.ch
Cycle de développement
Programmer c’est : ➀ réfléchir au problème; concevoir l’algorithme ➁ traduire cette réflexion en un texte exprimé dans un langage donné (écriture du programme source) ➂ traduire ce texte sous un format interprétable par une JVM (compilation, en Java production de bytecode, javac) ➃ exécution du programme (en Java interprétation du bytecode, java) E
Cycle de développement (2)
En mode "terminal" : ▶ Les phases d’écriture et de correction se fait à l’aide d’un éditeur de texte (emacs, geany, gedit, notepad, . . .) ou d’une EDI (voir plus loin) Exemple : geany Salut.java ▶ La phase de compilation se fait à l’aide de la commande javac. proginsc.epfl.ch
Exemple : javac Salut.java
▶ La compilation produit un fichier .class. Exemple : le fichier Salut.class est généré par le compilateur ▶ La phase d’interprétation se fait à l’aide de la commande java. Exemple : java Salut proginsc.epfl.ch
Cycle de développement (EDI)
Avec un environnement de développement intégré (EDI), par exemple Eclipse, le programmeur n’appelle pas explicitement les commandes javac ou java, mais elles sont appelées par l’EDI. ▶ La phase de compilation se fait à la volée par l’EDI (il y a donc bel et bien une compilation qui est faite implicitement) lorsque des changements ont été effectués
Interpréteur/Compilateur (suite et fin)
▶ Des optimisations sont généralement appliquées au temps de la compilation (élimination de code inutile, mise à profit de jeux d’instructions spéciaux etc
Le langage Java
Le langage Java est un langage orienté-objet fortement typé. ☞ un des langages objets les plus utilisés Parmi les avantages de Java, on peut citer : ▶ langage populaire (bonne documentation, communauté active), ▶ une grande bibliothèque de fonctionnalités prédéfinies, ▶ un typage fort, ce qui permet au compilateur d’effectuer des vérifications sur
Structure générale d’un programme Java
Le programme Java le plus simple
▶ Rien
▶ Nom de la classe (du programme) ▶ Identificateur = nom choisi (presque) librement par le programmeur proginsc.epfl.ch
Fichiers, blocs et méthodes
▶ Convention (obligatoire) : ▶ Réutilisation de l’identificateur qui décrit le nom de la classe ▶ Nom du fichier qui stocke le programme = Nom de la classe + .java ▶ Rien.java (qu’on édite dans Eclipse, par exemple) ▶ Première et dernière accolade ▶ Bloc { } ▶ Marque les limites de la classe ▶ Contenu d’une classe : ▶ Diverses instructions ▶ Pour
La méthode main
▶ En-tête de la méthode main : public static void main(String[] args) ▶ Pour commencer : ▶ En-tête standard à apprendre par coeur ▶ Chaque programme possède une méthode main ▶ Lors du démarrage du programme : ▶ La méthode main est recherchée ▶ Son bloc d’instructions est exécuté ▶ S’il n’y a pas de méthode main, le programme ne démarre pas proginsc.epfl.ch
Qu’allons nous voir en programmation ?
Programmer c’est décomposer une tâche à automatiser en une séquence d’instructions (traitements) et des données Expressions & Opérateurs Structures de contrôle Modularisation (méthodes) Passage de paramètres par valeur Récursivité Complexité Variables Types de base Portée Chaînes de caractères Tableaux statiques et dynamiques Structures de données
Données et traitements
Comme dans tout langage de programmation évolué, on a en Java la possibilité de définir des traitements mis en œuvre sur des données. Pour être utilisée dans un programme Java, une donnée doit être stockée quelque part : ☞ dans une variable : objet informatique manipulable par le programme. Les traitements sont associés dans le programme à la notio
Pendant l’heure de cours
Résumé et approfondissements sur : ▶ le cycle de développement d’un programme ☞ (section « Développement de programmes») ▶ la notion de typage fort ☞ On disserte un peu sur le calcul de moyennes ▶ quelques détails en plus sur int et double ▶ Operateurs et expressions : ▶ les notations abrégées ☞ infixé vs postfixé ▶ Fiches résumé : Variables et Opé
Concrètement, quelles sont les instructions et les données « adaptées » à l’ordinateur?
Ordinateur ≃ microprocesseur détermine l’ensemble des instructions élémentaires que l’ordinateur est capable d’exécuter; mémoire centrale détermine l’espace dans lequel des données peuvent être stockées en cours de traitement périphériques permettent l’échange ou la sauvegarde à long terme des données Les instructions de l’ordinateur Concrètement,
La notion de langage de programmation
Cependant, ces instructions-machine sont trop élémentaires pour pouvoir être eficacement utilisées (par les humains) pour l’écriture de programmes
Comment rendre les instructions plus sophistiquées compréhensibles par l’ordinateur?
☞ traduire les séquences d’instructions de haut niveau en instructions-machine directement exécutables par le microprocesseur Selon ses caractéristiques, un tel traducteur est appelé proginsc.epfl.ch
compilateur ou interpréteur
L’ensemble des instructions de plus haut niveau qu’un compilateur ou un interpréteur est capable de traiter constitue un langage de programmation. proginsc.epfl.ch
La notion de langage de programmation (3)
Un langage de programmation est donc un moyen formel permettant de décrire des traitements (i.e. des tâches à réaliser) sous la forme de programmes (i.e. de séquences d’instructions et de données de « haut niveau », compréhensibles par le programmeur) pour lesquels un compilateur ou un interpréteur est disponible pour permettre l’exécution effectiv
Java vs C++
Compilation Vérification syntaxe Byte code Salut.class Compilation Vérification syntaxe Interprétation Vérification sécurité Code machine Exécution Salut.o directe Code machine Exécution proginsc.epfl.ch
Compilation d’un programme Java
compilation interprétation fichier source bytecode code exécutable commande : javac Salut.java proginsc.epfl.ch
Salut.java
class Salut { public static void main(String [] args) { System.out.println(‘‘Salut’’); } commande : java Salut proginsc.epfl.ch
Salut.class
b- p qs tu twxy‘e ‘b() L’interpréteur Java s’appelle la machine virtuelle Java (Java Virtual Machine (JVM)) proginsc.epfl.ch
Notion de bytecode 1
Bytecodes Java ⇔ “langage intermédiaire” entre compilation et exécution : ▶ Langage dans lequel est compilé un programme Java : ▶ javac Salut.java produit Salut.class contenant des bytecodes. ▶ Pas vraiment “humainement lisible” et dans ce sens, il ressemble à du code assembleur
plateforme
▶ Possibilité de démarrer le programme sur un autre processeur sans recompilation ▶ Pour autant que la JVM soit installée ▶ L’idée de la “platform independence” (et de Java) : ▶ “Write once, run anywhere” ▶ Salut.java ⇒ autre processeur ▶ Compilation + interprétation nécessaire ▶ La compilation est lente ▶ Le compilateur est un gros programme ▶ Sal
Indépendance de la plateforme (2)
(emprunté à wikipédia) Indépendance de la plateforme (2) JVM JVM Macintosh PC Pentium JVM Sparc Java Salut.class Salut.java C++ Salut.o Salut.cc Java : La JVM pour processeurs Intel ou AMD peut interpréter du bytecode généré sur Sparc C++ : le code machine généré sur Pentium est inutilisable sur Sparc (sauf éventuelle cross-compilation) proginsc.epfl.ch
Cycle de développement
Programmer c’est : ➀ réfléchir au problème; concevoir l’algorithme ➁ traduire cette réflexion en un texte exprimé dans un langage donné (écriture du programme source) ➂ traduire ce texte sous un format interprétable par une JVM (compilation, en Java production de bytecode, javac) ➃ exécution du programme (en Java interprétation du bytecode, java) E
Cycle de développement (2)
En mode "terminal" : ▶ Les phases d’écriture et de correction se fait à l’aide d’un éditeur de texte (emacs, geany, gedit, notepad, . . .) ou d’une EDI (voir plus loin) Exemple : geany Salut.java ▶ La phase de compilation se fait à l’aide de la commande javac. proginsc.epfl.ch
Exemple : javac Salut.java
▶ La compilation produit un fichier .class. Exemple : le fichier Salut.class est généré par le compilateur ▶ La phase d’interprétation se fait à l’aide de la commande java. Exemple : java Salut proginsc.epfl.ch
Cycle de développement (EDI)
Avec un environnement de développement intégré (EDI), par exemple Eclipse, le programmeur n’appelle pas explicitement les commandes javac ou java, mais elles sont appelées par l’EDI. ▶ La phase de compilation se fait à la volée par l’EDI (il y a donc bel et bien une compilation qui est faite implicitement) lorsque des changements ont été effectués
Interpréteur/Compilateur (suite et fin)
▶ Des optimisations sont généralement appliquées au temps de la compilation (élimination de code inutile, mise à profit de jeux d’instructions spéciaux etc
Le langage Java
Le langage Java est un langage orienté-objet fortement typé. ☞ un des langages objets les plus utilisés Parmi les avantages de Java, on peut citer : ▶ langage populaire (bonne documentation, communauté active), ▶ une grande bibliothèque de fonctionnalités prédéfinies, ▶ un typage fort, ce qui permet au compilateur d’effectuer des vérifications sur
Structure générale d’un programme Java
Le programme Java le plus simple
▶ Rien
▶ Nom de la classe (du programme) ▶ Identificateur = nom choisi (presque) librement par le programmeur proginsc.epfl.ch
Fichiers, blocs et méthodes
▶ Convention (obligatoire) : ▶ Réutilisation de l’identificateur qui décrit le nom de la classe ▶ Nom du fichier qui stocke le programme = Nom de la classe + .java ▶ Rien.java (qu’on édite dans Eclipse, par exemple) ▶ Première et dernière accolade ▶ Bloc { } ▶ Marque les limites de la classe ▶ Contenu d’une classe : ▶ Diverses instructions ▶ Pour
La méthode main
▶ En-tête de la méthode main : public static void main(String[] args) ▶ Pour commencer : ▶ En-tête standard à apprendre par coeur ▶ Chaque programme possède une méthode main ▶ Lors du démarrage du programme : ▶ La méthode main est recherchée ▶ Son bloc d’instructions est exécuté ▶ S’il n’y a pas de méthode main, le programme ne démarre pas proginsc.epfl.ch
Qu’allons nous voir en programmation ?
Programmer c’est décomposer une tâche à automatiser en une séquence d’instructions (traitements) et des données Expressions & Opérateurs Structures de contrôle Modularisation (méthodes) Passage de paramètres par valeur Récursivité Complexité Variables Types de base Portée Chaînes de caractères Tableaux statiques et dynamiques Structures de données
Données et traitements
Comme dans tout langage de programmation évolué, on a en Java la possibilité de définir des traitements mis en œuvre sur des données. Pour être utilisée dans un programme Java, une donnée doit être stockée quelque part : ☞ dans une variable : objet informatique manipulable par le programme. Les traitements sont associés dans le programme à la notio
Pendant l’heure de cours
Résumé et approfondissements sur : ▶ le cycle de développement d’un programme ☞ (section « Développement de programmes») ▶ la notion de typage fort ☞ On disserte un peu sur le calcul de moyennes ▶ quelques détails en plus sur int et double ▶ Operateurs et expressions : ▶ les notations abrégées ☞ infixé vs postfixé ▶ Fiches résumé : Variables et Opé
Concrètement, quelles sont les instructions et les données « adaptées » à l’ordinateur?
Ordinateur ≃ microprocesseur détermine l’ensemble des instructions élémentaires que l’ordinateur est capable d’exécuter; mémoire centrale détermine l’espace dans lequel des données peuvent être stockées en cours de traitement périphériques permettent l’échange ou la sauvegarde à long terme des données Les instructions de l’ordinateur Concrètement,
La notion de langage de programmation
Cependant, ces instructions-machine sont trop élémentaires pour pouvoir être eficacement utilisées (par les humains) pour l’écriture de programmes
Comment rendre les instructions plus sophistiquées compréhensibles par l’ordinateur?
☞ traduire les séquences d’instructions de haut niveau en instructions-machine directement exécutables par le microprocesseur Selon ses caractéristiques, un tel traducteur est appelé proginsc.epfl.ch
compilateur ou interpréteur
L’ensemble des instructions de plus haut niveau qu’un compilateur ou un interpréteur est capable de traiter constitue un langage de programmation. proginsc.epfl.ch
La notion de langage de programmation (3)
Un langage de programmation est donc un moyen formel permettant de décrire des traitements (i.e. des tâches à réaliser) sous la forme de programmes (i.e. de séquences d’instructions et de données de « haut niveau », compréhensibles par le programmeur) pour lesquels un compilateur ou un interpréteur est disponible pour permettre l’exécution effectiv
Java vs C++
Compilation Vérification syntaxe Byte code Salut.class Compilation Vérification syntaxe Interprétation Vérification sécurité Code machine Exécution Salut.o directe Code machine Exécution proginsc.epfl.ch
Compilation d’un programme Java
compilation interprétation fichier source bytecode code exécutable commande : javac Salut.java proginsc.epfl.ch
Salut.java
class Salut { public static void main(String [] args) { System.out.println(‘‘Salut’’); } commande : java Salut proginsc.epfl.ch
Salut.class
b- p qs tu twxy‘e ‘b() L’interpréteur Java s’appelle la machine virtuelle Java (Java Virtual Machine (JVM)) proginsc.epfl.ch
Notion de bytecode 1
Bytecodes Java ⇔ “langage intermédiaire” entre compilation et exécution : ▶ Langage dans lequel est compilé un programme Java : ▶ javac Salut.java produit Salut.class contenant des bytecodes. ▶ Pas vraiment “humainement lisible” et dans ce sens, il ressemble à du code assembleur
plateforme
▶ Possibilité de démarrer le programme sur un autre processeur sans recompilation ▶ Pour autant que la JVM soit installée ▶ L’idée de la “platform independence” (et de Java) : ▶ “Write once, run anywhere” ▶ Salut.java ⇒ autre processeur ▶ Compilation + interprétation nécessaire ▶ La compilation est lente ▶ Le compilateur est un gros programme ▶ Sal
Indépendance de la plateforme (2)
(emprunté à wikipédia) Indépendance de la plateforme (2) JVM JVM Macintosh PC Pentium JVM Sparc Java Salut.class Salut.java C++ Salut.o Salut.cc Java : La JVM pour processeurs Intel ou AMD peut interpréter du bytecode généré sur Sparc C++ : le code machine généré sur Pentium est inutilisable sur Sparc (sauf éventuelle cross-compilation) proginsc.epfl.ch
Cycle de développement
Programmer c’est : ➀ réfléchir au problème; concevoir l’algorithme ➁ traduire cette réflexion en un texte exprimé dans un langage donné (écriture du programme source) ➂ traduire ce texte sous un format interprétable par une JVM (compilation, en Java production de bytecode, javac) ➃ exécution du programme (en Java interprétation du bytecode, java) E
Cycle de développement (2)
En mode "terminal" : ▶ Les phases d’écriture et de correction se fait à l’aide d’un éditeur de texte (emacs, geany, gedit, notepad, . . .) ou d’une EDI (voir plus loin) Exemple : geany Salut.java ▶ La phase de compilation se fait à l’aide de la commande javac. proginsc.epfl.ch
Exemple : javac Salut.java
▶ La compilation produit un fichier .class. Exemple : le fichier Salut.class est généré par le compilateur ▶ La phase d’interprétation se fait à l’aide de la commande java. Exemple : java Salut proginsc.epfl.ch
Cycle de développement (EDI)
Avec un environnement de développement intégré (EDI), par exemple Eclipse, le programmeur n’appelle pas explicitement les commandes javac ou java, mais elles sont appelées par l’EDI. ▶ La phase de compilation se fait à la volée par l’EDI (il y a donc bel et bien une compilation qui est faite implicitement) lorsque des changements ont été effectués
Interpréteur/Compilateur (suite et fin)
▶ Des optimisations sont généralement appliquées au temps de la compilation (élimination de code inutile, mise à profit de jeux d’instructions spéciaux etc
Le langage Java
Le langage Java est un langage orienté-objet fortement typé. ☞ un des langages objets les plus utilisés Parmi les avantages de Java, on peut citer : ▶ langage populaire (bonne documentation, communauté active), ▶ une grande bibliothèque de fonctionnalités prédéfinies, ▶ un typage fort, ce qui permet au compilateur d’effectuer des vérifications sur
Structure générale d’un programme Java
Le programme Java le plus simple
▶ Rien
▶ Nom de la classe (du programme) ▶ Identificateur = nom choisi (presque) librement par le programmeur proginsc.epfl.ch
Fichiers, blocs et méthodes
▶ Convention (obligatoire) : ▶ Réutilisation de l’identificateur qui décrit le nom de la classe ▶ Nom du fichier qui stocke le programme = Nom de la classe + .java ▶ Rien.java (qu’on édite dans Eclipse, par exemple) ▶ Première et dernière accolade ▶ Bloc { } ▶ Marque les limites de la classe ▶ Contenu d’une classe : ▶ Diverses instructions ▶ Pour
La méthode main
▶ En-tête de la méthode main : public static void main(String[] args) ▶ Pour commencer : ▶ En-tête standard à apprendre par coeur ▶ Chaque programme possède une méthode main ▶ Lors du démarrage du programme : ▶ La méthode main est recherchée ▶ Son bloc d’instructions est exécuté ▶ S’il n’y a pas de méthode main, le programme ne démarre pas proginsc.epfl.ch
Qu’allons nous voir en programmation ?
Programmer c’est décomposer une tâche à automatiser en une séquence d’instructions (traitements) et des données Expressions & Opérateurs Structures de contrôle Modularisation (méthodes) Passage de paramètres par valeur Récursivité Complexité Variables Types de base Portée Chaînes de caractères Tableaux statiques et dynamiques Structures de données
Données et traitements
Comme dans tout langage de programmation évolué, on a en Java la possibilité de définir des traitements mis en œuvre sur des données. Pour être utilisée dans un programme Java, une donnée doit être stockée quelque part : ☞ dans une variable : objet informatique manipulable par le programme. Les traitements sont associés dans le programme à la notio
ISN TP 3 : « Premiers pas en programmation … »
ISN. TP 3 : « Premiers pas en programmation … » 18/06/2015. Cette année nous allons développer des programmes dans un langage de programmation qui |
UL Press Review 15.06. 2015 - 21.06.2015
15 juin 2015 Jungen schneiden in der Schule oft schlechter ab ... Draghi Gets EU Top Court's Backing for 2012 OMT ... de ne pas dépasser les 2/3. |
© I CCI International
Programmation UBIFRANCE 2015 au 1er septembre 2014 18/06/2015 20/06/2015 ... IONESCU. Cornélia. AGRO - Matériel agricole. PI - Mieux se nourrir. 3 ... |
Sommaire
Par ailleurs le rôle de la Fondetec en tant qu'institution de financement de référence pour les entreprises en création et de moins de 3 ans se voit confirmé d |
Sciences criminelles : qui sont les Experts ?
50 ans de « marche au pas » à la. Police cantonale vaudoise ! Prévention criminalité. Le premier vous distrait … le second vous détrousse! Personnel. |
Untitled
%20Vol.76%20No.4 |
B u lle tin m e n su e l d e la Se ctio n G e n e vo ise d u C lu b A lp in
4 juin 2015 Pour le Luisin en juin 1887 15 clubistes prennent le premier train du samedi en direction de. Vernayaz. Après un «bon repas pas cher» à l'Hôtel ... |
Agir contre la vulnérabilité énergétique transport
18/06/2015. Rapport final à l'ONPE sur la dimension mobilité et transport de la précarité énergétique. Volume 3/4. Agir contre la vulnérabilité. |
UNIVERSITÉ DE LAUSANNE FACULTÉ DE THÉOLOGIE ET DE
La véritable tradition n'est pas de refaire ce que les gens ont fait mais retrouver 3. Herméneutique biblique – proximité et altérité (de la Parole) . |
INCAPACITÉ OU INAPTITUDE AU TRAVAIL
3. Qu'est–ce que l'inaptitude au poste de travail ? protection n'existe cependant pas pendant la période d'essai. ... 324a CO in : Jean-Philippe. |
1 Notion de langage de programmation 2 La console Python
F JUNIER 2015/2016 Chapitre 2 : Eléments de programmation ISN 1 Notion de langage de Attention la branche 3 x de Python n'est pas totalement rétrocompatible avec la branche 2 x +1' (somme des 100 premiers entiers dans |
ISN TP 3 : « Premiers pas en programmation » - Rosamaths
ISN TP 3 : « Premiers pas en programmation » 18/06/2015 Cette année, nous allons développer des programmes dans un langage de programmation qui |
Algorithmique et programmation : les bases (Python) Corrigé
Exercice 10 : Plusieurs sommes des n premiers entiers n'importe où dans le programme, et donc pas forcément dès le début Attention : Pour des raisons de Out[14]: 'oui' In [15]: note = int(input("Quelle note (sur 5) mettez-vous ? ")) |
Calcul Scientifique avec Python - Institut de Mathématiques de
Université Paul Sabatier Toulouse 3 – 2015 évolution Malthus (fin du 18ème siècle) nous donne un premier modèle P/(t) = rP(t), t > 0 L'idée de ce cours est donc d'étudier un langage de programmation qui permette de mettre en œuvre récursives, composition de fonctions, pas d'effets de bord) for x in premiers : |
TP DE LANGAGE PYTHON 3 - LAMSADE
2014-2015 1 1 Programmation Python en ligne de commande 4 Premiers pas en Python 6 for clef, value in dico items(): # Ne pas oublier les 2 points |
Programmation - Formations en Informatique de Lille
Équipe pédagogique de l'année 2014-2015 Jonathan Aceituno Le langage que vous avez allez apprendre en premier est Python Il s'agit d'un in is lambda None nonlocal not or pass raise return True try while with yield Affectation (ou |
Programmation Python - premiers apports
18 fév 2018 · Algorithmique et programmation au lycée — Python Académie de depuis la rentrée 2016 → BOEN spécial n°11 du 26 novembre 2015 Au lycée ▷ Spécialité ISN — Informatique et sciences du numérique, classe de terminales S On ne parle pas (dans un premier temps) de référence vers une valeur |
Programmer En Python 3 X Des Premiers Pas ã L Interface
PROGRAMMER EN PYTHON ISN MARCHAL Ces nombres sont donc espacés alternativement de 2 et 4 pas Programme Le programme élimine d 2014 2015 Informatique TP N°1 L'IDE Spyder Et Premiers Pas En Python 1 Lancement Et |