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.