logo

Général

Accueil

Présentation section

Matériel section

Trombinoscopes

Liens

Plan du site

Contactez-nous

CIEL 1

Langage C

Langage C++

Langage C#

Linux sur Raspberry

TP Arduino

UML/SysML

Mini-projets

Math

CIEL 2

UML

Rasberry

Système Num. 1

TP C Visual Studio

TP C++ Arduino

Aide spécifique Java

TP C/C++ MyRIO

TP Darwin-Op

Les TP réseau Linux

Les TD Java

Les TP Java

TD C#

TP C#

Les Mini-projets

Vidéo Mini-Projet

Stage en entreprise

Système Num. 2

TP C++/C#

RaspBerry

Projets

IRIS 2

TP IPC linux / coldFire

TP PHP

Cours / TP XML

Projets

S SI

1er S SI

1er SSI mini projet

1er S SI Liens

STI2D

SysML

Terminale SIN

Projet SIN

1er ETT

Projet 1er ETT

Terminale ETT

Questions BAC ETT

AP

Serfa

UML

C++

Statistiques

2 visiteurs

Record : 207

Pages vues :

Aujourd'hui : 88

Total : 226074

Valid XHTML 1.0 Transitional

TD1 : Syntaxe de base

separation

[Vous êtes ici ] ==> Accueil > Système Num. 1 > Les TD Java > TD1 : Syntaxe de base

separation

Objectifs : Le but de ce TD est :
  • de vous faire expérimenter les constructions de base du langage JAVA (types simples, instructions de contrôle, itérations) qui sont très proches syntaxiquement de celles utilisées par le langage C.
    Les programmes que vous aurez à écrire ne feront donc que très peu appel aux notions d'objets et classes, mais avant d'expérimenter celles-ci, il paraît préférable de vous assurer que vous maîtrisez correctement ces constructions élémentaires.
    De plus, cela vous permettra de parfaire votre maîtrise des outils de base.
  • pour réalisez ce TD vous avez besoin :
    • de connaître les types simples (entiers, réels, ...) et les instructions de base du langage JAVA (voir document Types simples et instructions de base en JAVA )
    • pour effectuer des lectures au clavier, utilisez la classe LectureClavier qui encapsule au travers de méthodes simples les instructions de lecture de valeurs introduites au clavier. Pour utiliser cette classe au cours de ce premier TP, vous vous contenterez de recopier son source dans le répertoire où vous écrirez vos programmes. Dans le fichier LectureClavierDemo.java vous trouverez des exemples d'utilisation de cette classe.

Theme 1 : Expressions

Exercice 1 : conversion de températures



Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester:

En utilisant la formule
C = (5/9)(F-32)
écrire en langage JAVA un programme qui lit une température exprimée en degrés Fahrenheit et affiche sa valeur en degrés centigrades ou degrés Celsius.

exemples d'exécution du programme :

Exercice 2 : Conversion de durées



Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester:

Ecrire un programme en langage JAVA qui pour un nombre de secondes donné calcule et affiche son équivalent en nombre de jours, d'heures, de minutes et de secondes.

exemples d'exécution du programme :

Thème 2 : instructions conditionnelles

Exercice 1 : Classez 3 nombres



Le but de cet exercice est d'obtenir l'applet ci-dessous que vous pouvez tester :

Ecrire un programme qui lit 3 nombres au clavier, les classes dans l'ordre croissant et les affiche du plus petit au plus grand sur la console.

Exemple :

Thème 3 : itérations


Exercice 1 : Moyenne olympique



Ecrire un programme qui lit au clavier une suite de nombres réels positifs ou nuls (correspondant à des notes), terminée par la valeur -1, et calcule la moyenne olympique de ces valeurs, c'est à dire la moyenne des notes sans prendre en compte la note la plus élevée ni la note la moins élevée.

Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):

Exercice 2 : Affichage de motifs.



Pour la visualisation voir TD
Ecrire un programme affiche un motif triangulaire dont la taille est fixée par une valeur lue au clavier.

Exemple de tracé d'exécution (en gras les valeurs introduites par l'utilisateur):

donnez taille du motif : 7

        *
        **
        ***
        ****
        *****
        ******
        *******

a) écrire un programme affichant ce motif en utilisant uniquement des instruction tant que (while()).
b) écrire un programme affichant ce motif en utilisant uniquement des instructions pour (for).

Exercice 3 : Affichage de motifs



Même exercice que le précédent mais le motif affiché n'est plus un triangle mais une pyramide (voir ci-dessous) et le choix des instructions pour le réaliser est laissé à votre jugement.

Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):

taille du motif : 7
Pyramide


Exercice 4 : Suite de Fibonacci



La suite de Fibonacci est définie par la formule de récurrence suivante:

u1 = 1
u2 = 2
un = un-1 + un-2 ( n >= 3).

Ecrire un programme qui permet de calculer le nième terme de la suite de Fibonacci, n étant fixé par l'utilisateur.

Exercice 5 : Tester si un nombre est premier



Un nombre est n premier si il a seulement deux diviseurs : 1 et n.
Ecrire un programme qui permet de tester si un nombre introduit par l'utilisateur est premier ou non.

Exemple de trace d'exécution (en gras les valeurs introduites par l'utilisateur):

Exercice 6 : Prix d'un lot



A) Le jeu consiste à découvrir par essais successifs le prix d'un lot. Pour chaque essai, le joueur reçoit un message : "Trop grand", "Trop petit" ou "BRAVO ! Vous avez trouvé en K essais".
Le jeu est fini quand le joueur a trouvé le prix du lot.

On propose d'écrire un programme JAVA qui joue le rôle de meneur de jeu ; l'exécution de ce programme vous fera tenir le rôle du joueur.
Le programme doit définir le prix du lot en tirant un entier aléatoire entre 1 et 1000 et dialoguer avec le joueur pendant le jeu.
Pour choisir un nombre au hasard on utilisera la méthode random de la classe Math qui retourne un réel (double) tiré au hasard et de manière uniforme dans l'intervalle [0 1].

exemple :
        double x;
        x = Math.random();
exemple d'exécution du programme:

Le but est de chercher un prix entre 0 et 1000
B) En jouant avec le programme précédent, essayer de trouver une stratégie systématique et efficace.
Ecrire un programme qui fait jouer l'ordinateur à votre place suivant la tactique que vous venez de définir ;
Les deux rôles de meneur de jeu et de joueur sont donc à la charge du programme, le joueur "ignorant" évidemment le prix connu du meneur de jeu,
mais "sachant" si son essai est plus grand ou plus petit que le prix.

Le programme effectue 20 parties ; il affiche pour chaque partie le prix tiré au sort et le nombre d'essais successifs qui ont été nécessaires pour le trouver avec la tactique programmée.

Pouvez-vous prévoir, pour la tactique que vous avez choisie, l'ordre de grandeur des nombres d'essais ?

Exercice 7 : Calcul de X^n



a) Ecrire un programme JAVA permettant de calculer et d'afficher la valeur de X^n (lire X puissance n), où X et n sont respectivement un réel et un entier introduits au clavier.

Pour effectuer ce calcul on ne fera pas appel aux fonctions de la classe Math (pow ou exp et log), mais on utilisera des instructions itératives (for, while ou do while).
Le programme devra permettre de traiter tous les cas possibles : n = 0, n > 0 et n ‹ 0 avec X réel négatif, positif ou nul.

exemple d'exécution :
       x = 2.0 
       n = 3.0 
       x^n = 8.0 
       voulez-vous faire un autre calcul O/N : o 

       x = 3.5 
       n = -3 
       x^n = 0.0233236151 
       voulez-vous faire un autre calcul O/N : n 

Thème 4 : Résumé

On considère un dé de 6 faces, écrire un programme qui trouver le nombre de jets qu’il faut pour avoir 6 jets de suite à 6.
Ce n’est pas de la statistique, mais le programme simulera les jets et vérifiera si les six six concécutifs ont été réalisés.

On utilisera l’objet de génération de chiffre aléatoirement suivant :
      import java.util.Random;
         Random aleatoire = new Random();
         1+aleatoire.nextInt(6);

separation

ancre