Vous êtes sur la page 1sur 4

ED n1 corrig

Exercices dirigs n1 - corrig

Reprsentation interne du rel 15,25

Solution

Signe S=0
Mantisse :
partie entire 15|2
1 7|2
1 3|2
1 1|2
1 0 => 1111
partie dcimale 0.25*2 =0.5 => 0
0.5*2=1 => 1
=01
mantisse = 1111.01
= 1.11101 10211
= 1.11101 E
Exposant :
exposant = E-127
E = exposant + 127 = 3+127
E = 00000011 + 01111111 = 10000010

Reprsentation finale : 0 10000010 11101000000000000000000

Reprsentation binaire de l'entier 17 puis du rsultat de -17+2.

Solution

reprsentation sur 8 bits


17 00010001
complment 1 11101110
+1 00000001
-17 = 11101111 (1 bit de poids fort indique le signe -)
Calcul de : -17 + 2
-17 11101111
+2 00000010
= 11110001 (-15)
Valeur du rsultat
rsultat 11110001
complment 1 00001110
+1 00001111
= 15

Quelle est la valeur des expressions suivantes ?


53%7+5*5-3
12+53%7*(4*3%2)

Solution

26

1
ED n1 corrig

12

Quelles sont les valeurs de b et c ?


int a=1;
boolean b = !(a>0) && (a>0);
boolean c = (a!=1) == !(a==1);

Solution

b=false
c=true

L'instruction System.out.println( String chaine ) permet d'afficher une chane de


caractres sur un terminal.

Supposons que la variable age contienne une valeur entire. Complter la seule instruction
System.out.println(...), afin d'afficher le message tarif rduit si la valeur de age est infrieure ou
gale 26 ou le message tarif normal si elle est suprieure 26.

Solution

System.out.println((age<=26)? tarif rduit: tarif normal);

Dclarer la variable int i la valeur initiale '1' correspond lui affecter la valeur de son
code ASCII.
Dclarer la variable char a de valeur initiale 49 correspond lui affecter la valeur du caractre de
code ASCII 49.
Pour initialiser la variable x de type char connaissant sa valeur 7A (exprime en HEXA), on crit
char x = '\u007A';

Ecrire une mthode qui affiche les codes ASCII des caractres '1', 'A', 'a', le code dcimal
correspondant au code ASCII 49, le caractre correspondant au code HEXA de 5A et 7A

Solution

void println(){
int i = '1' ;
System.out.println( "ASCII code de '1' => "+i);
i = 'A' ;
System.out.println( "ASCII code de 'A' => "+i);
i = 'a' ;
System.out.println( "ASCII code de 'a' => "+i);
char a = 49;
System.out.println( "dcimal code de 49 => "+a);
a= '\u0049';
System.out.println( "caractre pour le code HEXA 49 => "+a);
a= '\u005A';
System.out.println( "caractre pour le code HEXA 5A => "+a);
}
}

ASCII code de '1' => 49


ASCII code de 'A' => 65
ASCII code de 'a' => 97
dcimal code de 49 => 1
caractre pour le code HEXA 49 => I

2
ED n1 corrig

caractre pour le code HEXA 5A => Z

Spcification et documentation de l'interface Java SMSEdit d'un diteur de SMS. La longueur


maximale du texte est de 194 caractres. Les fonctionnalits de cet diteur simple sont :

ajouter un caractre au texte rdig


effacer le dernier caractre ajout
enregistrer le texte dans un fichier connu par son nom

Solution

interface SMSEdit {
static final int LGMAX = 194;
/**
* smantique
* @param texte le texte du SMS en construction
* @param c le caractre ajouter
* @return le nouveau texte
* preconditions
* longueur(texte) < LGMAX
*/
String ajouter(String texte, char c)
/**
* smantique
* @param texte efface la totalit du texte saisi
* @return le nouveau texte
*/
String effacer(String texte);
/**
* smantique
* @param SMS nom du fichier sur lequel
* @param texte la chane de caractres enregistrer
*/
void enregistrer(String texte,String SMS);
}

Ecrire 3 petits programmes pour saisir vos nom, prnom et anne de naissance et afficher
ces informations sous la forme :
nom : votre nom
prnom : votre prnom

Le premier programme se contentera d'afficher le rsultat sur un terminal


Le second programme affichera le rsultat dans une fentre de dialogue
Le dernier programme sera cr sous la forme d'une applet

3
ED n1 corrig

Solution
// premier programme
import java.util.Scanner;
public class Identite{
public static void main( String[] args ){
Scanner in = new Scanner( System.in );
System.out.print("nom : ");
String nom = in.next();
System.out.print("prnom : ");
String prenom = in.next();
System.out.println("nom : "+nom+"\nprnom : "+prenom);
}
}

// second programme
import javax.swing.JOptionPane;
import java.util.Scanner;
public class Identite{
public static void main( String[] args ){
Scanner in = new Scanner( System.in );
System.out.print("nom : ");
String nom = in.next();
System.out.print("prnom : ");
String prenom = in.next();
JOptionPane.showMessageDialog(null,
"nom : "+nom+"\nprnom : "+prenom);
}
}

// troisime programme
import javax.swing.JOptionPane;
import javax.swing.JApplet;
import java.awt.*;
public class Identite extends JApplet{
public void init(){
JOptionPane.showInputDialog(null,
"nom : "+nom+"\nprnom : "+prenom);
}
public void paint(Graphics g){
super.paint(g);
g.drawString("nom : "+nom+"\nprnom : "+prenom,25,25 );
}
public void start(){}
public void stop(){}
public void destroy(){}
}

Vous aimerez peut-être aussi