TP 1 Solution 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Université de khenchela 2 ème Informatique

Département MI Système d’exploitation 1

Série TP N=˚1 Introduction au JAVA

1 Exercice
Ecrire un programme JAVA permetant de transformer un nombre binaire vers son equivalent
décimale.

1.1 Solution
import java.util.Scanner;
public class BtoD {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
System.out.println("Donner un nombre binaire:");
int nb=sc.nextInt();
int res=0,i=0, nbMod;
while (nb>0) {
nbMod=nb % 10;
nb=nb / 10;
res=res+nbMod*(int)Math.pow(2,i);
i++;
}
System.out.println("Le résultat="+res);
}
}

2 Exercice
Ecrivez une classe Maximum qui contient une méthode main qui affecte la valeur de 3 variables
de type int (le code contiendra des instructions du type "valeur1 = 20 ;) et affiche la plus grande des
3 valeurs. Exécutez cette méthode main avec différentes valeurs pour tester votre code.

2.1 Solution
public class Maximum {
/**
* Affiche le plus grand nombre entier parmi les valeurs de 3 variables.
*/
public static void main(String[] args) {
int v1 = 20, v2 = 25, v3 = 16;
int max = v1;
if (v2 > max) {
max = v2;
}
if (v3 > max) {
max = v3;
}
System.out.println(max);
}

RAHAB Hichem 2017-2018


c 1 rahab.e-monsite.com
Université de khenchela 2 ème Informatique
Département MI Système d’exploitation 1

3 Exercice
Ecrire un programme qui saisit un entier au clavier et qui recherche si cet entier appartient au
tableau tab. Au cas où la réponse est positive, l’indice de cet entier dans le tableau est affiché. S’il y
a plusieurs occurrences, le dernier indice est affiché (puis le premiers).

3.1 Solution
1.Affichage du dernier indice :

import java.util.Scanner;
public class SearchTab {

public static void main(String[] args){

System.out.println("Donnez la taille du tableau:");


Scanner sc= new Scanner(System.in);
int taille = sc.nextInt();
int[] tab=new int[taille];
for(int i=0;i<taille;i++) {
System.out.println("Donner un element ");
tab[i]=sc.nextInt();
}
System.out.println("Dooner nombre a chercher:");
int element=sc.nextInt();
int indice=-1;
for(int i=0;i<taille;i++) {
if(tab[i]==element) indice=i;
}
if(indice==-1) System.out.println("Element non trouvé");
else System.out.println("Element trouver dans la position:"+indice);
}
}

2. Affichage du premier indice :

import java.util.Scanner;
public class SearchTab {

public static void main(String[] args){

System.out.println("Donnez la taille du tableau:");


Scanner sc= new Scanner(System.in);
int taille = sc.nextInt();
int[] tab=new int[taille];
for(int i=0;i<taille;i++) {
System.out.println("Donner un element ");
tab[i]=sc.nextInt();
}
System.out.println("Dooner nombre a chercher:");
int element=sc.nextInt();
int indice=-1;
for(int i=taille-1;i>=0;i--) {
if(tab[i]==element) indice=i;
}

RAHAB Hichem 2017-2018


c 2 rahab.e-monsite.com
Université de khenchela 2 ème Informatique
Département MI Système d’exploitation 1

if(indice==-1) System.out.println("Element non trouvé");


else System.out.println("Element trouver dans la position:"+indice);
}
}

4 Exercice
Ecrivez un programme qui saisit un nombre n au clavier et qui crée un tableau de taille n et dans
lequel il y a, pour chaque case d’indice i, la somme des entiers compris entre 0 et i.

4.1 Solution
import java.util.Scanner;

class Tableau2{
public static void main(String[] args){
int[] t;
int taille;
int somme = 0;
System.out.println("Entrez la taille du tableau: ");
Scanner sc= new Scanner(System.in);
taille = sc.nextInt();
t = new int[taille];
for (int i=0; i< taille; i++){
somme = 0;
for (int j=0; j<=i; j++){
somme = somme+j;
}
t[i]=somme;
} for (int i=0; i< taille; i++){
System.out.println("Indice " + i + " valeur " + t[i]);
}
}
}

5 Exercice
Ecrivez un programme qui saisit au clavier 4 valeurs booléennes (true ou false en Java) et qui
affiche ensuite le résultat de l’opération et sur toutes ces valeurs ainsi que le résultat de l’opération
ou sur toutes ces valeurs.

5.1 Solution
import java.util.Scanner;
class Boolean{
public static void main(String[] args){
boolean[] t = new boolean[4];
boolean et, ou;
for (int i=0; i<4; i++){
System.out.println("Entrez un booleen (true ou false): ");
Scanner sc=new Scanner(System.in);
t[i]=sc.nextBoolean();
}
et = true;

RAHAB Hichem 2017-2018


c 3 rahab.e-monsite.com
Université de khenchela 2 ème Informatique
Département MI Système d’exploitation 1

ou = false;
for (int i=0; i<4; i++){
et= et & t[i];
ou = ou | t[i];
}
System.out.println("valeur du et: " + et);
System.out.println("valeur du ou: " + ou);
}
}

6 Exercice
Dans cet exercice, l’utilisateur fait des insertions dans un tableau de caractères. Au départ, le
tableau est le suivant : ’x’ ’r’ ’l’ ’b’ L’utilisateur saisit le nombre de caractères qu’il veut ajouter
dans le tableau, l’indice à partir duquel il veut les insérer et les caractères eux-mêmes. Notez que la
taille des tableaux étant fixe, on ne peut pas réellement insérer des éléments en plus. Ce qu’on fera
sera de créer un nouveau tableau en recopiant les valeurs de l’ancien tableau et les nouvelles valeurs
insérées conformément à la demande.

6.1 Solution
import java.util.Scanner;
public class InsertTable {

public static void main(String[] args) {


// TODO Auto-generated method stub

char[] tab = {’x’,’r’,’1’,’b’};


char[] aInserer;
char [] futur;
int nombre, indice;
System.out.println("Nombre de caracteres a inserer? ");
Scanner sc=new Scanner(System.in);
nombre = sc.nextInt();
System.out.println("Indice de l?insertion? ");
indice = sc.nextInt();
aInserer = new char[nombre];
futur = new char[tab.length+nombre];
for (int i=0; i<nombre; i++){
System.out.println("Entrez un caractere a inserer ");
Scanner Ch=new Scanner(System.in);
String str=Ch.nextLine();
aInserer[i] = str.charAt(0);
}
for (int i=0; i<indice; i++){
futur[i]=tab[i];
}
for (int i=0; i<nombre; i++){
futur[indice+i] = aInserer[i];
}

for (int i=indice; i<tab.length; i++){


futur[i+nombre]=tab[i];
}

RAHAB Hichem 2017-2018


c 4 rahab.e-monsite.com
Université de khenchela 2 ème Informatique
Département MI Système d’exploitation 1

tab = futur;
for (int i=0; i<tab.length; i++){
System.out.println(tab[i]);
}
//Terminal.sautDeLigne();
}
}

RAHAB Hichem 2017-2018


c 5 rahab.e-monsite.com

Vous aimerez peut-être aussi