Correction du devoir de synthèse N°3

Poster un nouveau sujet   Répondre au sujet

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

Correction du devoir de synthèse N°3

Message par haiethem le Mar 14 Mai - 22:54

=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 1:
1) Tableau de déclaration des objets locaux:
ObjetType/natureRôle
ientier Compteur
xentier valeur de T[i]
e entier erreur
nombooléenrésultat

2) "225" , "4501" , "75" , "421" , "630"
(tous autres chaines contenant seulement des entiers)
3) La fonction vérifie si un tableau contient seulement des chaines numériques ou non
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 2:


Programme 1Programme 2Programme 3
Erreur dans l'instruction 1Affectation de procédurePROC manque

Paramètres non ordonnés
Paramètres incorrectes
Erreur dans l'instruction 2fonction nom2 sans paramètresFonction sans affectationErreur de type
Solutions proposées1) PROC Nom3(T,FN nom1(A,B),ch)

2) Ecrire (FN nom2(T,A))
1) PROC nom3(T,FN nom1(A,B),ch)

2)ch ← FN nom2(T,FN nom1(A,B))
1) PROC nom3 (T,A,ch)

2) ch←FN nom2 (T,A)
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 3:
5) Résultat = PROC afficher(R,n)

4) r = PROC former(R,A,B,n)

1) n = PROC saisir (n)

2) A = PROC remplir (A,n)

3) B = PROC remplir (B,n)

TYPE
tab = tableau de 11 chaines de caractères
ObjetType/NatureRôle
afficheprocédureaffiche R
RTABRésultat
formerprocédureformer R
saisirprocéduresaisir n
remplirprocédureremplir A et B
nentiernombre de cases
ATABTableau1
BTABTableau2
*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF PROC afficher (r:tab; n:entier)



Résultat = [ ] pour i de 1 à n faire

écrire (r[i])

finpour

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF PROC saisir (var n : entier)

Résultat = n

n= [ ] répéter

n = donnée ("Donner n")

jusqu'à n dans [3..10]

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF PROC remplir (var T:tab; n :entier)

Résultat = T

T=[] pour i de 1 à n faire

répéter

t[i] = donnée ("donner un nombre ")

jusqu'à FN verif (t[i])

finpour

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF PROC former (var R: tab; A,B :tab ; n : entier)

Résultat = R

R=[ ] pour i de 1 à n faire

R[i] ← FN calcul (A[i],B[i])

fin pour

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF FN verif (ch:chaine de caractères) : booléen
Résultat = VErif ← test
test =[ ]Si (i > long(ch)) et (long(ch)> 8 ) alors

test ← VRAI

sinon

test ← faux

finsi

i= [i ← 0] Répéter

i ← i + 1

jusqu'à (i>long(ch)) ou (non (ch[i] dans ["0".."9"]))

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF FN calcul (ch1,ch2:cahines de carcatères):chaine de caractères

Résultat = calcul ← res

res= [ res ← "", PROC taille(ch1,ch2), ret ← 0] pour i de 1 à long (ch1) faire

valeur(ch1[i],x,e)

valeur(ch2[i],y,e)

z ← (x+y+ret) mod 10

ret ← (x+y+ret) div 10

convch(z,rch)

res ← rch + res
finpour

Si ret = 1 alors insère ("1",res,1)

Finsi


*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*

DEF PROC taille (var ch1,ch2 : chaine de caractères)

Resultat = ch1,ch2
ch1,ch2 = [ ] tantque long(ch1)‡long(ch2) faire
si long(ch1)>long(ch2) alors insère("0",ch2,1)
sinon insère("0",ch1,1)
finsi
fintantque


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

Messages : 418
Points : 14165
Réputation : 3
Date d'inscription : 08/11/2010
Age : 40

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 pouvez répondre aux sujets dans ce forum