Formation au Ministère de l’Agriculture

Exercices pour les fondamentaux de la programmation

SSP/DEMESIS

16/06/2025

1 Exercice 1

Ecrire un algorithme Parcours-1

Finalité : permettre à la flèche d’atteindre la sortie du labyrinthe

Instructions disponibles :
- Avancer d’une case
- Tourner à droite (= rotation de 90° vers la droite)

2 Exercice 1 - correction

ALGORITHME Parcours-1

DEBUT
Tourner à droite
Tourner à droite
Avancer d’une case
Tourner à droite
Tourner à droite
Tourner à droite
Avancer d’une case
Avancer d’une case
FIN

3 Exercice 2

Ecrire un algorithme Parcours-2

Finalité : permettre à la flèche d’atteindre la sortie du labyrinthe

Instructions disponibles :
- Avancer d’une case
- Avancer de 2 cases
- Tourner à gauche (= rotation de 90° vers la gauche)
- Tourner à droite (= rotation de 90° vers la droite)
- Faire un demi-tour (= rotation de 180°)

4 Exercice 2 - correction

ALGORITHME Parcours-2

DEBUT
Faire un demi-tour
Avancer d’une case
Tourner à gauche
Avancer de 2 cases
FIN

Cette solution correspond à celle optimisée par rapport au nombre d’instructions.
Plusieurs variantes sont possibles y compris le bloc d’instructions de l’algorithme Parcours-1.

5 Exercice 3

Trouver l’erreur et corriger Parcours-3

ALGORITHME Parcours-3

DEBUT
Avancer d’une case
Tourner à gauche
Avancer d’une case
Tourner à droite
Tourner à droite
Avancer d’une case
FIN

6 Exercice 3 - correction

ALGORITHME Parcours-3

DEBUT
Avancer d’une case
Tourner à gauche
Avancer d’une case
Tourner à droite
Avancer d’une case
Tourner à droite
Avancer d’une case
FIN

7 Exercice 4

Compléter l’algorithme Parcours-4

Finalités :
- Permettre à la flèche d’atteindre la sortie du labyrinthe
- Connaître le nombre de points rouges et de points verts rencontrés sur le parcours

Noms des variables choisi pour l’exercice : NbRouges et NbVerts

ALGORITHME Parcours-4

DEBUT
Avancer d’une case
Tourner à gauche
Avancer d’une case
Tourner à droite
Avancer d’une case
Tourner à droite
Avancer d’une case
FIN

8 Exercice 4 - correction

ALGORITHME Parcours-4

VARIABLES
NbRouges : ENTIER
NbVerts : ENTIER

DEBUT
NbRouges <- 0
NbVerts <- 0
Avancer d’une case
NbRouges <- NbRouges + 2
NbVerts <- NbVerts + 1
Tourner à gauche
Avancer d’une case
NbVerts <- NbVerts + 1
Tourner à droite

SUITE
Avancer d’une case
NbVerts <- NbVerts + 2
NbRouges <- NbRouges + 1
Tourner à droite
Avancer d’une case
FIN

Valeurs finales :
NbRouges = 3
NbVerts = 4

9 Exercice 5

Ecrire l’algorithme Parcours-5

Finalités :
- Permettre à la flèche d’atteindre la sortie du labyrinthe
- Connaître le nombre de points verts rencontrés sur le parcours
- Connaître le mot constitué par les lettres rencontrées
- Connaître l’état de la météo à la sortie du labyrinthe

Noms des variables choisis pour l’exercice : NbVerts, MonMot, BeauTemps

Signale un changement de météo (beau temps / mauvais temps)

Temps initial : beau temps

Valeurs finales :
NbRouges = 3
NbVerts = 4

10 Exercice 5 - correction

ALGORITHME Parcours-5

VARIABLES
NbVerts : ENTIER
BeauTemps : BOOLEEN
MonMot : CHAINE DE CARACTERES

DEBUT
NbVerts <- 0
MonMot <- « »
BeauTemps <- VRAI
Avancer d’une case
BeauTemps <- FAUX
Tourner à gauche
Avancer d’une case
MonMot <- MonMot + ‘t’

SUITE
Avancer d’une case
MonMot <- MonMot + ‘o’
NbVerts <- NbVerts + 1
Avancer d’une case
BeauTemps <- VRAI
Tourner à gauche
Avancer d’une case
Avancer d’une case
NbVerts <- NbVerts + 2
Tourner à gauche

SUITE
Avancer d’une case BeauTemps <- VRAI
Tourner à gauche
Avancer d’une case
MonMot <- MonMot + p’
Tourner à droite
Avancer d’une case


Valeurs finales :
NbRouges = 3
NbVerts = 4

11 Exercice 6

Eligibilité des exploitations à la PAC

En 2023, de façon très simplifiée, des primes PAC sont attribuées à un exploitant qui cumule les conditions :

  • Être un agriculteur actif (ne pas avoir fait valoir ses droits à la retraite)
  • Respecter au moins une des 3 voies d’accès à un écorégime ou avoir une exploitation ayant une superficie de moins de 10ha (surface agricole utile)
  • Disposer de 4% minimum des terres arables dédié à des infrastructures agro-écologiques ou jachères

Ces exploitants sont-ils éligibles à des primes PAC ?

12 Exercice 6 - correction (1/2)

L’énoncé du problème fait apparaître 3 sous-conditions unitaires :
- A : être un agriculteur actif (ne pas avoir fait valoir ses droits à la retraite)
- B : avoir une exploitation ayant une superficie de moins de 10ha (surface agricole utile)
- C : disposer de 4% minimum des terres arables dédié à des infrastructures agro-écologiques ou jachères

La condition combinée « Respecter au moins une des 3 voies d’accès à un écorégime » peuvent être éclatées en 3 sous-conditions unitaires :
- D: Respecter la voie 1
- E : Respecter la voie 2
- F : Respecter la voie 3

13 Exercice 6 - correction (2/2)

14 Exercice 7

Ecrire l’algorithme « TransfoCodeMois »

Finalités :
- Demander la saisie d’un chiffre entre 3 et 6 à un utilisateur
- Récupérer la valeur saisie par l’utilisateur
- Afficher le libellé du mois correspondant au nombre saisi

Instructions disponibles :
- Afficher (= écrire à l’écran)
- MettreEnMemoire (= récupérer la valeur saisie par l’utilisateur et initialiser la valeur de )

Nom de la variable choisi pour l’exercice : CodeMois

Il n’est pas nécessaire de prévoir le cas où l’utilisateur saisirait une valeur qui ne serait pas un entier (caractère, nombre décimal, pas de valeur …) .

15 Exercice 7 - correction


ALGORITHME AfficheLibelleMois

VARIABLES
CodeMois : ENTIER

DEBUT
Afficher « Saisissez un chiffre compris entre 3 et 6 »
MettreEnMemoire CodeMois

SELON CodeMois FAIRE  
    CAS 3 : Afficher « Mars »  
    CAS 4 : Afficher « Avril »  
    CAS 5 : Afficher « Mai »  
    CAS 6 : Afficher « Juin »  
    AUTREMENT : Afficher « Consigne non respectée »  
FIN SELON  

FIN

16 Exercice 8

Ecrire l’algorithme « AfficheLibelleSaison »

Finalités :
- Demander la saisie d’un nombre entre 1 et 12 à un utilisateur
- Récupérer la valeur saisie par l’utilisateur
- Afficher le libellé de la saison correspondant au nombre saisi

Instructions disponibles :
- Afficher (= écrire à l’écran)
- MettreEnMemoire (= récupérer la valeur saisie par l’utilisateur et initialiser la valeur de )

Nom de la variable choisi pour l’exercice : CodeMois

Il n’est pas nécessaire de prévoir le cas où l’utilisateur saisirait une valeur qui ne serait pas un entier (caractère, nombre décimal, pas de valeur …) .

17 Exercice 8 - correction

18 Exercice 9 - objectif

Finalité :
- Construire ce tableau à partir des données mises à disposition


Ce tableau contient la superficie en hectares ensemencée pour chaque saison dans les régions Bretagne, Centre Val de Loire et Occitanie. Les régions et les saisons sont classées par ordre alphabétique. Les semis pouvant être réalisés à n’importe quel moment de l’année sont exclus.

19 Exercice 9 - données à disposition

20 Exercice 9 - analyser les données

Etape 1 : observation des données

Analyser la structure et les valeurs des données manipulées :
- Dans les données source (données à disposition)
- Dans les données résultat

Ce tableau contient …

Pour chaque tableau de données source :
- définir l’utilité des données pour la constitution du tableau de résultat
- définir l’utilité de chaque colonne pour la constitution du tableau de résultat
- si des filtres sur les valeurs sont nécessaires, définir les critères de sélection

Répertorier les liens entre les données source nécessaires à la constitution du tableau résultat

Les valeurs de la colonne … du tableau … correspondent aux valeurs de la colonne … du tableau …

21 Exercice 9 - préparer les données unitaires (1/2)

Etape 2 : préparation des données unitaires utiles à la construction du résultat

A partir du tableau des données ASSOLEMENT :
- Restreindre les données aux colonnes utiles pour le résultat
=> Sélection de colonnes/variables

  • Ajouter les données manquantes à partir des autres tableaux
    => Appariement / Enrichissement par jointure avec présence d’ une clé commune

  • Supprimer les données non pertinentes pour le résultat
    => Sélection de colonnes/variables
    => Filtre sur les données

22 Exercice 9 - préparer les données unitaires (2/2)

Les jointures à partir du code département entraînent l’ajout des données des régions (anciennes et nouvelles). Les données liées à l’ancienne organisation administrative ont été supprimées.

23 Exercice 9 - agrégation des données

Etape 3 : agréger les données

  • Choisir les colonnes de regroupement pour les calculs
    => Sélection des colonnes/variables de regroupement

  • Effectuer le calcul nécessaire pour le résultat (cumul des surfaces)
    => Agrégation des données (somme)

Ce tableau contient les cumuls de surface par région (nouvelle organisation administrative) et saison de semis pour toutes les parcelles référencées dans le tableau « Assolement ».
=> Aucune restriction n’a été faite par région ou saison de semis.
=> Aucun classement des données par ordre alphabétique n’a été fait.
=> Tous les croisements région/saison de semis attendus dans le tableau des résultats ne sont pas référencés

24 Exercice 9 - préparation du tableau de résultat

Etape 4 : préparer les croisements attendus pour le tableau résultat

  • Sélection des libellés de région attendus à partir des données « REGION »
    • Filtre sur les données
    • Sélection des colonnes/variables
    • Renommage de colonne
    • Tri des données
  • Sélection des saisons de semis attendues à partir des données « CULTURE »
    • Sélection des colonnes/variables
    • Suppression des doublons
    • Filtre et tri sur les données
  • Génération de toutes les combinaisons possibles par produit cartésien
    • Appariement / Enrichissement par jointure avec absence de clé

3 valeurs différentes pour les libellés de régions
4 valeurs différentes pour les saisons de semis
=> 12 croisements possibles (3*4)

25 Exercice 9 - finalisation du tabeau de résultat

Etape 5 : remplissage du tableau des résultats

  • Enrichir le tableau des croisements région/saison de semis avec le cumul des surfaces calculé à partir des données « Assolement »
    => Appariement / Enrichissement par jointure avec présence d’une clé commune

  • Remplacement des valeurs manquantes par des 0 pour les cumuls de surface
    => Modification des valeurs d’une variable

26 Exercice 10 - Objectif

Finalité :
- Construire ce tableau à partir du tableau résultat de l’exercice précédent

Ce tableau contient les mêmes informations que le tableau de l’exercice précédent mais les saisons de semis sont présentées en colonnes.

27 Exercice 10 - Corrigé

Passer les modalités de la variable « SAISON_SEMIS » en colonnes et affecter à ces colonnes les valeurs de la variable « CUMUL_SURFACE »

Transposer une table