Exercices

Exercices type-examen (à rédiger)

38 sujets ouverts couvrant chaque aspect du programme. Rédige ta réponse sur brouillon avant d'ouvrir le corrigé.

Un centre informatique dispose du réseau IP 192.168.28.0. On souhaite le subdiviser en 3 sous-réseaux.
  1. Donne la classe de cette adresse IP.
  2. Indique le nombre de bits à emprunter.
  3. Indique le nombre total de sous-réseaux exploitables.
  4. Indique le nombre d'hôtes par sous-réseau.
  5. Donne le masque de sous-réseau.
  6. Donne l'étendue des adresses hôtes du 4ᵉ sous-réseau utilisable.
Un centre de formation organise des sessions pour des clients. Un client peut consulter (sans se connecter) le catalogue et discuter avec un téléconseiller. Il peut s'inscrire pour être informé, s'inscrire à une session, et annuler tant que la session n'a pas commencé. Une inscription génère une ou plusieurs factures éditées par un téléconseiller et payées par le client. Le responsable de formation réalise toutes les actions d'un téléconseiller et édite en plus des statistiques de relance.
  1. Identifie les acteurs du système.
  2. Cite 5 cas d'utilisation.
  3. Dégage 5 règles de gestion (de domaine) du texte.
  4. Propose les classes principales avec leurs associations.
On dispose du modèle : AVION(NumA, Constructeur, Modele) - COMPAGNIE(NomC) - VOL(NumV, Jour, HeureDepart, HeureArrivee, PlacesLibres) - PERSONNEL(NomPE, Fonction) - PASSAGER(NomPA) - AEROPORT(NomA) - VILLE(NomV). Un avion appartient à une compagnie ; un avion effectue plusieurs vols ; un vol part d'un aéroport et arrive à un autre ; un passager réserve des vols (date de réservation).
  1. Traduis ce modèle en modèle relationnel (tables + clés).
  2. Écris le SQL pour : (a) créer la table VOL ; (b) la liste des passagers du vol 'AF3487' ; (c) la moyenne du nombre de passagers par avion ; (d) les compagnies ayant effectué au moins un vol vers Libreville.
Un magasin importe ses articles. Un article est caractérisé par son code (codeArticle), sa marque (marque) et son prix hors taxe (prixHorsTaxe). Le prix de transport représente 5 % du prix HT et la taxe douanière 18 %. Écris une classe Java qui définit l'article avec : le constructeur adéquat, la méthode prixTransport(), la méthode taxeDouaniere(), et la méthode prixMinVente() sachant que le propriétaire gagne 75 % du prix d'achat.
Écris en C++ une classe CompteBancaire avec les attributs privés titulaire (string) et solde (double). Prévois : un constructeur, une méthode deposer(double), une méthode retirer(double) qui refuse si le solde est insuffisant, et une méthode afficher().
Crée une page HTML avec un formulaire (nom, email, mot de passe) envoyé en POST vers traitement.php. Écris traitement.php qui : vérifie que les champs ne sont pas vides, valide le format de l'email, et affiche un message de bienvenue (ou les erreurs).
D'après la feuille GRILLE (primes par service/grade) et la feuille AGENT, remplis la feuille POINT. Règles : RG1 - la prime dépend du grade et du service. RG2 - retenue de 10 000 pour les hommes. RG3 - pour les femmes : 3 % du salaire de base si > 3 enfants, sinon 5 %. Le salaire de base est en cellule fixe (ex. G2 = 250 000).
  1. Écris la formule de la Prime (colonne E).
  2. Écris la formule de la Retenue (colonne F).
  3. Écris la formule du Salaire net (colonne G).
  4. Compte le nombre d'agents bénéficiant de plus de 40 000 de prime.
Effectue les conversions suivantes en montrant la démarche :
  1. 110110₂ → décimal
  2. 212 (décimal) → binaire
  3. 212 (décimal) → hexadécimal
  4. 3AF₁₆ → décimal
  5. 10110101₂ → hexadécimal (par groupes de 4 bits)
Soit la fonction S = (A ET B) OU (NON A ET C).
  1. Dresse la table de vérité de S pour A, B, C.
  2. Combien de lignes comporte la table pour 3 variables ?
  1. Représente −25 en complément à 2 sur 8 bits.
  2. Le mot binaire signé 11101011 (8 bits, complément à 2) vaut combien en décimal ?
  3. Quel est l'intervalle des entiers représentables en complément à 2 sur 8 bits ?
Effectue en binaire (et vérifie en décimal) :
  1. 1011 + 0110
  2. 11010111
  3. 101 × 11
  1. Simplifie F = A·B + A·B̄.
  2. Simplifie G = A + Ā·B.
  3. Une fonction vaut 1 pour les minterms Σ(1,3,5,7) sur (A,B,C). Donne l'expression simplifiée.
  1. Donne les équations logiques d'un demi-additionneur (entrées A, B ; sorties S et retenue C).
  2. Donne les équations d'un additionneur complet (entrées A, B, Cₑ ; sorties S et Cₛ).
  1. Un processeur possède un bus d'adresse de 16 bits et un mot mémoire de 1 octet. Quelle est la taille maximale adressable ?
  2. Combien de lignes d'adresse faut-il pour adresser une mémoire de 4 K mots ?
  3. Quelle est la capacité, en octets, d'une mémoire organisée en 4K × 8 ?
Une cache a un temps d'accès de 10 ns, la mémoire centrale 100 ns. Le taux de succès (hit ratio) est de 90 %.
  1. Calcule le temps d'accès moyen.
  2. Que devient-il si le taux passe à 95 % ?
Le réseau 192.168.1.0/24 doit accueillir 3 sous-réseaux : A = 50 hôtes, B = 20 hôtes, C = 10 hôtes. Attribue à chacun son bloc (adresse réseau, masque, plage, broadcast) en gaspillant le moins d'adresses possible.
Soit l'hôte 172.16.20.200 avec le masque /21.
  1. Donne le masque en décimal pointé.
  2. Donne l'adresse du réseau.
  3. Donne l'adresse de broadcast.
  4. Donne la plage d'adresses hôtes utilisables.
  1. Cite les 7 couches du modèle OSI dans l'ordre.
  2. Associe à sa couche : IP, TCP, HTTP, Ethernet, UDP, FTP.
  3. Quelle est la différence essentielle entre TCP et UDP ?
Décris le diagramme de séquence de la connexion d'un utilisateur : il saisit login/mot de passe dans l'IHM, un contrôleur vérifie auprès de la base, et selon le résultat affiche l'accueil ou un message d'erreur. Liste les messages et le fragment alternatif.
Modélise le diagramme d'états-transitions d'une commande en ligne, depuis sa création jusqu'à la livraison, avec possibilité d'annulation.
Une bibliothèque gère le prêt de livres. Un adhérent recherche un livre, l'emprunte (max 3 à la fois, 15 jours), le retourne, ou le réserve s'il est indisponible. Le bibliothécaire enregistre les retours et gère le catalogue.
  1. Acteurs et 4 cas d'utilisation.
  2. Classes principales avec associations et multiplicités.
Soit la table brute : COMMANDE(numCmd, dateCmd, numClient, nomClient, numProduit, libellé, prixU, qté) où une commande contient plusieurs produits.
  1. Pourquoi n'est-elle pas en 1FN ? Corrige.
  2. Mets en 2FN.
  3. Mets en 3FN. Donne le schéma final.
Dans une école : un étudiant s'inscrit à plusieurs cours ; un cours est enseigné par un seul professeur mais un professeur enseigne plusieurs cours ; pour chaque cours suivi, l'étudiant obtient une note. Propose le modèle entité-association (entités, associations, cardinalités) puis le relationnel.
Schéma : EMP(numE, nom, salaire, poste, #numDept, #numChef) et DEPT(numDept, nomDept, ville). Écris les requêtes :
  1. Tous les employés triés par salaire décroissant.
  2. Salaire moyen par département.
  3. Départements ayant plus de 3 employés.
  4. Employés gagnant plus que le salaire moyen global.
  5. Employés sans chef.
  6. Nombre d'employés par ville.
  7. Départements n'ayant aucun employé.
  8. Augmenter de 10 % les salaires du département 'Informatique'.
Crée une classe abstraite Forme avec une méthode abstraite aire(). Dérive Cercle et Rectangle. Dans un main, mets plusieurs formes dans un tableau et affiche la somme des aires (polymorphisme).
Définis une interface Comparable-like ou utilise Comparable<Etudiant> : classe Etudiant(nom, moyenne). Stocke des étudiants dans une ArrayList et trie-les par moyenne décroissante.
Écris une méthode diviser(int a, int b) qui lève et gère la division par zéro, puis crée ta propre exception SoldeInsuffisantException utilisée par une méthode retirer.
Crée une classe Complexe(re, im) en C++ et surcharge l'opérateur + pour additionner deux complexes, ainsi qu'une méthode d'affichage.
Classe de base Animal avec méthode virtuelle crier(). Dérive Chien et Chat. Montre le polymorphisme via un pointeur Animal*.
Écris login.php qui vérifie un couple utilisateur/mot de passe, ouvre une session, puis accueil.php qui protège la page, et logout.php qui détruit la session.
Connecte-toi à une base MySQL avec PDO, puis écris une insertion sécurisée (requête préparée) et une lecture de tous les produits.
  1. Découpe la chaîne "php,html,css,sql" en tableau et affiche le nombre d'éléments.
  2. Parcours un tableau associatif ['Awa'=>15,'Koffi'=>12] et affiche « nom : note ».
  3. Mets une chaîne en majuscules et donne sa longueur.
Réalise une page avec un en-tête, une barre de navigation horizontale, un contenu à deux colonnes (menu latéral + article) et un pied de page, en utilisant Flexbox.
Avec Bootstrap, crée une barre de navigation et une rangée de 3 cartes qui passent sur une seule colonne en mobile.
Une feuille TARIF contient (A2:B6) des codes produits et leurs prix. Dans une facture, à partir d'un code saisi en D2 :
  1. Affiche le prix correspondant.
  2. Applique une remise de 10 % si la quantité (E2) > 100.
  3. Gère le cas d'un code introuvable.
Une plage AGENTS a le service en colonne A, le sexe en B, le salaire en C (lignes 2 à 20).
  1. Somme des salaires du service 'SI'.
  2. Nombre de femmes du service 'SC'.
  3. Salaire moyen des hommes.
  1. Écris en pseudocode l'algorithme du tri à bulles d'un tableau T de n entiers.
  2. Écris la recherche dichotomique d'une valeur x dans un tableau trié.
Écris la fonction factorielle de deux façons : itérative (boucle) et récursive, en pseudocode ou en langage de ton choix.