0% ont trouvé ce document utile (0 vote)
34 vues7 pages

DS2 4math ScExpCorrigé

Le document est un devoir de synthèse en informatique pour les classes de 4ème, comprenant trois exercices sur les algorithmes de tri, l'insertion dans un tableau trié et la gestion des adresses IP. Chaque exercice pose des questions sur la nature des modules, les résultats d'exécution et la décomposition des problèmes en modules. Le devoir inclut des algorithmes, des procédures et des types de données pour illustrer les concepts abordés.

Transféré par

منور تليلي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues7 pages

DS2 4math ScExpCorrigé

Le document est un devoir de synthèse en informatique pour les classes de 4ème, comprenant trois exercices sur les algorithmes de tri, l'insertion dans un tableau trié et la gestion des adresses IP. Chaque exercice pose des questions sur la nature des modules, les résultats d'exécution et la décomposition des problèmes en modules. Le devoir inclut des algorithmes, des procédures et des types de données pour illustrer les concepts abordés.

Transféré par

منور تليلي
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Matière : Informatique

Lycée Ras Jebel Classes : 4ème Math. &4ème Sc.Exp2 Coefficient : 1


※※※※※※※※※※※※※※※※※
Date : 16/03/2024 Durée : 1 h 30 mn
DEVOIR DE SYNTHESE N° 2 Enseignant : M Nejla Mahjoub Abdellatif
me

Nom & prénom : …………………………………………………………………… Note : ……… / 20

Exercice n°1 : (3 points)


Soient les deux algorithmes PP1 et PP2 appelant respectivement les deux modules tri1 et tri2
permettant de mettre en ordre les caractères d’une chaine dans la même chaine :

Algorithme PP1 Module Tri1(s : chaine) : chaine Algorithme PP2 Module Tri2(@s : chaine)
Début Début Début Début
Lire (ch) Pour i de 1 à long (s)-1 faire Lire (ch) Pour i de 1 à long (s)-1 faire
Ecrire(Tri1(ch)) v←s[i] Tri2(ch) v←s[i]
Ecrire(ch) j←i j←i
Ecrire(ch)
Fin Tant que s[j-1] >v faire Fin Tant que s[j-1] >v faire
s[j]←s[j-1] s[j]←s[j-1]
j←j-1 j←j-1
Fin tant que Fin tant que
s[j]←v s[j]←v
Fin pour Fin pour
Retourner s Fin
Fin
Questions :

1. Qu’appelle-t-on la méthode de tri utilisée ?

....................................................................................................................
2. Déduire la nature des modules utilisés (fonction ou procédure)
Tri1 : ...........................
..Tri2 : ......................
....
3. Étant donnée ch= "module " :
a) Donner les résultats d’exécution des programmes PP1 et PP2,
b) Est-ce que les modules appelés modifient la valeur de ch ? (Répondre par Oui ou Non)
c) Si Non, apporter les modifications nécessaires sur l’un ou les deux programmes PP1
et PP2 afin de modifier le contenu de ch après l’appel.
PP1 PP2
a)

b)

Page 1 sur 7
c)

Page 2 sur 7
Exercice n°2 : (6 points)
Afin de pouvoir insérer un entier a dans un tableau T de n entiers triés par ordre croissant tout
en gardant les éléments en ordre, on vous propose l’algorithme insertion suivant :

Algorithme insertion TDNT


Type Procédure Rôle
Début Saisie_n(n) Saisie_n Saisir n entre 5 et 50
Remplir (T,n) Tab=tableau de 50 entier
Remplir Remplir T par n entiers
Tri(T,n) TDO Globaux
Saisie_a(a) Tri Trier le tableau T par
Insérer (T,n,a) ordre croissant
Afficher(T,n) Saisie_a Saisir un entier a
Fin Insérer Insérer l’entier a à sa
bonne position dans le
tableau T
Afficher Afficher les entiers de
T après insertion de a
Questions :

Soient n=8, a=15

Page 3 sur 7
Objet Type/nature
T Tab
N Entier
Saisie_n Procédure
Remplir Procédure
Tri Procédure
Saisie_a Procédure
Insérer Procédure
Afficher Procédure

Et T= 12 32 23 -6 12 45 5 12
1 2 3 4 5 6 7 8

a) Donner le résultat d’exécution du programme insertion :

b) Ecrire l’algorithme de la procédure insérer ainsi que son TDO Locaux


TDO locaux
Objet Type/nature

Page 4 sur 7
Exercice n°3 : (11 points)
Dans les réseaux informatiques, l’adresse IP (Internet Protocol) d’une machine est un numéro
d’identification (dans le réseau) qui permet à la machine de communiquer avec les autres machines
du réseau. L’adresse IP d’une machine est une séquence de 4 nombres, chaque nombre étant un
entier entre 0 et 255. Elle a généralement la forme suivante : W.X.Y.Z
Pour des raisons de lisibilité, les entiers de l’adresse IP sont séparés par des points.
Par exemple 86.215.169.62 est une adresse IP.
Selon le premier nombre (W) on peut classer les adresses IP en cinq classes (A, B, C, D, E) :

Classe Valeur de W

Classe A Entre 0 et 127 inclus

Classe B Entre 128 et 191 inclus

Classe C Entre 192 et 223 inclus

Classe D Entre 224 et 239 inclus

Classe E Entre 240 et 255 inclus

Travail demandé :
On désire écrire un programme adresseIP qui permet de :
Saisir un entier n (avec 4 ≤ n ≤ 20),
Remplir un tableau T par des adresses IP valides ayant le format W.X.Y.Z (avec W, X, Y, Z
sont des entiers compris entre 0 et 255),
Afficher pour chaque classe ses adresses IP correspondantes (on affiche seulement les
classes ayant des adresses IP dans le tableau T)

Exemple : Pour n=7


T : 122.4.32.156 155.200.250.3 245.12.100.3 240.3.1.0 225.13.12.10 244.1.2.3 32.0.0.1
1 2 3 4 5 6 7
L’ordinateur affiche :

Questions :
1. Décomposer le problème en modules,
2. Elaborer l’algorithme du programme principal ainsi que les algorithmes des modules
envisagés,
3. Dresser le TDO globaux ainsi que les TDO locaux

Page 5 sur 7
1) Algorithme de programme principal :
Algorithme adresseIP TDO Globaux
Début n←Saisir() TDNT
Objet Type/nature
Remplir (T,n) Type
TN Tab Entier
Afficher(T,n) Fin Tab=tableau de 50 entier
Saisir Fonction
Remplir Procédure
2) Les algorithmes des modules : Afficher Procédure
Algorithme de la fonction saisir
fonction Saisir ( ) :entier
Début Algorithme de la procédure Remplir
Répéter Procedure Remplir (@T :Tab, n :entier)
Ecrire ("donner un entier compris entre 4 et Début
20 :") Pour i de 1 à n faire
Lire (n) T[i]←""
Jusqu’à n ϵ Pour j de 1 à 4 faire
[4..20] Retourner Ecrire ("donner l'entier n°",j,":")
n nb←saisie_nb() T[i]←T[i]+convch(nb)
Fin +"."
TDO locaux Fin Pour
Objet Type/nature T[i]←sous-chaine(T[i], 0, long(T[i])-1)
n Entier/variable Fin Pour
Fin
TDO locaux
Algorithme de la procédure afficher : Objet Type/nature
Procedure Afficher (T :Tab, n :entier) I,j,nb Entier/variable
Début Saisie_nb fonction
Pour j de "A" à "E" faire
V[j]←"" Algorithme de la fonction saisie_nb :
Fin Pour fonction saisie_nb ( ) :entier
Pour i de 1 à n faire Début
w←Valeur(sous-chaine(T[i],0,Pos(".",T[i]))) Répéter
selon w Ecrire ("donner un entier compris entre 0 et 255 :")
0..127: V["A"]←V["A"]+T[i]+"|" Lire (nb)
128..191: V["B"] ←V["B"]+T[i]+"|" Jusqu’à nb ϵ [0 .. 255]
192..223: V["C"] ← V["C"]+T[i]+"|" Retourner nb
224..239: V["D"] ←V["D"]+T[i]+"|" Fin
240.. 255: V["E"]←V["E"]+T[i]+"|"
TDO locaux
Fin selon
Objet Type/Nature
Fin Pour
nb Entier/variable
Pour i de "A" à "E" faire
Si V[i]≠""alors TDO locaux de la procédure afficher
Ecrire ("Classe ",i,":",V[i]) Objet Type/Nature
Fin si I Entier/variable
Fin Pour J Caractère/variable
Fin V Tableau de 5 chaine
Exercice n°3 :

Page 6 sur 7
Les programmes Python
Exercice n°1 :

Exercice n°2 :

Page 7 sur 7

Vous aimerez peut-être aussi