Liste d'exercices de programmation

Tous récupérés du Site du Zéro.

Comme tout le monde le sait, pratiquer est important pour progresser en programmation 1. Ce principe était présent du temps du Site du Zéro avec plusieurs topics d’exercices. J’ai donc pris du temps pour récupérer les liens de pas mal d’exercices, liens qui n’étaient plus valides depuis le passage du SdZ à OC.

Voici donc un petit billet récapitulatif. Même si certains sont spécifiques à des langages particuliers (comme zPrintf), la plupart sont faisables peu importe le langage.


  1. Et pas que d’ailleurs, c’est valable dans n’importe quel domaine.

C

zDéfis

Exercices

  • zReader : manipuler les fichiers.
  • zBinary : algorithmique et binaire.
  • zTri : récupération des secondes système, comparatif de tris.
  • zStrcapitalize : recoder la fonction strcapitalize.
  • zAddition : pure algorithmique, matrices.
  • zMath : algorithmique, pile.
  • zGame : résoudre des multiplications le plus vite possible.
  • zStrstat : chaînes de caractères.
  • zStrsearch : chaînes de caractères.
  • zBrace : algorithmique, expressions parenthésées.
  • zGrep : récupération des paramètres du main, algo sur les chaînes, manipulation de fichier, analyse séquentielle.
  • z0zéro : écrire un nombre en toutes lettres.
  • zSommeChiffres : Calculer la somme des chiffres d’un nombre donné. Compter le nombre de fois où une somme est présente dans un intervalle donné.
  • zArray1D : pratique des tableaux à une dimension.
  • zBigInt : opérations surs les grands entiers.
  • zLCD : simulation d’un afficheur 7 segments.
  • zCoupure : jouer au banquier.
  • zWordCount : manipulation de fichiers.
  • zJustificator : justification de texte.
  • zTransforme : manipulations basiques de tableaux.
  • zPointeurs : manipulations de pointeurs.
  • zIdentificator : algorithmique.
  • zChance : manipulation du temps et/ou pratique algorithmique.
  • zConvert : conversion chiffre -> chaîne de caractères.
  • zCalc : créer une calculatrice.
  • zCrypt : initiation au cryptage.
  • zSpirale : boucles, manipulation de tableaux à 2 dimensions et allocation dynamique.
  • zMorp - 1ère partie : un jeu de morpion en console.
  • zMorp - 2ème partie : maintenant, l’IA.
  • zMorp - SDL : même principe, mais version graphique cette fois.
  • getline
  • zConjug : manipulation de chaînes de caractères.

C++

Python


12 commentaires

C’est cool, mais le jour où on le SdZ ne donnera plus accès au forum, on perd tout !

+1 -0

Tiens, j’avais souvenir qu’il y avait beauuuuucoup plus d’exos que ça sur le forum Python. Notamment un projet de démineur…

Cela dit un projet rigolo pourrait être de faire un dépôt sur github avec tous ces énoncés et pour chaque exercice un jeu de tests unitaires que la solution devrait passer.

+14 -0

C’est cool, mais le jour où on le SdZ ne donnera plus accès au forum, on perd tout !

ache

Je compte bien les récupérer, mais ça demande un peu plus de temps déjà. Surtout de mettre en forme.

Tiens, j’avais souvenir qu’il y avait beauuuuucoup plus d’exos que ça sur le forum Python. Notamment un projet de démineur…

nohar

Comme la mise en forme des posts est toute pétée, j’ai peut-être loupé quelques lignes du tableau.

Cela dit un projet rigolo pourrait être de faire un dépôt sur github avec tous ces énoncés et pour chaque exercice un jeu de tests unitaires que la solution devrait passer.

nohar

C’est une très bonne idée. Même si ça rajoute encore un item à ma déjà très longue liste de choses à faire. :D

@informaticienzero: Attend mais pour ça je peux t’aider ! :D

J’avais déjà commencer sur https://md.ache.one je reprend tout à l’heure en suivant les exercices de ton billet.

Je te laisse le soin de créer le dépôt git (où tu veux du moment qu’on peut clonner publiquement).

+3 -0

Cela dit un projet rigolo pourrait être de faire un dépôt sur github avec tous ces énoncés et pour chaque exercice un jeu de tests unitaires que la solution devrait passer.

nohar

C’est une très bonne idée. Même si ça rajoute encore un item à ma déjà très longue liste de choses à faire. :D

informaticienzero

Tu n’es pas obligé de le faire tout seul, on est avant tout une communauté, à plusieurs ça sera plus simple ;)

N’empêche, ça fait un sacré voyage dans le passé quand je relis tous ces sujets Python tombés en décrépitude.

  • dans lesquels on prenait encore la peine de différencier les cas entre Python 2 et Python 3,
  • dans lesquels y’avait Candide qui venait chercher la petite bête (les bons jours) ou juste rager gratuitement (les mauvais),
  • Dans lesquels on passait 10 minutes à résoudre l’énoncé et 3 jours à mesurer les perfs.

Ça me colle un de ces coups de vieux !

@Poliorcetics je pense que ça fait une merveilleuse occasion d’apprendre/de s’entraîner à écrire des tests, chercher tous les corner cases, etc. Je donnerais bien un coup de main à l’occasion.

+2 -0

Cela dit un projet rigolo pourrait être de faire un dépôt sur github avec tous ces énoncés et pour chaque exercice un jeu de tests unitaires que la solution devrait passer.

nohar

C’est une très bonne idée. Même si ça rajoute encore un item à ma déjà très longue liste de choses à faire. :D

informaticienzero

Tu n’es pas obligé de le faire tout seul, on est avant tout une communauté, à plusieurs ça sera plus simple ;)

Heziode

J’ai créé un sujet sur le forum pour en parler plus en détail.

+2 -0

Je voudrais bien aider à la correction des exos, en C++. Et je viens de consulter le lien Github où repose la liste des exos. Juste que je me demande : Quand on trouve un essai de solutions, on ajoute ça au projet sur github ou sur zeste de savoir ?

+0 -0

Le mieux je pense c’est d’en discuter en premier sur le forum et d’ensuite faire un PR sur le dépot Github ^^

Après les remarques des autres et pour te faire aider dans ta PR.

+0 -0

Le mieux je pense c’est d’en discuter en premier sur le forum et d’ensuite faire un PR sur le dépot Github ^^

Après les remarques des autres et pour te faire aider dans ta PR.

ache

OK Si je comprends bien : 1. Cloner l’exo sur son poste et traiter 2. Poster le code sur Zeste de Savoir (un forum) 3. Si accepter mettre sur Github . c’est bien ça ? et je choisis n’importe quel exo tant que c’est pas encore traité. X/

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte