I. 100. Expérimentons, réfléchissons ! Sur une grille
à carreaux de m x n (m et n sont des
nombres entiers positifs), on pose des colonnes à base carrée.
Ses vues de face et de profil ressemblent à des graphiques
à barres. On donne la hauteur des barres avec les nombres
u1,
u2,...,um
et v1,
v2,
..., vn
saisis dans la première ligne et dans la première colonne
d'un tableur. S'il existe une matrice avec les valeurs données
alors les éléments de cette matrice correspondante à l'objet
( ou à un des objets ) de volume maximal doivent
s'afficher au croisement des lignes et des colonnes concernées.
Si une telle matrice n'existe pas, le mot " Erreur " doit
s'afficher et les données en cause pour la non-existence
d'un tel objet doivent être désignées.
v1
v2
v3
v4
v5
.....
.....
.....
vn
Erreur
*
*
u1
u2
*
......
um
Cet exercice est l'inverse de l'exercice I.98. :
dans celui-ci, en partant de la matrice déterminant l'objet
d'une manière unique, on devait donner les vues de l'objet;
cette fois-ci, on part des vues et l'on doit déterminer
l'objet de volume maximal.
A renvoyer un fichier TEXT (i100.txt) contenant la description
complète de l'algorithme ( 3 points ) et la justification
détaillée du fait que l'algorithme détermine toujours correctement
s'il existe un objet ayant les propriétés données et s'il
y en a, l'algorithme donne dans tous les cas l'objet ayant
les caractéristiques souhaitées, (8 points), ainsi que la
feuille de calcul (4 points) (i100.xls, ...).
(15 points)
I. 101. De combien de manières différentes peut-on
écrire le nombre entier positif n comme la somme
de nombres entiers positifs si l'on considère identiques
les sommes qui ne se différencient les unes des autres que
dans l'ordre des membres ? ( par exemple le nombre 5 peut
s 'écrire de 7 manières différentes : 5=4+1 =3+2 =3+1+1
=2+2+1 = 2+1+1+1 = 1+1+1+1+1, où ,,5'' apparaît comme une
,,somme à un seul membre'' ). Ecrire un programme qui, après
la saisie du nombre entier positif n, affiche les
sommes considérées comme différentes et donne leur nombre.
A renvoyer le programme (i101.pas, ...).
Nous attirons l'attention de nos lecteurs aux similitudes
et aux différences par rapport à l'exercice I. 87.
.
(10 points)
I. 102. Ecrire un programme (i102.pas, ...), qui,
à partir d'une matrice lue en entrée, contenant des nombres
entiers, détermine s'il existe au moins un nombre premier
dans chacune de ses lignes.
En entrée, la première ligne contient les nombres entiers
m et n donnant les dimensions de la matrice,
séparés par un espace, puis, nous avons m lignes
contenant chacune n nombres entiers, les éléments
de la matrice, séparés par des caractères d'espacement.
Ensuite, nous avons ou une ligne avec deux 0 séparés
par un espace ( fin de données ), ou bien les éléments d'une
autre matrice ayant la structure présentée ci-dessus.
A renvoyer le programme (i102.pas, ...).
(10 points)
L' exercice
S
Date limite
d'envoi : 30 avril 2009.
S. 7. Nous avons quelques mots, contenant chacun
au moins 5 et au plus 30 lettres. Ecrire un programme qui
ordonne ces mots de telle façon que les 5 derniers caractères
de chacun de ces mots soient les mêmes que les 5 premiers
caractères du mot suivant. Le nombre des mots en entrée
ne doit pas dépasser 10 000, et nous utilisons exclusivement
les 26 lettres de l'alphabet anglais - les minuscules seulement.
Le programme doit lire l'entrée normalisée. Dans la première
ligne, nous avons le nombre des mots, dans les lignes suivantes
un mot par ligne. S'il existe un ordonnancement selon les
conditions, alors le programme doit écrire un tel ordonnancement
sur la sortie normalisée. Il doit écrire un mot par ligne.
S'il n'y a pas de solution, il doit écrire Pas de solution.
(10 points)
Les solutions des exercices d'Informatique
doivent être adressées à: