Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Jeux, jouets et Lego : le deuxième à ...
Voir le deal
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau

Aller en bas

Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau Empty Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau

Message par Napoléon Lun 24 Mai - 0:20

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

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
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7654
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau Left_bar_bleue999/1000Exercice corrigé Bac 2009 Pratique: Somme de blocs de nombres d'un tableau Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum