ISN TP 3 : «Premiers pas en programmation» 18/06/2015


PDF
List Docs
PDF 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 

PDF 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é

PDF 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

PDF 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 à

PDF 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)

PDF 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 

PDF 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

PDF 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

PDF 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 

PDF 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 

PDF 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 

PDF 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

Share on Facebook Share on Whatsapp











Choose PDF
More..












ISO/CEI 17065 NORME INTERNATIONALE. Évaluation de la conformité Exigences pour les organismes certifiant les produits, les procédés et les services ISO/CEI 90003 NORME INTERNATIONALE. Ingénierie du logiciel Lignes directrices pour l'application de l'iso 9001:2000 aux logiciels informatiques ISRPP FORMATION Mentions légales ITAC. Gestion Internet du Tir des Avis Préalables. Guide de l utilisateur : Association Maj 01 09 2012 ITIL V2. La gestion des problèmes I_ QUESTIONS/REPONSES SUR LE CARACTERE COLLECTIF DU REGIME : CATEGORIES BENEFICIAIRES (ART.R.242-1-1 ET R.242-1-2 DU CSS). J ai un logement. Loyer, prêt, travaux, déménagement N oubliez pas. Plus d informations sur vos prestations. Connaissez-vous la Caf? JANVIER 2014 PANORAMA DES CONTRATS DE TRAVAIL POLE-EMPLOI.FR

PDFprof.com Search Engine
Images may be subject to copyright Report CopyRight Claim

Programme 2015 pour la maternelle -

Programme 2015 pour la maternelle -


IO 2015 Programmation mathématiques en MS - FichesPédagogiquescom

IO 2015 Programmation mathématiques en MS - FichesPédagogiquescom


Chapitre 1 - Divisibilité et nombres premiers - Fichier PDF

Chapitre 1 - Divisibilité et nombres premiers - Fichier PDF


Tableaux des objectifs et compétences attendues maternelle - 2015

Tableaux des objectifs et compétences attendues maternelle - 2015


Progressions / Maternelle - Christall'Ecole

Progressions / Maternelle - Christall'Ecole


INFO2 Algorithmique ET Programatiion Chapitre1-Introduction par

INFO2 Algorithmique ET Programatiion Chapitre1-Introduction par


Progressions / Maternelle - Christall'Ecole

Progressions / Maternelle - Christall'Ecole


IO 2015 Programmation : mathématiques en PS - FichesPédagogiquescom

IO 2015 Programmation : mathématiques en PS - FichesPédagogiquescom


cours langage C par user - Fichier PDF

cours langage C par user - Fichier PDF


Cours Programmation Système - PDF Free Download

Cours Programmation Système - PDF Free Download


Télécharger le cours e n pdf

Télécharger le cours e n pdf


Premiers pas avec Opale ou Topaze [Rencontres Scenari 2015]

Premiers pas avec Opale ou Topaze [Rencontres Scenari 2015]


Programme-SYNPIP2015-Final - Fichier PDF

Programme-SYNPIP2015-Final - Fichier PDF


Progressions / Maternelle - Christall'Ecole

Progressions / Maternelle - Christall'Ecole


Doc Solus

Doc Solus


PDF] Cours introduction XSLT en pdf

PDF] Cours introduction XSLT en pdf


Programmes

Programmes


Programme des Nations unies pour le développement — Wikipédia

Programme des Nations unies pour le développement — Wikipédia


Progressions / Maternelle - Christall'Ecole

Progressions / Maternelle - Christall'Ecole


Programme du Conseil national de la Résistance - Fichier PDF

Programme du Conseil national de la Résistance - Fichier PDF


Programme du master en droit 2015 Pages 1 - 47 - Flip PDF Download

Programme du master en droit 2015 Pages 1 - 47 - Flip PDF Download


Programmes

Programmes


PDF) Exploitation et usage du bois d'arganier (Argania spinosa L

PDF) Exploitation et usage du bois d'arganier (Argania spinosa L


Programme international pour le suivi des acquis des élèves

Programme international pour le suivi des acquis des élèves


PDF] Premiers pas avec Ubuntu cours et formation gratuit

PDF] Premiers pas avec Ubuntu cours et formation gratuit


Télécharger le Calendrier PDF de Premier League 2015 2016

Télécharger le Calendrier PDF de Premier League 2015 2016


Progressions / Maternelle - Christall'Ecole

Progressions / Maternelle - Christall'Ecole


Tableaux et graphiques au CE2 - FichesPédagogiquescom

Tableaux et graphiques au CE2 - FichesPédagogiquescom


PDF) La gouvernance des finances publiques : Quel impact de la

PDF) La gouvernance des finances publiques : Quel impact de la


Télécharger cours et exercices en PDF de maths et contrôles

Télécharger cours et exercices en PDF de maths et contrôles


Nouveaux programmes de maternelle  le temps de la mise en oeuvre

Nouveaux programmes de maternelle le temps de la mise en oeuvre


Programmes

Programmes


Openmag n°175 mai 2015 - Page 18 - 19 - Openmag n°175 mai 2015

Openmag n°175 mai 2015 - Page 18 - 19 - Openmag n°175 mai 2015

Politique de confidentialité -Privacy policy