TP 1 : entrées/sorties, variables et fonctions



Documents pareils
TP, première séquence d exercices.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse

Chapitre I Notions de base et outils de travail

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

TP 1 Prise en main de l environnement Unix

Accès distant Freebox v6 Configuration

Gestion des documents avec ALFRESCO

CAPTURE DES PROFESSIONNELS

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

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

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

as Architecture des Systèmes d Information

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

Java Licence Professionnelle CISII,

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

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

Groupe Eyrolles, 2003, ISBN : X

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

TP 4 de familiarisation avec Unix

TP1. Outils Java Eléments de correction

TP1 - Prise en main de l environnement Unix.

Le langage C. Séance n 4

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

Guide d utilisation. AFNOR Editions Septembre 2012

Séance 0 : Linux + Octave : le compromis idéal

Notice d installation et d utilisation du blog nomade avec un nouveau blog

Votre premier projet Android

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

Guide d installation de MySQL

COTISANT AU RÉGIME GUIDE D ACCÈS AU COMPTE

La base de données XML exist. A. Belaïd

Introduction à Eclipse

Gestion des Factures

Fiche n 14 : Import / Export avec PlanningPME

Java DataBaseConnectivity

Paramétrage des navigateurs

Module d anonymisation

Comment l utiliser? Manuel consommateur

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

Comment créer et utiliser une fonction

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

TUTORIEL Qualit Eval. Introduction :

Algorithmique et Programmation, IMA

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Guide de correction et d optimisation des images en vue de leur publication sous Marcomedia Contribute. Logiciel utilisé : Adobe PhotoShop 7

ENVOI EN NOMBRE DE SMS

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

Guide de l usager - Libre-service de bordereaux de paie en ligne

Comment. RCAM en ligne

GESTION DES PISTES ET OPPORTUNITES

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

Cours 1: Java et les objets

FAIRE UN PAIEMENT TIPI

Courrier électronique

Vue d ensemble de Windows PowerShell

STAGE IREM 0- Premiers pas en Python

Guide d installation CLX.PayMaker Office (3PC)

Tutoriel Atout Facture. 14/01/2015 Codelpi

TP Bases de données réparties

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Gérer vos codes d accès au Portail Saphir

MANUEL POUR L UTILISATION DE L APPLICATION EN LIGNE DU SYSTÈME DE NOTIFICATION DES ACCIDENTS INDUSTRIELS

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

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.

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

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

R01 Import de données

ENVOI EN NOMBRE DE SMS

Guide d utilisation. Version 1.1

TD/TP 1 Introduction au SDK d Android

2. Cliquez Contact Directory of Public Administration. 5. Tapez le mot de passe - Hello (pour OFPA). Changez le mot de passe en cas de

Editer un script de configuration automatique du proxy

Programmer en JAVA. par Tama

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Cours Informatique Master STEP

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Prezi. Table des matières

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Interfaces graphiques avec l API Swing

INTRODUCTION. Pour réaliser une pièce sur Charlyrobot, il faut le faire en trois étapes :

COMPTA. Description des Commandes

1 Démarrage de Marionnet

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

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Créer et partager des fichiers

Vous avez reçu une pièce jointe VOTRE SITE.RAR, qu en faire?

A l aide de votre vous pouvez visiter un site web!

Installation d OpenVPN

1. Structure d'un programme FORTRAN 95

Solution Pro pour l Envoi de SMS direct opérateurs PUSH SMV MODE HTTP. Documentation Technique

Utiliser un client de messagerie

Une introduction à Java

Transcription:

TP 1 : entrées/sorties, variables et fonctions Introduction à l informatique et à la programmation (IF1) Semaine du 26 septembre 2011 Commencez par créer à l aide du shell un répertoire nommé TP1 dans lequel vous travaillerez durant ce TP (ce répertoire devrait logiquement se trouver dans le répertoire /L1/IF1). 1 Premiers pas en Java Exercice 1 : 1. Dans le répertoire ~/L1/IF1/TP1, créez un fichier Menthe.java, et écrivez-y le programme suivant : c l a s s Menthe { System. o u t. p r i n t l n ( " Java, c e s t pas de l a menthe a l eau. " ) ; Sauvegardez-le, et vérifiez à l aide de la commande ls que le fichier a bien été créé (vous pouvez également utiliser les commandes cat, more et less pour visualiser directement son contenu sans passer par un éditeur de texte). 2. Tapez la commande suivante : javac Menthe.java Quels fichiers ont été créés? 3. La commande javac compile le fichier source.java en un fichier.class. Le fichier nommé Menthe.class, dit fichier bytecode, contient un code dit bytecode, qui peut être exécuté par la commande java. Exécutez-le : java Menthe 4. Enlevez le point-virgule de la ligne 3 du fichier Menthe.java, enregistrez le fichier et compilez-le à nouveau. Que se passe-t-il? 5. Toujours dans le répertoire ~/L1/IF1/TP1, créez le fichier Division.java suivant : import j a v a. u t i l. Scanner ; c l a s s D i v i s i o n { i n t n, r ; Scanner sc = new Scanner ( System. i n ) ; System. o u t. p r i n t l n ( " E n t r e z un e n t i e r " ) ; n = sc. n e x t I n t ( ) ; 1

r = 42 / n ; System. o u t. p r i n t l n ( " Le r e s u l t a t e s t : " + r ) ; Ce programme demande à l utilisateur d entrer un entier n et affiche la partie entière de 42/n. Compilez ce programme, vérifiez que le fichier bytecode a bien été créé, puis testez le programme. Que se passe-t-il si vous entrez 0? 2 Affichage et saisie Comme vous l avez constaté dans la section précédente, l affichage d un texte peut se faire par la méthode System.out.println(...), à laquelle on fournit en argument ce qu elle doit afficher. Exercice 2 : Dans un navigateur web, allez à l url http://download.oracle.com/javase/6/docs/api/ C est la documentation actuelle de java 1. Vous remarquez que cette url contient le numéro de version (ici 6) et l acronyme api (Application Programming Interface). La page affichée est séparée en trois parties appelées frames (voir figure 1). FIGURE 1 Page d accueil de la documentation java 1. Affichez la documentation de la classe System en cliquant sur System dans la frame des classes (en bas à gauche). 2. Dans le tableau des champs (Field Summary), suivez le lien vers le champs out : vous voyez que l utilisation de System.out.println(...) est explicitée. Prenez l habitude quand vous utilisez une classe de l API java de jeter un œil à sa documentation en cas de doute. Ajoutez le lien de l API java dans vos favoris. 1. En fait java 7 est sorti fin juillet 2011, mais n est pas encore disponible pour la plateforme utilisée au script. Pour voir sa documentation, il suffit de remplacer 6 par 7 dans l url. 2

Exercice 3 : Ecrivez un programme Nom qui affiche votre prénom. Compilez-le et testez-le. Exercice 4 : Pour la saisie de données, on utilise la classe Scanner. 1. Regardez la documentation de la classe Scanner. Pour utiliser la classe Scanner dans un programme, il faut indiquer au compilateur dans quel package elle se trouve, grâce à la directive d importation import java.util.scanner; Repérez dans la documentation où est donné le nom complet de cette classe. 2. Ecrivez un programme Age qui vous demande l année actuelle et votre année de naissance et affiche votre âge, en supposant que votre anniversaire est déjà passé. 3. Modifiez votre programme pour qu il ait le comportement suivant : > j a v a Age annee a c t u e l l e? 2011 annee de n a i s s a n c e? 1993 Si v o t r e a n n i v e r s a i r e e s t d e j a passe, vous avez 18 ans, s i n o n vous en avez 1 7. 3 Expressions arithmétiques Exercice 5 : Écrivez un programme Moyenne qui lit quatre notes et affiche leur somme et leur moyenne. Compilez et testez-le. Exercice 6 : Écrivez une classe Cercle qui contient une fonction renvoyant le périmètre d un cercle dont le rayon a été fourni en paramètre et une autre renvoyant sa surface. Pour tester ces fonctions, dans le main, demandez le rayon d un cercle et affichez son périmètre et sa surface. Vous pourrez vous servir de la constante Math.PI dont la valeur est une approximation de π. Compilez et testez votre programme. Exercice 7 : Quel est le type et la valeur de chacune des expressions suivantes? 4 / 3 (4-3) * 5 1.3 / 0 4 / 3.0 117 % 7 (-1.3) / 0 4-3 * 5 0.3-0.2 0 / 1.3 4 - (3 * 5) 0.2-0.1 0 / 0 Écrivez un programme ExprArith qui évalue et affiche la valeur de chacune d elles pour vérifier vos hypothèses. Exercice 8 : Écrivez une classe Conversion qui contient une fonction celsius2fahrenheit prenant en argument une température en degré Celsius et renvoyant la température en degré Fahrenheit correspondante. On rappelle la formule f = 9c 5 + 32 où f est la température en degré Fahrenheit et c en degré Celsius. (Pensez au type des variables ce ne sont pas forcément des entiers.) Dans le main, demandez une température en degré Celsius et convertissez-la en degré Fahrenheit. Compilez et testez votre programme. 3

Exercice 9 : Dans la classe Conversion introduite à l exercice 8, ajoutez une fonction ht2ttc qui à partir d un prix hors taxe et d un taux de TVA (fournis en arguments) calcule le prix toutes taxes comprises correspondant. Complétez le main pour testez cette fonction. Compilez et testez votre programme. 4 Opérateurs booléens Exercice 10 : Quelles sont les valeurs des expressions booléennes suivantes? 10 > 5 false (5!= 4) 10 == 5 false && (5!= 4) 5 == 5!(30 % 3 == 0) 5 == 11-6 0.3-0.2 == 0.2-0.1 Vérifiez vos réponses en écrivant un programme qui les évalue. Exercice 11 : Dans une classe Annee, écrivez une fonction estbissextile qui détermine si une année (fournie en argument) est bissextile. (On rappelle qu une année est bissextile si son numéro est multiple de 4, sauf si son numéro est aussi multiple de 100 mais pas de 400.) 5 Compilation sous XEmacs Au début de ce TP nous avons appris à compiler un programme java à l aide d une fenêtre shell. Cela consistait à se placer dans le répertoire où se trouve le fichier à compiler, puis à taper la commande javac MonProgramme.java. Il est également possible de compiler un programme directement sous XEmacs. Exercice 12 : Tapez le programme suivant : import j a v a. u t i l. Scanner ; p u b l i c c l a s s ProgrammeBogue { p u b l i c s t a t i c void a f f i c h a g e C a r r e E t C u b e ( i n t n ) { i n t n _ c a r r e, n_cube ; n _ c a r r e = n n ; System. o u t. p r i n t l n ( " l a v a l e u r de son c a r r e e s t " + n _ c a r r e ) ; n_cube = n _ c a r r e n ; System. o u t. p r i n t l n ( " l a v a l e u r de son cube e s t " + n_cube ) ; i n t x, x_cube, x _ c a r r e ; Scanner sc = new Scanner ( System. i n ) ; System. o u t. p r i n t l n ( " E n t r e z un e n t i e r " ) ; x = sc. n e x t I n t ( ) ; 4

a f f i c h a g e C a r r e E t C u b e ( x ) ; 1. Compilez-le dans XEmacs, à l aide de la commande compile. Pour cela, tapez d abord M-x (tenez appuyée la touche Alt pour M-, appuyez sur la touche x, puis relâchez la touche Alt). Le curseur passe alors dans le mini buffer, situé en bas de la fenêtre d XEmacs, tapez alors compile et Entrée. Remplacez make -k par la commande de compilation appropriée javac ProgrammeBogue.java puis appuyez sur la touche Entrée. 2. Pointez sur une erreur 2, et cliquez sur le bouton du milieu de la souris, que se passe-t-il? 3. Corrigez les erreurs et recompilez jusqu à ce que le programme fonctionne. Dans la suite des TP, c est à vous de décider si vous préférez compiler directement à partir du shell, ou si vous trouvez que c est plus pratique à partir d XEmacs. 6 Chaînes de caractères À partir d ici, il n est pas systématiquement précisé qu il faut faire des fonctions séparées du main, mais pensez à le faire pour que la lecture du main soit allégée. Exercice 13 : Écrivez un générateur de lettres de félicitation au chargé de TP. Ce programme, appelé Lettre, devra demander le prénom d un chargé de TP et votre prénom et devra afficher un message de la forme suivante : Cher chargé_de_tp, J'adore vos TPs, ils sont tellement bien! Signé étudiant. Comme d habitude, compilez et testez votre programme. Modifiez ensuite votre programme pour insister sur la qualité des TPs en rajoutant des guillemets autour de bien, c est-à-dire en affichant maintenant ils sont tellement "bien"!. Comme d habitude, compilez et testez votre programme. 7 S il vous reste du temps Exercice 14 : Écrivez un programme qui convertit un nombre de secondes en une durée exprimée en heures, minutes et secondes. Exercice 15 : Écrivez un programme qui demande à l utilisateur trois entiers consécutifs, affiche true s ils sont donnés en ordre croissant, false sinon. 2. Le programme ne contient pas d erreur, mais il est vraisemblable que vous en ayez ajouté en le copiant. Si ce n est pas le cas, ajoutez-en une. 5