Info 111 - Programmation impérative, Semaine 7: tableaux à deux dimensions

Vous trouverez ici le matériel pédagogique pour la Semaine 7 qui porte sur les tableaux à deux dimensions. Vous pouver le télécharger et travailler dessus selon la procédure usuelle. Cette deuxième solution est plus riche, puisque vous pouvez essayer et expérimenter avec les exemples et faire les exercices proposés.

Planning

En amphi virtuel lundi matin, nous ferons une séance de questions-réponses sur le cours et les exercices (salle virtuelle, Foire-Aux-Questions). Cette semaine, il y aura peu de nouveaux éléments dans le cours. Cela laissera donc du temps pour:

En TD, nous continuerons les exercices de la feuille de TD.

En TP, nous continuerons les exercices de TP ci-dessous.

Consignes

Plus vous faites d'exercices en amont des TDs et TPs, plus vous êtes efficaces: cela vous permet en effet de bénéficier de l'aide de vos enseignants lorsque vous en avez le plus besoin.

Cours

TD

Errata: dans le sujet imprimé, l'affichage annoncé dans l'exercice 3 (6) est incorrect. C'est corrigé dans la version en ligne.

TP

Préalable:

  • Téléchargez le sujet de TP selon la procédure usuelle.
  • Ouvrir 00index.html avec Jupyter pour lire le sujet.

Mis à part le premier exercice qui sera fait avec Jupyter, tout le reste du TP sera programmé avec de la compilation dans un terminal.

Exercice: Déclaration, Allocation, Initialisation et Affichage de tableaux 2D

Consignes pour les exercices suivants

À lire très attentivement!

Pour chaque exercice suivant, un fichier squelette est fourni dans le sujet. Ouvrez le avec votre éditeur de texte favori et complétez le en remplaçant les lignes de la forme

// Remplacer la ligne suivante par le code adéquat
    throw runtime_error("Fonction nombreMines non implanté ligne 33");

par votre code. Comme on a vu dans le cours, throw signale une erreur: ici le fait que la fonction n’est pas encore implanté; veillez à ce que cette ligne (et tant qu'à faire le commentaire) soient bien supprimés!

Une fois le fichier complété, il faut le compiler dans un terminal: aller dans le répertoire:

  cd ~/ProgImperative/Semaine7

puis lancer la commande:

  info-111 g++ nomFichier.cpp -o nomFichier

Pour exécuter le programme compilé, il taper:

  ./nomFichier

Attention: Il est recommandé de compiler et d'exécuter vos fichiers à chaque fois que vous avez écrit une fonction, afin de détecter les erreurs au fur et à mesure.

Pourquoi compiler avec info-111 g++? Vous pouvez tout aussi bien, comme la semaine dernière, compiler directement avec g++:

  g++ -std=c++11 nomFichier.cpp -o nomFichier

Simplement, info-111 g++ rajoute automatiquement -std=c++11 et quelques autres options pratiques pour débogguer ou pour mieux détecter les erreurs. Regardez les messages affichés et notez lesquelles! Ainsi, si vous travaillez chez vous directement sur votre ordinateur et n’avez pas la commande info-111, vous pourrez continuer à bénéficier de ces options.

Exercice: Déclaration, Allocation et Initialisation de tableau 2D

Éditer le fichier tableau2D-initialisation.cpp pour le compléter, le compiler et l’exécuter pour le vérifier.

Exercice: Opérations sur Tableaux à deux dimensions

Faire la même chose (éditer, compléter, compiler, exécuter, tester) avec les fichiers:

Exercice $\clubsuit$: Le jeu du démineur

Faites la même chose (éditer, compléter, compiler, exécuter, tester) avec le fichier demineur.cpp pour implanter le jeu du démineur du TD.