Académique Documents
Professionnel Documents
Culture Documents
Le modèle de programmation dans la page suivante contient dans la mémoire de code le programme C avec deux
fonctions main et ajouterChaine (cette fonction est très semblable à la fonction strcat). Vous devez
montrer comment la mémoire de travail est utilisée durant l’exécution de ce programme:
Montrez comment le tableau et les variables sont organisés dans la mémoire de travail de chaque
fonction.
Montrez comment les variables et le tableau sont initialisés et modifiés par le programme.
Montrez les valeurs qui sont affectées aux variables et éléments du tableau. Soyez certain de montrer
toutes les valeurs affectés éléments des tableaux/variables et comment elles changent durant l’exécution
du programme. Représentez dans votre modèle de programmation les affectations successives des
valeurs aux éléments de tableaux et variables comme suit (le ? montre une valeur inconnue) :
nomVariabl ? 2, 6, 4, 10
e
Pour le tableau de type char, représentez-le de la façon suivante. Montrez les valeurs des éléments avec
des valeurs littérales de type char.
nomTableau ? ‘a’
? ‘b’
? ‘c’
? ‘\0’
?
?
Pour la variable pointeur, utilisez adr1, adr2, adr3, etc. comme valeurs affectées au pointeur et dessinez
une flèche pointillée pour montrer à quel emplacement de mémoire l’adresse réfère.
Utilisez des flèches pour montrer comment les valeurs sont copiées entre la mémoire de travail allouée
à la fonction main et la mémoire de travail allouée à la fonction ajouterChaine. Il n’est pas
nécessaire de montrer comment les valeurs sont copiées dans les paramètres qui sont des pointeurs (les
flèches pointillées sont suffisantes).
1
Chn1 Chn2
? ‘U’ ? ‘c’
? ‘n’ ? ‘h’
? ‘e’ ? ‘a’
? ‘\0’ ? ‘i’
? ‘n’
? ‘e’
? ‘\0’
ch1 ch2
‘c’
‘U’ ‘h’
‘n’ ‘a’
‘e’ ‘I’
‘\0’ ‘n’
‘e’
‘\0’
ix1 ? 0,1,2,3
ix2 ? 0, 1,2,3,4,5
2
Question 2 (10 points)
3
2)
Insérer les sorties montrant les résultats de tous les cas de test dans votre rapport de devoir.
4
5
Question 3 (10 points)
Le reboisement d’une forêt
Un des défis de la gestion de forêt est de déterminer après une récolte dans une forêt combien d’acres
devront être non-récoltés afin que la partie récoltée sera reboisée dans une période de temps désirée. Il
est supposé que le reboisement se fait à un taux constant, r, par année, dépendant du climat et des
conditions du sol. Une équation de reboisement en fonction du nombre d’acres reboisés et du taux de
reboisement :
}
} Entrée
Résultats
affichés
6
Fonction getEntreeForet
o La fonction possède un paramètre pointeur pour remplir la variable structure déclarée
dans main.
o Les valeurs données par l’utilisateur doivent être vérifiées afin qu’elles respectent les
contraintes suivantes :
Toutes les valeurs réelles doivent être plus grandes que 0.0 (utilisez la
fonction getValeurPositive du labo 5).
Le nombre maximum d’acres non-récoltés doit être plus petit que le nombre
total d’acres de la forêt.
Le nombre minimum d’acres non-récoltés doit être plus petit que le nombre
maximum d’acres non-récoltés.
Le taux de reboisement doit être entre 0 et 1.0 exclusivement (c.-à-d. que le
taux ne peux pas être 0.0, ni 1.0).
Fonction calculeDonneesTableau
o Les paramètres de cette fonction comprennent un pointeur à une variable structure du
type FORET, les paramètres nécessaires pour accéder et traverser le ou les tableaux
déclarés dans la fonction main. N’utilisez pas des consentantes symboliques pour
déterminer les dimensions des tableaux. Utilisez plutôt des paramètres (ceci rend la
fonction capable de composer avec des tableaux de différentes dimensions).
o En plus d’un boucle pour traverser le/les tableaux, un boucle imbriqué sera nécessaire
pour calculer le nombre d’années nécessaires pour faire le reboisement étant donnée le
nombre d’acres non-récoltés.
Fonction afficheTableau
o Les paramètres de cette fonction comprennent un pointeur à une variable structure du
type FORET, les paramètres nécessaires pour accéder et traverser le ou les tableaux
déclarés dans la fonction main. N’utilisez pas des consentantes symboliques pour
déterminer les dimensions des tableaux. Utilisez plutôt des paramètres (ceci rend la
fonction capable de composer avec des tableaux de différentes dimensions).
o La fonction affiche d’abords l’information de la forêt (voir l’exemple de la sortie du
programme).
o Il affiche ensuite le contenu du tableau de donnée pour montrer comment les années
de reboisement changent avec le nombre d’acres non-récoltés.
o Respectez le format de la sortie tel que le nombre de chiffres dans la partie fraction
des valeurs.
Répondez à cette question avec :
1) Le code source C de votre programme.
7
8
9
2) Insérez dans votre fichier de devoir le code source ainsi que la sortie de votre programme
pour tous les cas tests montrés dans la prochaine page. Montrez aussi une sortie qui
démontre comment le programme traite des valeurs invalides pour le temps de début et le
temps de la fin.
10
11
12