Forum pour les élèves lycéens
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Cartes Pokémon EV6.5 : où trouver le ...
Voir le deal

Correction du devoir de synthèse N°3

Aller en bas

Correction du devoir de synthèse N°3 Empty Correction du devoir de synthèse N°3

Message par haiethem 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
haiethem

Messages : 485
Points : 27113
Réputation : 3
Date d'inscription : 08/11/2010
Age : 47

http://www.gdiri.info

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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