Vous êtes sur la page 1sur 3

INFO1101 Laboratoire Automne 2022

2022-10-25

Voici des blocs de code récupérés de la solution du devoir #1.

Quelques déclarations de variables.

// Déclaration de variables
long N, operande1, operande2, operande3, resultat1, resultat2;
char operateur1, operateur2;
long priorite1, priorite2;

Lecture d’une instruction.

// Lecture d'une instruction


cout << "> ";
cin >> operande1 >> operateur1 >> operande2
>> operateur2 >> operande3;
// cout << operande1 << " " << operateur1 << " " << operande2
// << " " << operateur2 << " " << operande3 << endl; // Écho

Un des blocs de code pour faire le calcul d’une opération arithmétique.

switch (operateur1)
{
case '+': resultat1 = operande1 + operande2; break;
case '-': resultat1 = operande1 - operande2; break;
case '/':
if( operande2 != 0 )
resultat1 = operande1 / operande2;
else
{
cout << "Division par 0 non valide." << endl;
continue; // Passe à la prochaine itération du for et, donc, à la prochaine
instruction à lire.
}
break;
case '*': resultat1 = operande1 * operande2; break;
case '%':
if (operande2 != 0)
resultat1 = operande1 % operande2;
else
{
cout << "Modulo par 0 non valide." << endl;
continue; // Passe à la prochaine itération du for et, donc, à la prochaine
instruction à lire.
}
break;
}

Les tâches que l’on va faire :

1 Transformer le code pour faire le calcul d’une opération arithmétique en une


définition de fonction.
a. En transformant ce bloc en un corps de fonction (mettre des accolades aux bons
endroits).
b. Donner un nom à notre fonction.
c. Créer une liste de paramètres avec un choix judicieux de type et de mode de
passage de paramètre pour chaque paramètre.
d. Choisir le type de retour de la fonction.
2 Créer un programme pour tester notre fonction (fichier pilote.cpp). Ce programme
est un pilote pour notre fonction.
a. Ce programme devra être capable de lire des données dans des variables.
b. Il y aura un appel à notre fonction avec des paramètres actuels (qui
contiendront les valeurs lues).
c. Il y aura vérification que le résultat obtenu de l’opération correspond au résultat
attendu.
3 Créer des fichiers de données pour tester notre fonction. Pour mieux planifier nos
tests, on les regroupera par thématique.
a. Prévoir des cas où il n’y a pas d’erreurs.
b. Prévoir des cas où il y a des erreurs de division par zéro.
c. Prévoir des cas où il y a des erreurs de modulo par zéro.
d. La forme des tests, dans les fichiers sera comme suit.
i. <opérande1> <opérateur> <opérande2> <résultatAttendu>
e. On utilisera la technique du compteur. La première ligne contiendra le nombre
de tests dans le fichier.
4 Créer un fichier de commandes en lots pour appeler la version de notre programme
en faisant des redirections d’entrées et de sorties pour chaque fichier de nos tests.
a. On vous demande de faire trois fichiers de tests, il y aura donc trois commandes
dans votre fichier de commandes en lot.
b. Rajouter un appel à pause.exe pour que la fenêtre de sortie ne ferme pas trop
vite.
5 On discutera de la forme du pilote pour faciliter l’automation des tests, surtout pour
ce qui est de la génération du rapport de test.

Remettez vos fichiers dans la boîte de dépôt prévue pour le labo.

Vous aimerez peut-être aussi