• Aucun résultat trouvé

Sujet: Programmation en Pascal

N/A
N/A
Protected

Academic year: 2022

Partager "Sujet: Programmation en Pascal"

Copied!
3
0
0

Texte intégral

(1)

Sections : Math. + Tech. + Sc.Exp.

REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION

***

EPREUVE PRATIQUE D’INFORMATIQUE

DATE : Lundi 22 mai 2006 ( Heure : 15h :30 ) EXAMEN DU BACCALAUREAT

SESSION 2006 DUREE : 1 h – COEFFICIENT : 0.5

Sujet : Programmation en Pascal

Ecrire un programme Pascal qui permet de saisir n entiers dans un tableau T (10<n<40) et deux entiers non nulsp ets (p ets doivent être des éléments deT).

On demande d’afficher tous les blocs d’éléments de T placés entre p et s dans l’ordre ;p ets peuvent figurer dans cet ordre plusieurs fois dans T.

Exemple : Si p = 5 et s = 3

Et si on donne le tableau T suivant :

7 5 0 2 3 9 1 5 6 3

Alors le résultat de l’affichage sera : 0 2 6 N.B :

La solution doit comporter au moins deux modules.

Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.

Grille d’évaluation :

Questions Nbre de points

Enregistrement dansbac2006 2

Si exécution correcte avec les modules demandés Sinon

Si exécution correcte sans modules Sinon

Syntaxe et vocabulaire

Structures de données relatives au problème Structures de contrôles relatives au problème Modularité

18 14 5 4 5 4

(2)

Correction :

program sequence_p_s;

uses wincrt;

type tab=array[1..100] of integer;

var

n:integer;

t:tab;

procedure saisiet(var t:tab;var n:integer);

var i:integer;

begin repeat

write ('Donner la taille du tableau');

readln(n);

until n in [11..39];

for i:=1 to n do begin

writeln('T[',i,']= '); readln(T[i]);

end;

end;

function existe(t:tab;n,p:integer):boolean;

var i:integer;

begin i:=0;

existe:=false;

repeat i:=i+1;

until (t[i]=p) or (i=n);

if t[i]=p then existe:=true;

end;

Procedure sequence( t:tab; n:integer);

var

i,j,p,s:integer;

begin repeat write('p=');

readln(p);

until (p<>0) and existe (t,n,p);

repeat write('s=');

readln(s);

until (s<>0) and existe (t,n,s);

for i:= 1 to n-1 do begin

if t[i]=p then begin j:=i+1;

(3)

while (t[j]<>s) do begin

write(t[j],' ');

j:=j+1;

end;

end;

end;

end;

begin saisiet(t,n);

sequence(t,n);

end.

Références

Documents relatifs

Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité.. Grille

2. Transformer la séquence 1) en une procédure saisie et y ajouter les contrôles nécessaires pour la saisie des éléments du tableau T.. 3. Ecrire la procédure

[r]

Enregistrer au fur et à mesure votre programme dans le dossier bac2006 situé à la racine C : en lui donnant comme nom le numéro de votre carte d’identité. Grille

Un identificateur doit ˆetre diff´erent des mots cl´ es (begin, write, real,. .) On se sert des identificateurs pour : le nom du programme, les noms de variables, les noms

Les types simples Programme et compilation Les instructions Types construits et structur´ es Proc´ edure et fonctions Types abstraits de donn´ ees.. Cours d’Algorithmique et

1 Recherche s´ equentielle d’un ´ el´ ement 52. 1.1 Dans un vecteur non

Rappel Table des priorit´es class´ees par ordre d´ecroissant, les op´erateurs sur une mˆeme ligne ayant une priorit´e ´egale (on ´evalue alors de gauche `a droite).. ()