Correction DC2
                3Maths1
       Melle chahed Héla
Objet   Type/nature              Rôle

v       Tableau de 2 entiers     Tableau contenant 2entier



T       Tableau de 3 chaine de   Tableau contenant 3
        caractère                chaines



ch      Chaine de caractère      Sert à contenir une chaine
                                 donnée par l’utilisateur




        0.5+0.5+0.5
Ch contient ‘ 2013 ‘ 0.25
T
        ‘org’      ‘sports.org’   ‘www.sports2013.org’


       0.25        0.25               0.25
   V
        1                         18


               0.25               0.25
   Exercice 2 Soit le programme suivant

    Program ex2 ;
   Uses wincrt ;
   Var x :real ;
   M,n:integer;
   S:string[9];
   Begin
   Readln(x);
   M:=round(x)
   N:=trunc(x);
   If(m=n) then s:=’ça marche’
          Else s:=’ça marche pas’;
   End.
 Problème :pour la deuxième valeur de x
  ,normalement on doit avoir comme
  résultat ‘ca marche pas’ or on obtient à
  l’écran ‘ca marche’ !! 1point
 Solution : s:string[13] 1point
ex3-Encercler les erreurs commises dans
 chacune des instructions suivantes :

    ◦ if a<b then x = x+1 ; else x:=x-1;

    ◦ if a<b then begin x :=x+1 ; y:=b ; end

          Else begin x :=x-1; y :=a ; end ;

    ◦ if n := 0 then ; p :=1 ;


1-0.5+0.5
2-0.25+0.25+0.25+0.25+0.25
3-0.25+0.25+0.25
 Exercice 4
 Ecrire un algorithme du programme
  intitulé DEGRE1, qui résout dans R une
  équation du premier degré à une
  inconnue x réelle de la forme :A* x + b=0
   Si a=0    b=0 x=‘IR’

             b<>0 x=‘{}’

   Si a<>0    b=0
                       x= -b/a
              b<>0
 Analyse
NOM=DEGRE1 0.25
Résultat=écrire(‘’ l’ensemble des solutions est ‘’,S) 0.25
S=[] 0.25
Si a=0 alors
   si b=0 alors S ‘’IR’’
   sinon s ‘‘{}’’
   fin si                     2points
Sinon convch(-b/a,ch)
       s ‘’{‘’+ch+’’}’’
Fin si
 A=donnée(« entrer a : ») 0.25
 b=donnée(« entrer b: ») 0.25
 Fin DEGRE1 0.25
Objet    Type        Rôle



   a,b      réel        Deux réels entré
                        par l’utilisateur


   S        Chaine de   Contient la
            caractère   solution a
                        afficher

   ch       Chaine de   Chaine contenant
            caractère   le nombre –b/a
                        convertit en
                        chaine


0.5points
Pratique
   Ecrire un programme qui permet de saisir le sexe (M/F), la
    taille (cm), et le poids (kg) d’une personne et d’afficher :
    1. PI, le poids idéal d’une personne, sachant que ce poids
    théorique est donné par la formule de Lorenz comme suit :
    · Pour un homme : PI = (taille – 100) – (taille – 150) / 4
    · Pour une femme : PI = (taille -100) – (taille – 120) /4
    2. BMI, l’indicateur d’obésité (Body Mass Index) où BMI =
    poids / taille² avec taille en mètre
    3. Si une personne est considérée comme : Normale (BMI
    <= 27), ou obèse (BMI > 27) ou
        Malade (BMI >= 32)
program poids;
uses wincrt;
Var                     1point
 bmi,pi,p,t:real;
 s:char;
begin
writeln('Donner le sexe :');
readln(s);
writeln('Donner la taille en CM :');         1.5point
readln(t);
writeln('Donner le poids en KG :');
readln(p);
if (s='m') or (s='M') then
pi:=(t-100)-(t-150)/4             1.5point
else
pi:=(t-100)-(t-120)/4;
 writeln('Le poids idéal est :',  0.5point
   pi:0:2);
   bmi:=p/sqr(t/100); 0.5
   writeln('Le BMI est :',bmi:0:2); 0.5
   if bmi<=27 then
    writeln('Personne considérée comme
    NORMALE')
   else if (bmi>27) and (bmi<32) then     2.5point
    writeln('Personne considérée comme
    OBESE')
   else
    writeln('Personne considérée comme
    MALADE');
   end.

Correction 3M1 dc2

  • 1.
    Correction DC2 3Maths1 Melle chahed Héla
  • 3.
    Objet Type/nature Rôle v Tableau de 2 entiers Tableau contenant 2entier T Tableau de 3 chaine de Tableau contenant 3 caractère chaines ch Chaine de caractère Sert à contenir une chaine donnée par l’utilisateur 0.5+0.5+0.5
  • 4.
    Ch contient ‘2013 ‘ 0.25 T ‘org’ ‘sports.org’ ‘www.sports2013.org’  0.25 0.25 0.25  V 1 18  0.25 0.25
  • 5.
    Exercice 2 Soit le programme suivant  Program ex2 ;  Uses wincrt ;  Var x :real ;  M,n:integer;  S:string[9];  Begin  Readln(x);  M:=round(x)  N:=trunc(x);  If(m=n) then s:=’ça marche’  Else s:=’ça marche pas’;  End.
  • 6.
     Problème :pourla deuxième valeur de x ,normalement on doit avoir comme résultat ‘ca marche pas’ or on obtient à l’écran ‘ca marche’ !! 1point  Solution : s:string[13] 1point
  • 7.
    ex3-Encercler les erreurscommises dans chacune des instructions suivantes : ◦ if a<b then x = x+1 ; else x:=x-1; ◦ if a<b then begin x :=x+1 ; y:=b ; end  Else begin x :=x-1; y :=a ; end ; ◦ if n := 0 then ; p :=1 ; 1-0.5+0.5 2-0.25+0.25+0.25+0.25+0.25 3-0.25+0.25+0.25
  • 8.
     Exercice 4 Ecrire un algorithme du programme intitulé DEGRE1, qui résout dans R une équation du premier degré à une inconnue x réelle de la forme :A* x + b=0
  • 9.
    Si a=0 b=0 x=‘IR’  b<>0 x=‘{}’  Si a<>0 b=0  x= -b/a  b<>0
  • 10.
     Analyse NOM=DEGRE1 0.25 Résultat=écrire(‘’l’ensemble des solutions est ‘’,S) 0.25 S=[] 0.25 Si a=0 alors si b=0 alors S ‘’IR’’ sinon s ‘‘{}’’ fin si 2points Sinon convch(-b/a,ch) s ‘’{‘’+ch+’’}’’ Fin si  A=donnée(« entrer a : ») 0.25  b=donnée(« entrer b: ») 0.25  Fin DEGRE1 0.25
  • 11.
    Objet Type Rôle a,b réel Deux réels entré par l’utilisateur S Chaine de Contient la caractère solution a afficher ch Chaine de Chaine contenant caractère le nombre –b/a convertit en chaine 0.5points
  • 12.
  • 13.
    Ecrire un programme qui permet de saisir le sexe (M/F), la taille (cm), et le poids (kg) d’une personne et d’afficher : 1. PI, le poids idéal d’une personne, sachant que ce poids théorique est donné par la formule de Lorenz comme suit : · Pour un homme : PI = (taille – 100) – (taille – 150) / 4 · Pour une femme : PI = (taille -100) – (taille – 120) /4 2. BMI, l’indicateur d’obésité (Body Mass Index) où BMI = poids / taille² avec taille en mètre 3. Si une personne est considérée comme : Normale (BMI <= 27), ou obèse (BMI > 27) ou  Malade (BMI >= 32)
  • 14.
    program poids; uses wincrt; Var 1point bmi,pi,p,t:real; s:char; begin writeln('Donner le sexe :'); readln(s); writeln('Donner la taille en CM :'); 1.5point readln(t); writeln('Donner le poids en KG :'); readln(p); if (s='m') or (s='M') then pi:=(t-100)-(t-150)/4 1.5point else pi:=(t-100)-(t-120)/4; writeln('Le poids idéal est :', 0.5point pi:0:2);
  • 15.
    bmi:=p/sqr(t/100); 0.5  writeln('Le BMI est :',bmi:0:2); 0.5  if bmi<=27 then  writeln('Personne considérée comme NORMALE')  else if (bmi>27) and (bmi<32) then 2.5point  writeln('Personne considérée comme OBESE')  else  writeln('Personne considérée comme MALADE');  end.