Lycée Kalaa Khesba
Exercice 1
Soit l’algorithme suivant:
0) debut fonction Inconnue (ch:chaine de caracteres; c: caractere):booléenne
1) Si position(c, ch) = 0 alors Inconnue vrai
Sinon
Efface (ch, position (c, ch) ,1);
Inconnue non (FN Inconnue (ch, c))
FinSi
2) Fin Inconnue
Questions :
a) Exécuter manuellement cette fonction pour :
ch = '' amanda '' et c = '' a''
ch = '' programme '' et c = '' m ''
b) Donner le rôle de la fonction Inconnue.
Exercice 2
Il existe une méthode pour multiplier deux nombres il ne faut que savoir multiplier ou
diviser par deux, et additionner. On appelle cette méthode "multiplication à la russe". Sur
deux colonnes, on double le facteur de gauche tout en divisant par deux celui de droite
(quotient entier) jusqu obtenir 1 à droite. La somme des termes de la première colonne, qui
sont placés à gauche d'un nombre impair, donne alors le résultat
Ecrire une analyse, un algorithme et un programme Pascal intitulé multiplication qui permet
de calculer et d’afficher le produit P de deux entiers M et N saisi au clavier en utilisant la
"multiplication à la russe". Le programme principale doit appeler un sous-programme récursif
intitulé produit pour faire le calcule.
Exercice N° 3
Soit liste un fichier de chaînes de caractères. On veut remplir le fichier par des chaines de
caractères, inverser sont contenu et l’afficher avant et après inversion.
1. Proposez une analyse modulaire au problème et déduisez l’algorithme de programme
principal.
2. Analysez et déduisez l’algorithme de chaque module envisagé précédemment.
Note : le nom physique du fichier sera saisi au clavier et aucun contrôle d’erreur ne sera
effectué.
Niveau : 4ème Année Sciences de l’Informatique
Matière : Algorithmiques et Programmation
Epreuve : Devoir de Maison N° 1
Professeur : Mr. Mejri Bassem
Exemple.
Exercice N° 4
Soient les fichiers suivants :
"C:\notes.dat" un fichier de réels
"C:\noms.txt", "C:\resultats.txt", "C:\admis.txt" et "C:\refuse.txt" quatre fichiers textes.
On se propose de
1. Remplir les fichiers "C:\noms.txt" et "C:\notes.dat" en même temps tel que pour chaque
nom enregistré dans le fichier texte, on sauvegarde trois réels dans le deuxième fichier qui
représentent successive les moyennes de trimestre 1, trimestre 2 et trimestre 3. On arrête le
remplissage lorsqu’on répond par non à la question continué o/n ?
Exemple
2. Remplir le fichier "C:\resultats.txt" par les moyennes annuels et les noms des élèves
3. Transférer les noms des élèves qui ont la moyenne dans le fichier "C:\admis.txt" et les
autres dans le fichier "C:\refuse.txt".
4. Afficher le contenu des deux fichiers et le nombre des élèves dans chacun d’eux.
Proposez une analyse modulaire au problème puis déduisez les algorithmes d’un programme
intitulé Classe.
Exercice N° 5 Gestion des commandes
Un article est représenté par les champs suivants :
Nom : désigne le nom de l’article commandé.
Qte : entier désignant la quantité commandée.
Prix : entier désignant le prix unitaire.
Etat : chaîne de caractère contenant : « payé » ou « non payé »
Commande est un fichier qui contient les informations des articles commandés.
Facture est un fichier texte.
On veut demande d’écrire un programme qui permet de :
Remplir le fichier « commande » par les informations des N articles
Transférer vers le fichier « facture » les informations des articles non payés tel que
chaque ligne contient les informations d’un seul article: nom Qte*prix.
La dernière ligne contient le total à payer : total valeur
Trier le fichier « commande » dans l’ordre croissant des « prix» en utilisant la
méthode de tri par sélection dans sa version récursive.
Afficher le contenu du fichier « facture ».
Exemple
Contenu du fichier « commande »
Souris
12
14
payé
Clavier
6
10
non payé
Imprimante
2
60
non payé
Scanner
3
45
payé
Webcam
10
13
non payé
Contenu du fichier « facture »
Clavier 60
Imprimante 120
Micro-casque 135
Webcam 130
Total 445
Travail demandé
1) Proposer une analyse modulaire au problème et déduisez l’algorithme du programme
principal.
2) Analyser et déduisez l’algorithme de chaque module envisagé précédemment.
Exercice N° 6
Dans un fichier est enregistré un ensemble de mots, chaque mot dans une ligne. Un jeu
consiste à suivre les étapes suivantes :
Le joueur donne un numéro N compris entre 1 et le nombre de lignes dans un fichier
Le programme lui affiche le mot qui existe dans la ligne numéro N mais sans les
lettres voyelles : par exemple pour le mot « algorithme », il affiche « lgrthm »
Le joueur doit déterminer le mot complet, si le joueur saisie le mot correct, le
programme affiche « bravo, bien joué » sinon affiche « désolé, non correcte ».
1) Ecrire une fonction récursive qui détermine le nombre des lignes dans un fichier
texte.
2) Ecrire l’algorithme d’une fonction récursive CONTENU_LN qui renvoie le
contenu de la ligne numéro N dans un fichier texte, avec N donnée.
3) Ecrire l’algorithme d’une procédure récursive SUPPRIMER_VOY qui affiche une
chaine donnée sans voyelle.
4) Ecrire l’algorithme d’une procédure récursive saisie qui permet de saisir un
nombre N compris entre 1 et un nombre NBR donnée.
5) Utiliser les modules crées précédemment pour écrire un algorithme intitulé jouer
qui permet d’implémenter le jeu ci-dessus, sachant que les mots sont déjà
enregistrés dans la fiche existant « c:\mots.txt ».
INFORMATIQUE
BONJOUR
ALGORITHME
Donner un numéro :3
Compléter le mot :
LGRTHM
LOGARITHME
Désolé, non correct
Donner un numéro :3
Compléter le mot :
LGRTHM
ALGORITHME
Bravo, bien joué
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !