Looking for Programmation structurée (420ZF5MO - Hiver 2025-Ouiza Ouyed) test answers and solutions? Browse our comprehensive collection of verified answers for Programmation structurée (420ZF5MO - Hiver 2025-Ouiza Ouyed) at cmontmorency.moodle.decclic.qc.ca.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Pour chacune des expressions régulières suivantes, dites si les chaînes en dessous correspondent à l'expression :
- Regex : "\d\d\d-[A-Z0-9][A-Z0-9][A-Z0-9]-MO"
--> "360 320 MO" et "420-ZC6MO"
- Regex : "[A-Z]{4} ?[0-9]{4} ?[0-9]{4}"
--> "EDOU0908 0706" et "BOUF 7709-2315"
- Regex : "(Automne|Hiver|[AH])[- ]?(19|20)\d\d"
--> "Hiver 19" et "Automne 2019"
- Regex : "[A-Z][a-z]+([- ][A-Z][a-z]+)?, [A-Z][a-z]+(-[A-Z][a-z]+)?"
--> "Lavoie-Dubois, Jean Claude" et "Ait-Ammar, Farida"
- Regex : "(0?[0-9]|[1-9][0-9]|CT)"
--> "00" et "79"
En vous référant au code ci-dessous, déterminez l'affichage au terminal si l'usager entre les valeurs suivantes :
- 9 3
- 6 0
- 5 a
import java.util.*;
public class Ex02Formatif {
public static void main(String[] args) {
Scanner cl = new Scanner(System.in);
try {
System.out.print("Nombres? ");
System.out.println(division(cl.next(), cl.next()));
} catch (NumberFormatException ex) {
System.out.println("Erreur format");
}
System.out.println("Fin main()");
}
public static int division(String nb1Str, String nb2Str) {
int div = -1;
System.out.println("Début division()");
try {
int nb1 = Integer.parseInt(nb1Str);
int nb2 = Integer.parseInt(nb2Str);
div = nb1 / nb2;
} catch (ArithmeticException ex) {
System.out.println("Division par zéro");
} finally {
System.out.println("Finally");
}
System.out.println("Fin division()");
return div;
}
}
Dans cet exercice, vous devez gérer des exceptions et créer votre propre classe d'exception à partir du gabarit de code fourni. Voici une description de chaque élément à coder :
NumberPlayInvalidException, représentant un nouveau type d'exception et descendant de la classe Exception, doit être implémentée. Le message par défaut à utiliser dans le constructeur sans paramètre est Nombre de parties invalide!!!.
calculPrixUnit() calcule le prix par partie d'un jeu, soit prix / nombre de parties. Si le nombre de parties est inférieur à zéro ou supérieur à 25, l'exception de type NumberPlayInvalidException doit être lancée et doit contenir le message Nombre de parties invalide!!! Si le nombre de parties est égal à zéro, alors une exception de type ArithmeticException, incluant le message Division par zéro!, doit alors être lancée. Si aucun cas problématique n'est détecté, le calcul est réalisé et le résultat est retourné par la méthode.
calculPrixUnit(), puis vous affichez le résultat. Toutefois, vous devez gérer les exceptions qui peuvent être lancées par les différentes méthodes que vous appelez. En effet, les méthodes nextInt() et nextFloat() peuvent lancer une exception de type InputMismatchException. Dans ce cas, vous devez afficher le message Entrée invalide.. De plus, la méthode calculPrixUnit() peut lancer une exception de type NumberPlayInvalidException. Si cette dernière survient, on affiche le message qui lui est attaché au terminal. Enfin, si une exception de type ArithmeticExceptionest attrapée, on affiche sont type et le message associé.
Exemples d'exécution :
Indiquez le prix du jeu et le nombre de parties > 24,33 4
|
Indiquez le prix du jeu et le nombre de parties > 56,33 -1
|
Indiquez le prix du jeu et le nombre de parties > 76 0
|
Indiquez le prix du jeu et le nombre de parties > 45 a
|
String, StringBuilder et StringBuffer?&) par un deux-points (:) dans la chaîne déclarée de la manière suivante :
String str = "id=05&prod=497&filter=1";Est-il possible de faire la même substitution sur la chaîne suivante?
StringBuilder strBuild = "id=05&prod=497&filter=1";String:
- char charAt(int index)
- String substring(int beginIndex, int endIndex)
- int indexOf(int ch)
- int lastIndexOf(int ch)
- boolean contains(CharSequence s)
- boolean startsWith(String prefix)
- boolean endsWith(String suffix)
String:
- String trim()
- String toLowerCase()
- String toUpperCase()
- String replace(char oldChar, char newChar)
- String replaceAll(String regex, String replacement)
- String[] split(String regex)
- static String valueOf(int i)
str2à la suite de l'exécution de ce code :
String str1 = "Pirate";
String str2 = str1.substring(2,5);
Que contiendra str1à la suite de l'exécution de ce code :
String str1 = "Pirate";
str1.toUpperCase();
Que contiendra str1à la suite de l'exécution de ce code :
String str1 = " Pirate ";
str1 = str1.trim();
Que contiendra idxà la suite de l'exécution de ce code :
int idx = "Mille balles".lastIndexOf("le"); Que contiendra strTabà la suite de l'exécution de ce code :
String[] strTab = "CA:FE:ATPV::I:".split(":");Fini. La syntaxe de la commande d'insertion est la suivante :
? i:P%I%N
i:
Indique que l'on désire faire une insertion
P
Index de l'insertion
Caractères acceptés : chiffres
I
Chaîne à insérer
Caractères acceptés : minuscules, majuscules, chiffres, soulignement (_)
N
Nom de la variable (chaîne originale)
Caractères acceptés : minuscules, majuscules, chiffres, soulignement (_)
La syntaxe de la commande d'effacement est la suivante :
? d:D%F%N
d:
Indique que l'on désire faire un effacement
D
Index du premier caractère (inclus) à effacer (début)
Caractères acceptés : chiffres
F
Index du dernier caractère (inclus) à effacer (fin)
Caractères acceptés : chiffres
N
Nom de la variable (chaîne originale)
Caractères acceptés : minuscules, majuscules, chiffres, soulignement (_)
Exemple d'exécution :
? d:1%3%BonjourDans le programme principal, vous devez premièrement ajouter la condition de la boucleRésultat : Bour
?
i:1%onj%BourRésultat : Bonjour
?
FiniBonne journée.
do ... while afin d'être en mesure de quitter le programme lorsque l'usager inscrit Fini. Ensuite, vous devez afficher l'invite ( ? ), lire la commande, la valider
puis afficher le résultat de la modification si la commande est conforme. Si l'usager entre une commande erronée, on affiche le message d'erreur associé. Voici les différents problèmes à traiter ainsi que les messages d'erreur correspondants :
Pour
l'insertion :
- "Commande invalide." --> S'il y a une erreur de syntaxe
- "Index invalide." --> Si l'index (P) est plus petit que zéro ou
plus grand que la longueur du nom de la variable (N)
Pour l'effacement :
- "Commande invalide." --> S'il y a une erreur de syntaxe
- "Index début négatif." --> Si l'index de début (D) est plus petit que zéro
- "Index début trop grand." --> Si l'index de début (D) est plus grand
que l'index du dernier caractère du nom de la variable (N)
- "Index fin invalide." --> Si l'index de fin (F) est plus petit que l'index de début (D) ou
plus grand que l'index du dernier caractère du nom de la variable (N)
Dans une expression régulière, quelle est la signification des caractères suivants?
- ^ (deux significations)
- $
- - (trait d'union)
- \