Correction du devoir de synthèse N°2 :

Voir le sujet précédent Voir le sujet suivant Aller en bas

Correction du devoir de synthèse N°2 :

Message par haiethem le Jeu 13 Mar - 9:35

=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 1 :
A – DEF FN QUOI (ch : chaîne de caractères ) : entier
B –

 

C – 
Cette fonction convertit une chaîne de caractères numériques en entier.
D –
La procédure standard qui réalise le même traitement est valeur.
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 2 :
1 ère méthode :
DEF FN verif (n : entier ) : booléen
Résultat = verif ← (n=0) ou (n=7)
N = [ ] tantque n > 9 faire
                        N ← abs (n div 10 – 2 * n mod 10)
            Fin tantque
2 ème méthode :
DEF FN verif (n : entier ) : booléen
Résultat = si (n=0) ou (n=7) alors verif ← vrai
                            Sinon si (n dans [1 .. 6] ) ou (n dans [8..9]) alors verif ← faux
                            Sinon verif ← FN verif(n div 10 – 2 * n mod 10)
                        Fin si
N.B: il existe d'autres méthodes se basant sur l'une de ces deux méthodes
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
 Exercice 3 :
Résultat = PROC afficher (n)
N = PROC saisir (n)
Objet
Type / Nature
Rôle
N
Afficher
Saisir
Entier
Procédure
Procédure
Nombre
Afficher la suite
Saisir n
 
 
DEF PROC saisir (var n : entier)
Résultat = [ ] Répéter
                         Ecrire (« donner n » )
                         Lire(n)
                     Jusqu’à n > 1
DEF PROC afficher (n : entier)
Résultat = écrire (max)
Max = [max ← n] Répéter
                                   Ecrire (n)
                                   Si n mod 2 =0 alors n ← n div 2
                                   Sinon n ← 3 * n +1
                                   Fin si
                                   Si n > max alors max ← n
                                   Fin si
                             Jusqu’à n = 1
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 4 :
Résultat = PROC afficher (f,n)
TYPE
Tab = tableau de 15 entiers
Mat = tableau de 15 lignes et 15 colonnes
N = PROC saisir(n)
F = PROC former (f,m,n)
Objet
Type / Nature
Rôle
N
Afficher
Saisir
Entier
Procédure
Procédure
Nombre
Afficher la suite
Saisir n
M = PROC remplir(m,n)
 
 
 
 
DEF PROC saisir (var n : entier)
Résultat = [ ] Répéter
                                   Ecrire (« donner n »)
                                   Lire (n)
                        Jusqu’à n dans [2..15]
DEF PROC afficher (t : tab ; n : entier)
Résultat = [ ]  pour i de 1 à n faire
                                   Ecrire (t[i])
                        Fin pour
DEF PROC remplir ( var m : mat ; n : entier)
Résultat = [ ] pour li de 1 à n faire
                                   Pour col de 1 à li faire
                                               Si (li = col) ou (col = 1 ) alors m[li,col] ← 1
                                               Sinon m[li,col] ← m[li-1,col]+m[li-1,col-1]
                                               Fin si
                                   Fin pour
                        Fin pour
DEF PROC former (var f : tab ; m : mat ; n : entier)
Résultat = [ ] pour i de 1 à n faire
                                   F[i] ← FN somme (m,i)
                        Fin pour
DEF FN somme (m : mat ; li : entier) : entier
Résultat = somme ← s
S =[s←0,nb←li,col←1]si li mod 2 = 0 alors Répéter
                                                                       S ← m[li,col]+s
                                                                       Col ← col + 1
                                                                       Li ← li – 1
                                                           Jusqu’à col > nb div 2
                                               Sinon Répéter
                                                                       S ← m[li,col]+s
                                                                       Col ← col + 1
                                                                       Li ← li – 1
                                                           Jusqu’à col > nb div 2 +1
                        Fin si

_________________
=================================
Haiethem Elguediri
Lycée Secondaire Mareth
+21652084191
+21652906038
+21631139805
+21675321050
haiethem@gmail.com
www.haiethem.tk
avatar
haiethem

Messages : 425
Points : 14917
Réputation : 3
Date d'inscription : 08/11/2010
Age : 41

Voir le profil de l'utilisateur http://www.haiethem.tk

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum