Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Pti 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Lycée Classique et Moderne Année scolaire :

d’Ebolowa 2024/2025
Département d’Informatique Durée : 3h coeff : 3

Classe : Première Ti

ÉVALUATION SÉQUENCE 2 : ALGORITHME ET


PROGRAMMATION
Partie 1 : Algorithmique (10 Pts)
Exercice 1 : Écrivez un Algorithme qui effectue les étapes suivantes (6 points)

1. Lit un entier positif N . (0.5 point)

2. Vérifie si N est un palindrome (un nombre qui se lit de la même manière de gauche à
droite et de droite à gauche, par exemple : 121, 3443). (1 point)

• Si N n’est pas un palindrome, le programme inverse les chiffres de N pour former


un nouveau nombre M . (1 point)
• Ajoute N et M pour obtenir un nouveau nombre S. (1 point)
• Répète le processus avec S jusqu’à ce que le résultat soit un palindrome ou que le
nombre d’itérations atteigne 10. (1 point)

3. Affiche :

• Le palindrome obtenu. (0.5 point)


• Le nombre d’itérations nécessaires pour atteindre le palindrome. (0.5 point)
• Un message indiquant si un palindrome n’a pas pu être trouvé après 10 itérations.
(0.5 point)

Exemple :
Entrée : N = 87
Sortie : Palindrome trouvé : 4884 Nombre d’itérations : 4
Explications :

1. N = 87, inverse : M = 78, somme : S = 87 + 78 = 165

2. S = 165, inverse : M = 561, somme : S = 165 + 561 = 726

3. S = 726, inverse : M = 627, somme : S = 726 + 627 = 1353

4. S = 1353, inverse : M = 3531, somme : S = 1353 + 3531 = 4884 (palindrome trouvé).

1
Exercice 2 : Calcul des puissances et de leur somme (4 points)

On considère un entier naturel N strictement positif et un entier P représentant une


puissance. L’objectif est d’écrire un Algorithme permettant de calculer successivement les
puissances de N 1 , N 2 , N 3 , . . . , N P ainsi que leur somme.
Respecter les contraintes suivantes :

• Interdiction d’utiliser des tableaux ou des enregistrements.

• Le calcul des puissances doit être réalisé à l’aide de boucles.

• Les fonctions, procédures et fonctions récursives doivent être utilisées pour organiser le
programme.

Travail demandé :

1. Écrire une fonction au nom calculer puissance qui calcule N k (sans utiliser l’opérateur
de puissance). (0.5 point)

2. Écrire une procédure au nom afficher puissance qui affiche les puissances N 1 , N 2 , . . . , N P .
(0.5 point)

3. Écrire une fonction récursive au nom somme puissances qui calcule la somme des puis-
sances N 1 + N 2 + · · · + N P . (0.5 point)

4. Exécuter l’algorithme avec les valeurs N = 3 et P = 4, puis tracer les étapes de calcul.
(0.5 point)

5. Donner le nombre total d’instructions exécutées dans l’algorithme en fonction des boucles
et de la récursion. (0.5 point)

6. Présenter l’algorithme principal. (0.5 point)

7. Proposer un algorigramme qui représente l’algorithme principal. (1 point)

Partie 2 : Gestion des tableaux et enregistrements (10


Pts)
Exercice 1 : Gestion d’une usine (5 points)

Une usine reçoit des commandes de clients pour différents types de produits. Chaque
commande contient un code produit, une quantité commandée, et une date de livraison
souhaitée. Les produits sont stockés avec un code unique, un nom, un prix unitaire et une
quantité en stock. Le système doit permettre de suivre les commandes, mettre à jour le stock
des produits et vérifier si la commande peut être satisfaite en fonction des stocks disponibles.
Vous devez concevoir un algorithme qui accomplira les tâches suivantes :

1. Saisir un certain nombre de produits, leur code, nom, prix unitaire et quantité en stock.
Les produits doivent être stockés dans un tableau d’enregistrements. (1 point)

2
2. Saisir un certain nombre de commandes, chacune contenant un code produit, une quantité
commandée, et une date de livraison souhaitée. Pour chaque commande, vérifier si la
quantité demandée est disponible en stock. (1 point)

• Si oui, mettre à jour la quantité en stock et calculer le prix total de l’achat.


• Sinon, afficher un message indiquant que l’achat est impossible.

3. Afficher la liste des produits restants en stock, triée par code produit (sans utiliser de tri
de tableau). Afficher également le total des ventes réalisées. (2 points)

4. Pour chaque saisie (produits et commandes), vous devez vérifier la validité des données
saisies (1 point)

Exercice 2 : Gestion d’un établissement (5 points)


Un établissement scolaire souhaite mettre en place un système de gestion des élèves. Chaque
élève a un identifiant, un nom, une liste de notes (entre 0 et 20 pour chaque matière), et une
moyenne générale qui est calculée automatiquement.

1. Déclarez un enregistrement Élève contenant les informations suivantes (1 point) :

• id : un identifiant unique de type entier.


• nom : le nom de l’élève de type chaı̂ne de caractères.
• notes : un tableau de 5 notes (float) représentant les notes dans 5 matières.
• moyenne : une moyenne calculée à partir des 5 notes de type float.

2. Écrivez une fonction au nom de calculerMoyenne() qui prend un élève en argument et


renvoie sa moyenne. (1 point)

3. Écrivez une fonction au nom rechercherEleve() qui permet de rechercher un élève par
son identifiant dans un tableau d’élève. La fonction renvoie l’indice de l’élève dans le
tableau, ou -1 si l’élève n’est pas trouvé. (1 point)

4. Écrivez une fonction au nom afficherEtudiant(Élève e) qui affiche le nom, l’identifiant,


les notes, et la moyenne de l’étudiant. (1 point)

5. Dans le programme principal, déclarez un tableau de 3 élèves. Initialisez les élèves avec
des valeurs pour leurs identifiants, noms et notes. Utilisez les fonctions définies pour (1
point) :

• Calculer et afficher la moyenne de chaque élève.


• Rechercher un élève par son identifiant et afficher ses informations.

Consignes
• Vous devez utiliser des structures (enregistrements) pour gérer les données des élèves.

• Vous devez utiliser des tableaux pour stocker les élèves.

• L’algorithme doit être conçu de manière efficace.

• Soignez la présentation de votre code et l’indentation.

Vous aimerez peut-être aussi