• Aucun résultat trouvé

Test algorithmique n

N/A
N/A
Protected

Academic year: 2022

Partager "Test algorithmique n"

Copied!
2
0
0

Texte intégral

(1)

Test algorithmique n

2 : tableaux, chaînes de caractères

Dans tout ce devoir, les algorithmes seront écrits en français, ou éventuellement en “pseudo- Pascal”. Une syntaxe lisible est demandée, en particulier les structures devront être correctement indentées. Mais l’accent sera surtout mis lors de l’évaluation sur le bon fonctionnement des algorithmes demandés.

Quelques rappels

Quelques primitives utiles pour manipuler les chaînes de caractères :

• Sichest une chaîne de caractère, longueur(ch) (oulength(ch)) désigne la longueur de la chaîne, son premier caractère estch[1].

• Sicest un caractère,ord(c)renvoie son code ASCII.

• Sinest un entier compris entre 0 et 255,chr(n)renvoie le caractère de code ASCIIn.

D’autre part, on rappelle que sia est de type matrice, alors a[i,j] est représenté à lai-ème ligne et à laj-ème colonne sur les schémas (convention “lico”).

Exercice 1 : transformations de chaînes de caractères

ÉCHANGE DE LETTRES

1) Écrire une procédure prenant en argument une chaîne de caractères ch, et remplaçant tous lesAprésents par desE.

Par exemple, elle devra transformer la chaîne“PARAPHARMACIE” en“PEREPHERMECIE”.

2) Modifier votre procédure de manière à ce qu’elle tienne compte des majuscules et des minuscules.

Ainsi, elle devra transformer“Alphonse Allais”en “Elphonse Elleis”.

JAVANAISE

Écrire une procédure prenant en argument une chaîne de caractères ch, et construisant une chaînechr dans laquelle on a inséré après chaque voyelle (A, E, I, O, U, Y) unv suivi de la répétition de cette voyelle.

Par exemple, si on lui donne le texte“ALLEMAND”, elle doit construire le texte“AVALLEVEMAVAND”.

On ne s’occupera pas dans cette question des problèmes de majuscules/minuscules, et on supposera que le texte contenu dans la chaînechest en majuscules.

(2)

Exercice 2 : remplissage de tableaux

L’objet de cet exercice est d’écrire des procédures permettant de remplir des tableaux et des matrices d’entiers. On déclare les types PASCAL suivants :

tableau = array[1..N] of integer et matrice = array[1..P,1..Q] of integer N,PetQétant des constantes globales qu’on pourra utiliser dans la description des algorithmes à écrire.

REMPLISSAGE DE TABLEAUX

1) Écrire un algorithme prenant en argument un tableau t, qui initialise toutes les cases du tableautavec la valeur0.

2) Écrire une procédure prenant en argument un tableau t de type tableau, et un entier i, et remplissant le tableauten mettant un1à la case d’indice iet des0partout ailleurs.

3) Écrire une procédure prenant en argument un tableau tde type tableau, et remplissant le tableaut avec des0et des 1alternés, la première case devant contenir un1.

REMPLISSAGE DE MATRICES

1) Écrire un algorithme prenant en argument une matrice a, qui initialise toutes les cases de la matriceaavec la valeur0.

2) Écrire un algorithme prenant en argument une matrice a, et deux entiersietj, et mettant 0dans toutes les cases de la matricea, sauf la case d’indices(i,j)qui doit contenir un1.

3) On veut écrire un algorithme prenant en argument une matricea, et deux entiersietj, et mettant0 dans toutes les cases de la matrice a, sauf les cases de la ligne i et celles de la colonnejqui doivent contenir des1.

Ainsi, par exemple, si P=5, Q=6, i=2 et j=3, la matrice a devra être remplie de la façon suivante :

a=

[ 0 ; 0 ; 1 ; 0 ; 0 ; 0 ]

[ 1 ; 1 ; 1 ; 1 ; 1 ; 1 ]

[ 0 ; 0 ; 1 ; 0 ; 0 ; 0 ]

[ 0 ; 0 ; 1 ; 0 ; 0 ; 0 ]

[ 0 ; 0 ; 1 ; 0 ; 0 ; 0 ]

Proposer deux algorithmes différents :

• un qui remplit la matrice de zéros, puis modifie la ligneiet la colonne j,

• un deuxième qui initialise directement chaque case à la bonne valeur, en comparant les indices de ligne et de colonne àietjrespectivement.

Lequel de ces deux algorithmes vous semble préférable ?

4) On veut pour finir écrire une procédure prenant en argument une matrice a de type matrice, et remplissant cette matrice sous forme d’un damier de 0et de1alternés.

Ainsi, siP=5 etQ=6la matrice adevra être remplie de la façon suivante :

a=

[ 1 ; 0 ; 1 ; 0 ; 1 ; 0 ]

[ 0 ; 1 ; 0 ; 1 ; 0 ; 1 ]

[ 1 ; 0 ; 1 ; 0 ; 1 ; 0 ]

[ 0 ; 1 ; 0 ; 1 ; 0 ; 1 ]

[ 1 ; 0 ; 1 ; 0 ; 1 ; 0 ]

Références

Documents relatifs

Cette opération, confiée au cabinet d’architecture Tomasini Design, s’inscrit dans le cadre d’un partenariat entre la Ville de Grenoble, la Caisse des Dépôts et

En tout cas, la Sainte Vierge est le modele excellent de Thomme nouveau conune Dieu veut que je sois, moi aussi: plein de confiance et abandon total dans les mains de Dieu comme il

Page 16 sur 52 APPROBATION DU COMPTE ADMINISTRATIF 2020 DE LA COMMUNE POUR LE BUDGET DE L’ASSAINISSEMENT ET AFFECTATION COMPTABLE DU RESULTAT DE L’EXERCICE 2020

POUR VOUS AIDER DANS LA RÉALISATION ET LE SUCCÈS DE VOTRE ÉVÉNEMENT NOUS VOUS PROPOSONS UN PANEL D'ANIMATIONS QUI, SOYEZ EN SUR, RAVIRONS VOS INVITÉS QUI SE SOUVIENDRONT D’UN

PENDANT 7 JOURS après le dernier contact avec le malade.

Plus on r6fl6- chira sur leg propositions que je dSmontre plus loin, mieux on comprendra que ce probldme pr6sente des difficult6s inouies, quc l'insuccds des

Faire découvrir et prôner l'activité physique auprès des personnes en. situation

We prove that, if 7 is a simple smooth curve in the unit sphere in C n, the space o pluriharmonic functions in the unit ball, continuous up to the boundary, has a