From 6d0b69b40916571fecb1dd67ee2cae7ae8e7c149 Mon Sep 17 00:00:00 2001 From: MDevoldere <10086604+mdevoldere@users.noreply.github.com> Date: Wed, 27 Nov 2024 10:26:47 +0100 Subject: [PATCH 1/4] structure et reorg progression --- .../algorithmes/exercices/01-introduction.md | 4 +- .../02-structures-conditionnelles.md | 117 +++++++----------- docs/tp/algorithmes/exercices/03-boucles.md | 2 - docs/tp/algorithmes/exercices/04-tableaux.md | 1 - docs/tp/algorithmes/exercices/05-fonctions.md | 2 - .../{10-revisions.md => 09-revisions.md} | 14 +-- .../02a-structures-conditionnelles.md | 61 --------- .../12-structures-conditionnelles.md | 97 +++++++++++++++ .../{03a-boucles.md => 13-boucles.md} | 0 .../{04a-tableaux.md => 14-tableaux.md} | 0 .../{10a-revisions.md => 19-revisions.md} | 0 .../{01-1-yaourts.md => 21-yaourts.md} | 0 .../exercices3/{01-2-dice.md => 22-dice.md} | 0 .../{01-3-twisted.md => 23-twisted.md} | 0 docs/tp/git/cli/03-git-init.md | 2 + docs/tp/git/cli/05-git-log-.md | 2 + docs/tp/git/cli/06-git-clone.md | 0 17 files changed, 153 insertions(+), 149 deletions(-) rename docs/tp/algorithmes/exercices/{10-revisions.md => 09-revisions.md} (91%) delete mode 100644 docs/tp/algorithmes/exercices2/02a-structures-conditionnelles.md create mode 100644 docs/tp/algorithmes/exercices2/12-structures-conditionnelles.md rename docs/tp/algorithmes/exercices2/{03a-boucles.md => 13-boucles.md} (100%) rename docs/tp/algorithmes/exercices2/{04a-tableaux.md => 14-tableaux.md} (100%) rename docs/tp/algorithmes/exercices2/{10a-revisions.md => 19-revisions.md} (100%) rename docs/tp/algorithmes/exercices3/{01-1-yaourts.md => 21-yaourts.md} (100%) rename docs/tp/algorithmes/exercices3/{01-2-dice.md => 22-dice.md} (100%) rename docs/tp/algorithmes/exercices3/{01-3-twisted.md => 23-twisted.md} (100%) create mode 100644 docs/tp/git/cli/06-git-clone.md diff --git a/docs/tp/algorithmes/exercices/01-introduction.md b/docs/tp/algorithmes/exercices/01-introduction.md index 54c2293..9ef8a6d 100644 --- a/docs/tp/algorithmes/exercices/01-introduction.md +++ b/docs/tp/algorithmes/exercices/01-introduction.md @@ -4,9 +4,7 @@ level: 4 order: 1 --- -# Partie 1 - -Ctte série d'exercices d'introduction vous permettra de mettre en pratique les notions suivantes : +Cette série d'exercices d'introduction vous permettra de mettre en pratique les notions suivantes : - Les variables - Les chaines de caractères - Les calculs mathématiques simples diff --git a/docs/tp/algorithmes/exercices/02-structures-conditionnelles.md b/docs/tp/algorithmes/exercices/02-structures-conditionnelles.md index 9c4f96e..a728a5d 100644 --- a/docs/tp/algorithmes/exercices/02-structures-conditionnelles.md +++ b/docs/tp/algorithmes/exercices/02-structures-conditionnelles.md @@ -4,15 +4,13 @@ level: 4 order: 2 --- -# Partie 2 - Cette partie vous permettra de mettre en pratique les notions suivantes : - Les structures conditionnelles ## Exercice 2.1 : Positif ou négatif ? -Écrire un algorithme qui demande à l'utilisateur de saisir **1** nombre entier et l'informe ensuite si le nombre est positif ou négatif. +Écrire un algorithme qui demande à l'utilisateur de saisir **1** nombre entier et l'informe ensuite si le nombre est **positif** ou **négatif**. Pour information, le nombre `0` est considéré **positif**. @@ -21,99 +19,72 @@ Pour information, le nombre `0` est considéré **positif**. Écrire un algorithme qui demande à l'utilisateur de saisir **2** nombres entiers et l'informe ensuite si leur **produit** est positif ou négatif. +## Exercice 2.3 : Tri de nombres -## Exercice 2.3 : Ma catégorie au Football - -Écrire un algorithme qui demande à l'utilisateur de saisir un âge et l'informe ensuite à quelle catégorie il appartient : +Lire 2 nombres entier `A` et `B` puis les afficher dans l'ordre croissant. -- **Trop jeune** : Moins de 5 ans -- **Débutant** : De 5 à 6 ans -- **Poussin** : De 7 à 8 ans -- **Benjamin** : De 9 à 10 ans -- **Pupille** : De 11 à 12 ans -- **Minime** : De 13 à 14 ans -- **Cadet** : De 15 à 16 ans -- **Junior** : De 17 à 18 ans -- **Sénior** : De 19 à 34 ans -- **Vétéran** : 35 ans et + +## Exercice 2.4 : Es-tu majeur ? +1. Lire un nombre `A` correspondant à un âge (en années). +2. Afficher "Vous êtes majeur" ou "Vous êtes mineur" selon le cas. + - Pour un nombre négatif le message doit être "Vous n'êtes pas encore né". -## Exercice 2.4 : Je prédis l'avenir - -Cet algorithme est destiné à prévenir l'avenir et il doit être **infaillible** ! +La majorité est fixée à 18 ans. -Le programme demande à l'utilisateur de saisir 2 nombres entiers correspondant respectivement à des heures et des minutes. Le programme affichera ensuite l'heure qu'il sera 3 minutes plus tard. -Par exemple, si l'utilisateur saisit **23** puis **12** (correspondant à **23h12**), le programme doit afficher **Dans 3 minutes, il sera 23h15**. +## Exercice 2.5 : Ma retraite -Si les nombres saisis par l'utilisateur sont "hors limite", le programme affichera "Les données saisies sont invalides" +1. Lire un nombre `A` correspondant à un âge (en années). +2. Selon l'âge fourni, le programme doit afficher l'un des messages suivants : + - Vous êtes à la retraite depuis `X` années + - Il vous reste `X` années avant la retraite. + - C'est le moment de prendre sa retraite. + - La valeur fournie n'est pas un âge valide. +Pour cet exercice, la retraite est fixée à 62 ans. -## Exercice 2.5 : Réprographie - -Un magasin proposant un service de Réprographie facture 0.10€ les 10 premières photocopies, 0.09€ les vingt suivants et 0.08 au delà. - -Écrire l'algorithme qui demande à l'utilisateur de saisir le nombre de photocopies effectuées et affiche le montant de la facture correspondante. - -## Exercice 2.6 : Bisextille -Ecrire un algorithme qui détermine si une année est bissextile. +## Exercice 2.6 : Ma catégorie au club de sport -Les années bissextiles sont : -- les années divisibles par 4 mais non divisibles par 100 -- les années divisibles par 400. +Écrire un algorithme qui demande à l'utilisateur de saisir un **âge** et l'informe ensuite à quelle **catégorie** il appartient : -## Exercice 2.7 : Validité d'une date - -Écrivez un algorithme qui demande à l'utilisateur de saisir 3 nombres entiers - -1. Un numéro de jour -2. Un numéro de mois -3. Un numéro d'année - -L'algorithme indique ensuite s'il s'agit ou non d'une date valide. - -Il n'est sans doute pas inutile de rappeler que le mois de février compte 28 jours, sauf si l’année est bissextile, auquel cas il en compte 29. - -L’année est bissextile si elle est divisible par quatre. Toutefois, les années divisibles par 100 ne sont pas bissextiles, mais les années divisibles par 400 le sont. **Ouf** ! +- **Trop jeune** : Moins de 5 ans +- **Débutant** : De 5 à 10 ans +- **Junior** : De 11 à 14 ans +- **Espoir** : De 15 à 17 ans +- **Adulte** : 18 ans et + -## Exercie 2.8 : Élections +## Exercice 2.7 : Tri de nombres++ -Les élections législatives, en Guignolerie Septentrionale, obéissent à la règle suivante : -- Lorsque l'un des candidats obtient plus de 50% des suffrages, il est élu dès le premier tour. -- En cas de deuxième tour, peuvent participer uniquement les candidats ayant obtenu au moins 12.5% des voix au premier tour. +Lire 3 nombres décimaux `A`, `B` et `C` puis les afficher dans l'ordre décroissant. -Vous devez écrire un algorithme qui permet la saisie des scores de quatre candidats au premier tour. -Cet algorithme traitera ensuite le candidat numéro 1 (et uniquement lui) : il dira s'il est élu, battu, s'il se trouve en ballottage favorable (il participe au second tour en étant arrivé en tête à l'issue du premier tour) ou défavorable (il participe au second tour sans avoir été en tête au premier tour). +## Exercice 2.8 : Je prédis l'avenir -## Exercice 2.9 : Tarif Assurance +Cet algorithme est destiné à prévenir l'avenir et il doit être **infaillible** ! -Une compagnie d'assurance automobile propose à ses clients quatre familles de tarifs identifiables par une -couleur, du moins au plus onéreux : +1. Le programme demande à l'utilisateur de saisir **2 nombres entiers** correspondant respectivement à des **heures** et des **minutes**. +2. Si l'heure saisie n'est pas valide (valeurs hors limites) + - Le programme affiche "Les données saisies sont invalides" et se termine. +3. Si l'heure est valide + - Le programme affiche l'heure saisie + - Le programme affiche ensuite l'heure qu'il sera 3 minutes plus tard. -- Tarifs **bleu**, **vert**, **orange** et **rouge**. +*Par exemple:* -Le tarif dépend de la situation du conducteur : +- Si l'utilisateur saisit **23** puis **12**: + 1. Le programme affiche "**Vous avez saisi: 23h12**" + 2. Le programme affiche "**3 minutes plus tard, il sera 23h15**". +- Si l'utilisateur saisit **23** puis **59**: + 1. Le programme affiche "**Vous avez saisi: 23h59**" + 2. Le programme affiche "**3 minutes plus tard, il sera 00h02**". -- Un conducteur de moins de 25 ans et titulaire du permis depuis moins de deux ans, se voit attribuer -le tarif rouge, si toutefois il n'a jamais été responsable d'accident. Sinon, la compagnie refuse de -l'assurer. -- Un conducteur de moins de 25 ans et titulaire du permis depuis plus de deux ans, ou de plus de 25 -ans mais titulaire du permis depuis moins de deux ans a le droit au tarif orange s'il n'a jamais -provoqué d'accident, ou le tarif rouge s'il a été repsonsable d'un accident, sinon il est refusé. +## Exercice 2.9 : Réprographie -- Un conducteur de plus de 25 ans titulaire du permis depuis plus de deux ans bénéficie du tarif vert -s'il n'est à l'origine d'aucun accident et du tarif orange pour un accident, du tarif rouge pour deux -accidents, et refusé au-delà +Un magasin proposant un service de Réprographie facture **0.10€** les 10 premières photocopies, **0.09€** les vingt suivantes et **0.08€** au delà. -De plus, pour encourager la fidélité des clients acceptés, la compagnie propose un contrat de la -couleur immédiatement la plus avantageuse s'il est assuré depuis plus de cinq ans. -Ainsi, s'il satisfait à cette exigence, un client normalement "vert" devient "bleu", un client -normalement "orange" devient "vert", et le "rouge" devient orange. +Écrire l'algorithme qui demande à l'utilisateur de saisir le nombre de photocopies effectuées et affiche le montant de la facture correspondante. -Ecrire l'algorithme permettant de saisir les données nécessaires (sans contrôle de saisie) et de traiter ce -problème. Avant de se lancer à corps perdu dans cet exercice, on pourra réfléchir un peu et s'apercevoir -qu'il est plus simple qu'il n'en a l'air (cela s'appelle faire une analyse !)... +> Validez votre travail avec votre formateur avant de passer à la suite. diff --git a/docs/tp/algorithmes/exercices/03-boucles.md b/docs/tp/algorithmes/exercices/03-boucles.md index 76d6c81..fb8dc01 100644 --- a/docs/tp/algorithmes/exercices/03-boucles.md +++ b/docs/tp/algorithmes/exercices/03-boucles.md @@ -4,8 +4,6 @@ level: 4 order: 3 --- -# Partie 3 - Cette partie vous permettra de mettre en pratique les notions suivantes : - Les notions des parties précédentes - Les boucles diff --git a/docs/tp/algorithmes/exercices/04-tableaux.md b/docs/tp/algorithmes/exercices/04-tableaux.md index 0dfb38d..e759696 100644 --- a/docs/tp/algorithmes/exercices/04-tableaux.md +++ b/docs/tp/algorithmes/exercices/04-tableaux.md @@ -4,7 +4,6 @@ level: 4 order: 4 --- -# Partie 4 Cette partie vous permettra de mettre en pratique les notions suivantes : - Les notions des parties précédentes diff --git a/docs/tp/algorithmes/exercices/05-fonctions.md b/docs/tp/algorithmes/exercices/05-fonctions.md index 367a83f..1350f28 100644 --- a/docs/tp/algorithmes/exercices/05-fonctions.md +++ b/docs/tp/algorithmes/exercices/05-fonctions.md @@ -4,8 +4,6 @@ level: 4 order: 5 --- -# Partie 5 - Cette partie vous permettra de mettre en pratique les notions suivantes : - Les notions des parties précédentes - Les procédures diff --git a/docs/tp/algorithmes/exercices/10-revisions.md b/docs/tp/algorithmes/exercices/09-revisions.md similarity index 91% rename from docs/tp/algorithmes/exercices/10-revisions.md rename to docs/tp/algorithmes/exercices/09-revisions.md index 265102a..18ef815 100644 --- a/docs/tp/algorithmes/exercices/10-revisions.md +++ b/docs/tp/algorithmes/exercices/09-revisions.md @@ -7,7 +7,7 @@ order: 10 Cette série d'exercices vous permettra de réviser les parties précédentes. -## Exercice 5.1 : Calcul des nombres parfaits +## Exercice 9.1 : Calcul des nombres parfaits On souhaite écrire un programme de calcul des 4 premiers nombres parfaits. @@ -32,9 +32,9 @@ Affichage des 4 premiers nombres parfaits : ``` -## Exercice 5.2 : Conversion Kilomètres <-> Miles +## Exercice 9.2 : Conversion Kilomètres <-> Miles -### Exercice 5.2.1 +### Exercice 9.2.1 L'utilisateur saisit une valeur en kilomètres comprise entre `0.01` et `1 000 000`. @@ -44,7 +44,7 @@ Formule km vers mi : `1 miles = 1.609 kilomètres`. Le programme affiche le résultat de la conversion sous forme de nombre réel double précision. -### Exercice 5.2.2 : +### Exercice 9.2.2 : L’utilisateur peut choisir le sens de la conversion. @@ -53,9 +53,9 @@ Il saisit une valeur à convertir avec son unité de mesure (km ou mi). Si aucune unité de mesure n’est indiquée, le programme considère la valeur en kilomètres. -## Exercice 5.3 : Conversion Degrés Fahrenheit (°F) <--> Degrés Celsius (°C) +## Exercice 9.3 : Conversion Degrés Fahrenheit (°F) <--> Degrés Celsius (°C) -### Exercice 5.3.1 +### Exercice 9.3.1 Soit "X" une valeur à convertir. - Formule °F vers °C : `°C = (X − 32) * 5/9` @@ -73,7 +73,7 @@ Le programme affiche le résultat de la conversion sous forme de nombre réel do Pour information, le zéro absolu correspond à -459.67 Degrés Fahrenheit ou -273.15 degrés Celsius. -### Exercice 5.3.2 +### Exercice 9.3.2 L’utilisateur saisit une unité de mesure (C ou F). diff --git a/docs/tp/algorithmes/exercices2/02a-structures-conditionnelles.md b/docs/tp/algorithmes/exercices2/02a-structures-conditionnelles.md deleted file mode 100644 index a3fd962..0000000 --- a/docs/tp/algorithmes/exercices2/02a-structures-conditionnelles.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: "Les conditions #2" -level: 4 -order: 2 -serie: "exercices2" ---- - -# Partie 2a - -Cette partie vous permettra de mettre en pratique les notions suivantes : -- Les structures conditionnelles - - -## Exercice 2a.1 : Tri de nombres - -Lire 2 nombres entier `A` et `B` puis les afficher dans l'ordre croissant. - - -## Exercice 2a.2 : Es-tu majeur ? - -1. Lire un nombre `A` correspondant à un âge (en années). -2. Afficher "Vous êtes majeur" ou "Vous êtes mineur" selon le cas. - - Pour un nombre négatif le message doit être "Vous n'êtes pas encore né". - -La majorité est fixée à 18 ans. - - -## Exercice 2a.3 : Ma retraite - -1. Lire un nombre `A` correspondant à un âge (en années). -2. Selon l'âge fourni, le programme doit afficher l'un des messages suivants : - - Vous êtes à la retraite depuis `X` années - - Il vous reste `X` années avant la retraite. - - C'est le moment de prendre sa retraite. - - La valeur fournie n'est pas un âge valide. - -La retraite est fixée à 60 ans. - - -## Exercice 2a.4 : Tri de nombres++ - -Lire 3 nombres entier `A`, `B` et `C` puis les afficher dans l'ordre décroissant. - - -## Exercice 2a.5 : Ma bicyclette - -Réalisez l’algorithme et le programme correspondant au texte ci-dessous : - -S'il fait beau demain, j'irai faire une balade à bicyclette. - -Je n'ai pas utilisé ma bicyclette depuis plusieurs mois, peut-être n'est-elle plus en parfait état de fonctionnement. - -Si c'est le cas, je passerai chez le garagiste avant la balade. J'espère que les réparations seront immédiates sinon je devrai renoncer à la balade en bicyclette. Comme je veux de toute façon profiter du beau temps, si mon vélo n'est pas utilisable, j'irai à pied jusqu'à l'étang pour cueillir les joncs. - -S'il ne fait pas beau, je consacrerai ma journée à la lecture. J'aimerais relire le 1er tome de Game of Thrones. Je pense posséder ce livre, il doit être dans la bibliothèque du salon. - -Si je ne le retrouve pas, j'irai l’emprunter à la bibliothèque municipale. Si le livre n'est pas disponible, j'emprunterai un roman policier. - -Je rentrerai ensuite directement à la maison. - -Dès que j'aurai le livre qui me convient, je m'installerai confortablement dans un fauteuil et je me plongerai dans la lecture. diff --git a/docs/tp/algorithmes/exercices2/12-structures-conditionnelles.md b/docs/tp/algorithmes/exercices2/12-structures-conditionnelles.md new file mode 100644 index 0000000..fb7e9b8 --- /dev/null +++ b/docs/tp/algorithmes/exercices2/12-structures-conditionnelles.md @@ -0,0 +1,97 @@ +--- +title: "Les conditions #2" +level: 4 +order: 2 +serie: "exercices2" +--- + +Cette partie vous permettra de mettre en pratique les notions suivantes : +- Les structures conditionnelles + +## Exercice 2.6 : Bisextille + +Ecrire un algorithme qui détermine si une année est bissextile. + +Les années bissextiles sont : +- les années divisibles par 400. +- les années divisibles par 4 mais non divisibles par 100 + + +## Exercice 2.7 : Validité d'une date + +Écrivez un algorithme qui demande à l'utilisateur de saisir 3 nombres entiers + +1. Un numéro de jour +2. Un numéro de mois +3. Un numéro d'année + +L'algorithme indique ensuite s'il s'agit ou non d'une date valide. + +Il n'est sans doute pas inutile de rappeler que le mois de février compte 28 jours, sauf si l’année est bissextile, auquel cas il en compte 29. + + +## Exercie 2.8 : Élections + +Les élections législatives, en Guignolerie Septentrionale, obéissent à la règle suivante : +- Lorsque l'un des candidats obtient plus de 50% des suffrages, il est élu dès le premier tour. +- En cas de deuxième tour, peuvent participer uniquement les candidats ayant obtenu au moins 12.5% des voix au premier tour. + +Vous devez écrire un algorithme qui permet la saisie des scores de quatre candidats au premier tour. + +Cet algorithme traitera ensuite uniquement le 1er candidat saisi et affichera : +- s'il est élu (plus de 50% des voix) +- s'il est battu (moins de 12.5% des voix) +- s'il se trouve en ballottage + - favorable (il participe au second tour en étant arrivé en tête à l'issue du premier tour). + - défavorable (il participe au second tour sans avoir été en tête au premier tour). + +### Exercice 2.8.1 + +## Exercice 2.9 : Tarif Assurance + +Une compagnie d'assurance automobile propose à ses clients quatre familles de tarifs identifiables par une +couleur, du moins au plus onéreux : + +- Tarifs **bleu**, **vert**, **orange** et **rouge**. + +**Le tarif dépend de la situation du conducteur :** + +- **Un conducteur** de moins de 25 ans et titulaire du permis depuis moins de deux ans, se voit attribuer +le tarif rouge, si toutefois il n'a jamais été responsable d'accident. Sinon, la compagnie refuse de +l'assurer. + +- **Un conducteur** de moins de 25 ans et titulaire du permis depuis plus de deux ans, ou de plus de 25 +ans mais titulaire du permis depuis moins de deux ans a le droit au tarif orange s'il n'a jamais +provoqué d'accident, ou le tarif rouge s'il a été repsonsable d'un accident, sinon il est refusé. + +- **Un conducteur** de plus de 25 ans titulaire du permis depuis plus de deux ans bénéficie du tarif vert +s'il n'est à l'origine d'aucun accident et du tarif orange pour un accident, du tarif rouge pour deux +accidents, et refusé au-delà + +De plus, pour encourager la fidélité des clients acceptés, la compagnie propose un contrat de la +couleur immédiatement la plus avantageuse s'il est assuré depuis plus de cinq ans. +Ainsi, s'il satisfait à cette exigence, un client normalement "vert" devient "bleu", un client +normalement "orange" devient "vert", et le "rouge" devient orange. + +Ecrire l'algorithme permettant de saisir les données nécessaires (sans contrôle de saisie) et de traiter ce +problème. Avant de se lancer à corps perdu dans cet exercice, on pourra réfléchir un peu et s'apercevoir +qu'il est plus simple qu'il n'en a l'air (cela s'appelle faire une analyse !)... + + +## Exercice 2a.5 : Ma bicyclette + +Réalisez l’algorithme et le programme correspondant au texte ci-dessous : + +S'il fait beau demain, j'irai faire une balade à bicyclette. + +Je n'ai pas utilisé ma bicyclette depuis plusieurs mois, peut-être n'est-elle plus en parfait état de fonctionnement. + +Si c'est le cas, je passerai chez le garagiste avant la balade. J'espère que les réparations seront immédiates sinon je devrai renoncer à la balade en bicyclette. Comme je veux de toute façon profiter du beau temps, si mon vélo n'est pas utilisable, j'irai à pied jusqu'à l'étang pour cueillir les joncs. + +S'il ne fait pas beau, je consacrerai ma journée à la lecture. J'aimerais relire le 1er tome de Game of Thrones. Je pense posséder ce livre, il doit être dans la bibliothèque du salon. + +Si je ne le retrouve pas, j'irai l’emprunter à la bibliothèque municipale. Si le livre n'est pas disponible, j'emprunterai un roman policier. + +Je rentrerai ensuite directement à la maison. + +Dès que j'aurai le livre qui me convient, je m'installerai confortablement dans un fauteuil et je me plongerai dans la lecture. diff --git a/docs/tp/algorithmes/exercices2/03a-boucles.md b/docs/tp/algorithmes/exercices2/13-boucles.md similarity index 100% rename from docs/tp/algorithmes/exercices2/03a-boucles.md rename to docs/tp/algorithmes/exercices2/13-boucles.md diff --git a/docs/tp/algorithmes/exercices2/04a-tableaux.md b/docs/tp/algorithmes/exercices2/14-tableaux.md similarity index 100% rename from docs/tp/algorithmes/exercices2/04a-tableaux.md rename to docs/tp/algorithmes/exercices2/14-tableaux.md diff --git a/docs/tp/algorithmes/exercices2/10a-revisions.md b/docs/tp/algorithmes/exercices2/19-revisions.md similarity index 100% rename from docs/tp/algorithmes/exercices2/10a-revisions.md rename to docs/tp/algorithmes/exercices2/19-revisions.md diff --git a/docs/tp/algorithmes/exercices3/01-1-yaourts.md b/docs/tp/algorithmes/exercices3/21-yaourts.md similarity index 100% rename from docs/tp/algorithmes/exercices3/01-1-yaourts.md rename to docs/tp/algorithmes/exercices3/21-yaourts.md diff --git a/docs/tp/algorithmes/exercices3/01-2-dice.md b/docs/tp/algorithmes/exercices3/22-dice.md similarity index 100% rename from docs/tp/algorithmes/exercices3/01-2-dice.md rename to docs/tp/algorithmes/exercices3/22-dice.md diff --git a/docs/tp/algorithmes/exercices3/01-3-twisted.md b/docs/tp/algorithmes/exercices3/23-twisted.md similarity index 100% rename from docs/tp/algorithmes/exercices3/01-3-twisted.md rename to docs/tp/algorithmes/exercices3/23-twisted.md diff --git a/docs/tp/git/cli/03-git-init.md b/docs/tp/git/cli/03-git-init.md index 3d32777..bb41eb3 100644 --- a/docs/tp/git/cli/03-git-init.md +++ b/docs/tp/git/cli/03-git-init.md @@ -78,4 +78,6 @@ Tâches à réaliser en ligne de commande avec PowerShell. Pour chaque tâche, v > Validez votre travail avec un formateur +--- + Une fois terminé, vous pouvez passer à l'étape suivante : [Valider des modifications dans un dépôt GIT](./04-git-status-add-commit) diff --git a/docs/tp/git/cli/05-git-log-.md b/docs/tp/git/cli/05-git-log-.md index a0eb765..63ba0c1 100644 --- a/docs/tp/git/cli/05-git-log-.md +++ b/docs/tp/git/cli/05-git-log-.md @@ -20,3 +20,5 @@ vous devriez observer un résultat similaire à la capture suivante : ![git log](./img/git-log.jpg) + +# Annuler un ou plusieurs commit diff --git a/docs/tp/git/cli/06-git-clone.md b/docs/tp/git/cli/06-git-clone.md new file mode 100644 index 0000000..e69de29 From adfb9168cc68a3649d1ae2205a0dd479e94bf221 Mon Sep 17 00:00:00 2001 From: MDevoldere <10086604+mdevoldere@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:10:27 +0100 Subject: [PATCH 2/4] update modules intro algo poo --- .../algorithmes/introduction/01-numeration.md | 21 ++++++++---- .../introduction/02-algebre-boole.md | 23 ++++++++++--- .../introduction/03-algorithmes-conception.md | 24 ++++++++++++- docs/tp/poo/index.md | 34 ++++++++++++++++++- 4 files changed, 89 insertions(+), 13 deletions(-) diff --git a/docs/tp/algorithmes/introduction/01-numeration.md b/docs/tp/algorithmes/introduction/01-numeration.md index c736db0..3a45797 100644 --- a/docs/tp/algorithmes/introduction/01-numeration.md +++ b/docs/tp/algorithmes/introduction/01-numeration.md @@ -4,19 +4,28 @@ serie: "introduction" order: 1 --- -Un système de numération est un ensemble de symboles (les chiffres) qui sont assemblés en respectant des règles précises permettant d’écrire, de lire et d’énoncer les nombres. +Un système de numération est un ensemble de symboles (les **chiffres**) qui sont assemblés en respectant des règles précises permettant d’écrire, de lire et d’énoncer les **nombres**. -​Une base, dans un système de numération positionnel, est le nombre de symboles (de chiffres) qui sont utilisés pour représenter les nombres. +Dans un système de numération positionnel, ​une **base** est le nombre de symboles (de chiffres) qui sont utilisés pour représenter les nombres. -En base `2` (la numération binaire), on utilise `2` chiffres, c'est-à-dire le zéro `0` et le un `1`. +En base `2` (la numération binaire), on utilise `2` chiffres: -En base `10` (la numération décimale), on utilise `10` chiffres, soit de `0` à `9`. +- 0, 1. -En base `16` (la numération hexadécimale), on utilise `16` chiffres, soit de `0` à `F` (A,B,C,D,E,F étant des chiffres). +En base `8` (la numération octale), on utilise `8` chiffres: + +- 0, 1, 2, 3, 4, 5, 6, 7. + +En base `10` (la numération décimale), on utilise `10` chiffres: + +- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. + +En base `16` (la numération hexadécimale), on utilise `16` chiffres: + +- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (A,B,C,D,E,F étant dans ce cas considérés comme des chiffres). --- ## Support de cours et exercices 1. [Algo 01 - Numeration - 1.0.2 MD.pdf](https://devoldere.net/ressources/algo/Algo%2001%20-%20Numeration%20-%201.0.2%20MD.pdf){:class="ico pdf" target="_blank"} - diff --git a/docs/tp/algorithmes/introduction/02-algebre-boole.md b/docs/tp/algorithmes/introduction/02-algebre-boole.md index 4533999..3f58d3d 100644 --- a/docs/tp/algorithmes/introduction/02-algebre-boole.md +++ b/docs/tp/algorithmes/introduction/02-algebre-boole.md @@ -5,13 +5,26 @@ order: 2 --- -L'algèbre de Boole, ou calcul booléen, est la partie des mathématiques qui s'intéresse aux opérations et aux fonctions sur les variables logiques. +L'algèbre de Boole, ou calcul booléen, est la partie des mathématiques qui s'intéresse aux opérations et aux fonctions sur les variables logiques. Plus précisément, l'algèbre de Boole permet d'utiliser des techniques algébriques pour traiter les expressions logiques dont le résultat peut être "**vrai**" ou "**faux**". L'algèbre de Boole permet de modéliser des raisonnements logiques, en exprimant un « état » en fonction de conditions, par exemple : -- La porte est ouverte -- La porte est fermée -- La voiture roule et les phares sont allumés -- La voiture roule et les phares ne sont pas allumés + +- **La porte est-elle ouverte ?** + - Si la porte est ouverte, le résultat est **vrai**. + - Si la porte est fermée, le résultat est **faux**. +- **La porte est-elle fermée ?** + - Si la porte est fermée, le résultat est **vrai**. + - Si la porte est ouverte, le résultat est **faux**. +- **La voiture roule-t-elle ET les phares sont-ils allumés ?** + - Si la voiture roule et que les phares sont allumés, le résultat est **vrai**. + - Si la voiture roule et que les phares sont éteints, le résultat est **faux**. + - Si la voiture ne roule pas et que les phares sont allumés, le résultat est **faux**. + - Si la voiture ne roule pas et que les phares sont éteints, le résultat est **faux**. +- **La voiture roule-t-elle OU les phares sont-ils allumés ?** + - Si la voiture roule et que les phares sont allumés, le résultat est **vrai**. + - Si la voiture roule et que les phares sont éteints, le résultat est **vrai**. + - Si la voiture ne roule pas et que les phares sont allumés, le résultat est **vrai**. + - Si la voiture ne roule pas et que les phares sont éteints, le résultat est **faux**. ## Support de cours et exercices diff --git a/docs/tp/algorithmes/introduction/03-algorithmes-conception.md b/docs/tp/algorithmes/introduction/03-algorithmes-conception.md index e22da8b..e56721f 100644 --- a/docs/tp/algorithmes/introduction/03-algorithmes-conception.md +++ b/docs/tp/algorithmes/introduction/03-algorithmes-conception.md @@ -9,7 +9,29 @@ L'objectif d'un programme est généralement : 1. Effectuer un traitement (calculs, chargement de fichiers ou de données…). 2. Afficher le résultat du traitement dans le flux de sortie. -Les algorithmes sont à la base de tout programme. Un bon développeur est avant tout un bon algorithmicien. +Les algorithmes sont à la base de tout programme. *Un bon développeur est avant tout un bon algorithmicien*. + +**Un algorithme est une méthode permettant de résoudre un problème de manière systématique.** + +Les algorithmes ne sont pas spécifiques à l'informatique. + +**Les 3 exemples ci-dessous sont des algorithmes:** +- La méthode consistant à poser une multiplication pour calculer le produit de 2 nombres. +- Les instructions données par un GPS pour atteindre une destination. +- Une recette de cuisine pour réaliser une tarte aux fraises. + +Ce qui distingue un algorithme d'une autre méthode de résolution de problèmes, c'est le caractère **systématique** de son exécution. En d'autres termes, un algorithme ne doit demander aucune initiative à celui ou celle qui l'exécute. Par exemple, un ordinateur n'étant capable d'aucune initiative, il ne peut exécuter une tâche que si on lui fournit un algorithme pour le faire. **Tout programme informatique a donc, par définition, la structure d'un algorithme**. + +Le caractère systématique ne signifie pas que l'exécutant de l'algorithme ne doit rien savoir faire a priori. Au contraire, tout algorithme présuppose un certain nombre de capacités. + +**Dans nos 3 exemples cités précédemment:** +- Poser une addition suppose de connaître ses tables d'additions. +- Suivre un GPS suppose de savoir conduire, de connaître sa droite et sa gauche, ainsi que le code de la route. +- Suivre une recette de cuisine suppose de savoir peser, couper, verser les ingrédients. + +Les algorithmes pour l'informatique doivent donc s'appuyer sur ce que "sait faire" l'ordinateur. + +En pratique, ces capacités dépendent du **langage** et de l'**environnement de programmation** utilisés. ## Supports de cours diff --git a/docs/tp/poo/index.md b/docs/tp/poo/index.md index d97379a..a41e29d 100644 --- a/docs/tp/poo/index.md +++ b/docs/tp/poo/index.md @@ -5,7 +5,39 @@ id: 20 level: 4 --- -Exercices Objet/UML. +Programmation Orientée Objet (POO), Vous en avez peut-être déjà entendu parler. En quoi cela consiste-t-il ? + +## Qu'est ce qu'un objet ? + +Un **objet** en programmation n’est pas si différent de ce qu’on considère comme objet dans la vie de tous les jours. Si je vous dis "*Donnez-moi un objet*", vous pourriez m’apporter un *stylo*, un *écran de télévision*, ou encore un *livre*. + +**Prenons l’exemple du stylo:** + +Si je vous dis "*décrivez-moi ce qu’est un stylo*", vous pourriez répondre: + - "*Un stylo est un objet, qui a de l’encre, et qui permet d’écrire*". +Si je vous dis "*décrivez-moi ce qu’est un stylo précisément*", vous pourriez répondre: + - "*Un stylo est un objet, avec un niveau d’encre compris entre 0% et 100%, et qui a une fonctionnalité : écrire*". +Si je vous dis "*décrivez-moi ce qu’est un stylo comme un développeur*", vous me répondrez alors: + - "*Un stylo est un objet, qui a une variable de type "Integer" appelé "niveauEncre", et qui a une fonction écrire*". + +Et voilà, vous avez compris ce qu’est un objet 🙂. + +En informatique, un objet est un conteneur symbolique et autonome qui contient des informations et des mécanismes concernant un concept qui peut-être réél (un stylo, une voiture...) ou virtuel (et/ou imaginaire) (un compte bancaire, un personnage dans un jeu vidéo...). + +Un objet en programmation est donc la représentation d’une structure de données ayant un comportement bien défini. Un objet possède ses propres variables et ses propres fonctions. + +## Qu’est-ce qu’une classe ? + +En programmation orientée objet, les classes sont des modèles permettant de créer des objets. + +- Si je vous dis "faites un gâteau", vous allez vous reporter à une recette (au chocolat ? aux fruits ?). +- Si je vous dis "fabriquez une voiture", vous allez vous reporter à un modèle (peugeot 206 ? Clio ?). +- Si je vous dis "modélisez un chien", vous allez vous reporter à une race (labrador ? berger allemand ?). + +Vous avez compris, dans la vie réelle, pour fabriquer quelque chose, vous avez besoin de sa définition. Comment fabriquer un stylo si l’on ne sait pas ce que c’est. + +Une **classe** est une définition, un modèle, une recette pour fabriquer quelque chose : les fameux **objets** ! + ## Ressources From 1cdaaf7038ccf4ecc19712edd150250799d85d45 Mon Sep 17 00:00:00 2001 From: MDevoldere <10086604+mdevoldere@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:13:08 +0100 Subject: [PATCH 3/4] fix basket class diagram location --- docs/tp/poo/modelisation/10-panier-fruits.md | 2 +- .../img/basket-class-diagram.png | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/tp/poo/{exercices => modelisation}/img/basket-class-diagram.png (100%) diff --git a/docs/tp/poo/modelisation/10-panier-fruits.md b/docs/tp/poo/modelisation/10-panier-fruits.md index e3ad211..db806f4 100644 --- a/docs/tp/poo/modelisation/10-panier-fruits.md +++ b/docs/tp/poo/modelisation/10-panier-fruits.md @@ -12,7 +12,7 @@ Codez le diagramme de classes suivant dans le langage indiqué par vos formateur --- -![diagram](img/basket-class-diagram.png) +![diagram](./img/basket-class-diagram.png) --- diff --git a/docs/tp/poo/exercices/img/basket-class-diagram.png b/docs/tp/poo/modelisation/img/basket-class-diagram.png similarity index 100% rename from docs/tp/poo/exercices/img/basket-class-diagram.png rename to docs/tp/poo/modelisation/img/basket-class-diagram.png From 1840be859cf0b40ea31b0d2b168fc3e43694ed5d Mon Sep 17 00:00:00 2001 From: MDevoldere <10086604+mdevoldere@users.noreply.github.com> Date: Wed, 11 Dec 2024 09:30:20 +0100 Subject: [PATCH 4/4] update flipquiz CDC --- docs/tp/projets/303-flipquiz/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tp/projets/303-flipquiz/index.md b/docs/tp/projets/303-flipquiz/index.md index 37c7891..d88b06e 100644 --- a/docs/tp/projets/303-flipquiz/index.md +++ b/docs/tp/projets/303-flipquiz/index.md @@ -9,9 +9,9 @@ Un FlipQuiz met en concurrence plusieurs équipes qui s’affrontent au tour par ## Contexte de l'application -L’interface du jeu présente 1 à 6 thèmes différents et chaque thème affiché propose 5 questions de niveaux différents (du plus facile au plus compliqué). +L’interface du jeu présente 1 à 6 catégories différentes et chaque catégorie affichée propose 5 questions de niveaux différents (du plus facile au plus compliqué). -Au début d’une partie de jeu, une équipe est sélectionnée au hasard pour commencer le 1er tour . A chaque tour, l’équipe courante sélectionne un thème et un niveau. Une question correspondante est alors affichée et un compte à rebours se déclenche. L’équipe peut se concerter et doit proposer une réponse dans un délai maximum de 3 minutes. Si la réponse donnée est correcte, les points correspondant sont attribués à l’équipe. Dans le cas contraire, aucun point n’est attribué. Une équipe ne peut proposer qu’une seule réponse par question. +Au début d’une partie de jeu, une équipe est sélectionnée au hasard pour commencer le 1er tour . A chaque tour, l’équipe courante sélectionne une catégorie et un niveau. La question correspondante est alors affichée et un compte à rebours se déclenche. L’équipe peut se concerter et doit proposer une réponse dans un délai maximum de 3 minutes. Si la réponse donnée est correcte, les points correspondant sont attribués à l’équipe. Dans le cas contraire, aucun point n’est attribué. Une équipe ne peut proposer qu’une seule réponse par question. Le jeu est dirigé par un Maître de jeu qui est responsable de l’interaction avec le logiciel. @@ -34,7 +34,7 @@ L'application sera utilisable au travers d'un navigateur web. ## Règles de gestion -Un Quiz est caractérisé par un thème et une description. Chaque Quiz est relié à 6 catégories au maximum. Une catégorie ne peut être reliée qu’à un seul quiz. +Un Quiz est caractérisé par un titre et une description. Chaque Quiz est relié à 6 catégories au maximum. Une catégorie ne peut être reliée qu’à un seul quiz. Une question est caractérisée par un contenu (la question), la réponse et un niveau (de 1 à 5). Plus le niveau de la question est élevé, plus la question est difficile et rapporte de points. @@ -136,6 +136,6 @@ Une équipe est caractérisée par un nom et le nombre de points accumulés lors Une partie de quiz connaît les identifiants les 2 équipes et est composé de plusieurs tours de jeu. -Chaque tour de jeu relie une équipe, un quiz et une question liée au thème sélectionné par l’équipe. On doit connaître, pour chaque tour, le nombre de points gagnés par l’équipe (0 si mauvaise réponse ou absence de réponse). +Chaque tour de jeu relie une équipe, un quiz et une question liée à la catégorie sélectionnée par l’équipe. On doit connaître, pour chaque tour, le nombre de points gagnés par l’équipe (0 si mauvaise réponse ou absence de réponse). ---