Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau
ENONCE
Ecrire un programme qui, à partir d'un tableau T formé de N entiers strictement postifs, distincts deux à deux un nouveau tableau TS, de la manière suivante:
TS[1] = T[1]+...+T[K]
TS[2] = T[2]+...+T[K+1]
.
.
.
tel que K est un entiers positif vérifiant 1 < K < N.
EXEMPLE
N=6; K=4
T = [2,3,1,2,4,7]
TS = [(2+3+1+2), (3+1+2+4), (1+2+4+7)]
Soit TS = [8, 9, 14]
SOLUTION
Ecrire un programme qui, à partir d'un tableau T formé de N entiers strictement postifs, distincts deux à deux un nouveau tableau TS, de la manière suivante:
TS[1] = T[1]+...+T[K]
TS[2] = T[2]+...+T[K+1]
.
.
.
tel que K est un entiers positif vérifiant 1 < K < N.
EXEMPLE
N=6; K=4
T = [2,3,1,2,4,7]
TS = [(2+3+1+2), (3+1+2+4), (1+2+4+7)]
Soit TS = [8, 9, 14]
SOLUTION
- Code:
program som_bloc;
uses wincrt;
type
TAB = array[1..100] of integer;
procedure SAISIE(var N,K: integer);
begin
repeat
write('N = ');
readln(N);
until (N in [4..99]);
repeat
write('K = ');
readln(K);
until (K<N) and (K>1);
end;
function Existe(x:integer; T:TAB; n: integer):boolean;
var
i: integer;
begin
i := 1;
While ((i<=n) and (T[i]<>X)) do
i := i + 1;
if ((n=0) or (T[i]<>X)) then
Existe := false
else
Existe := True;
end;
procedure REMPLIR(var T:TAB; N:integer);
var
i,X: integer;
begin
for i:=1 to N do
begin
repeat
write('T[',i,']=');
readln(X);
until (Existe(X,T,i-1) = false);
T[i] := X;
end;
end;
procedure AFFICHER(T:TAB;N:integer);
var
i:integer;
begin
for i:=1 to N do
writeln('T[',i,']=',T[i]);
end;
Procedure Construire(var TS:TAB; T:TAB; N,K: integer);
begin
for i:=1 to N-K+1 do
.....
end;
{Programme principal}
VAR
T,TS: TAB;
N,K: integer;
BEGIN
SAISIE(N,K);
REMPLIR(T,N);
CONSTRUIRE(TS,T,N,K);
AFFICHER(TS,(N-K+1));
END.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7871
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Sujets similaires
» Exercice corrigé: La plus grande somme de chiffres dans un tableau
» Exercice corrigé Bac 2009 Pratique: Tri par bloc (info)
» Exercice corrigé: Remplissage aléatoire de tableau, min, max, nombre
» Exercice (bac pratique): Somme de factoriel des chiffres
» Exercice (bac pratique): Construction d'un tableau
» Exercice corrigé Bac 2009 Pratique: Tri par bloc (info)
» Exercice corrigé: Remplissage aléatoire de tableau, min, max, nombre
» Exercice (bac pratique): Somme de factoriel des chiffres
» Exercice (bac pratique): Construction d'un tableau
Forum INFOMATH :: Enseignement de l'informatique :: Informatique - Collège & Lycée :: Exercices Pascal
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum