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 :
TCL C74 Series 55C743 – TV 55” 4K QLED 144 ...
Voir le deal
499 €

Sujet 2014 principale Algorithmique & Programmation :

Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Ven 6 Juin - 12:08

Exercice 1 :
1- Après l’exécution du programme Jeux ci-dessus pour N=1, le message affiché sera :

F «Balle sous gobelet 1»          V «Balle sous gobelet 2»      F «Balle sous gobelet 3»
2- Soit f un fichier de booléens :
a- Pour remplir un champ de la variable g3, on peut utiliser l’instruction :
F Lire (g3.balle)                       V Lire (g3.couleur)              V Lire (f,g3.balle)
b- Pour afficher le contenu de la variable g1, on peut utiliser l’instruction :
F Ecrire (g1)                       V Ecrire (g1.balle,g1.couleur)   F Ecrire (f,g1.balle)


=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 2 :
0)     DEF FN suite (Un : entier) : entier
1)     Si Un = 2 alors suite ← 0
Sinon si Un mod 2 = 0 alors suite ← 1 + suite (Un div 2)
Sinon suite ← 1 + suite (3*Un+1)
            Fin si
2)     Fin suite


=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Exercice 3 :
Algorithme de la fonction PGCDn :
0)     DEF FN PGCDn (m : mat ; n : entier) : entier
1)     Pour li de 2 à n faire
            Pour co de 1 à n – i + 1 faire
            M[li,co] ← FN PGCD (m[li-1,co],m[li-1,co+1])
            Fin pour
        Fin pour
2)     PGCDn ← m[n,1]
3)     Fin PGCDn
Algorithme de la fonction PGCD :
0)     DEF FN PGCD (a,b : entier) : entier
1)     Tantque a <> b faire
                     Si a>b alors a← a – b
                        Sinon b ← b – a
                      Fin si
         Fin tantque
2)     PGCD ← a
[*]
3)     Fin PGCD
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*


Dernière édition par haiethem le Sam 14 Juin - 0:27, édité 2 fois
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par Invité Sam 7 Juin - 18:39

Salut,
F V F .. pour ex 1 quest1 .. nn ?

Invité
Invité


Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Dim 8 Juin - 10:29

Salam Mondher.
oui c'est vrai
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Dim 8 Juin - 10:31

j'ai corrigé
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Dim 8 Juin - 10:32

La procedure jeu2 est sans effet ici
donc g2.balle devient vrai
et g1.balle devient faux
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par Invité Lun 9 Juin - 19:07

Salem,
oui le code est :
pour i de 1 à n faire
proc jeu1(g1,g2);
proc jeu1(g3,g1);
finpour
l'msg qui sera affiché est
ecrire (" balle sous gobelet ",n mod 3 + 1 ); je ne sais pas si ça est vrai ou pas .. mais cest ce que j'ai compris ...

Invité
Invité


Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Lun 9 Juin - 19:29

Exercice 4 :
Résultat = PROC stocker (Res,Mol,Ato)
Mol = associer (Mol,"Molecules.txt")
Res = associer (Res,"Resultats.dat")
Ato = PROC remplir (Ato,N)
N = PROC saisir (N)


=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=




Type
E_ato = enregistrement
Sy : chaîne de 2 caractères
Ma : réel
Fin
E_res = enregistrement
Nom : chaîne de caractères
Ma_mo : réel
Fin
F_ato = fichier de e_ato
F_res =  fichier de e_res
Objet
Type / Nature
Rôle
Stocker
Res
Mol
Ato
Remplir
N
Ea
Er
Procédure
F_res
Texte
F_ato
Procédure
Entier
E_ato
E_res
Stocker dans le fichier résultat
"Resultats.dat"
"Molecules.txt"
"Atomes.dat"
Remplir "Atomes.dat" par N Atomes
Nombre d'atomes dans "Atomes.dat"
Enregistrement atome
Enregistrement résultat






=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=



DEF PROC saisir (var n : entier)
Objet
Type / Nature
Rôle
 
 
 
Résultat = [ ] Répéter
                                         Lire (N)
                             Jusqu'à n ≤ 50
 
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=



DEF PROC remplir (var ato : f_ato ; n : entier)
Résultat = ato
Ato =[associer(ato,"atomes.dat",recréer(ato)]pour i de 1 à n faire
                                                                 Répéter
                                                                            Lire (ea.sy,ea.ma)
                                                                 Jusqu'à FN verif (ea.sy) et (ea.ma>0)
Objet
Type / Nature
Rôle
I
Verif
Entier
Fonction
Compteur
Vérifier le symbole
                                                                 Ecrire (ato,ea)
                                                     Fin pour
 
 
 
 
 =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=

DEF FN verif (ch : chaîne de caractères) : booléen
Résultat = [ ] si long (ch) = 1 alors verif ← ch[1]dans["A".."Z"]
                                                     Sinon si long (ch) = 2 alors
verif ← (ch[1]dans["A".."Z"]) et(ch[2]dans["a".."z"])
Objet
Type / Nature
Rôle
 
 
 
sinon verif ← faux
fin si
 
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=



DEF PROC stocker (var Res : f_res; var Mol : texte; var Ato : f_ato)
Résultat = Res
Res =[ouvrir(mol),ouvrir(ato,recréer(res)] tantque non fin_fichier (mol) faire
                                          Lire_nl(mol,ch)
                                          Er.nom ← sous_chaîne (ch,1,pos("*",ch) – 1)
                                          Efface (ch,1,pos("*",ch))
                                          Ch ← FN init (ch)
Er.ma_mo ← FN calcul (ch)
Objet
Type / Nature
Rôle
Ch  
Init
Calcul
Chaîne de caractères
Fonction
Fonction
Molécule
Insérer des "1" dans la formule
Calculer la masse molaire
                                          Ecrire (res,er)
                                          Fin tantque
 
 
 
 
 
 
 
 
 
 =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=

DEF FN calcul  (ch : chaîne de caractères) : réel
Résultat = calcul ← m
M = [m←0] Répéter
No ← FN atom(ch)
Objet
Type / Nature
Rôle
M
I
No
Nb
E
A
Réel
Entier
Chaîne de caractères
Entier
Entier
Fonction
Masse molaire
Compteur
Nom de la molécule
Nombre d'apparitions
Erreur
Masse atomique
Efface (ch,1,long(no))
Nb ← FN nombre(ch))
Efface (ch,1,long(nb))
Valeur (nb,nbr,e)
M ← m + nbr * FN A(no)
                   Jusqu'à ch =""
 




 





=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=

DEF FN A (no : chaîne de caractères) : réel
Résultat = A ← ea.ma
Ea.ma =[ouvrir(ato)] répéter
                                         Lire(ato,ea)
                                        jusqu'à fin_fichier (ato) ou (ea.sy≠no)
Objet
Type / Nature
Rôle 
 
 
 
 






=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=



DEF FN init (ch : chaîne de caractères) : chaîne de caractères
Résultat = init ← ch
Ch = [ ] pour i de 1 à long(ch) – 1 faire
                   Si ch[i] dans ["a".."z"] et ch[i+1] dans["A".."Z"] alors insère ("1",ch,i+1)
                   Fin si
                   Fin pour
Si majus(ch[long(ch)]) dans["A".."Z"] alors insère("1",ch,long(ch)+1)
Objet
Type / Nature
Rôle
I
Entier
compteur
Fin si
 






=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= 


DEF FN atom (ch : chaîne de caractères) : chaîne de caractères
Résultat = atom ← sous_chaîne (ch,1,p – 1 )
P=[p←0] répéter
                               Inc(p)
                   Jusqu’à ch[p] dans ["0".. "9"]
 
 
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=



DEF FN nombre (ch : chaîne de caractères) : chaîne de caractères
Résultat = nombre ← sous_chaîne (ch,1,k – 1 )
K=[k←0] répéter
                               Inc(k)
                   Jusqu’à majus(ch[k]) dans ["A".. "Z"]


=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Mar 10 Juin - 1:42

Voici un fichier contenant les masses molaires relatives aux principaux éléments chimiques.
Le format est un fichier d'enregistrement :
type
E_ato = record
Sy : string[ 2];
Ma : real;
end;
F_ato = file of e_ato; 
Fichiers joints
Sujet 2014 principale Algorithmique & Programmation : Attachment
atomes.zip Fichier compressé (.ZIP)(2 Ko) Téléchargé 127 fois
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par haiethem Sam 14 Juin - 18:22

Barème détaillé :
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
Exercice 1 :
0.25 * 9 = 2.25
Exercice 2 :
en tête : 0.5
condition d'arrêt : 0.5
affectation du module : 0.25
condition de continuité : 0.25 
cas pair : 0.5
cas impair : 0.5
appels récursifs : 0.25
Exercice 3 :
en tête : 0.5
boucle des lignes (2 à n) : 0.5
boucle des colonnes (1 à n-i+1) : 0.5
affectation de la valeur de M[li,co] : 0.75
affectation du module : 0.5 
Fonction PGCD de deux entiers : 1.25 

Problème :
modularité : 0.75
cohérence (appels + conformité des paramètres) : 0.5 + 0.5
T.D.N.T. : 0.5
T.D.O.G. : 0.5
T.D.O.L. : 0.75
association + création + ouverture + fermeture : 0.5 * 4
saisie et contrôle de N : 0.5
remplissage de fichier "atomes.dat" : 
                               - Parcours : 0.25
                               - Saisie et contrôle du symbole : 0.25 + 0.5
                               - Saisie de la masse atomique : 0.25
                               - Ecriture dans le fichier : 0.25

stockage dans le fichier "resultats.dat" : 
                               - Parcours du fichier "molecules.txt" : 0.25
                               - Lecture d'une ligne : 0.25 
                               - Extraction du nom de la molécule : 0.25
                               - Extraction de la formule de la molécule : 0.25
                               - Détermination de la masse molaire moléculaire :
                                                               * Parcours de la formule de la molécule : 0.5
                                                               * Détermination du nom de l'atome : 0.75
                                                               * Détermination du nombre d'occurrence d'un atome : 0.75
                                                               * Recherche de la masse atomique d'un atome : 1 (0.25 * 4)
                                                               * Calcul de la masse molaire moléculaire : 0.25

                               - Ecriture dans le fichier "resultats.dat" : 0.25
haiethem
haiethem

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

http://www.gdiri.info

Revenir en haut Aller en bas

Sujet 2014 principale Algorithmique & Programmation : Empty Re: Sujet 2014 principale Algorithmique & Programmation :

Message par Contenu sponsorisé


Contenu sponsorisé


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