From 02b701ec65722dd6c1768d2bd26d3c75d2bcaceb Mon Sep 17 00:00:00 2001 From: Gabriel Date: Thu, 20 Mar 2025 13:20:39 +0100 Subject: [PATCH] Second commit --- Consignes | 1 - Exo1/Consignes | 31 +++++++++++++++++++++++++++++++ Exo2/Consignes | 21 +++++++++++++++++++++ Exo3/Consignes | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 26 ++++++++++++++++++++++++-- 5 files changed, 125 insertions(+), 3 deletions(-) delete mode 100644 Consignes create mode 100644 Exo1/Consignes create mode 100644 Exo2/Consignes create mode 100644 Exo3/Consignes diff --git a/Consignes b/Consignes deleted file mode 100644 index 46018c5..0000000 --- a/Consignes +++ /dev/null @@ -1 +0,0 @@ -Bonjour \ No newline at end of file diff --git a/Exo1/Consignes b/Exo1/Consignes new file mode 100644 index 0000000..c1e9b02 --- /dev/null +++ b/Exo1/Consignes @@ -0,0 +1,31 @@ +Les bases +Difficulté : * + + +1. dans son éditeur de code préféré, + créer une procédure principale dont vous choisirez le nom + +2. importer la librairie Gada.Text_IO + +3. renommer la librairie Gada.Text_IO + +4. créer une procédure qui affiche un argument passé en paramètre + tester la procédure dans la procédure principale en affichant "Hello world" + + +5. créer une fonction qui renvoie le résultat de la multiplication de deux entiers + tester la fonction dans la procédure principale en utilisant la procédure afficher (pensez aux conversions) + +6. créer un type article Prof contenant un String Nom et un entier (Int) Age + créer une variable de type Prof et initialisez la dans la procédure principale + +7. Afficher le nom du Prof que vous venez de créer + +8. Afficher l'âge du Prof à la condition qu'il soit majeur (plus de 18 ans) + +9. Vous êtes punis pour mauvais comportement. Afficher le nom du prof n fois, avec n = âge du Prof à l'aide d'une boucle fermée + +10. même chose mais à l'aide d'une boucle ouverte + + +11. Bien joué, maintenant vous avez les bases. \ No newline at end of file diff --git a/Exo2/Consignes b/Exo2/Consignes new file mode 100644 index 0000000..b387711 --- /dev/null +++ b/Exo2/Consignes @@ -0,0 +1,21 @@ +Les notions fondamentales du S2 +Difficulté : ** + + +1. dans son éditeur de code préféré, + Créez une procédure principale dont vous choisirez le nom + +2. importer la librairie Gada.Text_IO + +3. renommer la librairie Gada.Text_IO + +4. Créez un sous-type T_Mois d'un entier allant de 1 à 12 + +5. Créez un type énuméré Profs de trois String qui représente des noms d'enseignants + +6. Créez un tableau de 12 cellules Profs commençant par l'index 1 + +7. Tous les mois, nous choisissons le meilleur enseignant, créez une procédure qui prend en argument un T_Mois, un Profs et un tableau de taille 12 et qui met le Profs dans la cellule du Mois correspondant + testez votre procédure en remplissant un tableau entièrement + +8. créer une fonction qui prend en argument un tableau et qui renvoi le Prof qui a été le plus populaire. En cas d'égalité, c'est celui qui a le plus grand nom qui gagne (grand dans le sens alphabétique) \ No newline at end of file diff --git a/Exo3/Consignes b/Exo3/Consignes new file mode 100644 index 0000000..85daaad --- /dev/null +++ b/Exo3/Consignes @@ -0,0 +1,49 @@ +Notion avancé +Difficulté : *** +by chatGPT + + +Exercice : Recherche du minimum dans une matrice +Objectif : + +Créer un programme en Ada qui recherche le minimum dans une matrice carrée de nombres entiers. +Consignes : + + Définir la matrice : + Crée une matrice carrée de dimensions N x N où N est un entier positif (choisi par l'utilisateur). + Les valeurs de la matrice seront des entiers donnés par l'utilisateur. + + Lecture de la matrice : + Implémente une fonction ou procédure qui permet à l'utilisateur de saisir les éléments de la matrice. L'utilisateur doit entrer les valeurs ligne par ligne. + Affiche la matrice à la fin de la saisie pour vérification. + + Trouver le minimum : + Crée une procédure ou fonction qui parcourt la matrice et trouve le plus petit élément. + Retourne la valeur du minimum ainsi que ses indices (ligne, colonne) dans la matrice. + + Gestion des erreurs : + Si la matrice est vide (dimension N=0), assure-toi que ton programme affiche un message d'erreur et ne tente pas de trouver un minimum. + Si l'utilisateur entre une dimension invalide (comme un nombre négatif pour N), le programme doit afficher un message d'erreur et redemander la dimension correcte. + + Affichage des résultats : + Après avoir trouvé le minimum, affiche-le à l'écran avec les indices correspondants (ligne et colonne). + + Optimisation (facultatif) : + Essaie de minimiser le nombre de comparaisons en t'arrêtant dès que tu as trouvé le minimum. + + +Exemple de sortie : + +Entrez la dimension de la matrice (N x N) : 3 +Entrez les éléments de la matrice : +Ligne 1 : 10 12 15 +Ligne 2 : 8 5 20 +Ligne 3 : 17 6 9 + +La matrice est : +10 12 15 +8 5 20 +17 6 9 + +Le minimum est : 5 +Il se trouve à l'indice (2, 2) diff --git a/README.md b/README.md index 84cb437..c3a5a09 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ -# Tutorat_Ada_A +# Tutorat_Ada_1A -Un petit repo pour les étudiants en difficultés \ No newline at end of file +Vous voilà dans un petit repo pour les étudiants en difficultés. Si vous êtes ici, c'est que vous êtes des étudiants motivés à réviser et à réussir cette sombre matière qu'est algo. + +Ici, vous trouverez des **exercices** de difficultés crescendo. +*Pour le moment, il, n'y a que des exercices du second semestre.* +*Les exercices sont basiques* + + +Dans chaque dossier, vous trouverez des consignes. +Vous devez être munis au préalable d'un environnement qui vous permet de manipuler Ada : +- emacs, +- https://tech.io/playgrounds/53242/programmation-ada-insa/espace-pour-tous-les-exercices, +- https://montp.insa-toulouse.fr/ + +Pour la correction, référez-vous aux tuteurs. + +Des exercices supplémentaires sont disponibles sur le site du club info : https://clubinfo.insat.fr/tutorats/#ada +Et sur le site du professeur Le Botlan : http://lambda.insa-toulouse.fr/Y/Ada-S2/tps.html + +**Bon courage !** + + + +Ceci à été développé dans le cadre des tutorats du club info. \ No newline at end of file