ACTIVITÉ DE PROGRAMMATION

publicité
ACTIVITÉ DE PROGRAMMATION
The purpose of the
Implementation
Process is to realize
a specified system
element.
ISO/IEC 12207
Sébastien Adam
Une introduction
Introduction
2
Ø 
Ø 
Contenu
• 
Utilité de l’ordinateur, organisation d'un ordinateur, langage de programmation,
opérations permises, environnement de programmation
• 
Écrire un programme Java, la mémoire, réserver un espace mémoire, les types de données,
déclarer une variable, quelques opérateurs de base, écrire des données en mémoire, un
paquetage, afficher des données à l'écran, lire des données au clavier, instruction de
contrôle, exemples sans et avec normes de programmation
Références
• 
Spécification du langage Java
http://java.sun.com/docs/books/jls/download/langspec-3.0.pdf
Introduction
3
Ø 
Ø 
Objectifs
• 
Introduire le concept de langage de programmation.
• 
Introduire les instructions de base du langage Java.
Plan
1. 
Expliquer comment exploiter l’ordinateur.
2. 
Écrire des instructions.
Suivi du plan
1. 
Expliquer comment exploiter l’ordinateur.
Utilité de l’ordinateur
Organisation d'un ordinateur
Langage de programmation
Opérations permises
Environnement de programmation
Utilité de l’ordinateur
5
Ø 
Le programmeur réalise trois tâches avec l’ordinateur.
Organisation d'un ordinateur
6
Ø 
Ø 
Le programmeur exploite les composants de l’ordinateur pour
réaliser ses tâches.
L’ordinateur a des composantes internes.
• 
Ø 
Le microprocesseur, la mémoire vive, le lecteur de disquettes, le disque dur, les bus, la
carte vidéo, la carte audio, le modem, etc.
L’ordinateur a des composantes externes.
• 
Le clavier, la souris, l'écran, le lecteur de disquettes amovible, le disque dur amovible, le
modem, le numériseur d'images, la caméra numérique, etc.
Langage de programmation
7
Ø 
Ø 
Ø 
Ø 
Ø 
Le programmeur donne des instructions à l’ordinateur à l’aide
d’un langage de programmation.
Une instruction indique à l'ordinateur quelle opération il doit
effectuer.
Un programme informatique est un ensemble d'instructions
permettant d’exploiter l’ordinateur pour réaliser des tâches.
Un langage de programmation est composé d'outils, de symboles
et de mots-clés qui peuvent être assemblés selon certaines
règles afin d'écrire des programmes informatique.
Le langage orienté objet Java est utilisé dans ce cours.
Opérations permises
8
Ø 
Le langage de programmation permet au programmeur :
1. 
d'utiliser la mémoire pour enregistrer et obtenir de l'information,
2. 
d'utiliser le clavier et l'écran pour saisir et afficher de l'information,
3. 
d’utiliser le processeur pour effectuer des calculs,
4. 
de choisir d'exécuter ou non un ensemble d'instructions,
5. 
d'exécuter plusieurs fois un ensemble d'instructions.
Environnement de programmation
9
Ø 
Ø 
Un environnement de programmation est un regroupement de
plusieurs outils (éditeur, compilateur, dévermineur, etc.)
permettant de développer des programmes.
Eclipse offre un environnement de développement intégré (IDE).
Suivi du plan
1. 
Expliquer comment exploiter l’ordinateur.
Utilité de l’ordinateur, organisation d'un ordinateur, langage de programmation, opérations permises,
environnement de programmation
2. 
Écrire des instructions.
Écrire un programme Java
La mémoire, réserver un espace mémoire
Les types de données, déclarer une variable
Quelques opérateurs de base, écrire des données en mémoire
Un paquetage, afficher des données à l'écran, lire des données au clavier
Instruction de contrôle, Exemples sans et avec normes de programmation
Écrire un programme Java
11
Ø 
Ø 
Écrire un programme se résume à écrire les instructions le
constituant. Le programme doit être écrit à l'intérieur d'un
fichier texte ayant l'extension < .java >.
Dans ce fichier, on doit obligatoirement indiquer à quel endroit
débute notre programme. L'endroit où débute l'exécution d'un
programme est appelé la fonction principale (main). La fonction
principale doit se situer à l’intérieure d’une classe (class).
class MonPremierProgrammeJava
{
public static void main(String args[ ])
{
Instruction(s) du programme
}
}
La mémoire
Ø 
Ø 
La mémoire peut être vue comme une suite de cases numérotées
dans lesquelles on peut lire et écrire des données.
Ces cases sont des espaces mémoires ayant la même taille.
Réserver un espace mémoire
Ø 
Ø 
Ø 
Ø 
Réserver un espace mémoire se fait en déclarant une variable.
Déclarer une variable nous permet d'associer le nom de la
variable à un espace mémoire. On utilise ensuite ce nom de
variable pour accéder à l'espace mémoire.
Pour déclarer une variable, on doit spécifier son nom et le type
de données quelle peut contenir.
La syntaxe est la suivante :
type nom;
Les types de données
Ø 
Ø 
Ø 
Un espace mémoire peut contenir des données de différentes
catégories (entier, chaîne de caractères, réel simple précision,
réel double précision, etc.).
En programmation ces catégories de données font parties de ce
que nous appelons des types de données.
En attribuant un type de données à une variable, on détermine
pour cette variable quelles vont être :
1. 
le nombre d’espaces mémoires réservés,
2. 
l'ensemble des valeurs permises,
3. 
les opérations permises.
Déclarer une variable
Ø 
Après la déclaration des variables, les espaces mémoire en bleu
sont réservées pour le programme qui en a fait la demande.
Aucun autre programme ne peut accéder à ces espaces mémoire.
Quelques opérateurs de base
Ø 
Un opérateur permet d’effectuer une opération sur un ou
plusieurs types de données.
Écrire des données en mémoire
Ø 
Ø 
Le symbole d'affectation = nous permet d'écrire en mémoire.
Une affectation détruit l'ancien contenu de l'espace mémoire.
La ligne suivante écrase donc le contenu de la variable toto.
class MaClasse
{
public static void main(String args[ ])
{
int toto;
}
}
toto = 5;
/* la variable toto contient 5 */
toto = toto + 3;
/* la variable toto contient 8 */
toto = 8 + 3 * 2 / 4;
/* la variable toto contient 9 */
Un paquetage
Ø 
Ø 
Un paquetage regroupe un ensemble de classes ayant une forte
cohésion, un lien fonctionnel entre eux.
Lorsqu'on veut utiliser une classe faisant partie d'un paquetage,
on doit importer dans notre programme le nom du paquetage.
import java.util.Random;
// Importer seulement la classe Random.
import java.util.*;
// Importer toutes les classes du paquetage.
class MaClasse
{
public static void main(String args[ ])
{
Random r = new Random();
double val = r.nextGaussian();
System.out.print("Valeur: " + val);
}
}
Afficher des données à l'écran
Ø 
Ø 
On peut utiliser la méthode print pour afficher des données à
l'écran.
La classe System donne accès à la variable out. Cette dernière
réfère au tampon de sortie permettant d’écrire à l’écran.
class MaClasse
{
public static void main(String args[ ])
{
System.out.print("Afficher ce texte!");
}
}
19
Source: L. Bass, P. Clements, R. Kazman, "Software architecture in practice", 2e éd., Addison Wesley,
2003, p. 11.
Lire des données au clavier
Ø 
Ø 
On peut utiliser la méthode nextLine pour lire des données au
clavier.
La classe Scanner donne accès à des méthodes permettant de
lire des données au clavier.
import java.util.Scanner;
// Importer la classe Scanner.
class MaClasse
{
public static void main(String args[ ])
{
String nom;
Scanner lectureClavier = new Scanner(System.in);
System.out.print("Veuillez entrer votre nom : ");
nom = lectureClavier.nextLine();
System.out.print("Votre nom est : " + nom);
}
}
Instruction de contrôle if
Ø 
On utilise le mot réservé if lorsqu'on veut choisir d'exécuter ou
non un ensemble d'instructions.
if (condition)
{
instruction(s);
}
if (condition)
{
instruction(s);
}
else
{
instruction(s);
}
Instruction de contrôle while
Ø 
On utilise le mot réservé while ou les mots réservés do … while
pour exécuter plusieurs fois un ensemble d'instructions.
while (condition)
do
{
{
instruction(s);
}
Ø 
Ø 
Ø 
instruction(s);
} while (condition);
Les instructions sont répétées tant que la condition est
respectée (donne la valeur 1).
Les instructions à l'intérieur d'une boucle WHILE peuvent ne
pas être exécutées.
Les instructions à l'intérieur d'une boucle DO ... WHILE sont
toujours exécutées au moins une fois.
Exemple sans norme de programmation
import java.util.Scanner;
class MaClasse{
public static void main(String args[ ])
{
long bi; long bs; long somme = 0;
Scanner clavier = new Scanner(System.in);
System.out.prinln("Entrez un nombre : ");
bi = clavier.nextLong();
System.out.prinln("Entrez un nombre : ");
bs = clavier.nextLong();
while (bi <= bs)
{if (bi%2 == 1) somme = somme + bi;
bi = bi + 1;}
System.out.prinln("Voici la somme : " + somme);}
}
Exemple avec normes de programmation
import java.util.Scanner;
// Importer Scanner pour lire au clavier.
/**********************************************************************************
Cette fonction permet de calculer la somme des entiers
impairs consécutifs compris dans un intervalle donne.
La borne inférieure de l'intervalle est d'abord saisie. La borne supérieure
de l'intervalle est ensuite saisie. Enfin, la somme est calculée et affichée.
**********************************************************************************/
class MaClasse {
public static void main(String args[ ]) {
long bi; long bs; long somme = 0;
Scanner clavier = new Scanner(System.in);
// Lire la borne inférieure.
System.out.prinln("Entrez un nombre : ");
bi = clavier.nextLong();
// Lire la borne supérieure.
System.out.prinln("Entrez un nombre : ");
bs = clavier.nextLong();
// Calculer la somme des entiers de l’intervalle.
while (bi <= bs) {
if (bi%2 == 1)
somme = somme + bi;
bi = bi + 1;
}
System.out.prinln("Voici la somme : " + somme);
}
}
Téléchargement