Université Paris Diderot MASS L2 Année UNIX, emacs, premier programme java

Documents pareils
TP1 - Prise en main de l environnement Unix.

TP, première séquence d exercices.

TP 1 Prise en main de l environnement Unix

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP1 : Initiation à l algorithmique (1 séance)

Plan du cours. Historique du langage Nouveautés de Java 7

Outils pour la pratique

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

La mémoire. Un ordinateur. L'octet. Le bit

ACTIVITÉ DE PROGRAMMATION

Unix/Linux I. 1 ere année DUT. Université marne la vallée

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Chapitre I Notions de base et outils de travail

Algorithmique et Programmation, IMA

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Module : Informatique Générale 1. Les commandes MS-DOS

TP1 : Initiation à Java et Eclipse

Affectation standard Affectation modifiée (exemple)

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Licence Sciences et Technologies Examen janvier 2010

L informatique en BCPST

Groupe Eyrolles, 2003, ISBN : X

Tp 1 correction. Structures de données (IF2)

Premier cours d informatique

Édu-groupe - Version 4.3

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Utilisation du client de messagerie Thunderbird

INF 321 : mémento de la syntaxe de Java

TP1. Outils Java Eléments de correction

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

TP 4 de familiarisation avec Unix

TD3: tableaux avancées, première classe et chaînes

La saisie d un texte

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C++ (débutant)/instructions for, while et do...while

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

1.1 L EXPLORATEUR WINDOWS

Découvrir l'ordinateur (niveau 2)

Gestion des fichiers sur micro-ordinateur

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Utiliser Java sans BlueJ

ENVOI EN NOMBRE DE SMS

Utilisation de l outil lié à MBKSTR 9

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Initiation à la programmation en Python

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Le langage C. Séance n 4

STAGE IREM 0- Premiers pas en Python

Java Licence Professionnelle CISII,

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.

INTRODUCTION À L INFORMATIQUE. Etsup 2012 Florian JACQUES

à l édition de textes

TP 4 & 5 : Administration Windows 2003 Server

Eclipse atelier Java

Utiliser Freemind à l'école

ENVOI EN NOMBRE DE SMS

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

1 Lecture de fichiers

as Architecture des Systèmes d Information

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Utilisation du logiciel Epson Easy Interactive Tools

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Cours d algorithmique pour la classe de 2nde

Introduction au langage C

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

Tablette Pegasus PC Notes. Code : Conrad sur INTERNET Version 02/ Conditions du système.

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Premiers Pas en Programmation Objet : les Classes et les Objets

Remise à niveau d un programme JAVA du domaine public

Algorithmique et programmation : les bases (VBA) Corrigé

CAPTURE DES PROFESSIONNELS

C.M. 1 & 2 : Prise en main de Linux

DAG ADMIN. SOMMAIRE. Vos équipements I - Point de détection II - Caisse a) Caisse

TP 1. Prise en main du langage Python

Réparer un disque dur passé en RAW

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Utilisation d objets : String et ArrayList

Solutions du chapitre 4

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Introduction à Eclipse

Initiation à l algorithmique

Cette fonctionnalité est paramétrable et accessible dans le module administration via le menu "Dossier / Administration".

1. Ouvrir Internet Explorer Faire défiler une page Naviguer dans un site Internet Changer d adresse Internet (URL) 2

Cours 1 : La compilation

Transcription:

Université Paris Diderot JAVA MASS L2 Année 2007-2008 TP n 1 - Correction UNIX, emacs, premier programme java Ce premier TP a pour but de reprendre en main les machines et d être capable d écrire et de compiler un premier programme en java. Dans la mesure du possible, mettez-vous seul à une machine. Tout d abord, allumez votre machine, et choisissez l environnement UNIX, sous lequel nous travaillerons durant tout le trimestre. Rentrez votre nom d utilisateur, ainsi que votre mot de passe. 1 Rappel : répertoires et fichiers La mémoire d une machine est organisée en fichiers et en répertoires. Un répertoire peut «contenir» d autres fichiers ou répertoires. Ceci donne naissance à une structure arborescente. Voici un exemple d une telle structure : notes1 cours notes2 TP README fichier1 Dans cet exemple, le répertoire contient 2 répertoires cours et TP, ainsi que 2 fichiers README et fichier1. Le répertoire cours contient 2 fichiers notes1 et notes2. Le répertoire TP est vide. Les fichiers ou répertoires contenus dans un répertoire sont appelés fils de ce répertoire ; le répertoire qui contient un fichier ou un répertoire est appelé parent de ce fichier ou de ce répertoire. Dans l exemple, le répertoire cours est donc un fils du répertoire, et est le parent de cours. 2 Environnement UNIX Nous allons travailler sous UNIX, en utilisant un terminal de commande - cela peut paraître pénible au début, mais à l usage, l utilisation d un terminal est plus puissante et permet de gagner du temps. 1

Commencez par ouvrir un terminal. Une invite de commande apparait. Nous allons taper quelques commandes dedans (toute commande se termine par entrée). NB : attention, la souris ne fonctionne pas dans un terminal! Au départ, vous êtes dans votre répertoire personnel, qui s appelle. 2.1 Manipulation de fichiers et répertoires Voici les premières commandes de bases permettant de manipuler des répertoires et des fichiers (attention aux espaces! ) : pwd (print working directory) : affiche le nom du répertoire courant (celui depuis lequel vous travaillez). ls (listing) : affiche le contenu du répertoire courant. cd nom_du_repertoire (change directory) : change de répertoire courant pour aller dans l un de ses fils, nom_du_repertoire. cd.. : change de répertoire courant pour aller dans son parent. touch nom_du_fichier (toucher) : crée un fichier vide appelé nom_du_fichier dans le répertoire courant. mkdir nom_du_repertoire (make directory) : crée un répertoire vide appelé nom_du_repertoire dans le répertoire courant. NB 1 : lorsque vous tapez le nom d un fichier ou d un dossier, vous pouvez taper seulement les premières lettres et utiliser la touche tabulation pour compléter automatiquement le nom de ce fichier ou dossier. NB 2 : en appuyant sur, vous pouvez rappeler les commandes précédentes, ce qui peut également faire gagner du temps. Exercice 1 À l aide de ces commandes, créez l arborescence donnée ci-dessus et déplacez-vous à l intérieur. touch README touch fichier1 mkdir TP mkdir cours cd cours touch notes1 touch notes2 ls cd.. ls Des commandes permettent également de supprimer les fichiers et les répertoires. rm (remove) : permet de supprimer un fichier fils. rmdir (remove directory) : permet de supprimer un répertoire fils vide. Exercice 2 Supprimer tous les répertoires et fichiers créés lors de l exercice précédent. cd cours rm notes1 rm notes2 2

cd.. rmdir cours rmdir TP rm README rm fichier1 2.2 Chemins relatifs Il n est pas utile de se déplacer dans un répertoire pour effectuer une action. On peut désigner tout répertoire ou fichier par un nom appelé chemin relatif, dépendant de l endroit où l on se trouve. Par exemple, si l on se trouve dans, on peut directement désigner notes1 dans cours en utilisant le nom : cours/notes1 (le symbole / est appelé slash). On tapera par exemple rm cours/notes1 pour le supprimer. Si l on se trouve dans TP, on tapera rm../cours/notes1 (rappelez-vous que.. désigne le répertoire parent du répertoire courant). Exercice 3 Sans bouger du répertoire racine (celui qui est à la base de l arborescence ; il s agit ici de ), créez l arborescence suivante rep1 fichier2 rep2 fichier3 fichier1 mkdir rep1 mkdir rep1/rep2 touch fichier1 touch rep1/fichier2 touch rep1/rep2/fichier3 2.3 Déplacer et renommer La commande mv (move) permet d effectuer ces 2 opérations. mv nom repertoire_cible : déplace le fichier ou répertoire nom dans le répertoire repertoire_cible. Par exemple, si l on est dans rep2 et que l on souhaite mettre fichier3 dans, on utilisera mv fichier3../.. mv nom nouveau_nom : renomme le fichier ou répertoire nom en nouveau_nom. 3

Par exemple, si l on est dans rep1 et que l on souhaite renommer fichier2 en README, on utilisera mv fichier2 README Exercice 4 Créez quelques nouveaux fichiers et testez ces nouvelles commandes. Terminez en effaçant toute l arborescence que vous avez créée. 3 emacs Nous vous conseillons pour taper vos programmes java d utiliser l éditeur de texte emacs, à moins que vous ne soyez déjà habitués à un autre éditeur. emacs est un éditeur de texte extrêmement puissant, et nous n utiliserons qu une infime partie de ses très nombreuses fonctionnalités. Introduisons la commande emacs nom_du_fichier & : ouvre avec emacs le fichier nom_du_fichier. nom_du_fichier est créé s il n existe pas déjà. emacs ouvre alors une nouvelle fenêtre. La plupart des commande dont nous allons avoir besoin sont disponibles à partir des menus (File, Edit et Tools principalement) situés en haut de la fenêtre. Suivant la version, quelques icones peuvent apparaitre pour les taches les plus courantes. Néanmoins à l usage, il est plus rapide d utiliser quelques raccourcis clavier : Ctrl x Ctrl s : sauvegarder Ctrl x Ctrl c : fermer emacs Ctrl k : couper une ligne Ctrl y : coller une ligne le cas échéant, les autres raccourcis sont indiqués dans les menus! Il existe également un mécanisme général permettant de faire des copier-coller à la souris : pour copier, il suffit de sélectionner le texte à copier (click gauche), et pour coller, il suffit de faire un click central à l endroit où vous souhaitez coller. Ceci fonctionne aussi dans un terminal. Exercice 5 Ouvrez un nouveau fichier avec emacs, tapez une ligne de texte, dupliquez-là, puis sauvegardez et quittez. 4 Premier programme java Nous sommes prêts à écrire un premier programme java. Exercice 6 Commencez par créer un répertoire TP1 dans votre répertoire racine. Nous allons désormais travailler à l intérieur de ce répertoire. Ouvrez avec emacs un fichier Test.java et écrivez le code suivant : public class Test public static void main(string[] argd) System.out.println("Bonjour tout le monde"); Quelques rappels : Un fichier.java définit une classe et doit porter son nom (ici Test.java). Par convention, ce nom commencera toujours par une majuscule. 4

public static void main(string[] argd), sous une apparence barbare, désigne en fait seulement la fonction qui va être appelée lors de l exécution du programme. Nous verrons au fur et à mesure du cours la signification des différents mots-clef utilisés. System.out.println() permet d afficher à l écran une chaîne de caractères. Une fois le code sauvegardé, deux étapes nous séparent de son exécution : compiler - cette étape transforme le code en pseudo-code ou bytecode, compréhensible par la machine virtuelle java. javac Test.java exécuter - cette étape exécute le bytecode sur une machine virtuelle java. java Test Exercice 7 Exécutez puis compilez le code que vous venez d écrire. Quel fichier est créé lors de la compilation? Modifiez la phrase à afficher. Que se passe-t-il si vous ne recompilez pas le code avant de l exécuter? 5 Échauffement : boucle for On rappelle la syntaxe de la boucle for : for (int i=0; i<10; i++) //code à éxécuter Exercice 8 Écrire dans des fichiers séparés les programmes suivants : (on pourra faire usage de la copie de fichier et/ou de copier-coller pour gagner du temps). un programme Ordre.java qui écrit les entiers de 1 à 100 dans l ordre croissant à l écran. un programme Desordre.java qui écrit les entiers de 1 à 100 dans l ordre décroissant à l écran. un programme Puissance.java qui écrit les 10 premières puissances de 2 à l écran. class Ordre for (int i=1; i<=10; i++) System.out.println(i); class Desordre for (int i=0; i<10; i++) System.out.println(10-i); 5

class Puissance int a=2; for (int i=0; i<10; i++) System.out.println(a); a=a*2; 6 Échauffement : boucle while, conditions On rappelle la syntaxe de la boucle while : while (condition) //code à éxécuter ainsi que du branchement conditionnel : if (condition) //code à éxécuter si la condition //est vérifiée else //code à éxécuter si la condition //n est pas vérifiée Exercice 9 On appelle suite de Syracuse la suite d entiers suivante : on se donne un premier terme entier u 0 et on définit u n+1 = u n /2 si u n est pair. u n+1 = 3 u n + 1 si u n est impair. La conjecture de Syracuse (non démontrée à l heure actuelle) est que quelquesoit l entier choisi au départ, on fini toujours par retomber sur 1 au bout d un certain temps. La parité d un entier a peux se vérifier de la manière suivante : if (a%2==0)... Écrire un programme permettant d afficher la suite de Syracuse commençant par 97. Essayez avec quelques autres valeurs! 6

class Syracuse int a=97; while (a!=1) System.out.println(a); if (a%2==0) a=a/2; else a=3*a+1; 7