Travail Dirigé 1

 

 

1.   Expressions

a)        Ecrire les expressions arithmétiques suivantes

          

b)        Ecrire les expressions logiques qui vérifient si le point est situé dans la figure :

   

2.   Entrée/sortie simple.

Quel sera l’affichage du programme suivant ?


program Project1;

const ESP = ' ';

var

a,b,c :real;

i,j,k : integer;

l1,l2,l3 : boolean;

ch1,ch2,ch3:char;

begin

readln (a,ch1,ch1,b);

readln (c,i,j,ch2,k);

read(ch3); read(k);

readln;

writeln('a =', a,ESP, a:10,ESP, a:8:3);

writeln ('b=',b, ' c= ',c:10:3, 'i = ',i, ' j= ',j,

' k= ',k,' ch1= ',ch1, ' ch2= ',ch2,

' ch3=    ',ch3);

writeln('a',ch1,'b','=',a+b:8:2);

writeln('i/j=', i/j:8:2);

writeln('i div j=', i div j);

writeln('i mod j=', i mod j);

writeln('k>2 est ', k>2);

writeln ('(a>2) and (a<5) est ',(a>2) and (a<5) );

writeln ('(a>2 or a<5) est ',(a>2) or (a<5) );

writeln ('(a>2) xor (a<5)  est ',(a>2) xor (a<5) );

end.


 

si on a tapé les données suivantes :


Résultat :

 

3.   Ecrire un programme qui calcule et affiche les racines de l’équation suivante :

a)        

 

b)       

 

 

 

 

Program Linequation

var

     b,c,x :real ;

begin

     {Lire}

  write('Tapez les valeurs de b et c: ');

readln (b,c);

writeln (b:8:2, c:8:2);

{Traitement}

x := -c/b;

{Afficher}

writeln(‘x=’,x :8 :2) ;

end.

 

 

 

 

 


program Carequation;

var

    a,b,c,x1,x2,d :real;

    r:string[10];

 

begin

{Lire}

write('Tapez les valeurs de a,b et c: ');

readln (a,b,c);

writeln (a:8:2,b:8:2, C:8:2);

{Traitement}

  if a=0 then

   if b = 0 then

   begin {equation degenere}

     if c=0 then

     begin

       r:= 'Tous les X';

       x1:=0; x2:=0;

     end else

     begin

       r:= 'Aucun X';

       x1:=0; x2:=0;

     end

   end else

   begin{equation lineaire}

     r:= 'lineaire';

     x1 := -c/b; x2:=x1;

   end

   else

   begin {equation carree}

     d := sqr(b)-4*a*c;

     if d >=0 then

     begin

       r:= 'reel';

       x1:=(-b+sqrt(d))/(2*a);

       x2:=c/(x1*a);

 

     end else

     begin

       r:= 'complex';

       x1:=-b/(2*a);

       x2:=sqrt(-d)/(2*a);

     end

   end;

   {Afficher}

   writeln('resultats: ',r);

   writeln('x1=',x1:8:2, ' x2=',x2:8:2);

end.