Les exercices catégorisés par thèmes


abstract
9.5 abstract et final Trouver les erreurs dans une hiérarchie de classes Niveau 1
10.4 Conception d'un jeu de stratégie Analyse de la conception d'un programme Niveau 2

algorithme
3.7 L'heure du bilan Votre tante fortunée revient ... mais cette fois avec des boucles ! Niveau 2
3.8 Plus Grand Diviseur Commun Ecrivez un programme qui calcule le plus grand diviseur commun de deux nombres entiers Niveau 2
3.9 Permutations et combinaisons Calculer le nombre de permutations et de combinaisons de k nombres parmi n Niveau 2
5.8 Loi de Benford Ecrire un programme permettant de vérifier la loi de Benford Niveau 1
5.9 Nombres amicaux Ecrire un programme permettant de détecter des nombres amicaux Niveau 2
5.11 Césure Compléter un petit programme de césure Niveau 2
5.12 Master-Mind(tm) Ecrire un Master-Mind(tm) élémentaire Niveau 3
8.6 Boîte aux lettres Concevoir un petit programme permettant d'affranchir du courrier Niveau 2

boucles
3.5 On tourne en rond Indiquez l'affichage/comportement de divers boucles Niveau 1
3.7 L'heure du bilan Votre tante fortunée revient ... mais cette fois avec des boucles ! Niveau 2
3.8 Plus Grand Diviseur Commun Ecrivez un programme qui calcule le plus grand diviseur commun de deux nombres entiers Niveau 2
3.9 Permutations et combinaisons Calculer le nombre de permutations et de combinaisons de k nombres parmi n Niveau 2

clone
9.8 Analyse de programme Analyser et corriger un programme orienté-objet Niveau 1

do while
3.10 Rebonds de balles Ecrivez un petit programme qui simule le phénomène physique du rebond Niveau 2

eclipse
1.13 Tutorial Eclipse 1 (inutile si vous travaillez avec IntelliJ) : Configuration de base Ceci est le premier tutorial Eclipse. Il vous montre comment configurer pour ce cours votre workbench Eclipse ("environnement de travail" Eclipse). Niveau 0
1.14 Tutorial Eclipse 2 (inutile si vous travaillez avec IntelliJ) : Créer un projet Ceci est le second tutorial Eclipse. Ici vous apprendrez à créer un projet. Le tutorial 1 est un prérequis. Niveau 0
2.5 Eclipse Tutorial 3 (inutile si vous travaillez avec IntelliJ): Hello, World! Ceci est la troisième volet du tutorial Eclipse. Il indique comment créer et exécuter "Hello World!" sous Eclipse. Niveau 0
2.6 Tutorial Eclipse 4 (inutile si vous travaillez avec IntelliJ): Insertion de fichiers utilitaires Ceci est le quatrième tutorial Eclipse. Vous apprendrez ici à insérer des fichiers utilitaires dans vos projets. Niveau 0
2.7 Tutorial Eclipse 5 (inutile si vous travaillez avec IntelliJ): Correction d'erreurs Ceci est le cinquième tutorial Eclipse. Vous apprendrez ici comment Eclipse met en évidence vos erreurs de syntaxe. Niveau 0
3.12 Eclipse Tutorial 6 (inutile si vous travaillez avec IntelliJ): Utilisation d'un dévermineur Vous apprendrez dans ce sixième tutorial à utiliser le dévermineur (debugger) intégré à Eclipse. Certaines options décrites ici ne vous seront utiles que lorsque la notion de méthode aura été abordée. N'hésitez donc pas à revenir à ce document plus tard en cours de semestre. Niveau 0
4.13 Tutorial Eclipse 7 (inutile si vous travaillez avec IntelliJ) : Modification du modèle de fichiers Vous apprendrez dans ce septième tutorial à modifier le modèle de base de vos fichiers source Java. Niveau 0

entrées-sorties de base
2.8 Indice de masse corporelle Premiers pas (on vous prend par la main...) Niveau 0
2.10 Fondue fribourgeoise Exercer les entrées-sorties de base et les expressions Niveau 1

environnement
1.2 Installations diverses Mettre en place un environnement de travail Niveau 0
1.3 Pré-requis Pré-requis pour l'utilisation des ressources informatique de l'EPFL Niveau 0
1.4 Se connecter (ou "login") Comment se connecter sur son compte. Niveau 0
1.5 Ouvrir un "terminal" En savoir plus sur ce qu'est un "terminal". Niveau 0
1.6 Utiliser Firefox Firefox, un navigateur Internet. Niveau 0
1.7 Forums Les forums de discussion jouent un rôle important dans ce cours. Cet exercice vous les décrit et vous invite à une configuration nécessaire. Niveau 0
1.8 Utilisation du gestionnaire de fichiers Vous apprendrez à utiliser le gestionnaire de fichiers Niveau 0
1.9 Courrier électronique (Email) Comment accéder au compte email. Niveau 0
1.10 Visualiser et imprimer des documents Comment visualiser et imprimer des fichiers Niveau 0
1.11 Utilisation d'un éditeur Les éditeurs Emacs et Geany. Niveau 0
1.15 Commandes Unix/Linux Les principales commandes. Niveau 0
1.16 Découvrez quelques références Quelques références utiles pour le cours Niveau 0
1.17 Se déconnecter (ou "logout") Comment se déconnecter de son compte. Niveau 0

equals
9.6 Affichage et comparaison d'objets Définition des méthodes toString et equals dans une hiérarchie de classes Niveau 1

expressions
2.8 Indice de masse corporelle Premiers pas (on vous prend par la main...) Niveau 0
2.10 Fondue fribourgeoise Exercer les entrées-sorties de base et les expressions Niveau 1

expressions logiques
3.4 Dans l'intervalle ... ou pas Tester l'appartenance d'un nombre à un intervalle Niveau 2

final
9.5 abstract et final Trouver les erreurs dans une hiérarchie de classes Niveau 1

fondamentaux de l'orienté-objet
9.9 Tutoriel I (préparation Mini-projet 2) Prise en main de la maquette fournie pour le mini-projet (partie 1) Niveau 2
10.5 Tutoriel II (préparation Mini-projet 2) Prise en main de la maquette fournie pour le mini-projet 2 (partie 2) Niveau 2

for
3.6 Tables de multiplications Affichage de tables de multipliations Niveau 1
3.10 Rebonds de balles Ecrivez un petit programme qui simule le phénomène physique du rebond Niveau 2

héritage
8.1 Figures géométriques Le but de cet exercice est d'illustrer la notion d'héritage en utilisant une hiérarchie de figures géométriques. Niveau 0
8.3 Que de véhicules Mettre en oeuvre une hiérarchie de classes de véhicules Niveau 1
8.4 Héritage de variables Trouver des erreurs dans un programme comportant une hiérarchie de classes Niveau 1
8.5 EPFLiens Ecrire un programme OO qui aide la direction à gérer les EPFLiens. Niveau 2
8.6 Boîte aux lettres Concevoir un petit programme permettant d'affranchir du courrier Niveau 2
9.4 Transtypage Transtypage dans une hiérarchie de classes Niveau 1
10.6 Primes de risque Conception d'une hiérarchie de classes utilisant la notion d'interface. Niveau 1

if
3.3 Quand c'est pas pair c'est impair Un programme qui indique si un nombre est pair ou impair. Niveau 1
3.4 Dans l'intervalle ... ou pas Tester l'appartenance d'un nombre à un intervalle Niveau 2
3.7 L'heure du bilan Votre tante fortunée revient ... mais cette fois avec des boucles ! Niveau 2
3.8 Plus Grand Diviseur Commun Ecrivez un programme qui calcule le plus grand diviseur commun de deux nombres entiers Niveau 2
3.9 Permutations et combinaisons Calculer le nombre de permutations et de combinaisons de k nombres parmi n Niveau 2

intellij
1.12 Tutorial IntelliJ 1: Créer un projet Ceci est le pemier tutoriel IntelliJ. Ici vous apprendrez à créer un projet. Niveau 0
2.1 IntelliJ Tutorial 2: Hello, World! Ceci est la second volet du tutoriel IntelliJ. Il indique comment créer et exécuter "Hello World!" sous IntelliJ. Niveau 0
2.2 Tutorial IntelliJ 3: Insertion de fichiers utilitaires Ceci est le troisième tutoriel IntelliJ. Vous apprendrez ici à insérer des fichiers utilitaires dans vos projets. Niveau 0
2.3 Tutorial IntelliJ 4: Correction d'erreurs Ceci est le quatrième tutoriel IntelliJ. Vous apprendrez ici comment IntelliJ met en évidence vos erreurs de syntaxe. Niveau 0
3.13 IntelliJ Tutorial 5: Utilisation d'un dévermineur Vous apprendrez dans ce cinquème tutorial à utiliser le dévermineur (debugger) intégré à IntelliJ. Certaines options décrites ici ne vous seront utiles que lorsque la notion de méthode aura été abordée. N'hésitez donc pas à revenir à ce document plus tard en cours de semestre. Niveau 0
4.12 Tutorial IntelliJ 6 : Modification du modèle de fichiers Vous apprendrez dans ce sixième tutorial à modifier le modèle de base de vos fichiers source Java. Niveau 0
7.4 Tutorial Eclipse 7 : Activer la vue Outline Vous apprendrez dans ce huitième tutorial à activer la vue "Outline" de IntelliJ. Cette vue vous permettra de visualiser la structure de vos programmes en termes de classes, attributs et méthodes. Niveau 0

interface
10.3 Boîte aux lettres (avec de la pub) On cherche toujours à affranchir du courrier, mais il faut maintenant compter avec la publicité ! Niveau 2
10.4 Conception d'un jeu de stratégie Analyse de la conception d'un programme Niveau 2
10.6 Primes de risque Conception d'une hiérarchie de classes utilisant la notion d'interface. Niveau 1

méthodes
6.1 Mini-projet (noté) Appliquer les connaissances acquises jusqu'ici pour réaliser un premier petit projet, en relation avec la résolution d'un problème du monde réel. Niveau 2

modularisation
5.1 Reprise du calcul des moyennes Le but de cet exercice est d'illustrer la modularisation de programmes par l'utilisation des méthodes auxiliaires. Niveau 0
5.3 Rectangle Compléter un programme permettant de lire la largeur et la hauteur d'un rectangle Niveau 1
5.4 Portée d'une variable Illustrer un point important concernant la portée des variables Niveau 1
5.5 Erreurs fréquentes dans les méthodes Trouver des erreurs dans le codage de méthodes Niveau 1
5.7 Opération sur les tableaux Exercer vos connaissances des tableaux de type int[] et des méthodes auxiliaires Niveau 1
5.8 Loi de Benford Ecrire un programme permettant de vérifier la loi de Benford Niveau 1
5.9 Nombres amicaux Ecrire un programme permettant de détecter des nombres amicaux Niveau 2
5.11 Césure Compléter un petit programme de césure Niveau 2
5.12 Master-Mind(tm) Ecrire un Master-Mind(tm) élémentaire Niveau 3

mooc
1.1 MOOC (cours en ligne) Inscription au MOOC Niveau 0
2.4 MOOC (cours en ligne) Quiz : variables et expressions Niveau 1
3.2 MOOC (cours en ligne) Quiz : structures de contrôle Niveau 1
3.11 MOOC (cours en ligne) Devoirs du MOOC : structures de contrôle Niveau 2
4.2 Quiz du MOOC Quiz : Tableaux et chaînes de caractères Niveau 1
4.11 Devoir du MOOC Devoirs du MOOC : Tableaux et String Niveau 2
5.2 Quiz du MOOC Quiz : Méthodes/modularisation Niveau 1
5.10 Devoir du MOOC Devoirs du MOOC : Méthodes Niveau 2
7.2 MOOC (cours en ligne) Quiz : premiers pas en POO Niveau 1
8.2 MOOC (cours en ligne) Quiz : Héritage Niveau 1
8.7 Devoir du MOOC Devoirs du MOOC : Bases de la POO et héritage Niveau 2
9.2 MOOC (cours en ligne) Quiz : Polymorphisme Niveau 1
9.10 Devoir du MOOC Devoir du MOOC : polymorphisme Niveau 2
10.1 MOOC (cours en ligne) Quiz : Interface, membres statiques Niveau 1

opérateurs et expressions
2.9 Année de naissance Premiers pas ... tout(e) seul(e) Niveau 1
2.11 Expression polynômiale On s'exerce un peu avec les opérateurs et les expressions arithmétiques de Java Niveau 1
2.12 Opérateurs d'incrémentation/décrémentation Apprendre la différence entre un opérateur infixé et postfixé. Niveau 1
2.14 Variable, affectation Permutation du contenu de deux variables Niveau 2
2.15 Un peu de tout, division d'entiers Une histoire de tante fortunée ... Niveau 2

passage de parametres
5.6 Passage par valeur Que veut dire qu'une référence est passée par valeur ? Niveau 1

polymorphisme
9.1 Reprise de l'exemple des figures géométriques Le but de cet exercice est de reprendre l'exemple de la semaine dernière illustrant la notion de polymorphisme en utilisant une collection hétérogène de figures géométriques. Niveau 0
9.3 Calcul de surfaces 2 Modifier un petit programme de calcul de surfaces Niveau 1
9.7 Tour de cartes Décrire les données d'un jeu simulant des combats de magiciens Niveau 2
9.8 Analyse de programme Analyser et corriger un programme orienté-objet Niveau 1

poo de base
7.1 Conception d'un programme OO simple Le but de cet exercice est d'illustrer les notions d'objet et de classe au moyen d'un exemple simple. Niveau 0
7.3 Calcul de surfaces Modifier un petit programme calculant des surfaces Niveau 1
7.5 Banque Transformer un programme donné en un programme OO Niveau 2
7.6 Géométrie Concevoir entièrement un petit programme orienté-objet Niveau 2
7.7 Supermarché Ecrire un programme orienté objet permettant comptabiliser les achats d'un supermarché Niveau 2

portée
3.5 On tourne en rond Indiquez l'affichage/comportement de divers boucles Niveau 1
5.4 Portée d'une variable Illustrer un point important concernant la portée des variables Niveau 1

static
10.2 Variables statiques Indiquez l'affichage d'un programme. Niveau 1

string
4.7 Comment s'appelait Napoléon? Dans cet exercice, vous devez écrire un programme qui permet de retrouver le nom d'une personne dont on connait le prénom. Niveau 1
4.8 Palindrôme Un palindrôme est un mot que l'on peut lire dans les deux sens. Ecrivez un programme permettant de détecter des palindrômes. Niveau 2
5.11 Césure Compléter un petit programme de césure Niveau 2

tableaux
4.5 Produit scalaire Ecrivez un programme qui calcule le produit scalaire de deux vecteurs Niveau 1
4.6 Triangle de Pascal Ecrire un programme qui stocke le triangle de Pascal de taille n dans un tableau de tableaux et qui l'affiche. Niveau 2
5.7 Opération sur les tableaux Exercer vos connaissances des tableaux de type int[] et des méthodes auxiliaires Niveau 1
6.1 Mini-projet (noté) Appliquer les connaissances acquises jusqu'ici pour réaliser un premier petit projet, en relation avec la résolution d'un problème du monde réel. Niveau 2

tableaux dynamiques
4.9 Échauffement avec les tableaux dynamique Teste la compréhension de quelques notions de bases sur les tableaux dynamiques Niveau 1
4.10 Nombres premiers Trouver les nombres premiers compris entre 2 et 100 et les stocker dans un tableau dynamique Niveau 2

tostring
9.6 Affichage et comparaison d'objets Définition des méthodes toString et equals dans une hiérarchie de classes Niveau 1

transformation d'un programme non oo en un programme oo
7.5 Banque Transformer un programme donné en un programme OO Niveau 2

type char
4.3 Norme Unicode Ecrire un programme qui donne le code Unicode de caractères Niveau 1
4.4 Conversion majuscules/minuscules Ecrire un programme de conversion majuscules/minuscules Niveau 1

types de base
2.13 Types Apprendre quelles conversions on peut faire entre entiers et doubles. Niveau 1

Dernière mise à jour: 17/11/2023  (Revision: 1.2)