0) Procédure chercher (VAR FT : Texte ; ligne, mot : chaîne de caractères) 1) Ouvre (nom_logique)

Dimension: px
Commencer à balayer dès la page:

Download "0) Procédure chercher (VAR FT : Texte ; ligne, mot : chaîne de caractères) 1) Ouvre (nom_logique)"

Transcription

1 Solution du sujet T1-1 Exercice 1 Analyse de la procédure Chercher Résultat = Afficher l'existence ou non du mot dans chaque ligne du fichier Traitement : - Lire la première ligne et chercher l'existence du mot dans cette ligne puis afficher le message correspondant. - Répéter ce traitement pour toutes les lignes, jusqu'à la fin du fichier. Tant que Non ( Fin_fichier (FT)) Faire Lire (FT, ligne) Si Position (mot, ligne) 0 Alors Ecrire("Le mot : ", mot, " existe pas dans la ligne ", i) Sinon Ecrire ("Le mot : ", mot, " n'existe pas dans la ligne ", i) Fin Si i i + 1 Fin tant que - Ouvrir le fichier et initialiser le compteur des lignes à 1 Ouvre (FT) i 1 - Fin chercher Algorithme 0) Procédure chercher (VAR FT : Texte ; ligne, mot : chaîne de caractères) 1) Ouvre (nom_logique) 2) i 1 4) Tant que Non ( Fin_fichier (FT)) Faire Lire (FT, ligne) Si Position (mot, ligne) 0 Alors Ecrire ("Le mot : ", mot, " existe pas dans la ligne ", i) Sinon Ecrire ("Le mot : ", mot, " n'existe pas dans la ligne ", i) Fin Si i i + 1 Fin tant que 3) Fin chercher T.D.O. Locaux i Compteur Exercice 2 DOC4MTINFCS0001 Page 1

2 Analyse de la procédure Création Résultat : Saisir et enregistrer dans le fichier FT, des lignes de texte Traitement : - Ouvrir le fichier en ajout - Dans le cas d'une erreur d'entrée/sortie, Recréer le fichier. - Répéter la saisie et l'enregistrement des lignes de texte jusqu'à la saisie d'une ligne vide. Fin Analyse Algorithme de la procédure Création 0) Procédure Création (VAR FT : Texte ; ligne : Chaîne) 1) Ajouter (FT) 2) Si Erreur d'e/s Alors Recréer (FT) Fin Si 3) Répéter Ecrire ("Taper une ligne de texte : "); Lire (ligne) Si Ligne "" Alors Ecrire_nl (FT, ligne) Jusqu'à (ligne = "") 4) Fin Création Exercice 3 : Analyse du programme principal Résultat : Affichage des messages. Traitement : - La recherche du mot et 'affichage des lignes sont réalisés par la procédure Chercher. - Pour afficher les lignes de texte, il faut commencer par remettre à zéro le pointeur du fichier, puis faire une lecture de ce dernier. - La saisie des lignes et leur enregistrement dans le fichier sont la tâche de la procédure Création. - Associer du nom logique "FT" au nom physique "Lignes.fch" avant de commencer la sauvegarde des lignes dans le fichier. Fin Analyse Algorithme du programme principal 0) Début Programme_Mots 1) Associer (FT, "Lignes.fch") 2) Création (FT, Ligne) 3) Ecrire ("Entrer le mot recherché : "); Lire (Mot); 4) Chercher (FT, Ligne) 5) Fermer (FT) 6) Fin Programme_Mots DOC4MTINFCS0001 Page 2

3 T.D.O. Globaux FT Ligne Mot Fichier texte Chaîne de caractères Chaîne de caractères Nom logique du fichier de texte Ligne de texte du fichier Le mot recherché DOC4MTINFCS0001 Page 3

4 Programme Pascal (pour tester la solution) PROGRAM Program_Mots; USES WinCrt ; VAR Ligne, mot : String ; FT : Text; PROCEDURE Chercher (VAR FT : Text ; ligne, mot : String) ; VAR i : Integer ; Reset (FT) ; i := 1 ; While NOT(EOF (FT)) DO Begin ReadLn (FT, ligne) ; IF Pos (mot, ligne) <> 0 Then WriteLn ('Le mot : ', mot, ' existe dans la ligne ', i) Else WriteLn ('Le mot : ', mot, ' n''existe pas dans la ligne ', i); i := i + 1 ; End ; END ; PROCEDURE Creation (VAR FT : Text ; ligne : STRING) ; {$I-} Append (FT); IF IoResult <> 0 Then ReWrite (FT) ; {$I+} Repeat Write ('Taper une ligne de texte : '); ReadLn (ligne); If Ligne <> '' Then WriteLn (FT, ligne) ; Until (ligne = '') ; END ; {= = == = = = = = = =P P = = = = = = = = = == = =} Assign (FT, 'Lignes.fch'); Creation (FT, Ligne) ; Write('Donner un mot : '); ReadLn (mot) ; Chercher (FT, Ligne, mot) ; Close (FT); END. DOC4MTINFCS0001 Page 4

5 Solution du sujet T1-2 Analyse du programme principal (Nbr_lettres) Résultat = Afficher l'occurrence de chaque lettre et son pourcentage de présence dans le fichier Traitement : Procédure qui calcule le pourcentage de présence et affiche l'occurrence et le pourcentage pour chaque lettre. les occurrences sont dans un tableau T. Affiche (T) Procédure qui teste les caractères de chaque ligne pour distinguer uniquement les lettres, les transforme en majuscule puis cumule leur nombre dans le tableau T Cumul (FT, T, Ligne) Procédure qui saisit et enregistre les ligne de texte du fichier. Saisie (FT, ligne) Procédure qui ouvre ou crée le fichier de texte Ouvre (FT, nom); Fin Analyse T.D.O. Globaux T FT Ligne Nom Extension Tab Texte Chaîne de caractères Chemin Constante = FTX Tableau contenant les occurrences de chaque lettre nom logique du fichier de texte ligne de texte du fichier chemin + nom + extension du fichier L'extension du nom physique du fichier T.D. Nouveaux types Tab = Tableau de 26 Chemin = Chaîne de 50 Caractères Type Algorithme 0) Début Nbr_lettres 1) Ouvre (FT, nom) 2) Saisie (FT, ligne) 3) Cumul (FT, T, ligne) 4) Affiche (T) 5) Ferme (FT) 6) Fin Nbr_lettres DOC4MTINFCS0002 Page 1

6 Analyse de la procédure Ouvre Résultat = Ouvre ou créer le fichier de texte Traitement : Associer et ouvrir le fichier Associer (FT, nom) Ouvrir (FT) Si le fichier n'existe pas il sera créer (directive de compilation {$i..} Si erreur d'e/s alors Recréer (FT) Fin Si Saisir le chemin complet du fichier Lire (nom) nom nom + extension Fin Ouvre Algorithme 0) PROCEDURE Ouvre (VAR FT : Texte ; nom : chemin) 1) Ecrire ("Entrer le nom du fichier ") ; Lire (nom) 2) nom nom + extension 3) Associer (FT, nom) ; Ouvrir (FT) 4) Si erreur d'e/s Alors Recréer (FT) Fin Si 5) Fin Ouvre Analyse de la procédure Saisie Résultat = Saisir les lignes de texte Traitement : Saisir une ligne de texte, tant que cette ligne est différente du caractère "*" qui, dans notre cas, indique la fin de la saisie, on enregistre cette ligne dans le fichier et on répète le même traitement. Ecrire (" Taper une ligne de texte : ") Lire (ligne) Tant Que ligne "*" Faire Ecrire_nl (FT, ligne) Ecrire (" Taper une nouvelle ligne de texte : ") Lire (ligne) Fin Tant Que Fin Saisie Algorithme 0) PROCEDURE Saisie (VAR FT : Texte ; ligne : Chaîne de caractères) 1) Ecrire (" Taper une ligne de texte : ") ; Lire (ligne) 2) Tant Que ligne "*" Faire Ecrire_nl (FT, ligne) DOC4MTINFCS0002 Page 2

7 Ecrire (" Taper une nouvelle ligne de texte : ") Lire (ligne) Fin Tant Que 3) Fin Saisie Analyse de la procédure Cumul Résultat = Cumuler le nombre de chaque lettre présente dans le fichier Traitement : Remettre le pointeur du fichier sur la première ligne Ouvrir (FT) Lire une à une les lignes du fichier puis cumuler uniquement les lettres trouvées. Tant Que NON (Fin_Fichier (FT)) Faire Lire_Ln (FT, ligne) {Parcourir un à un tous les caractères de la ligne Convertir le caractère en majuscule pour minimiser le nombre de test Voir si le caractère appartient à l'ensemble des lettres A.. Z} Si oui incrémenter le contenu de la case du tableau correspondante à cette lettre } Pour i de 1 à Longueur (ligne) Faire ligne [i] Majuscule (ligne[i]) ca ASCII (ligne [i] ) {ou ca Ordre (ligne [i] ) } Si ca DANS [ASC II ('A').. ASCII ('Z')] Alors T[ca] T[ca] + 1 Fin Si Fin Tant Que - Afin que le cumul soit exact, le tableau T doit être initialisé à zéro Pour i de ASCII ('A') à ASCII ('Z') Faire T[i] 0 Fin pour Fin Cumul NB : La fonction ASCII peut être remplacée par la fonction prédéfinie ORD T.D.O. Locaux i ca Compteur Code ASCII d'un caractère Algorithme 0) PROCEDURE Cumul (VAR FT : Texte ; VAR T : Tab ; ligne : Chaîne de caractères) 1) Pour i de ASCII ('A') à ASCII ('Z') Faire T[i] 0 Fin pour 2) Ouvrir (FT) 3) Tant Que NON (Fin_Fichier (FT)) Faire Lire_Ln (FT, ligne) Pour i de 1 à Longueur (ligne) Faire DOC4MTINFCS0002 Page 3

8 ligne [i] Majuscule (ligne[i]) ca ASCII (ligne[i] ) {ou ca Ordre (ligne[i] ) } Si ca DANS [ASC II ('A').. ASCII ('Z')] Alors T[ca] T[ca] + 1 Fin Si Fin Tant Que 4) Fin Cumul Analyse de la procédure Affiche Résultat = Afficher le nombre d'occurrence de chaque lettre ainsi que son pourcentage (pc) de présence par rapport aux autres lettres dont le nombre total est (nb). Traitement : - Parcourir l'ensemble des lettres et procéder à l'affichage Pour i de ASCII ('A') à ASCII ('Z') Faire Si nb > 0 Alors pc (T[i] *100) / nb Sinon pc 0 {Pour éviter l'erreur de division par zéro} Fin Si Ecrire ("La lettre : ", CHR (i)," est présente : ", T[i]," fois, donc : ", pc:3:2, " %") - Calcul du nombre total de lettres nb 0 Pour i de ASCII ('A') à ASCII ('Z') Faire nb nb + T[i] Ecrire ("Le nombre total de lettres dans le fichier est : ", nb) Fin Affiche T.D.O. Locaux i nb pc Réel Compteur Nombre total de lettres dans le fichier Pourcentage de présence d'une lettre Algorithme 0) PROCEDURE Affiche (T : Tab) 1) nb 0 2) Pour i de ASCII ('A') à ASCII ('Z') Faire nb nb + T[i] DOC4MTINFCS0002 Page 4

9 3) Ecrire ("Le nombre total de lettres dans le fichier est : ", nb) 4) Pour i de ASCII ('A') à ASCII ('Z') Faire Si nb > 0 Alors pc (T[i] *100) / nb Sinon pc 0 Fin Si Ecrire ("La lettre : ", CHR (i)," est présente : ", T[i]," fois, donc : ", pc:3:2, " %") 5) Fin Affiche DOC4MTINFCS0002 Page 5

10 Traduction en Pascal PROGRAM nbr_lettres ; USES WinCrt ; { ou CRT sous Dos } CONST extension = 'FTX' ; TYPE Tab = ARRAY [ORD ('A').. ORD ('Z')] Of Integer ; chemin = String [50] ; VAR FT : Text ; nom : chemin ; T : Tab ; ligne : String ; PROCEDURE Ouvre (VAR FT : Text ; nom : chemin) ; Write ('Entrer le nom du fichier : '); ReadLn (nom) ; nom := nom + extension ; {$I-} Assign (FT, nom) ; Reset (FT); IF IOResult <> 0 Then Rewrite (FT); {$I+} END; PROCEDURE Saisie (VAR FT : Text ; ligne : String) ; WriteLn (' Pour terminer la saisie des lignes du texte, taper uniquement le caractère * ') ; WriteLn ; Write (' Taper une ligne de texte : '); ReadLn (ligne) ; While ligne <> '*' Do Begin WriteLn (FT, ligne); Write (' Taper une nouvelle ligne de texte : '); ReadLn (ligne) ; End; END; DOC4MTINFCS0002 Page 6

11 DOC4MTINFCS0002 Page 7

12 PROCEDURE Cumul (VAR FT : Text ; VAR T : Tab; Ligne : String); VAR i, ca : Integer ; {Init du tableau à zéro } For i := ORD ('A') To ORD ('Z') DO T[i] := 0 ; {Remise à zéro du pointeur du fichier } Reset (FT); {Lecture du fichier ligne par ligne et cumul du nombre des lettres} WHILE NOT (EOF (FT)) DO Begin ReadLn (FT, ligne); For i:= 1 To Length (ligne) Do Begin ligne [i] := UpCase (ligne [i]); {Cumul du nombre de lettre dans le tableau T } ca := ORD (ligne [i] ) ; IF ca IN [ORD ('A').. ORD ('Z')] THEN T[ca] := T[ca] + 1 ; End ; End ; END; PROCEDURE Affiche (T : Tab); VAR nb, i : Integer ; pc : Real ; {Calcul du nombre total de lettres} nb := 0 ; For i:= ORD('A') To ORD('Z') do nb := nb + T[i] ; Writeln('Le nombre total de lettres dans le fichier est : ', nb ); {Affichage de l'occurrence et du pourcentage de présence de chaque lettre} For i := ORD ('A') To ORD ('Z') Do Begin IF nb > 0 THEN pc := (T[i] * 100) / nb ELSE pc := 0; Writeln ('La lettre : ', CHR(i),' est présente : ', T[i],' fois, donc : ', pc:3:2, ' %') ; End; END; { ==================== P. P ======================} Ouvre (FT, nom); Saisie (FT, ligne); Cumul (FT, T, ligne); DOC4MTINFCS0002 Page 8

13 Affiche (T); END. DOC4MTINFCS0002 Page 9

14 Solution du sujet T1-3 Analyse du programme principal TOUT_RECURSIF Résultat = Si Fn Rechercher (V, T, N ) = VRAI alors Ecrire (V, " existe dans T ") Sinon Ecrire (V," n'existe pas dans T ") Traitement : - Rechercher est une fonction qui retourne un booléen indiquant la présence ou non de V dans T. - Une procédure Remplir permet le remplissage du tableau par des réels - Une procédure Saisie permet la saisie et le test de l'entier N - V est une valeur donnée Fin TOUT_RECURSIF Algorithme du programme principal 0) Début TOUT_RECURSIF 1) Proc saisie (N) 2) Proc remplir (T, N) 3) Ecrire ("Donner une valeur numérique ") ; Lire (V) 4) Si Fn Rechercher (V, T, N) = VRAI alors Ecrire (V, " existe dans T ") sinon Ecrire (V," n'existe pas dans T ") 5) Fin TOUT_RECURSIF Tableau de déclaration des nouveau types Type Tab = tableau de 100 réels Tableau de déclaration des objets Globaux T N V Remplir Saisie Rechercher Tab Réel Procédure Procédure Fonction Tableau d'entiers Nombre de réels à saisir dans T Le réel à chercher Ranger des réels dans le tableau Saisir la valeur de N Chercher l'existante ou non de V dans T Analyse de la fonction Rechercher Résultat = Rechercher. Traitement : Le résultat booléen de la fonction recherche est obtenu comme suit : - Si V = T [N] alors Rechercher vrai Sinon Si n >1 Alors On appelle encore une fois la fonction Rechercher avec N-1 (appel récursif) Rechercher FN Rechercher (V, T, N-1) Fin Si Cet appel récursif se termine quand N-1 devient égal à 0 DOC4MTINFCS0003 Page 1

15 - La fonction doit être initialisée à FAUX pour pouvoir quitter si la valeur V ne se trouve pas dans le tableau T. Rechercher FAUX Fin Rechercher Algorithme de la fonction Rechercher 0) Fonction Rechercher (V : Réel; T : Tab ; N : ) : Booléen 1) Rechercher FAUX 2) Si V = T [ N ] alors Rechercher VRAI Sinon Si N n > 1 alors Rechercher FN Rechercher (V, T, N-1) Fin si 3) Fin Rechercher Analyse de la procédure Saisie Résultat = Saisir un entier valide Traitement : Lire un entier N, Si (N <2) OU (N >100) Alors on recommence l'appel de la procedure Saisie (appel recursif) Si (N <2) OU (N >100) Alors Proc Saisie (N) Fin Si Fin Saisie Algorithme de la procédure Saisie 0) Procédure Saisie (VAR N : ) 1) Ecrire (" Entrer le nombre de réels à saisir ") ; Lire (N) 2) Si (N < 2) OU (N > 100) Alors Proc Saisie (N ) Fin Si 3) Fin Proc Saisie Analyse de la procédure Remplir Résultat = Remplir un tableau T par N réels Traitement : - Lire (T[N]) - Si N >1 Alors on recommence l'appel de la procédure pour remplir la case d'indice N-1 (appel récursif de la procédure Remplir) Si N > 1 Alors Proc Remplir (T, N-1) Fin Si Fin Remplir Algorithme de la procédure remplir 0) Procédure Remplir (VAR T : Tab ; N : ) 1) Ecrire (" Entrer l élément ", N, " : ") ; Lire (T[N]) 2) Si N >1 Alors Proc Remplir (T, N-1) Fin Si DOC4MTINFCS0003 Page 2

16 3) Fin Remplir DOC4MTINFCS0003 Page 3

17 Traduction en Pascal PROGRAM TOUT_RECURSIF ; USES WinCrt ; TYPE Tab = ARRAY [1..100] OF Real ; VAR N : Integer ; V : Real ; T : Tab ; { } PROCEDURE Saisie (VAR N : Integer) ; Write ('donner un entier : '); ReadLn (N) ; If (N<2) OR (N > 100) Then Saisie (N) ; END ; { } PROCEDURE Remplir (VAR T : Tab ; N : Integer); Write ('Entrer l''élèment ', N,' : ' ) ; ReadLn (T[N]) ; If (N >1) Then Remplir (T, N-1) ; END ; { } FUNCTION Rechercher (V : Real; T : TAB; N : Integer) : Boolean ; Rechercher := False ; If (V = T[N]) Then Rechercher := TRUE Else If (N >1) Then Rechercher := Rechercher (V, T, N-1) ; END ; { ======================== P P ==========================} Saisie (N); Remplir (T, N); Write ('Donner une valeur numérique ') ; ReadLn (V) ; If Rechercher (V, T, N) Then WriteLn (V, ' existe dans T') Else WriteLn (V:8:3, ' n''existe pas dans T '); END. DOC4MTINFCS0003 Page 4

18 Solution du sujet T1-4 Vu la longueur de la solution, on propose seulement le programme en Pascal avec plusieurs commentaires et explications. PROGRAM Videotheque ; USES WinCrt ; CONST ext ='.FCH' ; { l'extension du nom physique du fichier} TYPE Films = RECORD Reference : Word ; Titre : String [40] ; End ; Fichier = File Of Films ; nom_physique = String [40]; VAR choix : Byte ; nl : Fichier; {nom logique du fichier} nf : nom_physique ; {le chemin du fichier } enr : Films ; ouvert : Boolean ; trouve : Boolean ; Posi : LongInt ; Ref2 : Word ; { Procédure d'attente sur l'appuie sur ECHAP } PROCEDURE Echap ; VAR Rep : Char ; WriteLn ; WriteLn ('Appuyer sur la touche [ECHAP] pour continuer...' : 20) ; Repeat Rep := Readkey ; Until Rep = CHR (27) ; {27 = code ascii de la touche Echap } END ; DOC4MTINFCS0004 Page 1

19 { Procédure de création d'un nouveau fichier } PROCEDURE Creation (VAR nf : nom_physique); VAR L : Byte ; ClrScr ; {Efface l'écran texte } Writeln ('CRETATION DE FICHIER' : 50); WriteLn ; WriteLn ; Writeln ('Le fichier sera créer sur la racine du disque dur C '); WriteLn ; WriteLn ('Pour des raison de compatibilité avec le SE DOS '); WriteLn (' et avec les versions de Turbo Pascal sous Dos ') ; WriteLn ('le nom du fichier est composé au maximum de 8 caractères '); Writeln (' Si le nom saisit est plus long, il sera tronqué.') ; WriteLn ; WriteLn ('Réspecter SVP les caractères composant un nom de fichier sous DOS.') ; WriteLN; WriteLn ; Repeat Write('Entrer le nom du fichier : '); ReadLn (nf); L := Length (nf) ; Until (L > 0) AND (L <=8 ) ; nf := 'C:\'+nf+ext ; {le chemin du fichier } Assign (nl, nf) ; ReWrite(nl) ; Writeln ; WriteLn ('Le fichier ', nf, ' a été est crée avec succès '); Writeln ; ouvert := true ; { drapeau qui indique que le fichier est ouvert } Echap ; END; { Procédure d'ouverture d'un fichier } PROCEDURE Ouverture (VAR nf : nom_physique); VAR L,er : Byte ; Rep : Char ; ClrScr ; Writeln ('OUVERTURE D''UN FICHIER' : 50); WriteLn; WriteLn ; {$I-} Repeat Repeat Write ('Entrer le nom du fichier : '); ReadLn (nf); L := Length (nf) ; Until (L > 0) AND (L <=8 ) ; DOC4MTINFCS0004 Page 2

20 nf := 'C:\'+nf+ext ; Assign (nl, nf); ReSet (nl); er := IOResult ; {$I+} IF er <> 0 THEN Begin Writeln ; WriteLn ('Le fichier ', nf, ' n''existe pas ') ; Writeln ; Repeat Write ('Vouler vous réessayer O/N? ') ; Rep := Readkey ; Rep := UpCase (rep); WriteLn; Until Rep IN ['O', 'N'] ; WriteLn ; End; Until (er = 0) or (Rep = 'N'); Writeln ; IF er = 0 Then Begin ouvert := true ; WriteLn ('Le fichier ', nf, ' est maintenant ouvert '); End; Writeln ; Echap ; END; { Procédure de suppression d'un fichier } PROCEDURE Suppression (VAR nl : fichier ; VAR nf : nom_physique); VAR L,er : Byte ; Rep : Char ; ClrScr ; Writeln('SUPPRESSION D''UN FICHIER': 50); WriteLn; WriteLn ; {$I-} Repeat Repeat Write ('Entrer le nom du fichier à supprimer : '); ReadLn (nf); L := Length (nf) ; Until (L > 0) AND (L <=8 ) ; nf := 'C:\'+nf+ext ; DOC4MTINFCS0004 Page 3

21 Assign (nl, nf); ReSet(nl); er := IOResult ; {$I+} IF er <> 0 THEN Begin Writeln ; WriteLn ('Le fichier ', nf, ' n''existe pas '); Writeln ; Repeat Write ('Vouler vous réessayer O/N? '); Rep := Readkey ; Rep := UpCase (rep); WriteLn; Until Rep IN ['O','N'] ; WriteLn ; End; Until (er = 0) or (Rep = 'N'); Writeln ; IF er = 0 Then Begin Erase (nl) ; ouvert := false ; { Aucun fichier n'est ouvert } WriteLn ('Le fichier ', nf, ' a été supprimer avec succès '); Writeln ; End ; Echap ; END; { Procédure de fermeture d'un fichier } PROCEDURE Fermeture (VAR nl : fichier ; VAR nf :nom_physique ); VAR Rep : Char ; er : byte ; ClrScr ; Writeln ('FERMETURE D''UN FICHIER' : 50); WriteLn; WriteLn ; {$I-} Assign (nl, nf); ReSet(nl); er := IOResult ; {$I+} IF (er <> 0) or (ouvert=false) THEN Begin Writeln ; if ouvert = false then WriteLn (' Le fichier n''est pas ouvert ') Else WriteLn ('Le fichier ', nf, ' n''existe '); DOC4MTINFCS0004 Page 4

22 Writeln ; End Else Begin Repeat Write ('Vouler vous fermer Le fichier ', nf, ' (O / N)? ' ); Rep := Readkey ; Rep := UpCase (rep); WriteLn; Until Rep IN ['O','N'] ; IF Rep = 'O' Then Close (nl) ; Writeln ; WriteLn ('Le fichier ', nf, ' a été fermer avec succès '); End; Writeln ; ouvert := false; Echap ; END; { Procédure de recherche de l'existence et de la position d'un film } PROCEDURE Cherche (ref2 : Word ; enr : Films; VAR nl : Fichier ; VAR posi : LongInt ; VAR trouve : Boolean); Trouve := False ; Reset (nl); While (NOT(EOF (nl))) AND (trouve = False) DO Begin Read(nl, enr); IF ref2 = enr.reference then Begin trouve := True ; posi := FilePos(nl) -1 ; End; End; END ; { Procédure d'ajout d'un film } PROCEDURE Ajouter (VAR nl : Fichier ; enr : Films); VAR rep : CHAR ; ClrScr ; WriteLn ('A J O U T E R F I L M S':20); WriteLn ; Repeat Repeat Repeat DOC4MTINFCS0004 Page 5

23 Write ('Référence : '); ReadLn (enr.reference); Cherche (enr.reference, enr, nl, posi, trouve); IF trouve = True Then Begin WriteLn; WriteLn ('Cette référence existe déja dans le fichier '); WriteLn('Veuillez entrer une autre référence '); WriteLn; End; Until trouve = False ; Write ('Titre : '); ReadLn(enr.titre); Until (enr.reference > 0) AND (enr.titre <> '') ; Write(nl, enr); Write('Continuer Oui/Non (O/N)? '); Repeat Rep := Readkey ; Rep := UpCase (Rep); Until Rep IN ['O', 'N'] ; WriteLn; WriteLn ; Until rep = 'N' ; END ; { Procédure qui modifie les données d'un film } PROCEDURE Modifier (VAR nl : Fichier ; enr : Films); VAR rep : CHAR ; ClrScr ; WriteLn ('M O D I F I E R F I L M S' : 20); WriteLn ; Repeat Write ('Référence : '); ReadLn (ref2); WriteLn ('Recherche de la référence : ', Ref2); WriteLn ; Cherche (ref2, enr, nl, posi, trouve); IF trouve = False THEN Begin Writeln ('La référence du film n''existe pas dans le fichier '); WriteLn; End Else Begin Seek (nl, posi); Read (nl, enr); Repeat Write ('Ancienne référence : ', enr.reference,' Nouvelle référence : ') ; ReadLn (enr.reference); DOC4MTINFCS0004 Page 6

24 Write ('Ancien titre : ', enr.titre, ' Nouveau titre : '); ReadLn (enr.titre); Until (enr.reference > 0 ) AND (enr.titre <> ''); Seek (nl, posi); Write(nl, enr); End; Write ('Continuer Oui ou Non (O/N)? '); Repeat Rep := Readkey ; Rep := UpCase (Rep); Until Rep IN ['O', 'N'] ; WriteLn; WriteLn ; Until rep = 'N' ; END ; { Procédure de recherche et d'affichage d'un film } PROCEDURE Chercher_afficher (VAR nl : Fichier ; enr : Films); VAR rep : CHAR ; ClrScr ; WriteLn ('C H E R C H E R F I L M S' : 20); WriteLn ; Repeat Write ('Référence : '); ReadLn (ref2); WriteLn ('Recherche de la référence : ', Ref2); WriteLn ; Cherche (ref2, enr, nl, posi, trouve); IF trouve = False THEN Begin Writeln('La référence du film n''existe pas dans le fichier '); WriteLn; End Else Begin Seek(nl, posi); Read(nl, enr); WriteLn('Référence : ', enr.reference) ; WriteLn('Titre : ', enr.titre ); End; Writeln; Write ('Continuer Oui ou Non (O/N)? '); Repeat Rep := Readkey ; Rep := UpCase (Rep); Until Rep IN ['O', 'N'] ; WriteLn; WriteLn ; Until rep = 'N' ; END ; DOC4MTINFCS0004 Page 7

25 { Procedure qui supprime un film } PROCEDURE Supprime (VAR nl : Fichier ; enr : Films); VAR rep : CHAR ; taille, i : Word ; ClrScr ; WriteLn('S U P P R I M E R F I L M S':20); WriteLn ; REPEAT Write ('Référence : '); ReadLn (ref2); WriteLn ('Recherche de la référence : ', Ref2); WriteLn ; Cherche (ref2, enr, nl, posi, trouve); IF trouve = False THEN Begin Writeln('La référence du film n''existe pas dans le fichier '); WriteLn; End Else Begin Seek(nl, posi) ; Read (nl, enr); WriteLn ('Suppression du film : ', enr.reference, ' = ', enr.titre); taille := FileSize (nl); For i:= posi+1 to taille-1 do Begin Seek (nl, i); Read (nl, enr); Seek (nl, i-1); Write(nl, enr); End; Seek (nl, taille-1); Truncate (nl); Reset(nl); Taille := FileSize(nl); For i:=0 to taille-1 do Begin Seek(nl, i) ; Read (nl, enr); WriteLn ('Référence : ', enr.reference) ; WriteLn ('Titre : ', enr.titre ); End; End; Writeln; Write('Continuer Oui ou Non (O/N)? '); Repeat Rep := Readkey ; Rep := UpCase (Rep); Until Rep IN ['O', 'N'] ; WriteLn; WriteLn ; DOC4MTINFCS0004 Page 8

26 UNTIL rep = 'N' ; END ; { Procédure qui affiche un message d'erreur si le fichier n'est pas ouvert } PROCEDURE Erreur ; ClrScr ; Writeln (' E R R E U R '); Writeln ('Aucun fichier n''est ouvert '); Writeln ; Echap ; END; { Procédure du menu de choix } PROCEDURE Menu (VAR choix : Byte ) ; VAR Rep : char ; REPEAT ClrScr ; WriteLn; Writeln (' M E N U ' : 50); WriteLn ; WriteLn ; WriteLn (' F I C H I E R S E D I T I O N Q U I T T E R '); Writeln; WriteLn (' 1 - Créer un nouveau fichier 5 - Ajouter un film 9 - Sortir'); WriteLn (' 2 - Ouvrir un fichier existant 6 - Modifier un film '); WriteLn (' 3 - Supprimer un fichier 7 - Chercher un film '); WriteLn (' 4 - Fermer un fichier 8 - Supprimer un film '); Writeln ; WriteLn; Write (' Votre choix? '); Repeat Rep := ReadKey; Until Rep IN ['1'.. '9']; Case Rep Of '1' : Creation (nf) ; '2' : Ouverture (nf) ; '3' : Suppression (nl, nf) ; '4' : Fermeture (nl, nf) ; '5' : If ouvert = true then Ajouter (nl, enr) Else Erreur; '6' : If ouvert = true then Modifier(nl, enr) Else Erreur; '7' : If ouvert = true then Chercher_afficher (nl, enr) Else Erreur; '8' : If ouvert = true then Supprime (nl, enr) Else Erreur; '9' : Begin ClrScr; Write(' A U R E V O I R '); If ouvert Then close(nl); Halt ; { Halt : procédure pré définie qui stoppe le programme et ramène au système } End; End ; UNTIL Rep = '9'; DOC4MTINFCS0004 Page 9

27 If ouvert Then close(nl); END; { ============= Programme Principal =========================== } ouvert := false ; { init : aucun fichier n'est ouvert } Menu (choix); END. DOC4MTINFCS0004 Page 10

28 Solution du sujet T1-5 EXAMEN DU BACCALAUREAT (session : JUIN 1994) SUJET : INFORMATIQUE EXERCICE 1 (6 points ) 1) La RAM est placée physiquement : F dans le disque dur V sur la carte mère F dans le microprocesseur 2) pour un micro-ordinateur, ces éléments sont-ils des périphériques? F l'unité arithmétique et logique V le clavier V l'imprimante 3) La commande RmDir (RD) sert à : F créer un répertoire V enlever un répertoire F effacer un fichier 4) Dans le système DOS, l'instruction : PATH C:\ Travail \ Tableur Permet la recherche dans : F tous les lecteurs F le lecteur actuel V le sous répertoire disponibles Tableur de C 5) Le nombre décimal 1994, est-il égal à : V 7CA 16 F F ) Voici une séquence d'instructions écrites en Pascal : cha := 'Je suis '; chb := 'baccalauréat'; cha := cha + ' au bac'; chc := COPY( chb, 6, 7); INSERT ( chc, cha, 9 ); FOR i:= 1 TO LENGTH(cha) DO cha[ i ] := UpCase ( cha[ i ] ); Après exécution de cette séquence, la longueur en caractères de la chaîne cha serait : DOC4MTINFCS0006 Page 1

29 F 8 F 19 V 22 DOC4MTINFCS0006 Page 2

30 EXERCICE N a / ALGORITHME PROCEDURE SAISIE 0) Procédure Saisie (VAR MOT1, MOT2 : Chaîne ) 1) REPETER test Faux Lire (MOT1) nc 0 REPETER nc nc + 1 SI NON( MOT1[ nc ] DANS [ "a".. "z", "A".. "Z" ] ) ALORS test Vrai Fin Si JUSQU'A (test = Vrai) OU (nc = Longueur (MOT1) ) JUSQU'A (test = Faux) 2) MOT2 MOT1 3) POUR nc DE 1 A Longueur (MOT1) FAIRE MOT2 [ nc ] "-" 4) Fin Saisie Tableau de codification des objets locaux nc test Booléen Compteur Teste si un caractère est présent ou non dans le mot. 1 - b / ALGORITHME FONCTION CONV_MAJUS 0) Fonction CONV_MAJUS (MOT : Chaîne ) : Chaîne 1) POUR nc DE 1 A LONGUEUR( MOT ) FAIRE MOT[ nc ] MAJUS( MOT[ nc ] ) CONV_MAJUS MOT 2) Fin CONV_MAJUS Tableau de codification des objets locaux nc Compteur 1 - c / ALGORITHME PROCEDURE AFFICHE 0) Procédure Affiche (MOT : Chaîne) 1) Ecrire (MOT) DOC4MTINFCS0006 Page 3

31 2) Fin Affiche d / ALGORITHME PROCEDURE LIRE_CAR 0) Procédure Lire_Car (VAR c : caractère) 1) REPETER Lire( c ) c MAJUS( c ) Jusqu'à c DANS ["A".. "Z"] 2) Fin Lire_Car 1 - e / ALGORITHME PROCEDURE CHERCHE_REMPLACE 0) Procédure Cherche_Remplace (MOT1 : Chaîne; c : caractère; VAR MOT2 : Chaîne ) 1) POUR i DE 1 A Longueur (MOT1) FAIRE Si MOT1[ i ] = c ALORS MOT2[ i ] c Fin Si 2) Fin Cherche_Remplace Tableau de codification des objets locaux i Compteur 2 / ALGORITHME DU PROGRAMME PRINCIPAL 0) Début Devinette 1) Saisie ( MOT1, MOT2 ) 2) MOT1 Conv_Majus ( MOT1 ) 3) co 0 4) n Longueur ( MOT1) 5) Affiche ( MOT2 ) 6) Répéter co co + 1 Lire_Car( c ) Cherche_Remplace ( MOT1, c, MOT2) Affiche ( MOT2 ) Jusqu'a ( co = 2 * n ) OU ( MOT2 = MOT1 ) 7) Si MOT1 = MOT 2 Alors Ecrire (MOT1, "Trouvé en ", co, " essais") Sinon Ecrire ("Désolé, le mot est : ", MOT1); Fin Si 8) Fin Devinette DOC4MTINFCS0006 Page 4

32 Tableau de codification des objets globaux MOT1 MOT2 n co c Chaîne Chaîne Caractère Mot saisit Mot deviné Longueur du mot Nombre d'essais Caractère saisit DOC4MTINFCS0006 Page 5

33 Solution du sujet T1-6 PARTIE I ( 6 points ) Exercice 1 ( 3 points ) 1) Soit la fonction Traitement suivante écrite en Pascal : FUNCTION Traitement (d,f:integer;t:tab): INTEGER ; (Integer 0.5, Real 0.25) VAR indmin : INTEGER ; (0.25 point) i : INTEGER ; (0.25 point) indmin:=d ; FOR i := d+1 TO f DO IF T[i] < T[indmin] THEN Begin indmin := i ; End; Traitement := indmin ; END ; 2/ La valeur renvoyée par la fonction Traitement si d=2, f=5 et le tableau T contient les éléments suivants est : T i Avant la boucle, indmin vaut 2 pour i = 3 on a T[3] =0 < 5 = T[2] donc indmin = 3 pour i = 4, on a T[4] = -6 < 0 = T[3] donc indmin = 4 pour i = 5, on a T[5] =10-6 = T[4], indmin reste inchangé Donc la valeur renvoyée par cette fonction est 4 (1 point) 3) Le rôle de cette fonction est de déterminer le premier emplacement du minimum dans la partie de T commençant à l'indice d et se terminant à l'indice f. "le premier emplacement" 0.25 point "le minimum" 0.5 point "la plage (la partie de T)" 0.25 point Exercice 2 (3 points) Dans un contexte informatique, la définition de : 1) Signet : lieu indiqué dans un document pour référencer un lien hypertexte. Mots clés : - Emplacement ou tout mot équivalent (0.5 point) DOC4MTINFCS0006 Page 1

34 - Lien hypertexte (0.5 point) 2) Adresse IP : Identifiant unique d'une machine connectée à un réseau et utilisant le protocole de communication TCP/IP. Une telle adresse et actuellement composée de quatre entiers compris chacun entre 0 et 255. Mots clés : - Identifiant ou adresse unique ou toute expression équivalente (0.5 point) Forme de l'adresse (4 octets) ou adresse d'internet ou Adresse d'un réseau IP ou TCP/IP (0.5 point) NB : si le candidat donne seulement un exemple => 0.25 point 3) Protocole : Ensemble de règles régissant la communication entre machines interconnectées. 1 point NB : si le candidat donne seulement un exemple => 0.25 point PARTIE II (14 points) 1) Le résultat de ce problème est une décision qui dépendra essentiellement du nombre de voix favorables nbf, du nombre de voix défavorables nbd et du nombre de voix neutres nbn. Ces nombres seront le résultat d'une procédure de vote fait par les m membres du conseil. Remarquons que : nbf + nbd + nbn = m. Il suffit de calculer nbf et nbd et on a donc nbn = m - (nbf + nbd) Analyse du problème Résultat = Ecrire (FN Décision(nbf, nbd, nbn, m) ) (nbf, nbd, nbn) = PROC Vote(nbf, nbd, nbn, m) m = PROC Saisie(m) Fin Analyse Tableau de codification des objets globaux nbf nbd nbn m Décision Vote Fonction Procédure Nombre de voix favorables Nombre de voix défavorables Nombre de voix neutres Nombre de membres Décision finale Compte les différents votes DOC4MTINFCS0006 Page 2

35 Saisie Procédure Saisie de m 2) Analyse des modules Analyse de la fonction Décision Résultat = Décision Traitement : Décision = [ ] Si (neutre > n DIV 2) alors Fn Décision "Reportée" Sinon si (favorable > défavorable) alors Fn Décision " Acceptée" Sinon Fn Décision "Refusée" Fin Si Fin Analyse Analyse de la procédure Vote Résultat = (favorable, défavorable, neutre) Traitement : neutre = n - ( favorable + défavorable) (favorable, défavorable) = [ favorable 0, défavorable 0] Pour i de 1 à n répéter Répéter Ecrire ("Vote n ", i) Lire (voix) voix MAJUS (voix) Jusqu'à voix dans {"F","D","N"} si (voix ="F") alors favorable favorable + 1 sinon si (voix = "D") alors défavorable défavorable + 1 Fin Si Fin Analyse Tableau de codification des objets locaux i voix Caractère Compteur F, D ou N DOC4MTINFCS0006 Page 3

36 Analyse de la procédure Saisie Résultat = n Traitement : n = [ ] Répéter Ecrire ("Donner un entier impair compris entre 10 et 20 ") Lire (n) valide (n MOD 2 = 1) et (n >= 10) et (n <= 20) Jusqu'à (valide) Fin Analyse Tableau de codification des objets locaux valide Booléen validité de la saisie de n 3) Algorithmes 0) Début Marché_info 1) PROC Saisie (m) 2) PROC Vote (nbf, nbd, nbn, m) 3) Ecrire (FN Décision (nbf, nbd, nbn, m) ) 4) Fin marché_info 0) Procédure Saisie (VAR n : entier) 1) Répéter Ecrire ("Donner un entier impair compris entre 10 et 20 ") Lire (n) valide (n MOD 2 = 1) et (n >= 10) et (n <= 20) Jusqu'à (valide) 3) Fin Saisie 0) Procédure Vote (VAR favorable, défavorable, neutre : entier ; n : entier) 1) favorable 0, défavorable 0 Pour i de 1 à n répéter Répéter Ecrire ("Vote n ", i) Lire (voix) voix MAJUS (voix) Jusqu'à voix dans {"F","D","N"} Si voix ="F" alors favorable favorable + 1 Sinon si voix = "D" alors défavorable défavorable + 1 DOC4MTINFCS0006 Page 4

37 Fin Si 2) neutre n - (favorable + défavorable) 3) Fin vote 0) Fonction Décision (favorable, défavorable, neutre, n : entier) : Chaîne 1) si (neutre > n DIV 2) Alors décision "Reportée" Sinon Si (favorable > défavorable ) alors décision " Acceptée" Sinon décision "Refusée" Fin Si 2) Fin décision DOC4MTINFCS0006 Page 5

38 Barème Questions 1/ Analyser le problème en le décomposant en modules (3 points) - Analyse et décomposition en modules - Programme principal - Tableaux de déclaration. - Cohérence des appels et mode de passage NB : point par erreur Note 1 point 1 point 0.5 point 0.5 point 2/ Analyser le programme principal ainsi que chacun des modules envisagés. * Module Saisie de m & contrôles (1.5 points): - Saisie de m - Boucle Répéter - Contrôle (parité, borne inf, borne sup) 0.5 point 0.25 point 3x0.25 point * Module vote (4 points) - Saisie des voix + test - Contrôle de la saisie (Répéter jusqu'à) - Calcul de nbf, nbd, nbn - Structure répétitive Pour - Structure conditionnelle Si 1 point 0.5 point 3x0.5 points 0.5 point 0.5 point * Module décision + affichage (2.5 points) décision Affichage 3x0.5 1 point 3/ En déduire les algorithmes correspondants (3 points) moins 0.25 point par erreur. 3 points DOC4MTINFCS0006 Page 6

39 Solution du sujet T2-7 Exercice 1 : {Fonction nommée Power qui retourne x^y (x à la puissance y) }. FUNCTION Power (x, y : integer) : LongInt ; VAR i: Integer ; p: LongInt ; p := 1; For i := 1 to y Do p := p * x ; Power := p ; END; Exercice 2 : Utilisation de la fonction pour effectuer la conversion de binaire à décimal. PROGRAM Power_x_y ; USES WinCrt ; VAR nombre : Integer ; i: Integer ; r : Integer ; valeur : LongInt ; {Fonction nommée Power qui retourne x^y (x à la puissance y) }. FUNCTION Power (x, y : integer) : LongInt ; VAR i: Integer ; p: LongInt ; p := 1; For i := 1 to y Do p := p * x ; END; Power := p ; { ================= P. P ====================} ClrScr ; i := 0 ; valeur := 0 ; DOC4MTINFCS0007 Page 1

40 Write('Entrez le nombre codé en binaire : ') ; ReadLn (nombre) ; END. Wile (nombre < > 0) Do Begin r := nombre MOD 10 ; If (r = 1) Then valeur := valeur + Power (2, i) ; i := i + 1; nombre := nombre DIV 10 ; End ; WriteLn ('Le nombre vaut ', valeur, ' en décimal') ; Exercice 3 : Réutilisation de la fonction Power et écriture d'une fonction Int2Bin qui convertit l'entier en paramètre en binaire PROGRAM _vers_binaire ; USES WinCrt; TYPE Str8 = String [8]; FUNCTION Byte2Bin (valeur : Byte): Str8; VAR s : Str8; i: Integer; s[0] := #8 ; For i := 0 To 7 do Begin s[8 - i] := Char(((value shr i) and 1) + Ord('0')); End; byte2bin := s; END ; FUNCTION power2(i: Integer): Integer ; VAR j: Integer; pro: Integer; pro := 1; Fo j := 1 To i Do Begin pro := pro * 2; End; power2 := pro; END; FUNCTION int2bin (value: Integer): String; DOC4MTINFCS0007 Page 2

41 VAR i: Integer; j: Integer; i := 0; (* nombre de bits de codage *) While (value DIV Power2(i)) <> 0 Do i := i + 1; int2bin[0] := Chr(i); For j := 0 To i - 1 Do Begin int2bin[i - j] := Char(((value shr j) and 1) + Ord('0')); End; END ; { = = = = = = = = = == = = P P = = = = = = = = = = = = = = = =} VAR i: Integer; value: Integer; ClrScr ; WriteLn (int2bin (256) ); END. DOC4MTINFCS0007 Page 3

42 Solution du sujet T2-8 Analyse du Programme Principal Classement Résultat = Afficher les éléments triés du tableau T Traitement : - Une procédure Affiche, permet l'affichage du tableau trié - Une procédure Trier, permet de trier le tableau par la méthode tri shell - Une procédure Remplit_T, permet de remplir au hasard le tableau - Une procédure Saisie, permet de saisir l'entier N Fin Classement Algorithme 0) Début Classement 1) Proc Saisie (N) 2) Proc Remplit_T (T, N) 3) Proc TRi_Shell (T, N) 4) Proc Affiche (T, N) 5) Fin Classement Tableau de déclaration des objets globaux N Maxi T Constante = 1000 Vect Nombre d'éléments du tableau Taille maximale du tableau Tableau des entiers Tableau de déclaration des nouveaux types Type Vect = Tableau de Maxi entiers Analyse de la procédure Saisie Résultat = Saisie et test de N Traitement Répeter Lire (N) Jusqu'à (N 10) ET (N Maxi) Fin Saisie Algorithme 0) Procédure Saisie (VAR N : ) 1) Répéter Ecrire ("Entrer un entier N compris entre 10 et ", Maxi ) Lire (N) DOC4MTINFCS0008 Page 1

43 Jusqu'à (N 10) ET (N Maxi) 2) Fin Saisie DOC4MTINFCS0008 Page 2

44 Analyse de la procédure Remplit Résultat = Remplit par N valeurs prise au hasard un tableau T Traitement : L'action de génération des valeurs aléatoire (hasard) se fait par la fonction prédéfinie Hasard (x). En prendra par exemple x = 5000 Pour i de 1 à N Faire T[i] Hasard (5000) Fin Remplit Algorithme 0) Procédure Remplit (VAR T : Vect ; N : ) 1) Pour i de 1 à N Faire T[i] Hasard (5000) 2) Fin Remplit Tableau de déclaration des objets locaux i Compteur Analyse de la procédure Trier { Tri Shell } Résultat = Trier par ordre croissant le tableau T Traitement : - Le tri Shell consiste à appliquer le tri par insertion sur p sous tableaux du tableau initial T. - On répète cette opération de base pour des valeurs de p (pas) qui vont en diminuant jusqu'à une valeur finale 1. - Le pas p est calculé à partir de la formule : pn+1 = (3*pn+1) avec p0 = 1. - Pour avoir la valeur maximale du pas, on utilise une boucle à condition d arrêt : P 1 Tant Que p < N Faire p (3 * p + 1) - Détermination des valeurs successives que prendra le pas en utilisant la formule suivante : p p div 3 jusqu à arriver à une valeur pour le pas égale à 1. On utilise une boucle à condition d arrêt Tant Que p 0 Faire p p DIV 3 - Pour par exemple une valeur maximale du pas p = 4, on a 4 sous tableaux dont les éléments sont distants de 4 cases. Ces 4 sous tableaux seront triés par l'algorithme de tri par insertion. Si T[i] n est pas à sa place alors on réalise les actions suivantes : Pour i de p +1 à N Faire DOC4MTINFCS0008 Page 3

45 - Ranger la valeur de T[i] dans la variable TMP Pos c'est la valeur actuelle de i - Décaler vers la droite de la valeur de p les contenus de T[pos - p] puis de T[pos - 2 * p], etc. jusqu à arriver à une valeur qui est inférieure à T[i].. - Affecter au dernier élément décalé la valeur de TMP - On prend la seconde valeur de p calculé, on répète le même traitement jusqu'à une valeur de p = 1. Dans ce cas on applique un tri par insertion normal sur tout le tableau. Fin Tri_Shell Algorithme 0) Procédure Trier (VAR T : Vect ; N : ) 1) P 1 2) Tant Que (p < N) Faire p (3 * p +1) Fin Tant Que 3) Tant Que (p < >1) Faire p p DIV 3 Pour c de p+1 à N Faire Si T[c] < T[c-p] Alors Tmp T[c] pos c Tant Que (pos > p-1) ET (T[pos -p] > tmp) Faire T[pos] T[pos - p] pos pos - p Fin Tant que T[pos] Tmp Fin Si Fin Tant Que 3) Fin Tri_Shell Tableau de déclaration des objets locaux c p Tmp pos Compteur Le pas Variable temporaire de sauvegarde Position actuelle d'une valeur à déplacer Analyse de la procédure Affiche Résultat = Afficher le contenu du tableau Traitement : Une itération complète permet le parcourt et l'affichage des éléments du tableau T DOC4MTINFCS0008 Page 4

46 Pour i de 1 à N Faire Ecrire T[i] Fin Affiche DOC4MTINFCS0008 Page 5

47 Algorithme 0) Procédure Affiche (T : Vect ; N : ) 1) Pour i de 1 à N Faire Ecrire (T[i]) 2) Fin Affiche Tableau de déclaration des objets locaux i Compteur Traduction en Pascal PROGRAM Tri_Shell ; USES WinCrt ; CONST Maxi = 1000 ; TYPE Vect = ARRAY [1..Maxi] OF Integer ; VAR T : Vect ; N : Integer ; { } PROCEDURE Saisie (VAR N : Integer ); Repeat Write ('Entrer un entier N compris entre 10 et 1000 : '); ReadLn (N); Until (N >= 10 ) AND (N <= Maxi) ; END ; { } PROCEDURE Remplit (VAR T : Vect ; N : Integer ) ; VAR i : Integer ; Randomize ; For i := 1 TO N DO T[i] := Random (5000); END ; { } PROCEDURE Trier (VAR T : Vect ; N : Integer ); VAR p, c, pos, Tmp : Integer ; p := 1 ; DOC4MTINFCS0008 Page 6

48 While (p < N) Do Begin p := (3 * p +1) ; End ; {End while } While (p <> 0 ) Do { 1er While } Begin p := p DIV 3 ; For c:= p+1 TO N Do Begin If T[c] < T[c-p] Then Begin Tmp := T[c]; Pos := c ; While (pos > p-1) AND (T[pos - p] > Tmp) Do {2 eme While } Begin T[pos] := T[pos - p] ; Pos := pos - p ; End ; {End 2 eme While } T[pos] := Tmp ; End ; { End If } End ; { End For } End ; { End 1er While } END ; { } PROCEDURE Affiche (T : Vect ; N : Integer ) ; VAR i : Integer ; For i := 1 To N Do Writeln (i:3,' : ', T[i] ); END ; { ===================== P P ==========================} Saisie (N); Remplit (T, N) ; Trier (T, N) ; Affiche (T, N); END. DOC4MTINFCS0008 Page 7

49 Solution du sujet T2-9 1 ère PARTIE ( 8 points) EXERCICE N 1 ( 3 points) EXAMEN DU BACCALAUREAT (session : JUIN 1995) SUJET : INFORMATIQUE 1/ a/ F V F b/ V F F 2/ F F V EXERCICE N 2 (2 points) Base Binaire Octale Décimale Hexadécimale Nombre 875 X X 101 X X X X AB1 X 120 X X X EXERCICE N 3 (1 point) ( 135 ) 8 < ( 95 ) 10 < ( ) 2 < (A01) 16 EXERCICE N 4 (2 points) «Un ordinateur est une machine électronique programmable de traitement automatique de l'information Il est constitué principalement d'une unité centrale qui exécute le programme instruction par instruction, d'une mémoire centrale contenant les programmes et leurs données, et d'éléments périphériques permettant la communication entre l'utilisateur et la machine.» Dictionnaire de micro-informatique. DOC4MTINFCS0009 Page 1

50 2 ème PARTIE (12 points) 1/ ALGORITHME PROCEDURE SAISIE_DEC 0) Procédure Saisie_Dec (VAR N : ) 1) REPETER Ecrire ("Donner un entier N strictement positif : ") Lire ( N ) JUSQU'A (N > 0) 2) Fin Saisie_Dec 2/ ALGORITHME PROCEDURE SAISIE_BASE 0) Procédure Saisie_Base (VAR B : ) 1) REPETER Ecrire ("Donner une base: ") Lire ( B ) JUSQU'A (B 2) ET ( B 16) { ou JUSQU'A B DANS [ ] } 2) Fin Saisie_Base 3/ a/ ALGORITHME PROCEDURE RANGER 0) Procédure Ranger (N, B : ; VAR RESTES: Vecteur ; VAR R : ) 1) R 0 2) REPETER R R + 1 RESTES [ R ] N MOD B N N DIV B JUSQU'A (N = 0) 3) Fin Ranger 3/ b/ Traduction en Pascal PROCEDURE RANGER ( N, B : Integer; VAR RESTES : vecteur; VAR R : Integer); R := 0; REPEAT R := R + 1 ; RESTES[ R ] := N MOD B; N := N DIV B; DOC4MTINFCS0009 Page 2

51 END; UNTIL N=0; DOC4MTINFCS0009 Page 3

52 4/ ALGORITHME PROCEDURE 0) Procédure Renverser (VAR RESTES : vecteur ; R : entier) 1) POUR i DE 1 A ( R DIV 2) FAIRE inter RESTES[ i ] RESTES [ i ] RESTES[ R - i + 1 ] RESTES [ R - i + 1 ] inter 2) Fin Renverser Tableau de codification des objets locaux i Compteur 5/ a / ALGORITHME FONCTION CONVERT 0) Fonction Convert (c : ) : Caractère 1) Si c < 10 ALORS Fn Convert CHR (c + ORD("0") ) SINON Fn Convert CHR (c ORD("A") ) Fin Si 2) Fin Convert Remarque : l'élève peut donner d'autres solutions en utilisant par exemple le code ASCII ou la structure de choix multiples ( SELON c FAIRE... ) 5/ b/ Traduction en Pascal FUNCTION CONVERT (c : Integer) : Char ; IF c < 10 THEN CONVERT := CHR (c + ORD('0')) ELSE CONVERT := CHR ( c ORD('A')) ; END; 6/ ALGORITHME PROCEDURE CONCATENATION 0) Procédure Concaténation (VAR résultat : mot ; RESTES : vecteur) 1) résultat "" 2) Pour i De 1 à R Faire résultat résultat + Fn Convert (RESTES[ i ] ) DOC4MTINFCS0009 Page 4

53 3) Fin Concaténation DOC4MTINFCS0009 Page 5

54 Tableau de codification des objets locaux i Convert Fonction Compteur Convertit les restes en chiffres / lettres de la base B 7/ ALGORITHME CONVERSION 0) Début Conversion 1) Proc Saisie_Dec (N) 2) Proc Saisie_Base (B) 3) Proc Ranger (N, B, RESTES, R) 4) Proc Renverser (RESTES, R ) 5) Proc Concaténation (résultat, RESTES) 6) Ecrire ( N, " en décimal vaut ", résultat, " en base ", B ) 7) Fin Conversion Tableau de codification des objets globaux Rmax N B Restes Résultat Saisie_Dec Saisie_base Ranger Renverser Concaténation Constante = 15 Vecteur Mot Procédure Procédure Procédure Procédure Procédure Valeur maximale des chiffres binaires Le nombre décimal La Base Tableau des restes des divisions Résultat de la conversion Saisie et teste le nombre décimal Saisie et teste l'entier représentant la base Range les restes dans le tableau Restes Renverse le tableau des restes Rassemble les restes pour former le résultat. Tableau de déclaration des nouveaux types Vecteur = Tableau de Rmax entiers Mot = Chaîne [Rmax] Type DOC4MTINFCS0009 Page 6

55 Solution du sujet T2-10 BAC 97 - CORRIGE PARTIE 1 (8 points) EXERCICE 1 (3 points = 6 x 0,5) V A := 3 ; V E := (C >= C ) ; F C := 3 ; V T[ 1 ] := -8 ; V D := ALI ; F T[ 5 ] := T[ 1 ] / 2 ; EXERCICE 2 (3 points = 6 x 0,5) (76)8 < (77)8 < (100)8 (29E)16 < (29F)16 < (2A0)16 (110010)2 < (110011)2 < (110100)2 EXERCICE 3 (2 points = 4 x 0,5) Variable Valeur affichée Dans la procédure CHERCHE Dans le programme principal (après appel de la procédure) x 3 0 y 0 0 PARTIE 2 (12 points) 1/ a) ALGORITHME PROCEDURE SAISIE 0) Procédure Saisie (VAR n : ; VAR A : Tab) 1) REPETER Lire( n ) JUSQU A n DANS [ ] 2) POUR i DE 1 A n FAIRE REPETER Lire( A[ i ] ) JUSQU A (A[ i ] 0) ET ( A[ i ] 20 ) 3) Fin Saisie DOC4MTINFCS0010 Page 1

56 Tableau de codification des objets locaux i Compteur b) Traduction en Pascal PROCEDURE SAISIE (VAR n : INTEGER ; VAR A : TAB) ; VAR i : INTEGER ; REPEAT READLN( n ); UNTIL n IN [ ]; END; FOR i:=1 TO n DO REPEAT READLN( A[ i ] ); UNTIL (A[ i ] >= 0) AND (A[ i ] <= 20); 2/ ALGORITHME FONCTION RANG 0) Fonction Rang (n : ; A: TAB ; V : Réel) : 1) R 1 2) POUR i DE 1 A n FAIRE Si A[ i ] > V Alors R R + 1 Fin Si 3) RANG R 4) Fin Rang Tableau de codification des objets locaux i, R s Compteurs 3/ a) ALGORITHME PROCEDURE RANGS 0) Procédure Rangs (n : ; A: TAB; VAR R : RA) 1) POUR i DE 1 A n FAIRE R [ i ] Fn RANG (n, A, A[ i ] ) Fin pour DOC4MTINFCS0010 Page 2

57 2) Fin Rangs Tableau de codification des objets locaux i Rang Fonction Compteur Cherche le rang pour une moyenne V DOC4MTINFCS0010 Page 3

58 b) Traduction En Pascal PROCEDURE RANGS (n : INTEGER ; A: TAB; VAR R: RA ); VAR i : INTEGER; FOR i:=1 TO N DO R[ i ] := RANG ( n, A, A[ i ] ) END; 4/ ALGORITHME PROCEDURE AFFICHE 0) Procédure Affiche (n : ; A : TAB ; R : RA) 1) POUR i DE 1 A n FAIRE Ecrire ( i, A[ i ], R[ i ] ) 2) Fin Affiche Tableau de codification des objets locaux i Compteur 5/ ALGORITHME RECHERCHE_RANG 0) Début Recherche_Rang 1) Proc Saisie (n, M) 2) Proc Rangs (n, M, R) 3) Proc Affiche (n, M, R ) 4) Fin Recherche_Rang Tableau de codification des objets globaux N M R Saisie Rangs Affiche Tab RA Procédure Procédure Procédure Nombre d'élèves Tableau des moyennes Tableau des rangs Saisie et teste l'entier N Range les rangs dans R Renverse les tableaux R et M DOC4MTINFCS0010 Page 4

59 Tableau de déclaration des nouveaux types Tab = Tableau de N Réels RA = Tableau de N s Type DOC4MTINFCS0010 Page 5

60 Solution du sujet T2-11 CORRIGE DU SUJET DE BAC (JUIN 2001) PARTIE 1 (6 points) Exercice 1 (3 points) Soit le message suivant : "Cher ami, j'ai reçu ton message électronique et je te signale que tu peux télécharger le cours de multimédia à partir de l'adresse suivante : fttp;//edunet.tn" 1) Définir les expressions soulignées. * Un message électronique est un message envoyé par courrier électronique ( ). * Télécharger : Rapatrier sur son ordinateur, des fichiers se trouvant sur un autre site Internet (Download). * fttp://edunet.tn : adresse FTP (pour téléchargement) du site Internet nommé edunet.tn 2) Citer les services d'internet évoqués dans ce message. * Courrier électronique ( ). * FTP (File Transfert Protocol) Exercice 2 (3 points) Remplir le tableau suivant : Description Moteur de recherche Explorateur Adresse (URL) d'un site Internet Adresse du courrier électronique ( ) Logiciel de création des pages Web Protocole réseau Exemple Internet Explorer http;// Mohamed.Salah@edunet.tn MS Front Page TCP/IP PARTIE 2 (14 points) 1) Décomposition en modules * Proc Saisie_Nombre * Proc Extraction * Proc Trie * Proc Affiche * Programme principal Plus Grand Dans ce qui suit on va respecter les normalisations utilisées actuellement, c'est-à-dire l'écriture des analyses suivie des algorithmes et des tableaux de codification. Analyse de la procédure Saisie_Nombre Résultat = Saisie et teste de N Traitement : DOC4MTINFCS0011 Page 1

61 Lire un entier N et refuser tout nombre négatif. Fin Analyse Algorithme de la procédure Saisie_Nombre 0) Procédure Saisie_Nombre (VAR n : ) 1) Répéter Ecrire ("Enter un entier : ") Lire ( n ) Jusqu'à (n > 0) 2) Fin Saisie_Nombre Analyse de la procédure Extraction Résultat = Tableau de chiffres Traitement : Extraire les chiffres de l'entier N et les mettre dans le tableau T de la façon suivante : Convertir l'entier N en chaîne de caractères Extraire un à un les caractères (chiffres) de la chaîne Convertir chaque caractère en chiffre numérique et le mettre dans le tableau T. Fin Analyse Algorithme de la procédure Extraction 0) Procédure Extraction (n : ; VAR T : Tab ; VAR L : ) 1) ConvCh (n, ch) 2) L Longueur (ch) 3) Pour i de 1 à L répéter Valeur (ch[ i ], T[ i ], er ) 4) Fin Extraction Tableau de codification des objets locaux ch i er Chaîne de caractères L'équivalent en chaîne de l'entier N Compteur Variable contenant le numéro la position du caractère qui a provoqué une erreur, sinon elle contient 0. Analyse de la procédure Tri (Tri à bulles) Résultat = Tri Traitement : - Trier par ordre croissant le tableau T. DOC4MTINFCS0011 Page 2

62 - Méthode choisie : Tri à bulles On compare le 1 er et le 2 e élément du tableau, on conserve le plus grand et puis on les échange s'ils sont désordonnés. On recommence cette opération jusqu'à la fin du tableau. Si un échange a été effectué, on recommence le même traitement. La condition d'arrêt de la répétition est que aucun échange ne se fait pendant un parcourt total du tableau. Fin Analyse Algorithme de la procédure Tri 0) Procédure Tri (L : ; VAR T : Tab) 1) Répéter échange Faux Pour i de 1 à L - 1 Faire Si T[ i ] < T[ i + 1 ] Alors aux T[ i ] T[ i ] T[ i + 1 ] T[ i + 1 ] aux échange Vrai Fin Si Jusqu'à (échange = Faux ) 2) Fin Tri Tableau de codification des objets locaux échange i aux Booléen Drapeau Compteur Variable auxiliaire Analyse de la procédure Affiche Résultat = Afficher le plus grand entier formé. Traitement : Pour afficher le plus grand entier formé, il suffit d'afficher successivement le contenu du tableau T et ce par une itération simple complète. Fin Analyse Algorithme de la procédure Affiche 0) Procédure Affiche (L : ; T : Tab) 1) Ecrire ("Le plus grand entier formé est : ") 2) Pour i de 1 à L répéter Ecrire ( T[ i ] ) DOC4MTINFCS0011 Page 3

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Examen Médian - 1 heure 30

Examen Médian - 1 heure 30 NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Algorithmes et programmation en Pascal. Cours

Algorithmes et programmation en Pascal. Cours Algorithmes et programmation en Pascal Faculté des Sciences de Luminy Edouard Thiel Cours Deug 1 Mass MA Module de 75 heures 1997 à 2004 2 Algorithmes et programmation en Pascal Edouard Thiel Table des

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Enseignement secondaire technique

Enseignement secondaire technique Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Programmation structurée et algorithmes de base en Pascal

Programmation structurée et algorithmes de base en Pascal Programmation structurée et algorithmes de base en Pascal Miage1, IF2, DEUG sciences Patrice Effi BROU UFR Mathématiques et informatique Decembre 2003 Chapitre 1 Sommaire 1 Théorie des langages et compilation

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur) REPUBLIQUE DU SENEGAL Un peuple un but une foi MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE DIRECTION DE LA FORMATION PROFESSIONNELLE (Pour l obtention du diplôme d analyste

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME

Plus en détail

TP 1 : 1 Calculs en binaire, octal et hexadécimal

TP 1 : 1 Calculs en binaire, octal et hexadécimal Univ. Lille 1 - Licence Informatique 2ème année 2013-14 Objectifs du TP Ce TP a pour but Codage de l'information TP 1 : 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers. I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0 UNIVERSITE DES SCIENCES SOCIALES DE TOULOUSE Licence Professionnelles LSi Master FC IGSI Programmation Visual Basic Visite guidée d'un programme Visual Basic 6.0 1. un exemple d'application a) créer dans

Plus en détail

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version 8.05.22

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version 8.05.22 Services bancaires par Internet aux entreprises Guide pratique pour : Rapports de solde Version 8.05.22 Table des matières Avez-vous besoin d aide?... 3 Exigences informatiques... 4 Navigateurs acceptés...

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Cours 14 Les fichiers

Cours 14 Les fichiers Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard HAMM, Évelyne LAVOISIER 92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Manuel du logiciel PrestaTest.

Manuel du logiciel PrestaTest. Manuel du logiciel. Ce document décrit les différents tests que permet le logiciel, il liste également les informations nécessaires à chacun d entre eux. Table des matières Prérequis de PrestaConnect :...2

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

Plus en détail

Algorithmique & programmation

Algorithmique & programmation Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail