Programmation Bas Niveau
|
|
|
- Anne-Claire Lacroix
- il y a 10 ans
- Total affichages :
Transcription
1 Programmation Bas Niveau Basé en grande partie sur les notes de Etienne Payet et Fausto Spoto 1 Université de La Réunion FST - L2 Info Introduction 2
2 Module Machines virtuelles (Java), bytecode, etc. 30h : 10h CM, 8h TD, 12h TP Evaluation: TP noté + exam final 3 Kezaco? 6 générations de langages de programmation Génération 1 : Langage machine avec Instructions binaires en programmation directe Génération 2 : Instructions sous forme symbolique (mnémoniques) plus compréhensible pour l homme, en programmation indirecte au travers un programme (assembleur) Génération 3 : Langages indépendants du processeur. Proches des langues parlées (anglais). Langages procéduraux, descriptions des opérations à effectuer pour résoudre un problème 4
3 Kezaco? 6 générations de langages de programmation Génération 4 : Langages descriptifs, très fortement lié à un domaine (base de données, tables de calcul) Génération 5 : Langages descriptifs pour la programmation de systèmes experts Génération 6 : Orienté objet. Toutes les informations nécessaires à la résolution d un problème sont réunies dans un objet 5 Type de langages Langages des générations 1 et 2: langages de bas niveau (orienté machine) - Proche du matériel Langages des générations 3 à 6 : langages de haut niveau (orienté problème) - Eloigné du matériel 6
4 Machines Virtuelles 7 Exemple 8
5 Définition Machine virtuelle de haut niveau: programme qui exécute un autre programme avec le fonctionnement et la structure d une machine physique traditionnelle La VM s exécute elle sur une machine physique et est spécifique à chaque plateforme. 9 Exemple 10
6 Avantages Portabilité Richesse bibliothèque Moins de limitations Facilité de MAJ Sécurité 11 Inconvénients Vitesse d éxécution Impossibilité de contrôler le materiel directement 12
7 Et nous? Bytecode!!! 13 Bytecode 14
8 Définition Opcode: (operation code) code d une opération (add, sub, etc.) du langage machine Bytecode: opcode de la taille d un byte (octet) opcode d une VM par extension, langage d une machine virtuelle Ex: Java Virtual Machine 15 Java sans Java? Bytecode sans Java : (Jython, etc.) Assembleur de bytecode : (Jasmin, Oolong) 16
9 Assembleur Langage d assemblage (Langage assembleur ou encore assembleur): forme plus lisible par un humain du langage machine, associant un mnémonique à chaque opcode (ex: add, sub, etc.) Assembleur: programme qui convertit le mnémonique en langage machine 17 Jasmin 18
10 Structure JVM 19 Lire un.class javap -c nomdefichier -c : pour avoir le détail des méthodes nomdefichier : un fichier.class (ne pas ajouter l extension) A tester ;) 20
11 Types de bases Type Descrip de type - mnémonique 21 Descrip de type - methodes entier signés sur 8 bits byte b B (-2^7 à 2^7-1) entier signés sur 16 bits short s S (-2^15 à 2^15-1) int i I entier signés sur 32 bits long l J entier signés sur 64 bits char c C entiers sur 16 bits (UNICODE : 0 à 65535) float f F flottants 32 bits double d D flottants 64 bits class a L...; référence à un objet Piles La pile est l endroit où sont rangées les frames (cadres) d invocation des méthodes. Elle est gérée par les trois pointeurs frame, vars et optop. Il y a une pile par thread. ex : empiler 5 emplier 10 addition Notation polonaise inverse (notation post-fixée) 22
12 NPI 3 x (4 + 7) s écrit: 4 [Ent] x 3 [Ent] 4 [Ent] 7 + x 23 qq bytecode Type Addition Soustraction Multiplication Division Reste div. entière mnémonique iadd, ladd, fadd, dadd isub, lsub, fsub, dsub imul, lmul, fmul, dmul idiv, ldiv, fdiv, ddiv irem, lrem 24
13 Jasmin 25 Projet Jasmin télécharger jasmin-2.4.zip (1.4 MB) Exemples : Helloworld.j, Count.j, etc. java -jar jasmin.jar examples/count.j crée un fichier binaire Count.class (non lisilble directement) qui peut tourner sur une JVM java examples/count Attention : on n écrit pas le.class 26
14 Syntaxe Jasmin Exemple bipush 5 5 bipush iadd 8 27 Syntaxe Jasmin Exemple bipush 4 4 bipush imul (12) / idiv (1) / isub (1) / irem (1) 28
15 Syntaxe Jasmin Commentaire point-virgule précédé d un caractère blanc (espace, tab, retour à la ligne) Exemple ; addition de deux nbre bipush 4 ; 1ère val bipush 3 ; 2ème val imul ; multiplication 29 Syntaxe Jasmin Format général d une instruction mnémonique paramètre(s) ; commentaire Directives commence par un point exemple:.class public MaClass ;pour indiquer que le fichier définit la class MaClass.limit stack 2 ;fixe la taille maxi de la pile à 2 30
16 Quelques exemples Expressions arithmétiques (à faire au tableau ^^ ) Rappel Java : 4 type d entiers long (64): 9,223,372,036,854,775,808 à 9, 223,372,036,854,775,807 int (32): 2,147,483,648 to 2,147,483,647 short (16): 32,768 to 32,767 byte (8): 128 to
17 Syntaxe b: byte bipush 37 -> ok bipush 300 -> erreur s: short sipush 300 -> ok sipush > erreur 33 Constante ldc arg: load constant (byte, short, int et float) ldc 50000, ldc 37, ldc 300, ldc > ok ldc2_w arg: load constant (long et double) ldc2_w xconst_n: (pas d arg) avec x = type, et n = valeur entre -1 (m1) et 5 pour int : iconst_0 n = valeur entre 0 et 1 pour long/double n = valeur entre 0 et 2 pour float aconst_null 34
18 Affichage en Java java.lang.system.out.println (8) java.lang: package System.out: champ statique «out» de la classe system du package println: nom de la méthode (8): paramètres javap java.lang.system public static final java.io.printstream out; 35 Affichage en Bytecode getstatic java/lang/system/out Ljava/io/PrintStream getstatic : obtenir un champ statique java/lang/system/out : le champ statique Ljava/io/PrintStream : le type de champ statique bipush 8 invokevirtual java/io/printstream/println (I) V invokevirtual : appel de méthode java/io/printstream/println : méthode (I) V : I = type du paramètre (int), V = type du résulat (void) 36
19 Exemple getstatic java/lang/system/out Ljava/io/PrintStream; bipush 4 bipush 3 idiv invokevirtual java/io/printstream/println(i)v 37 Conversion de type En Java: > Ok, 2 est converti automatiquement (promotion de type) en 2.0 puis l addition est faite En Java Bytecode: pas de promotion de type, il faut explicitement faire les conversions avec i2f, i2d, i2l, i2b, i2c, i2s l2f, l2d, l2i f2l, f2d, f2i d2l, d2f, d2i 38
20 Squelette simple prg.class public examples/addition.super java/lang/object.method public static main([ljava/lang/string;)v ; VOTRE CODE ICI return.end method 39 Fixer la taille pile Directive «.limit stack n» au début de main 40
21 Dupliquer sommet pile dup dup2 dup_x1 dup_x2 dup2_x1 dup2_x2 41 Manipulation pile pop (supprime) pop2 swap (permute) 42
22 Etiquettes - Label nomlabel : nomlabel suivi du caractère : nomlabel = séquence de caractères ne commençant pas par un chiffre, sans = ;. -, différent d un nom d une instruction/directive Sert à nommer un point précis du programme Utilisé dans les instructions branchements 43 Branchements Pour aller à un point précis (label) du programme goto <label> ex de boucle infinie Label1 : goto Label1 44
23 Branchements iftest <label> Va au label si le Test est vrai... (byte, short, int, char) Test = Entre 2 var: _icmpgt (>), _icmplt (<), _icmpge ( ), _icmple ( ), _icmpeq (=), _icmpne (#) Entre var et 0: gt (>), lt (<), ge ( ), le ( ), eq (=), ne (#) 45 Branchements long : lcmp condition : v1 et v2 long resultat: v1 et v2 retiré de la pile et remplacé par: 1 si v1 > v2 0 si v1 = v2-1 si v1 < v2 (à utiliser avec ifgt, iflt, ifeq,...) float : fcmpg fcmpl - double : dcmpg dcmpl 46
24 Variables locales Stockage de données de la JVM Pile Tableau de variables locales (à la méthode en cours d éxecution) : 65,536 local variables Limitable par «.limit locals 5» 47 Variables locales Tableau de variables locales (à la méthode en cours d éxecution) indexé par des entiers Indice première case : 0 istore, lstore, fstore, dstore retire la valeur au sommet de la pile et la stocke dans une variable locale iload, lload, fload, dload copie le contenu d une variable au sommet de la pile 48
25 Exemple iconst_2 istore 0... iload 0 49 Notes Double et Long prennent l équivalent de 2 variables De 0 à 3: on peut utiliser «fload_3» au lieu de «fload 3» Variables non typés le slot 2 peut être int au début, float au milieu et 1/2 double à la fin du prg) 50
26 Char Caractères : UNICODE getstatic java/lang/system/out Ljava/io/PrintStream; ldc 65 ; equivalent de «A» en unicode invokevirtual java/io/printstream/println(c)v 51 String Chaîne de caractères classe string (java.lang.string) liste des méthodes avec «javap java.lang.string» constantes avec les " " ldc "coucou" Affichage avec Ljava/lang/String; invokevirtual java/io/printstream/println(ljava/lang/string;)v Stockage aload, astore 52
27 Notes 5 types de bases int (32-bit signed integer) long (64-bit signed integer) float (32-bit floating-point number) double (64-bit double precision floating-point number) reference 53 Notes 54
28 Notes reference (astore, aload) référence à un objet (Car, Rectangle, String, etc...) = pointeur 55 Méthodes Chaque méthode dispose de sa propre pile et tableau de variable locale Définition.method public static nom(type_paramètres) type_résultat.limit stack 99.limit locals 99 ; VOTRE CODE return.end method 56
29 Méthodes Les paramètres stockés dans les var locales de la méthodes Appel à une méthode Placer les paramètres au sommet de la pile invokestatic nomclass/ nommethod(type_param)type_resul Le résultat (s il y en a un) est stocké au sommet de la pile, en remplacement des paramètres 57 Tableaux (Arrays) Tableau= suite de case mémoire adjacentes En JBC: Tous les éléments d un tableau sont du même type L indice du premier élement est 0 Les tableaux ont une taille fixe et sont de la forme : 4 octets (32 Bits) Taille Type eléments elt0 elt1 elt
30 Tableaux Création d un tableau: newarray <type_elements> la taille doit être spécifié avant, les éléments sont initialisés à une valeur par défaut (ex. pour int: 0) bipush 6 newarray int Place en haut de la pile une référence vers le tableau 6 int Tableaux arraylength Prend la référence d un tableau au sommet de la pile et la remplace par la taille du tableau bastore, aastore, fastore, dastore, etc. Ecrit une valeur dans le tableau (voir exemple) baload, aaload, faload, daload, etc. Lis une valeur dans le tableau (voir exemple) 60
31 Exemples bipush 6 newarray float getstatic java/lang/system/out Ljava/io/PrintStream; swap arraylength invokevirtual java/io/printstream/println(i)v 61 Exemples bipush 6 newarray float ; création d un tableau de 6 floats astore 0 ; pour garder l adresse en mémoire du tableau aload 0 ; pour faire le rappel du tableau iconst_2 ldc 7.0 fastore ; stockage de 7.0 dans la case 2... aload 0 ; pour faire le rappel du tableau iconst_2 faload ; pour mettre au sommet de la pile la valeur de la case 2. 62
32 Tableaux & méthodes [type_éléments.method public static affichertableaufloat ([F)V.method public static creertableaufloat (IF)[F.method public static main([ljava/lang/string;)v 63 Paramètres en LC % java monfichier test1 test2.method public static main([ljava/lang/string;)v.limit stack 5.limit locals 10 getstatic java/lang/system/out Ljava/io/PrintStream; aload 0 iconst_1 aaload invokevirtual java/io/printstream/println(ljava/lang/string;)v return.end method 64
33 A vous de jouer TP2 à refaire avec des paramètres en ligne de commandes pour Paques Factorielle Fibonacci Schéma 65 Références 66
34 A lire Fin 68
Machines Virtuelles Cours 3 : La machine virtuelle Java
Machines Virtuelles Cours 3 : La machine virtuelle Java Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Vue
La JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Une introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Machines virtuelles. Brique ASC. Samuel Tardieu [email protected]. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu [email protected] École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
JVM. .class, chargeur et instances de Class Jeu d instructions. Cnam NFP121 jean-michel Douin, douin au cnam pt fr version 13 Décembre de l'an 7 JVM
.class, chargeur et instances de Class Jeu d instructions Cnam NFP121 jean-michel Douin, douin au cnam pt fr version 13 Décembre de l'an 7 1 Bibliographie [LY96]T.Lindholm,F.Yellin. The Java Virtual machine
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Java Avancé. Le langage Java. Rémi Forax [email protected]
Java Avancé Le langage Java Rémi Forax [email protected] 1 Java Avancé 2 La technologie Java En quelques mots : Orienté Objet Simple, Robuste, Dynamique et Sécurisé Indépendant de la Plateforme (VM) Semi
RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes [email protected] LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
INITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Java c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 [email protected] Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
DG-ADAJ: Une plateforme Desktop Grid
DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3
Programmation assembleur : aperçu
Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal
Rappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C [email protected] ibrahimguelzim.atspace.co.uk
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
La carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Java Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd [email protected] Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Langage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Mécanismes pour la migration de processus
Université Joseph Fourier Institut National Polytechnique de Grenoble U.F.R. Informatiques & Mathématiques Appliquées ENSIMAG I.M.A.G. DEA D INFORMATIQUE : SYSTEMES ET COMMUNICATIONS Projet présenté par
PROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 [email protected] B. Carré Polytech Lille 2 Java (Sun 1995)
Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96
Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.
Programmation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
UE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Structure d un programme
Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé
Informatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Cours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
TP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron [email protected] 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION
145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Généralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
Logiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) [email protected] I. Représentation des nombres Codage et représentation de l'information Information externe formats
Architecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Introduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Vérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Claude Delannoy. 3 e édition C++
Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.
Carte à puce Java Card: Protection du code contre les attaques en faute
Carte à puce Java Card: Protection du code contre les attaques en faute Ahmadou Al Khary Séré, Jean-Louis Lanet, Julien Iguchi-Cartigny Université de Limoges, Laboratoire XLIM, Équipe SSD, 83 rue d'isle,
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Rappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Structure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Programmation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Analyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
ALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5
UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Programmation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex [email protected] http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Programmation Orientée Objet Java
Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Architecture de l ordinateur
Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel
Machines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 [email protected] PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
TP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Initiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Développement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
ACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Introduction à Java. Philippe Genoud. [email protected]. http://www.inrialpes.fr/helix/people/genoud/ensjava
Introduction à Java Philippe Genoud [email protected] http://www.inrialpes.fr/helix/people/genoud/ensjava http://membres-liglab.imag.fr/genoud/ensjava/m2cci/ 1 JAVA c'est quoi? Une technologie développée
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation
Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Architecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Compilation (INF 564)
Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne [email protected]
CM2 L architecture MIPS32
CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Chapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Programmation Orientée Objet
Lancelot Pecquet Programmation Orientée Objet Introduction illustrée en Java Université de Poitiers, Licence d Informatique Version 1.1, du 19 janvier 2006 Qu attendre de ce document? Ce document a pour
Chapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Aide mémoire UML & Java 1ère partie : Introduction. [email protected]
Aide mémoire UML & Java 1ère partie : Introduction [email protected] 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................
Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43
Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation
