Télécharger la présentation
Publié parAmbrosine Weber Modifié depuis plus de 10 années
1
ITI1520 Lab #6 – Les tableaux Traduit et adapté de versions antérieures créées par Sylvia Boyd, Romelia Plesa, Alan Williams, et Daniel Amyot
2
Objectifs de ce laboratoire
Tableaux Déclaration de la variable de référence à un tableau Création des tableaux Exercices Formatage de résultats numériques
3
Tableaux Java Déclaration d’une variable de référence à un tableau:
DONNÉE: UnTableau (Référence à un tableau de nombres réels) double [] unTableau; // Référence Création: unTableau aura la valeur spéciale null jusqu’à ce qu’il soit vraiment créé: UnTableau CréerTableau( 5 ) unTableau = new double[5]; // Taille 5
4
La création de tableau À la déclaration de la variable de référence au tableau, elle contiendra la valeur spécial null (en fait est l’adresse 0). L’utilisation de la variable de référence ayant cette valeur (par exemple, unTableau[0]) crée une erreur “null pointer exception” qui plante le programme. Après la création d’un tableau (avec new), les éléments du tableau n’ont pas été affecté des valeurs (en Java, les éléments contiennent normalement la valeur 0). Tenter d’accéder à un élément hors de ce qui est permis (par exemple, unTableau[5]) va faire planter le programme (Array index out of bounds exception). 4
5
Tableaux et “length” (taille)
Vous pouvez demander sa taille à un tableau: double[] d; int taille; d = new double[4]; taille = d.length; // taille vaut maintenant 4 Notes: N’utilisez pas de parenthèses () ou de crochets [] pour demander la taille. Demander la longueur avant de créer le tableau va produire une erreur d’exécution. La taille n’est PAS l’index maximal (Taille-1) mais le nombre d’éléments (Taille)
6
Classe ITI1520 et tableaux Voir la documentation de cette clase à ITI1520.readIntLine( ) Retourne un tableau de int Résultat de type int[] Vous pouvez vérifier sa taille (length) si nécessaire! ITI1520.readDoubleLine( ) Semblable, mais retourne un tableau de double ITI1520.readCharLine( ) Semblable, mais retourne un tableau de char Les espaces sont aussi inclus!
7
Exemples d’utilisation de ITI1520
int x = ITI1520.readInt( ); Si vous entres 123 et appuyez ENTER, x sera affecter la valeur 123. int[] x; // Déclare une variable de référence x = ITI1520.readIntLine( ); Si vous entrez (nombres séparés par des espaces) et appuyez ENTER, x sera affecter un référence à un tableau avec 4 éléments, où x[0] contient 12, x[1] contient 3, x[2] contient 0, x[3] contient Le tableau est créé par readIntLine (avec new), alors pas besoin de créer le tableau explicitement auparavant (mais la variable de référence doit être déclaré pour recevoir la référence). Les méthodes readDouble et readDoubleLine fonctionnent de la même façon. La méthode readCharLine place TOUS les caractères (incluant les espaces) dans un tableau de chars.
8
Exercice 1: Calculer la moyenne
Écrivez un algorithme qui va calculer la moyenne des éléments d’un tableau X de taille N. Implémentez votre algorithme en Java comme un méthode. Développez un algorithme principal/méthode main pour obtenir un tableau de valeurs de l’utilisateur, appelez l’algorithme/méthode pour calculer la moyenne et imprimer les résultats.
9
Exercice 2 – Le calcule de statistiques
Développez un logiciel qui obtient un tableau de notes d’étudiants et trouve: la moyenne des notes, la note maximale, et la note minimale. Développez vos algorithmes avec Visio et Word – commencez avec le fichier Lab5Ex2.doc. Traduisez les algorithmes au Java. Commencez avec Gabarit.java. (vous pouvez aussi commencer avec Lab5Ex1.java.) L’algorithme principale (méthode main) obtient des notes d’étudiants de l’utilisateur (stockées dans un tableau) et appelle statistique pour calculer la moyenne, le maximum, et le minimum. Il affiche aussi les résultats à l’utilisateur. L’algorithme/méthode statistique recevra une référence au tableau et le nombre d’éléments du tableau comme DONNÉES/paramètres et calcule la moyenne, le minimum, et le maximum. Notez que dans le cas de l’algorithme, une référence au tableau et le nombre d’éléments sont les résultats de l’algorithme. Dans le cas de Java, seulement une seule valeur est retournée par la méthode – la référence au tableau.
10
Exercice 3: Lancer de balle
Écrivez un algorithme qui va calculer la distance (horizontale, en mètres) parcourue par une balle lancée à v mètres par seconde, tout dépendant de l’angle (en degrés) du lancer. Retourne une référence à un tableau de valeurs où: Distance[0]: balle lancée à 0 degrés au-dessus de l’horizontale. Distance[1]: balle lancée à 10 degrés au-dessus de l’horizontale. … Distance[9]: balle lancée à 90 degrés au-dessus de l’horizontale (directement vers le haut). Complétez votre programme avec un algorithme principale: appelle l’algorithme pour créer le tableau décrit ci-dessus et imprimer son contenu Développez vos algorithmes avec Visio et Word – commencez avec le fichier Lab5Ex3.doc.
11
Exercice 3: Lancer de balle
0 m distance
12
Exercice 3: Lancer de balle
Formule: distance r = angle en radians où: g = 9.8, constante de gravité universelle.
13
Exercice 3: Lancer de balle
Implémentez vos algorithmes en Java. Commencez avec Gabarit.java Notez bien: Math.PI: valeur de . Math.sin(x): sinus de x, où x est en radians Math.cos(x): cosinus de x, où x est en radians
14
Formatage de sorties Java offre certaines fonctionnalités pour formater des valeurs numériques. Les résultats spécifiques vont dépendre des “préférences régionales” dans le panneau de contrôle de votre ordinateur Choisir “English(Canada)” va faire que: Les devises auront le $ au début (à la fin en français) Il y aura des virgules au lieu d’espaces pour séparer les milliers, et un point au lieu de la virgule pour la partie décimale Exemple: $45, (anglais) 45 567,89 (français)
15
Formateur de nombres décimaux
Utilise une “chaîne de formatage” pour identifier les endroits où placer les divers types de caractères. # Endroit pour un chiffre optionnel; si aucun chiffre alors rien n’est affiché. Endroit pour un chiffre non-optionnel; si aucun chiffre alors zéro est affiché. . Endroit pour un point décimal , Endroit pour un séparateur de milliers E Endroit pour indicateur d’exposant (puissance de 10) $ Endroit pour un symbole de devise
16
Exemple Résultats pour une valeur double de 12345.6 ######## 12346
Arrondissement, justification à gauche Zéros supplémentaires à gauche ######.## Premier et dernier # inutilisés ######.00 Force 2 chiffres décimaux ###,###.00 12,345.60 Utilise des virgules comme séparateurs $###,###.00 $12,345.60 $ est collé sur le premier vrai chiffre #.###E00 1.235E04 Arrondissement, 2 chiffres pour l’exposant
17
Utilisation en Java (1) 1. Création d’un nouveau formateur décimal et emmagasinage dans une variable de type DecimalFormat DecimalFormat df = new DecimalFormat("#####.##"); Utilisez-le pour chaque valeur à afficher avec ce format. System.out.println("Valeur1 = " + df.format( valeur1 ) );
18
Utilisation en Java import java.text.DecimalFormat;
// nécessaire pour dire où trouver DecimalFormat public class FormatTest { public static void main(String[] args) DecimalFormat df = new DecimalFormat("#####.##"); double value1; double value2; value1 = ; value2 = ; System.out.println("Value1 = " + df.format( value1 ) ); System.out.println("Value1 = " + df.format( value2 ) ); }
19
Expérimentez! Exemple: formatez 1234 avec ###.
Qu’arrive-t-il si vous essayez de formater un entier qui a plus de chiffres que ce qui se trouve dans le format? Exemple: formatez 1234 avec ###. Qu’arrive-t-il si vous incluez un symbole % à la fin du format? Comment afficheriez-vous un ensemble de valeurs double afin que les points décimaux soient alignés? Exemple: (facile) (difficile)
20
Exercice supplémentaire: Écart type
Essayer cette exercice chez vous L’écart type d’un ensemble de valeurs est une mesure utilisée en statistiques pour indiquer par combien ces valeurs divergent de leur moyenne. Par exemple, la moyennes des notes pour un cours peut être de 73 sur 100. Si tout le monde a reçu 73 (ce qui est peu probable), alors l’écart type est de zéro. Un écart type plus typique pourrait être de 13,75.
21
Écart type Supposons un ensemble de n valeurs représentées par {xi} où: 0 ≤ i < n. L’écart type s est calculé avec la formule: où est la moyenne des valeurs.
22
Logiciel: Écart type Écrivez un algorithme qui va calculer l’écart type des nombres d’un tableau X de taille N. Développez un algorithme principale qui obtient de l’utilisateur un tableau de valeurs, appel l’algorithme pour calculer l’écart type des valeurs, et affiche le résultat. Implémentez vos algorithmes en Java.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.