Chapitre 2

Transcription

Chapitre 2
Introduction à Java’s Cool – Programmer les conversions
REMARQUE enregistrer vos programmes dans le répertoire : …\…..\ ISN \Chap 2 Introduction à Java’s Cool
** Ouvrir Java’s Cool
** Plusieurs activités sont possibles ( nommées Proglets). Double-cliquer sur abcdAlgos.
** Une fenêtre s’ouvre :
Zone pour écrire le code
Zone « Fichier »
Zone où s’affiche :
** le résultat du programme ( Console)
** une aide sur la proglet en cours
** des rappels basiques sur Java’s Cool ( Mémo)
** Lire la partie Mémo et la partie 4 D’autres formes de boucles dans « Aide de la proglet programmer avec
des boucles » .
** Un programme Java est une suite de déclarations (exemple: déclaration de variables, avec leurs types) et de fonctions .
Une fonction , la fonction principale, est obligatoire car elle est exécutée en premier :
void main( ) { …….}
Les parenthèses indiquent que c’est 1 fonction.
Les accolades { } délimitent 1 bloc .
1] Premiers programmes : utilisation de quelques mots-clés
11) Utilisation de println( )
Taper le programme :
void main(){
println(« Bonjour à tous ! je m’appelle [votre prénom] et je suis en ISN. ») ;
}
Le point-virgule ; est le séparateur d’instructions.
Faire Compiler , Enregistrer sous programme1 , Exécuter.
Compiler permet de traduire le code en langage binaire exécutable par le processeur .
Le programme s’exécute et affiche ( = imprime sur 1 ligne) le texte entre les « » .
12) Les types de variables
Chaque variable doit être déclarée avec son type .
** int : type entier ( >0 ou <0)
** String : type chaîne de caractères (ex: String prenom = "Jean";)
** int[ ] désigne le type tableau d’entiers. Exemple :
int[ ] monTab = new int[8] ;
crée 1 tableau d’entiers qui s’appelle monTab,ce tableau a 8 cases et les cases vont de monTab[0] à monTab[7].
programme2 :
void main(){
int monAge = 17 ;
println(« Bonjour à tous ! je m’appelle [votre prénom] et j’ai » + monAge + « ans. ») ;
}
Noter l’utilisation des +
programme3 :
Ecrire le prog. qui affiche « Bonjour à tous ! je m’appelle Jean et j’ai 17 ans. »
Remplacer Jean et 17 par vos valeurs ; utiliser String.
13) readInteger( ) ; readString( )
Ces fonctions lisent 1 entier ou 1 chaîne de caractères entrés au clavier .
programme4 :
comme le 3, mais le nom et l’âge sont entrés au clavier.
14) La boucle for
for ( int n = 0; n < N; n = n+1) { Bloc d'instructions }
L’instruction permet de faire une boucle où la variable n va de 0 à N exclu .
programme5 :
faire N = 8 ; imprimer les valeurs de n et expliquer comment la boucle fonctionne.
programme6 :
déclarer 1 tableau monTab de 8 entiers ; remplir le tableau avec 1 boucle for ; afficher les valeurs du tableau sous la
forme :
tab[0]= 10
tab[1] = 20 ……. etc
Remarque , 1 tableau d’entiers peut aussi se déclarer selon :
int[] monTab = { 0, 10, 20, 30, 40} ; ( on le déclare et on l’initialise sur 1seule ligne ) .
Les commentaires :
Si 1 ligne commence par // , elle est mise en commentaire et donc n’est pas exécutée ;
L’ensemble /* …………………….*/ est 1 commentaire sur plusieurs lignes.
2]Conversion binaire ==décimal
Le programme7 convertit 1 binaire de 8 octets en 1 décimal .
** le nombre binaire est considéré comme 1 tableau d’entiers,
** les bits sont entrés 1à 1 au clavier,
** le nombre binaire est affiché sur 1 ligne ( utiliser print( ) )
** la conversion est faite
** le décimal est affiché .
Fonction utile : la fonction Math.pow(a,b) réalise le calcul a b ; tester cette fonction dans 1 programme.
Avant d’écrire le programme en Java, on écrit un algorithme . L’algorithme décrit en français ( ou presque !) le
déroulement de la conversion ; ensuite on traduit l’algorithme en Java .
Il se présente de la façon suivante :
Algorithme
Algorithme principal
Début
Variable1 : type
Variable2 : type
Variable ……….
// initialiser si c’est possible
Variable1 = …….
Afficher( « Entrer le nombre binaire »)
// boucle for
Pour Variable1 de … à …. (par pas de 1)
Début
Entrer le binaire
Fin Pour
Afficher (« Le nombre binaire = » )
// boucle for
Pour Variable1 de … à …. (par pas de 1)
Début
Afficher le binaire
Langage Java
void main()
{
// boucle for
{
}
// boucle for
{
}
// boucle for pour la conversion
Fin Pour
// boucle for pour la conversion
Pour Variable1 de …. à … (par pas de 1)
Début
Conversion
Fin Pour
{
}
Afficher(« le décimal vaut : » valeur )
}
Fin
3] La conversion décimal == binaire
31) On peut concaténer des chaînes de caractères
Programme8 :
Entrer votre prénom dans 1 chaîne , votre nom dans 1 autre ;
On considère que la chaîne identité = prénom nom
Afficher l’identité à partir de nom et prénom
Remarques :
1.Cela fonctionne-t-il avec des entiers ? pourquoi ?
2. On peut concaténer 1 String et 1 entier , et le résultat est 1 String ; le vérifier.
3. Attention à l’écriture : 7 est un entier , mais «7 » est un String !
On va considérer que le binaire est 1 String
** Entrer 1 entier entre 0 et 255
** Le convertir , en cherchant les restes des divisions par 2,
** afficher le binaire
( écrire d’abord l’algorithme ; programme9 )
Méthode légèrement différente avec la fonction modulo :
entière de 2 variables de type numérique.
Tester quelques valeurs : 5 % 2 ; 99 % 8 ; 12 % 3 ; …..
Modifier le programme9 en utilisant % .
cette fonction notée % nous donne le reste de la division
32) Autre méthode
a) La boucle while
while (expression Booléenne) { Bloc d' instructions }
Exemple:
while( n < 10) {
println("Hello World !");
n = n + 1;
}
Une expression booléenne est « Vrai » ou « Faux »
Tester le programme, programme10 .
Remarques
1. le test « n égal 10 » ne s’écrit pas n= 10 mais n = = 10
2. la boucle while est utile si on ne sait pas à l’avance le nombre de boucles à faire
3. En algorithmique , 1 boucle while s’écrit :
Tant que ( test)
Début
Action1
Action2
…..
Fin Tant que
b) Conversion ( traduction exacte de ce que l’on fait à la main )
** Entrer le décimal à convertir
** Le nombre binaire est 1 tableau d’entiers
** Faire la conversion par des divisions successives
** afficher le binaire sur 1 ligne
( écrire d’abord l’algorithme ; programme11 )
Programmes Java et Algorithmes
1] Algorithme principal
Algorithme
Algorithme principal
Début
traitement ;
Fin
Langage Java
void main()
{
traitement ;
}
2] La boucle non bornée (Tant que …)
Algorithme
Tant que (n >10)
Début
traitement ;
Fin Tant que
Langage Java
while ( n < 10)
{
traitement ;
}
Remarque , une variante : do { corps de la boucle} while (test) ;
3] La boucle bornée ( Pour …)
Algorithme
Pour n de 0 à 9 (par pas de 1)
Début
traitement ;
Fin Pour
Langage Java
for ( n = 0 ; n < 10 ; n = n + 1)
{
traitement ;
}
4] Le choix ( Si …)
Algorithme
Si ( n > 0) Alors
Début
traitement ;
Fin Alors
Sinon
Début
traitement ;
Fin Sinon
Langage Java
if ( n > 0 )
{
traitement ;
}
else
{
traitement ;
}
5] Syntaxe à retenir
Les
boucles
Le choix
* while (test) { corps de la boucle}
* Il existe une variante : do {corps de la boucle} while(test) si le corps de la boucle doit être exécuté au
moins une fois.
* for (initialisation ; test de continuation ; incrémentation) { corps de la boucle}
* if (test) { instruction1} else { instruction2}
*switch (variable){ case valeur1 : actions1; break;
case valeur2 : actions2; break; ………….
case default : actions;
}

Documents pareils