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