• Aucun résultat trouvé

Devoir de contrôle N° 4

N/A
N/A
Protected

Academic year: 2022

Partager "Devoir de contrôle N° 4"

Copied!
2
0
0

Texte intégral

(1)

Lycée secondaire Rue de Russie Année scolaire : 2006 / 2007

Professeur : Mohamed TRABELSI Durée : 1h - Pratique

Matière : Algorithmique

Devoir de contrôle N° 4

Classe : 3ème SI

Nom & prénom : ...

1 / 1 14/02/07

Énoncé : Algorithme de Tri

Écrire un programme Pascal intitulé tri_vecteur permettant de trier un tableau T de n entiers (5<n<20) selon le principe suivant :

Pour chaque élément de T :

Déterminer le nombre d’éléments qui lui sont inférieurs.

Placer cet élément au sein d’un autre tableau R à la case d'indice nombre d’élément plus petit + 1.

Exemple :

6 2 0 5 12 25 1 2 3 4 5 6

Trois valeurs sont inférieures au premier élément de T. Cet élément sera donc placé à la position quatre du tableau R.

6 1 2 3 4 5 6

Le résultat affiché est R qui sera un tableau trié dans l’ordre croissant.

Remarque :

1. Enregistrer votre fichier sur votre disquette sous le nom : nom.pas 2. Découpage modulaire :

Procédure Saisie

Procédure affichage Procédure

tri_4

Tri_vecteur

Note : /20

T

R

Fonction nbr_plus_pti

(2)

Lycée secondaire Rue de Russie Année scolaire : 2006 / 2007

Professeur : Mohamed TRABELSI Durée : 1h - Pratique

Matière : Algorithmique

Correction Devoir de contrôle

N° 4

Classe : 3ème SI

Pascal :

{DC n°4 3 SI , 06-07 algorithme de Tri – Sujet Bac Pratique 2005}

Program tri_vecteur;

Uses wincrt;

Type

tab=array [1..20] of integer;

Var

n : byte;

T, R : Tab;

Procedure saisie (var T: tab; var n : byte);

Var

i: byte;

Begin

Repeat

Write('Donner la taille du tableau : ');

Readln (n);

Until n in [5.. 20];

For i:= 1 to n do Begin

Write('Donner la case ',i,' : ');

Readln (T[i]);

End;

End;

Function nbr_plus_pti (T: tab; n: integer; i: byte): byte ; Var

j, cpt :byte;

Begin

Cpt := 0;

For j:=1 to n do

If T[j] < T[i] then cpt := cpt + 1;

nbr_plus_pti := cpt;

End;

Procedure tri_4 (T: tab; n: byte; var R: tab);

var i:byte;

Begin

For i:= 1 to n do

R [nbr_plus_pti(T, n, i) + 1] := T[i];

End;

Procedure affichage (R: tab; n: byte);

var i:byte;

Begin

For i:= 1 to n do

Write (R[i]:5);

End;

Begin

Saisie (T, n) ; tri_4 (T, n, R);

Affichage (R, n);

End.

1 / 1 14/02/07

Références

Documents relatifs

L’affirmation est

chacune des parts? Tu donneras le résultat en valeur exacte, puis en valeur approchée au gramme près.. 3) Un des nombres suivants n'a pas la même valeur que les autres?.

Figure à main levée : Figure en vraies grandeurs (Laisser apparaitre les traits de construction).. 2- Place, à l’extérieur du triangle PUB, dans le cadre :..  Le

Quelles sont les autres faces visibles du pavé ? 2) Comment sont tracées les arêtes invisibles de ABCDEFGH, en traits pleins ou en traits pointillés ? 3) Quels sont les

La construction du modèle géométrique vectoriel ayant fait l’objet de l’examen « Médian », les résultats des premières étapes de la réalisation de ce modèle pour ce

[r]

2) Représenter graphiquement la suite (laisser cette représentation graphique sur la même feuille).

2) Représenter graphiquement la suite (laisser cette représentation graphique sur la même feuille).