Page 1 sur 6 Épreuve d’informatique PROTOTYPE 2022 Sections : Sciences de l’inf

Page 1 sur 6 Épreuve d’informatique PROTOTYPE 2022 Sections : Sciences de l’informatique Matière : Algorithmique et programmation Coefficient : 2/3 Durée : 3 heures Exercice 1 : (2,5 points) Soient e un type enregistrement formé des deux champs v1 et v2 respectivement de type caractère et réel, et T un tableau contenant deux enregistrements de type e. 1. Compléter le tableau de déclaration des nouveaux types suivant par une déclaration du type e. Type ......................................................................................................... ......................................................................................................... ........................................................................................................ ........................................................................................................ 2. Compléter le tableau ci-dessous par une déclaration de l’objet T. Objet Type/Nature T .................................................................................................. ................................................................................................... 3. Valider chacune des propositions suivantes par la lettre "V" si elle est correcte ou par la lettre "F" dans le cas contraire. a) Soient e1 et e2 deux enregistrements de type e. L’instruction e1  e2 Permet de recopier la valeur de chaque champ de la variable e2 dans le champ correspondant de la variable e1 Permet de recopier uniquement la valeur du 1er champ de la variable e2 dans le 1er champ de la variable e1 Est incorrecte Page 2 sur 6 b) L’instruction qui permet de trier dans l’ordre croissant, selon le champ v1, un tableau T formé de deux cases contenant chacune un enregistrement de type e est : Si T[1] > T[2] Alors x  T[1] T[1]  T[2] T[2]  x FinSi Si T[1].v1 > T[2].v1 Alors x  T[1] T[1]  T[2] T[2]  x FinSi Si T[1].v1 > T[2].v1 Alors x  T[1].v1 T[1].v1 T[2].v1 T[2].v1  x FinSi 4. Selon votre choix dans la question 3.b), donner le type de l’objet x. ................................................................................................................ Page 3 sur 6 Important : Chaque solution développée par le candidat sous forme d’un algorithme doit être accompagnée d’un tableau de déclaration des objets ayant la forme suivante : Objet Type/Nature Exercice 2 : (4,75 points) Les points cols d’une matrice M d’entiers sont les éléments qui sont minimum sur leur ligne et maximum sur leur colonne. Exemple : Pour la matrice M suivante : 1 2 3 4 1 9 5 7 5 M 2 4 2 2 3 3 4 3 3 2 4 8 5 6 5 5 7 4 10 4 Les points cols sont : M[1,2], M[1,4], M[4,2] et M[4,4] En effet, M[1,2] = 5 est le minimum de la 1ère ligne et le maximum de la 2ème colonne. M[1,4] = 5 est le minimum de la 1ère ligne et le maximum de la 4ème colonne. M[4,2] = 5 est le minimum de la 4ème ligne et le maximum de la 2ème colonne. M[4,4] = 5 est le minimum de la 4ème ligne et le maximum de la 4ème colonne. On présente ci-après une méthode pour déterminer les points cols d’une matrice M de L x C entiers : 1. Remplir deux matrices M_min et M_max de mêmes dimensions que M de sorte que : • M_min contiendra des uns (1) aux positions des minimums des lignes dans M et des zéros dans le reste des cases. • M_max contiendra des uns (1) aux positions des maximums des colonnes dans M et des zéros dans le reste des cases. 2. Remplir un fichier texte F_col par les valeurs de M dont les cases de mêmes coordonnées, dans les deux matrices M_min et M_max, contiennent à la fois la valeur 1. Chaque ligne du fichier contiendra la valeur du point col et le couple de ses coordonnées dans la matrice M séparés par un espace. Exemple : Pour la matrice M de l’exemple précédent, les matrices M_min et M_max seront : 1 2 3 4 1 2 3 4 M_min 1 0 1 0 1 M_max 1 1 1 0 1 2 0 1 1 0 2 0 0 0 0 3 0 0 0 1 3 0 0 0 0 4 0 1 0 1 4 0 1 0 1 5 0 1 0 1 5 0 0 1 0 Page 4 sur 6 Le contenu du fichier F_col sera : 5 (1,2) 5 (1,4) 5 (4,2) 5 (4,4) En effet : • Les cases M_min[1,2] et M_max[1,2] contiennent à la fois la valeur 1 • Les cases M_min[1,4] et M_max[1,4] contiennent à la fois la valeur 1 • Les cases M_min[4,2] et M_max[4,2] contiennent à la fois la valeur 1 • Les cases M_min[4,4] et M_max[4,4] contiennent à la fois la valeur 1 Travail demandé : En utilisant le principe décrit précédemment, écrire un algorithme d’une procédure Points_cols (M,L,C,F_col) qui permet de remplir un fichier texte F_col par le(s) point(s) col(s) d’une matrice M de L x C entiers s’ils existent, sachant que M, L et C sont déjà saisis dans le programme appelant et M est de type Mat. Exercice 3 : (4,75 points) Soit Oct une chaîne de caractères représentant un nombre octal. Afin de convertir ce nombre en binaire, on propose le principe suivant : • Remplir chaque case d’un tableau T par une chaîne de 3 chiffres représentant l’équivalent de son indice en binaire, sachant que T est un tableau de chaînes contenant 8 cases numérotées du caractère "0" au caractère "7". • Déterminer l’équivalent binaire en remplaçant chaque chiffre c de la chaîne Oct par son équivalent binaire dans le tableau T (T[c]). Exemple : L’équivalent binaire du nombre octal représenté par la chaîne "524" est "101010100". En effet, "101010100" est obtenu en remplaçant chacun des chiffres du nombre octal "524" par son équivalent binaire à partir du tableau T suivant : "0" "1" "2" "3" "4" "5" "6" "7" "000" "001" "010" "011" "100" "101" "110" "111" "5" est remplacé par T["5"] qui est égal à "101", "2" est remplacé par T["2"] qui est égal à "010" et "4" est remplacé par T["4"] qui est égal à "100". D’où l’équivalent binaire de "524" est "101010100" Travail demandé : 1. Écrire un algorithme d’une fonction Décimal_Binaire(N) qui permet de retourner une chaîne représentant l’équivalent binaire d’un entier décimal N. 2. En utilisant la fonction Décimal_Binaire et le principe décrit précédemment, écrire un algorithme d’une fonction Octal_Binaire(Oct) qui permet de : • Remplir le tableau T par les équivalents binaires des chiffres représentant les indices des cases du tableau. Chaque équivalent binaire doit être sous forme d’une chaîne de trois chiffres. • Retourner une chaîne représentant l’équivalent binaire de la chaîne octale Oct. Page 5 sur 6 Exercice 4 : (4,5 points) Un quadruplet de nombres premiers jumeaux est une suite constituée de quatre nombres premiers consécutifs de la forme : (p , p + 2 , p + 6 , p + 8 ) Exemple : (5, 7, 11, 13), (11, 13, 17, 19), (101, 103, 107, 109) sont des quadruplets de nombres premiers jumeaux. La somme de la série des inverses des quadruplets de nombres premiers jumeaux converge vers une constante B : Travail demandé : 1. Écrire un algorithme d’une fonction Premier(p) qui permet de vérifier si un nombre p est premier ou non. On rappelle qu'un nombre premier est un entier naturel non nul qui admet exactement deux diviseurs distincts (1 et lui-même). 2. En utilisant la fonction Premier précédente, écrire un algorithme d’une procédure Quadruplets(T) qui permet de remplir un tableau T d’enregistrements par les 200 premiers quadruplets de nombres premiers jumeaux. Chaque élément du tableau T est formé de quatre champs contenant respectivement p, p+2, p+6, p+8. 3. En utilisant la procédure Quadruplets précédente, écrire un algorithme d’une fonction Calcul_B qui permet de retourner une valeur de la constante B en appliquant la formule précédente sur les 200 quadruplets de nombres premiers jumeaux du tableau T. Exercice 5 : (3,5 points) On se propose de crypter le contenu d’un fichier texte F contenant des mots composés d’au maximum 20 lettres majuscules et de sauvegarder le résultat dans un deuxième fichier texte FC. Le cryptage de chaque mot se fait en trois étapes décrites comme suit : Etape 1 : Remplacer chaque lettre du mot par un entier comme indiqué dans le tableau de correspondance suivant : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 On obtient ainsi un ensemble de n entiers {X1, X2, …, Xn} où X1 correspond à la première lettre du mot, X2 correspond à la deuxième lettre du mot et Xn correspond à la nème lettre du mot. Exemple : Pour le mot "BAC", on obtient l’ensemble de trois entiers {1, 0, 2} Etape 2 : Transformer l’ensemble {X1, X2, …., Xn} en un ensemble {Y1, Y2, ……,Yn} tel que : Yi = ( 22 * Xi ) MOD 26 Exemple : Pour l’ensemble {1, 0, 2}, on obtient le nouvel ensemble {22, 0, 18}, en effet : Y1= (22 x X1) MOD 26 = (22 x 1) MOD 26 = 22 Y2= (22 x X2) MOD 26 uploads/s3/ protoype-theorique-algo-s1-2-220413-102035.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager