L’objectif de cette section est de savoir comment, à partir de l’énoncé d’un problème, parvenir à l’écriture de code.

Les 7 étapes

  1. Dérouler un exemple à la main

  2. Écrire ce que vous avez fait

  3. Trouver des modèles

  4. Vérifier vos modèles à la main

  5. Traduire en code

  6. Vérifier avec des cas de test

  7. Débugger les cas erronés

Application au calcul du périmètre

Problème: pour une forme, calculer son périmètre.

définition d'un périmètre

Etape 1 : Dérouler un exemple

Etape 2 : Ecrire ce que vous avez fait

  1. Trouver la distance du 1ier point au 2ième point (c’était 4 )

  2. Trouver la distance du 2ième point au 3ième point (c’était 5 )

  3. Ajouter 4+5=9

  4. Trouver la distance du 3ième point au 4ième point (c’était 5 )

  5. Ajouter 9+5=14

  6. Trouver la distance du 4ième point au 1ier point (c’était 2 )

  7. Ajouter 14+2=16

  8. 16 était la réponse

Etape 3 : Généraliser

Première Généralisation

  1. Trouver la distance du 1ier point au 2ième point (c’était 4 )

  2. Ajouter 0+4=4

  3. Trouver la distance du 2ième point au 3ième point (c’était 5 )

  4. Ajouter 4+5=9

  5. Trouver la distance du 3ième point au 4ième point (c’était 5 )

  6. Ajouter 9+5=14

  7. Trouver la distance du 4ième point au 1ier point (c’était 2 )

  8. Ajouter 14+2=16

  9. 16 était la réponse

DEuxième Généralisation

  1. Trouver la distance du 1ier point au 2ième point, l’appeler currentDist

  2. Ajouter 0+currentDist=4

  3. Trouver la distance du 2ième point au 3ième point, l’appeler currentDist

  4. totalPerim = totalPerim + currentDist

  5. Trouver la distance du 3ième point au 4ième point, l’appeler currentDist

  6. totalPerim = totalPerim + currentDist

  7. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  8. totalPerim = totalPerim + currentDist

  9. totalPerim est la réponse

Troisième généralisation

  1. initialiser totalPerim = 0

  2. Trouver la distance du 1ier point au 2ième point, l’appeler currentDist

  3. totalPerim = totalPerim + currentDist

  4. Trouver la distance du 2ième point au 3ième point, l’appeler currentDist

  5. totalPerim = totalPerim + currentDist

  6. Trouver la distance du 3ième point au 4ième point, l’appeler currentDist

  7. totalPerim = totalPerim + currentDist

  8. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  9. totalPerim = totalPerim + currentDist

  10. totalPerim est la réponse

Quatrième généralisation

  1. initialiser totalPerim = 0

  2. Trouver la distance du 1ier point au 2ième point, l’appeler currentDist

  3. totalPerim = totalPerim + currentDist

  4. Trouver la distance du 2ième point au 3ième point, l’appeler currentDist

  5. totalPerim = totalPerim + currentDist

  6. Trouver la distance du 3ième point au 4ième point, l’appeler currentDist

  7. totalPerim = totalPerim + currentDist

  8. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  9. totalPerim = totalPerim + currentDist

  10. totalPerim est la réponse

Cinquième généralisation

  1. initialiser totalPerim = 0

  2. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  3. totalPerim = totalPerim + currentDist

  4. Trouver la distance du 1ier point au 2ième point, l’appeler currentDist

  5. totalPerim = totalPerim + currentDist

  6. Trouver la distance du 2ième point au 3ième point, l’appeler currentDist

  7. totalPerim = totalPerim + currentDist

  8. Trouver la distance du 3ième point au 4ième point, l’appeler currentDist

  9. totalPerim = totalPerim + currentDist

  10. totalPerim est la réponse

Sixième généralisation

  1. initialiser totalPerim = 0

  2. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  3. totalPerim = totalPerim + currentDist

  4. Mettre à jour prevPoint = 1ier point

  5. Trouver la distance de PrevPoint au 2ième point, l’appeler currentDist

  6. totalPerim = totalPerim + currentDist

  7. Mettre à jour prevPoint = 2iem point

  8. Trouver la distance de PrevPoint au 3ième point, l’appeler currentDist

  9. totalPerim = totalPerim + currentDist

  10. Mettre à jour prevPoint = 3ieme point

  11. Trouver la distance de PrevPoint au 4ième point, l’appeler currentDist

  12. totalPerim = totalPerim + currentDist

  13. totalPerim est la réponse

7e généralisation

  1. initialiser totalPerim = 0

  2. Trouver la distance du 4ième point au 1ier point, l’appeler currentDist

  3. totalPerim = totalPerim + currentDist

  4. Mettre à jour prevPoint = 1ier point

  5. Trouver la distance de PrevPoint au 2ième point, l’appeler currentDist

  6. totalPerim = totalPerim + currentDist

  7. Mettre à jour prevPoint = 2iem point

  8. Trouver la distance de PrevPoint au 3ième point, l’appeler currentDist

  9. totalPerim = totalPerim + currentDist

  10. Mettre à jour prevPoint = 3ieme point

  11. Trouver la distance de PrevPoint au 4ième point, l’appeler currentDist

  12. totalPerim = totalPerim + currentDist

  13. Mettre à jour prevPoint = 4ieme point

  14. totalPerim est la réponse

8e généralisation

  1. initialiser totalPerim = 0

  2. Initialiser prevPoint = dernier point

  3. Trouver la distance du prevPoint point au 1ier point, l’appeler currentDist

  4. totalPerim = totalPerim + currentDist

  5. Mettre à jour prevPoint = 1ier point

  6. Trouver la distance de PrevPoint au 2ième point, l’appeler currentDist

  7. totalPerim = totalPerim + currentDist

  8. Mettre à jour prevPoint = 2iem point

  9. Trouver la distance de PrevPoint au 3ième point, l’appeler currentDist

  10. totalPerim = totalPerim + currentDist

  11. Mettre à jour prevPoint = 3ieme point

  12. Trouver la distance de PrevPoint au 4ième point, l’appeler currentDist

  13. totalPerim = totalPerim + currentDist

  14. Mettre à jour prevPoint = 4ieme point

  15. totalPerim est la réponse

9e généralisation

  • initialiser totalPerim = 0

  • Initialiser prevPoint = dernier point

  • Pour chaque point currPt dans la forme

    • Trouver la distance de PrevPoint au currPt point, l’appeler currentDist

    • totalPerim = totalPerim + currentDist

    • Mettre à jour prevPoint = currPt

  • totalPerim est la réponse

Tester sur une autre instance

Un autre périmère

TD Périmètre