LARP

Banque de problèmes

Ces problèmes sont tirés des références suivantes :

Tools For Structured Design - An Introduction To Programming Logic
Fifth Edition
Marilyn Bohl & Maria Rynn
Prentice Hall, 2001

Le Livre du C premier langage
Claude Delannoy
Eyrolles, 1994

Les problèmes sont catégorisés par niveaux de difficulté tout en introduisant graduellement les structures de contrôle.

1 - Séquences simples

  • BohlRynn_P19_SalesApp - Concevoir un algorithme calculant la paie hebdomadaire d'un employé.

  • BohlRynn_P24_TempConv - Concevoir un algorithme capable de convertir une température de degrés Fahrenheits en degrés Celsius.

  • BohlRynn_P35_Exer13 - Concevoir un algorithme calculant la paye hebdomadaire d'un employé.

  • BohlRynn_P35_Exer14 - Concevoir un algorithme capable de convertir une mesure de verges en pieds, et puis de pieds en pouces.

  • BohlRynn_P35_Exer15 - Concevoir un algorithme calculant la moyenne d'un étudiant en fonction de ses 5 notes d'examen.

  • BohlRynn_P35_Exer16 - Concevoir un algorithme capable de calculer le périmètre et l'aire d'un rectangle en fonction de sa longueur et de sa largeur.

  • BohlRynn_P36_Exer17 - Concevoir un algorithme capable de calculer l'aire et la circonférence d'un cercle en fonction de son diamètre.

2 - Structures de contrôle SI-SINON

  • BohlRynn_P37_BillingEx - Concevoir un algorithme calculant la facture d'un client.

  • BohlRynn_P40_TimeCard - Concevoir un algorithme capable de déterminer si un employé a travaillé des heures supplémentaires.

  • BohlRynn_P43_SmallestNum - Concevoir un algorithme capable de trouver le plus petit nombre d'une certaine série.

  • BohlRynn_P45_Bank - Concevoir un algorithme capable de déposer ou retirer de l'argent d'un compte bancaire

  • BohlRynn_P47_Sales - Concevoir un algorithme calculant la commission que recevra un employé en fonction de la classe d'employé.

  • BohlRynn_P57_Exer8 - Concevoir un algorithme calculant la moyenne de 3 notes d'un étudiant et qui détermine la cote de l'étudiant en fonction de cette moyenne.

  • BohlRynn_P57_Exer9 - Concevoir un algorithme capable de produire un relevé de compte mensuel pour un client faisant usage d’une carte de crédit.

  • BohlRynn_P57_Exer10 - Concevoir un algorithme capable de produire un rapport d’inventaire pour un certain article.

  • BohlRynn_P57_Exer11 - Concevoir un algorithme capable de produire un rapport de facturation scolaire d’un étudiant.

  • BohlRynn_P58_Exer12 - Concevoir un algorithme capable de produire un relevé de compte de banque mensuel.

  • BohlRynn_P58_Exer14 - Concevoir un algorithme déterminant si une personne est, en même temps, plus grande que 1.52 mètres et si elle pèse plus de 45 kilogrammes.

  • BohlRynn_P58_Exer15_vA - Concevoir un algorithme capable de produire un rapport de main-d’oeuvre forfaitaire.

  • BohlRynn_P58_Exer15_vB - Concevoir un algorithme capable de produire un rapport de main-d’oeuvre forfaitaire (solution alternative).

  • BohlRynn_P58_Exer16 - Concevoir un algorithme calculant la moyenne d'un étudiant en fonction de 3 notes d'examen et qui détermine ensuite la note en lettre.

  • BohlRynn_P59_Exer18_vA - Concevoir un algorithme capable de déterminer si un postulant est éligible pour un certain poste.

  • BohlRynn_P59_Exer18_vB - Concevoir un algorithme capable de déterminer si un postulant est éligible pour un certain poste (solution alternative).

3 - Structures de contrôle répétitives (avec compteurs)

  • BohlRynn_P63_AddNum - Concevoir un algorithme qui additionne 6 nombres entiers.

  • BohlRynn_P68_Payroll_vA - Concevoir un algorithme calculant le montant de la paye de 10 employés.

  • BohlRynn_P68_Payroll_vB - Concevoir un algorithme calculant le montant de la paye de 10 employés (solution alternative).

  • BohlRynn_P70_Average_vA - Concevoir un algorithme calculant la moyenne d’un étudiant à la fin du semestre.La moyenne est calculée en fonction des 5 notes d’examens obtenues par l’étudiant.

  • BohlRynn_P70_Average_vB - Concevoir un algorithme calculant la moyenne d’un étudiant à la fin du semestre. La moyenne est calculée en fonction des 5 notes d’examens obtenues par l’étudiant (solution alternative).

  • BohlRynn_P73_Payroll_vA - Concevoir un algorithme calculant le montant de la paye d'un nombre donné d'employés.

  • BohlRynn_P73_Payroll_vB - Concevoir un algorithme calculant le montant de la paye d'un nombre donné d'employés (solution alternative).

  • BohlRynn_P75_Average_vA - Concevoir un algorithme calculant la moyenne d’un étudiant à la fin du semestre. La moyenne est calculée en fonction d'un nombre donné de notes d’examens obtenues par l’étudiant.

  • BohlRynn_P75_Average_vB - Concevoir un algorithme calculant la moyenne d’un étudiant à la fin du semestre. La moyenne est calculée en fonction d'un nombre donné de notes d’examens obtenues par l’étudiant (solution alternative).

  • BohlRynn_P76_Average - Concevoir un algorithme calculant la moyenne d’un étudiant. La moyenne est calculée en fonction d'un nombre donnée de notes d’examens obtenues par l’étudiant.

  • BohlRynn_P83_Exer12 - Concevoir un algorithme qui recalcule successivement 3 nombres selon diverses règles.

  • BohlRynn_P83_Exer15 - Concevoir un algorithme capable de calculer la somme des nombres impairs 1, 3, 5, 7, ... jusqu'à 99.

  • BohlRynn_P83_Exer16 - Concevoir un algorithme capable de calculer les nombres de Fibonacci.

  • BohlRynn_P84_Exer17 - Concevoir un algorithme capable de calculer la somme d’une suite de nombres ayant comme exposant eux-mêmes.

  • BohlRynn_P84_Exer18 - Concevoir un algorithme capable de calculer la factorielle d'un nombre donné.

  • BohlRynn_P84_Exer20_vA - Concevoir un algorithme calculant le montant de la paye d'un nombre donnée d'employé(s) en fonction du total des ventes hebdomadaire de chacun.

  • BohlRynn_P84_Exer20_vB - Concevoir un algorithme calculant le montant de la paye d'un nombre donnée d'employé(s) en fonction du total des ventes hebdomadaire de chacun (solution alternative).

  • BohlRynn_P84_Exer22 - Concevoir un algorithme calculant le montant de la paye d'un nombre donnée d'employés. La paye est calculée en fonction du nombre d'heures régulières et supplémentaires travaillées, ainsi que le salaire de l’employé.

  • Delannoy_P115_ExerB - Concevoir un algorithme capable de calculer la moyenne d’un nombre quelconque de valeurs. L'algorithme doit lire un nombre donné de valeurs de l’utilisateur et ensuite afficher une phrase comprenant le nombre de valeurs ainsi que la moyenne de ces valeurs.

  • Delannoy_P117_ExerVI_2 - Concevoir un algorithme capable de calculer la moyenne d’un nombre quelconque de valeurs. L'algorithme doit lire un nombre donné de valeurs de l’utilisateur et ensuite afficher la somme des valeurs positives et la somme des valeurs négatives. De plus, il doit afficher la moyenne des valeurs positives et celle des valeurs négatives.

  • Delannoy_P118_ExerVI_3 - Concevoir un algorithme capable de calculer la moyenne d’un nombre quelconque de valeurs entières. L'algorithme doit lire un nombre donné de valeurs de l’utilisateur et ensuite afficher la plus grande valeur positive et la plus petite valeur négative.

  • Delannoy_P119_Exer4_1 - Concevoir un algorithme calculant la moyenne de 5 étudiants. La moyenne de chacun est calculée en fonction des notes d’examens obtenues par chaque étudiant.

  • Delannoy_P120_Exer4_2 - Concevoir un algorithme capable d’afficher les tables de multiplication des nombres de 1 à 9.

  • Delannoy_P125_Euclide - Concevoir un algorithme capable de trouver le Plus Grand Commun Diviseur (P.G.C.D.) de deux entiers à l’aide de l’algorithme d’Euclide.

4 - Modularisation

  • BohlRynn_P99_Exer2_vA - Concevoir un algorithme calculant le montant de la paye de plusieurs employés, calculée en fonction du total des ventes de l’employé.

  • BohlRynn_P99_Exer2_vB - Concevoir un algorithme calculant le montant de la paye de plusieurs employés, calculée en fonction du total des ventes de l’employé (solution alternative).

5 - Structures de sélection

  • BohlRynn_P140_Operation - Concevoir un algorithme qui effectue une opération sur 2 nombres qui seront entrés par l’utilisateur. L’opération est déterminée selon le code que l’utilisateur entrera.

  • BohlRynn_P142_Sales - Concevoir un algorithme calculant la commission que recevra un employé en fonction de la classe d'employé au quelle il appartient.

  • BohlRynn_P144_Sales - Concevoir un algorithme calculant la commission que recevra un employé en fonction de la classe d'employé au quelle il appartient.

  • BohlRynn_P147_Sales - Concevoir un algorithme calculant la commission que recevra un employé en fonction de la classe d'employé au quelle il appartient.

  • BohlRynn_P163_Exer8 - Concevoir un algorithme calculant le montant de la taxe à payer par un contribuable sur un objet. Le taux de taxe à payer est déterminé selon un code identifiant l’objet.

  • BohlRynn_P164_Exer10 - Concevoir un algorithme calculant le solde mensuel des comptes des clients d’une banque, les transactions étant identifiées par des codes.

  • BohlRynn_P165_Exer11 - Concevoir un algorithme calculant le solde mensuel des comptes des clients d’une banque, les transactions étant identifiées par des codes.

  • BohlRynn_P165_Exer12 - Concevoir un algorithme qui calcule le coût de l’assurance pour des clients d’une compagnie d’assurance. Le coût est fixé selon l’âge et le code de risque de chaque client.

6 - Structures de contrôle répétitives (condition à la fin)

  • BohlRynn_P170_Storage - Concevoir un algorithme qui détermine le coût d’entreposage pour des objets personnels de valeurs comprises entre 1 000 $ et 20 000$.

  • BohlRynn_P175_Storage - Concevoir un algorithme qui détermine le coût d’entreposage pour des objets personnels. Pour calculer le coût d’entreposage, on applique une formule spécifique.

  • BohlRynn_P186_Exer6 - Concevoir un algorithme qui additionne une série de nombres stockée dans un fichier.

7 - Introduction aux conteneurs

  • BohlRynn_P192_SmallestNum - Concevoir un algorithme qui détermine le plus petit élément d’un tableau de 10 nombres.

  • BohlRynn_P195_Average - Concevoir un algorithme qui la moyenne de 10 nombres compris dans un tableau.

  • BohlRynn_P198_Doubling - Concevoir un algorithme qui fait une copie d’un tableau de 10 nombres, mais les nombres dans la copie sont le double de ceux dans l’original.

  • BohlRynn_P206_Seating - Concevoir un algorithme capable d’afficher un plan de classe et de trouver un élève dans ce plan de classe.

  • BohlRynn_P225_Exer7 - Concevoir un algorithme qui crée une copie inversée d’un tableau de 10 éléments.

  • BohlRynn_P226_Exer10 - Concevoir un algorithme qui calcule la différence entre un nombre et la moyenne de l’ensemble des nombres.

  • BohlRynn_P227_Exer13a - Concevoir un algorithme qui calcule le total des ventes par clients et le total des ventes journalières.

  • BohlRynn_P227_Exer14 - Concevoir un algorithme qui calcule le total éléments sur les deux diagonales d’une matrice de 5 rangées et 5 colonnes.

  • BohlRynn_P227_Exer16 - Concevoir un algorithme qui détermine la moyenne des températures minimales et maximales d’une journée. La moyenne sera calculée en fonction de la température maximale et minimale de 10 stations météorologiques différentes.

8 - Application des conteneurs

  • BohlRynn_P250_Inventory - Concevoir un algorithme qui détermine si un article désiré figure dans un certain inventaire et, s’il y figure, l’algorithme calcule le prix en fonction du prix unitaire de l’article et de la quantité désirée; certaines règles doivent être suivies.

  • BohlRynn_P257_BinarySearch - Concevoir un algorithme qui trouve le pays où se situe l’usine d’une entreprise à l’aide d’un code. L’entreprise possède un total de 50 usines et chacune d’entre elles est située dans un pays différent. Pour trouver le pays, l’algorithme doit utiliser une recherche binaire.

  • BohlRynn_P273_Exer14 - Concevoir un algorithme qui calcule la moyenne et l’écart-type d’un groupe de nombres.

  • BohlRynn_P273_Exer15 - Concevoir un algorithme capable de gérer les commandes d’une compagnie offrant 10 types d’articles. Plusieurs règles de traitement des commandes doivent être appliquées selon les circonstances.