© 1996 JMy

Exercices sur la séquence.


1) Lire 2 nombres a et b. Calculer et afficher leur moyenne.

   entier  a, b
   réel moy
   écrire  "Introduisez a"
   lire  a
   écrire  "Introduisez b"
   lire  b
   moy <-- (a + b) / 2
   écrire  "Moyenne=", moy
   PROGRAM Moyenne;
   VAR a,b : INTEGER;
       moy : REAL;
   BEGIN
   WRITELN('Calcul de la moyenne de 2 nombres.');
   WRITE('Introduisez a:');
   READLN(a);
   WRITE('Introduisez b:');
   READLN(b);
   moy := (a + b) / 2;
   WRITELN('Moyenne=', moy:4:2);
   END.
2) Lire le rayon R d'une sphère. Calculer et afficher son aire = 4 pi R2 et son volume = 4/3 pi R3
   réel R, pi, Aire, Vol
   écrire  "Introduisez la valeur du rayon:"
   lire  R
   pi <-- 3.1416
   Aire <-- 4 * pi * R * R
   Vol <-- 4/3 * pi * R * R * R
   écrire  "Aire =", Aire
   écrire  "Volume=", Vol
   PROGRAM Cercle;
   VAR R, pi, Aire, Vol : REAL;
   BEGIN
   WRITELN('Calcul de l''aire et du volume d''une sphère.');
   WRITE('Introduisez la valeur du rayon:');
   READLN(R);
   pi:=3.1416;
   Aire:=4*pi*R*R;
   Vol:=4/3*pi*R*R*R;
   WRITELN('Aire=', Aire:5:2);
   WRITELN('Volume=', Vol:5:2);
   END.
3) Lire au clavier les longueurs des 3 côtés a, b et c d'un triangle. Calculer et afficher le périmètre et l'aire du triangle. Périmètre = p = a + b + c et aire = (p/2*(p/2-a)(p/2-b)(p/2-c))1/2
   réel a, b, c, Perim, Aire, p
   écrire  "Introduisez la longueur du côté a:"
   lire  a
   écrire  "Introduisez la longueur du côté b:"
   lire  b
   écrire  "Introduisez la longueur du côté c:"
   lire  c
   Perim <-- a + b + c
   p <-- Perim / 2
   Aire <-- (p*(p-a)*(p-b)*(p-c))1/2
   écrire  "Périmètre=", Perim
   écrire  "Aire =", Aire
   PROGRAM Triangle;
   VAR a, b, c, Perim, Aire, p : REAL;
   BEGIN
   WRITELN('Calcul du périmètre et de l''aire d''un triangle.');
   WRITE('Introduisez la longueur du côté a:');
   READLN(a);
   WRITE('Introduisez la longueur du côté b:');
   READLN(b);
   WRITE('Introduisez la longueur du côté c:');
   READLN(c);
   Perim:=a+b+c;
   p:=Perim/2;
   Aire:=SQRT(p*(p-a)*(p-b)*(p-c));
   WRITELN('Périmètre=', Perim:5:2);
   WRITELN('Aire=', Aire:5:2);
   END.
4) Lire au clavier le rayon R d'un cercle et un angle a (en degré(s)). Calculer et afficher l'aire du secteur circulaire = pi R2 a / 360
   réel R, Angle, Aire
   écrire  "Introduisez le rayon:"
   lire  R
   écrire  "Introduisez l'angle (en degré):"
   lire  Angle
   Aire <-- 3.1416 * R * R * Angle / 360
   écrire  "Aire =", Aire
   PROGRAM Secteur;
   VAR R, angle, Aire : REAL;
   BEGIN
   WRITELN('Calcul de l''aire d''un secteur.');
   WRITE('Introduisez le rayon:');
   READLN(R);
   WRITE('Introduisez l''angle au centre (en degré):');
   READLN(Angle);
   Aire:=3.1416*R*R*Angle/360;
   WRITELN('Aire=', Aire);
   END.
5) Lire la somme initiale S placée sur un compte, l'intérêt i offert par la banque et le nombre n d'années de placement de la somme S.
Calculez la valeur acquise par la somme S placée pendant n années avec un intérêt simple: S ( 1 + n * i ) et composé: S ( 1 + i )n
   réel S, Val_Acq_Simple, Val_Acq_Comp
   entier  i, n
   écrire  "Introduisez la somme initiale:"
   lire  S
   écrire  "Introduisez l'intérêt (ex: 6 pour 6%):"
   lire  i
   écrire  "Introduisez le nombre d'années de placement:"
   lire  n
   Val_Acq_Simple <-- S * (1 + n * i / 100)
   Val_Acq_Comp <-- S * (1 + i / 100)n
   écrire  "A intérêt simple:", Val_Acq_Simple
   écrire  "A intérêt composé:", Val_Acq_Comp
   PROGRAM Interet;
   VAR S, Val_Acq_Simple, Val_Acq_Comp : REAL;
       i, n : INTEGER;
   BEGIN
   WRITELN('Calcul de la valeur acquise par une somme S placée pendant n années.');
   WRITE('Introduisez la somme initiale:');
   READLN(S);
   WRITE('Introduisez l''intérêt (ex: 6 pour 6%):');
   READLN(i);
   WRITE('Introduisez le nombre d''années de placement:');
   READLN(n);
   Val_Acq_Simple := S * (1 + n * i / 100);
   Val_Acq_Comp := S * EXP(n*LN(1 + i / 100));
   WRITELN('A intérêt simple:', Val_Acq_Simple:10:2);
   WRITELN('A intérêt composé:', Val_Acq_Comp:10:2);
   END.
6) Lire 2 nombres a et b. Mettre le contenu de a dans b et celui de b dans a.
   entier  a, b, Tmp
   écrire  "Introduisez a:"
   lire  a
   écrire  "Introduisez b:"
   lire  b
   Tmp <-- a
   a <-- b
   b <-- Tmp
   écrire  "a=", a, "et b=", b
   PROGRAM Swap;
   VAR a, b, Tmp: INTEGER;
   BEGIN
   WRITE('Introduisez a:');
   READLN(a);
   WRITE('Introduisez b:');
   READLN(b);
   Tmp := a;
   a := b;
   b := Tmp;
   WRITELN('a=', a, 'et b=', b);
   END.
7) Rédigez en LDA un algorithme qui détermine la date du lundi de Pâques pour une année X introduite au clavier. Voici les différentes étapes de l'algorithme:
* appelons a le reste de la division de X par 19
* appelons b le résultat de la division entière de X par 100
* appelons c le reste de la division de X par 100
* appelons d le résultat de la division entière de b par 4
* appelons e le reste de la division de b par 4
* appelons f le résultat de la division entière de b+8 par 25
* appelons g le résultat de la division entière de b-f+1 par 3
* appelons h le reste de la division de 19a+b-d-g+15 par 30
* appelons i le résultat de la division entière de c par 4
* appelons k le reste de la division de c par 4
* appelons l le reste de la division de 32+2e+2i-h-k par 7
* appelons m le résultat de la division entière de a+11h+22l par 451
* appelons n le résultat de la division entière de h+l-7m+114 par 31
* appelons p le reste de la division de h+l-7m+114 par 31
* n est le numéro du mois et p+1 est le jour de Pâques
   entier  X, a, b, c, d, e, f, g, h, i, k, l, m, n, p
   écrire  "Introduisez l'année:"
   lire  X
   a <-- X mod 19
   b <-- X \ 100
   c <-- X mod 100
   d <-- b \ 4
   e <-- b mod 4
   f <-- (b+8) \ 25
   g <-- (b-f+1) \ 3
   h <-- (19*a+b-d-g+15) mod 30
   i <-- c \ 4
   k <-- c mod 4
   l <-- (32+2*e+2*i-h-k) mod 7
   m <-- (a+11*h+22*l) \ 451
   n <-- (h+l-7*m+114) \ 31
   p <-- (h+l-7*m+114) mod 31
   écrire  "Le jour de Pâques est le", p+1, "-", n, "-", X
   PROGRAM Paques;
   VAR X, a, b, c, d, e, f, g, h, i, k, l, m, n, p: INTEGER;
   BEGIN
   WRITELN('Calcul de la date de Pâques.');
   WRITE('Introduisez l''année:');
   READLN(X);
   a := X MOD 19;
   b := X DIV 100;
   c := X MOD 100;
   d := b DIV 4;
   e := b MOD 4;
   f := (b+8) DIV 25;
   g := (b-f+1) DIV 3;
   h := (19*a+b-d-g+15) MOD 30;
   i := c DIV 4;
   k := c MOD 4;
   l := (32+2*e+2*i-h-k) MOD 7;
   m := (a+11*h+22*l) DIV 451;
   n := (h+l-7*m+114) DIV 31;
   p := (h+l-7*m+114) MOD 31;
   WRITELN('Le jour de Pâques est le', p+1, '-', n, '-', X);
   END.
8) Rédigez en LDA un algorithme qui transforme la valeur d'un angle exprimé en radians en une valeur exprimée en degrés, minutes et secondes. Les fractions de secondes inférieures à 0,5 seront négligées. Dans le cas contraire, on arrondira à la seconde supérieure.
   réel a, deg
   entier  d, m , s
   écrire  "Introduisez l'angle (en radian)"
   lire  a
   deg <-- a * 180 / 3.1416
   d <-- [deg]
   deg <-- deg - d
   m <-- [deg * 60]
   deg <-- deg * 60 - m
   s <-- [deg * 60 + 0.5]
   écrire  a, " en radian(s) =", d, "degré(s) ", m, "minute(s) ", s, "seconde(s)"
   PROGRAM Rad_Degre;
   VAR a, deg : REAL;
       d, m , s : INTEGER;
   BEGIN
   WRITELN('Conversion radian - degré.');
   WRITE('Introduisez l''angle (en radian)');
   READLN(a);
   deg := a * 180 / 3.1416;
   d := TRUNC(deg);
   deg := deg - d;
   m := TRUNC(deg * 60);
   deg := deg * 60 - m;
   s := TRUNC(deg * 60 + 0.5);
   WRITELN(a, ' en radian(s) = ', d, ' degré(s) ', m, ' minute(s) ', s, ' seconde(s)')
   END.

Page précédente.