Exercices pour les fondamentaux de la programmation
16/06/2025
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)
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
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°)
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.
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
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
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
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
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
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
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 :
Ces exploitants sont-ils éligibles à des primes PAC ?
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
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
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 …) .
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
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
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 …) .
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.
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 …
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
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.
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
Etape 4 : préparer les croisements attendus pour le tableau résultat
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)
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
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.
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