Que vaut l'expression booléenne ci-dessous ? Justifiez votre réponse.
( (0<1) OR False ) AND (True OR (9-3=3) )
Qu'affiche à l'écran le programme ci-dessous ? Attention à l'alignement des caractères.
PROGRAM Mystère;
CONST N = 4;
VAR i, j : INTEGER;
BEGIN
FOR i := N DOWNTO 0 DO Write('-');
WriteLn;
FOR i := N DOWNTO 0 DO
BEGIN
FOR j := i TO N DO Write(' ');
FOR j := -i TO i DO Write('*');
WriteLn;
END;
END.
Qu'affiche à l'écran le programme ci-dessous ?
PROGRAM Message;
VAR Mot : STRING;
n, i : INTEGER;
t : CHAR;
BEGIN
Mot := 'message';
n := Length(Mot);
FOR i := 1 TO n DIV 2 DO
BEGIN
t := Mot[n+1-i];
Mot[n+1-i] := Mot[i];
Mot[i] := t;
END;
WriteLn(Mot);
END.
Faire un programme qui calcule la somme des chiffres d'un nombre entier positif fourni par l'utilisateur. Utilisez pour cela les opérations DIV et MOD.
Faire une procédure qui modifie un tableau d'entiers pour y mettre les sommes partielles. Avant l'exécution de la procédure, ce tableau contient n entiers (xi)i=1...n ; à la fin ces entiers sont remplacés par n entiers (yi)i=1...n tels que
Cette procédure sera du type :
PROCEDURE SommesPartielles
(VAR Suite : ARRAY[1..N] OF INTEGER);
Remplacez la boucle WHILE par une boucle FOR. On utilisera l'opération DIV. Le programme ne doit pas dépendre de la valeur de Max.
PROGRAMME Exemple;
CONST Max = 10;
VAR s, i : INTEGER;
BEGIN
s := 0;
i := 0;
WHILE i <= Max DO
BEGIN
s := s + i*i;
i := i + 3;
END
END.
Vous pouvez aussi voir la version DVI.
Louis Granboulan