Skip to content

Exercices

1 Topics 3 Posts

This category can be followed from the open social web via the handle [email protected]

  • [Débutant] Numéro de sécurité social

    3
    0 Votes
    3 Posts
    3k Views
    SoulalexS
    <p style="text-align: center;"><strong><span style="font-size:24px;">Numéro de sécurité social</span></strong></p><p style="text-align: center;"><span style="font-size:22px;"><strong>Exercice Java</strong></span></p><p style="text-align: center;"> </p><p style="text-align: center;"> </p><p>Dans cet exercice nous tenterons de restituer les informations d'une personne à partir de son numéro de sécurité social. Si vous souhaitez une correction personnalisé, veuillez me joindre votre fichier .java par mail à l'adresse suivante : [email protected]</p><p> </p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Langage :</strong> Java</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Niveau :</strong> Débutant (DUT-INFO-S1)</span></p><p><span style="font-family:lucida sans unicode,lucida grande,sans-serif;"><strong>Durée :</strong> 10-15 minutes</span></p><p></p><p><span style="font-size:18px;"><strong>Contexte :</strong></span></p><hr/><p class="java"><strong>Un numéro de sécurité sociale est constitué de 13 chiffres de données :</strong></p><ul><li class="java">Le premier chiffre représente le <strong>sexe </strong>(1 = homme, 2 = femme),</li><li class="java">Les deux chiffres suivants représentent l'<strong>année de naissance</strong>,</li><li class="java">Les deux chiffres suivants représentent le <strong>mois de naissance</strong>,</li><li class="java">Les deux chiffres suivants représentent le <strong>département de naisssance</strong>,</li><li class="java">Les trois chiffres suivants représentent le<strong> numéro de commune de naissance</strong>,</li><li class="java">Les trois derniers chiffres représentent le <strong>numéro d'odre de la naissance dans le mois et la commune.</strong></li></ul><table border=" 0 " class="java" name="class"><tbody><tr class="table-ligne"><td align="" valign="top"> </td><td align="" valign="top"> </td></tr></tbody></table><p>S'ajoute à cela une <strong>clef de contrôle</strong> sur 2 chiffres qui est égale à : <strong>97 – le reste de la division du numéro sur 13 chiffres par 97</strong></p><p> </p><p><span style="font-size:18px;"><strong>Sujet :</strong></span></p><hr/><p>Dans un premier temps, vous deverez, à partir d'un <strong>numéro de sécurité social à 13 chiffres</strong> saisi par l'utilisateur, retrouver le sexe, l'année de naissance, le mois de naissance et le département de naissance de l'utilisateur.</p><p>Dans un second temps, vous calculerez la clef de sécurité en fonction du numéro de sécurité social.</p><p> </p><p><span style="font-size:18px;"><strong>Correction :</strong></span></p><hr/><p><span style="color:#B22222;"><span style="font-size: 16px;">C'est l'heure de la correction !</span></span></p><p> </p><p>Voici donc un correction de ce qui était attendu :</p><blockquote class="ipsStyle_spoiler" data-ipsspoiler="" tabindex="0"><pre class="html ipsCode prettyprint" data-pbcklang="html" data-pbcktabsize="4">import java.util.Scanner; /** SecuriteSocial Détermination des informations sur l'utilisateur à partir du numéro de sécurité social @author Soulalex @version 1 du 06/11/2015 */ public class SecuriteSocial { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long numSecu; int numSexe, anneeNaissance, moisNaissance, deptNaissance; // Variables pour la décomposition du numéro de sécurité social int clef; String sexe; // On lit le numéro de sécurité social System.out.print("Veuillez saisir un numéro de sécurité social à 13 chiffres : "); numSecu = sc.nextLong(); // On décompose notre numéro de sécurité social numSexe = (int)(numSecu / 1000000000000L); anneeNaissance = (int)(numSecu / 10000000000L % 100L); moisNaissance = (int)(numSecu / 100000000L % 100L); deptNaissance = (int)(numSecu / 1000000L % 100L); // Détermination du sexe if (numSexe == 1) sexe = "Homme"; else sexe = "Femme"; // Affichage des informations sur l'utilisateur System.out.println("Sexe : " + sexe); System.out.println("Année de naissance : " + anneeNaissance); System.out.println("Mois de naissance : " + moisNaissance); System.out.println("Département de naissance : " + deptNaissance); // Calcul et affichage de la clef de sécurité clef = (int)(97 - (numSecu % 97)); System.out.println("Votre clef de sécurité : " + clef); } }</pre><p> </p></blockquote><p> </p><p><strong>On peut néanmois apporter certaines modifications :</strong></p><ul><li>Vérification de la validité de la saisie.</li></ul>