EXAMEN LANGAGE C ( PROGRAMMATION C ) TEST  19 /XX année acaDéMIQUE 2024 - 2025

EXAMEN + CORRIGE EN LANGAGE C

EXERCICE 1 : Exécution de Code 02 pts

What will each of the following programs display?

Programe a Program b

 

#include <stdio.h>
#include  
int main() { 
float x = 1.5, y = -2.3;
int r = (int)(ceil(x) + floor(y)) + (int)(x / y) * (int)(y);
printf("Valeur de result : %d\n", r); 
return 0; }       

            
#include <stdio.h>
int main() { 
int a = 10, b = 3; 
int e = a / b; 
int m = a % b; 
float d = (float)a / b; 
printf("--- %d / %d = %d\n", a, b, e); 
printf("--- %d %% %d = %d", a, b, m); 
printf("--- %d / %d = %.2f\n", a, b, d); 
return 0; 

}

            

EXERCICE 2 : 4 pts :

Alors champion connais tu le nombre de Kaprekar ? c’est un nombre entier tel que, si vous prenez son carré, puis séparez ce carré en deux parties, la somme de ces deux parties donne le nombre original.

Exemple :

  • Le nombre 9 est un nombre de Kaprekar, car 92 = 81 et en séparant les chiffres de 81, on obtient 8 et 1, et 8 + 1 = 9.
  • Le nombre 45 est également un nombre de Kaprekar, car 452 =2025 et en séparant 2025 en 20 et 25, on obtient 20+25=45.

Écrivez un programme C qui, pour un entier n donné par l'utilisateur vérifie si n est un nombre de Kaprekar. Si oui, affiche un message disant que n est un nombre de Kaprekar. Si non, affiche un message disant que n n'est pas un nombre de Kaprekar.

EXERCICE 03 : 04 PTS /  Le Club 100

Le restaurant universitaire de l’université de Dschang souhaite déterminer le nombre d’années nécessaires pour que la somme des repas servis atteigne un certain objectif de fréquentation fixé par l'administration.

Règles :

  • Le restaurant commence avec une fréquentation initiale (le nombre de repas servis au cours de la première année).
  • Chaque année, la fréquentation augmente de 5 % par rapport à l’année précédente, grâce aux améliorations du service et à l’augmentation du nombre d’étudiants.
  • L'objectif est d’atteindre ou de dépasser un nombre total de repas servis fixé par l’administration.

Exemple : Si la fréquentation initiale est de 5000 repas pour la première année, l'objectif est d'atteindre 10000 repas.

  • 1ère année : Fréquentation = 5000 repas.
  • 2ème année : Fréquentation = 5000×1.05=5250  repas.
  • 3ème année : Fréquentation = 5250×1.05=5512.5 repas.
  • On continue jusqu’à ce que la fréquentation cumulée atteigne 10000 repas.

Objectif : Écrire un programme C qui lit la fréquentation initiale et l'objectif fixé, puis détermine le nombre d’années nécessaires pour atteindre cet objectif.

PROBLEME : 10 PTS 

Problème Algorithme et Structure de Donnée : Le Queen Mary 2
Un paquebot est un navire spécialisé dans le transport de passagers en haute mer, que son but soit d'assurer une liaison (paquebots de ligne, dont les plus célèbres sont les transatlantiques) ou bien un voyage d'agrément (paquebots de croisière). Aujourd'hui, il n'existe plus que des paquebots de croisière, évoluant en particulier en Méditerranée et dans les Caraïbes, car même le dernier transatlantique, à savoir le Queen Mary 2, ne sert que dans le cadre de voyages d'agrément. Le RMS Queen Mary 2 (« QM2 ») est un paquebot transatlantique britannique de la Cunard construit en France dans les Chantiers de l'Atlantique à Saint-Nazaire et mis en service en 2004 pour assurer la ligne régulière Europe-Amérique du Nord. Il fut à sa mise en service le plus grand paquebot au monde (en longueur et en tonnage). Il est parfois surnommé « le dernier transatlantique », étant le dernier paquebot à effectuer des traversées reliant l'Europe à l'Amérique. Un paquebot est caractérisé par : Numéro d’identification (entier), Nom (chaîne de caractères), Type (transatlantique ou croisière), Longueur (réel), Poids (réel), Localisation (chaîne de caractères). Les étudiants du Groupe Genius décident de proposer une solution de gestion d'un ensemble d'informations en mémoire centrale concernant un paquebot pour permettre aux utilisateurs de pouvoir créer, consulter, supprimer et modifier un répertoire de 5 paquebots.

  1. Proposez une structure de donnée adéquate pour représenter un Paquebot.
  2. Proposez une structure de donnée adéquate pour représenter une liste de Paquebot.
  3. Proposez une fonction searchPaquebot permettant de rechercher un paquebot dans l’ensemble grâce à son numéro d’identification. int searchPaquebot(ListePaquebots liste, int idPaq);
  4. Proposez une fonction insertPaquebot permettant d’insérer un paquebot pris en paramètre dans l’ensemble. int insertPaquebot(ListePaquebots* liste, Paquebot nouveau);
  5. Proposez une fonction countPaquebot permettant de compter tous les paquebots dans l’ensemble qui ont pour nom “Queen Mary 2”. int countPaquebot(ListePaquebots liste);
  6. Proposez une fonction searchTypeLocPaquebot permettant de rechercher un paquebot de croisière évoluant en Méditerranée dans l’ensemble. Paquebot* searchTypeLocPaquebot(ListePaquebots liste);
  7. Proposez une fonction favoritePaquebot qui affiche tous les paquebots de nom “Queen Mary 2” et de taille (345,03 m). void favoritePaquebot(ListePaquebots liste);
  8. Proposez une fonction bestOnly qui supprime tous les paquebots de nom différent de “Wonder of the Seas”, de longueur 362,15 m, et de poids ≤ 236 857 GT. int bestOnly(ListePaquebots* liste);
  9. Proposez une fonction sortPaquebot permettant de trier tous les paquebots par le poids dans l’ensemble. void sortPaquebot(ListePaquebots* liste);
  10. Proposez une fonction updatePaquebot permettant de modifier la localisation d’un paquebot. int updatePaquebot(ListePaquebots* liste, int id, const char* nouvelleLocalisation);
  11. Proposez une fonction localSave pour ajouter dans une liste les noms de paquebots contenus dans une liste de paquebots. int localSave(ListePaquebots liste, char noms[][50], int* tailleNoms);
  12. Proposez une fonction renamePaquebot permettant de modifier le nom des paquebots ayant pour nom “Queen Mary 2” en “Queen Elizabeth”. int renamePaquebot(ListePaquebots* liste);

 

SOLUTION : CORRECTION

 

 

Si vous avez trouvé les examens corrigés en Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

 

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam