1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Exercices de programmation

Discussion dans 'Programmation' démarrée par Clyese, 22 Avril 2016.

  1. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Exercices de programmation

    Alors voila l'idée sur ce poste est que tout le monde puisse proposer des exercices de programmation (C/C++, Java, html/css, php,...) pour s'amuser un peuje proposerai des exercice avec leur correction sur ce poste.[​IMG]

    Ainsi dans la correction j'expliquerai les notions pouvant être intéressante, par exemple dans une horloge en C je vous expliquerai comment se servir des fonctions de time.h vu que dans le cours du site du zero cela n'est pas expliqué :)



    Si vous voulez en poster vous devrez suivre se modèle :
    Nom de l'exercice



    Langage de programmation utilisé dans l'exercice : (C,C++,Java,...)

    Difficulté : [De 1 à 10] (à vous de la définir en fonction du langage utilisé et de lalgorithme)

    Lexercice : (informations et instructions pour réaliser l'exercice)

    Correction : ( mettre dans un Spoiler pour ne pas gâcher le plaisir de trouver tout seul au lecteur[​IMG])


    I. Exercices :


    Pierre, Feuille, Ciseaux ! Contre l'ordinateur !


    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [1.5]

    L'exercice: L'objectif de cet exercice sera de créer un pierre, feuille, ciseaux basique en C (en console). Vous connaissez tous le jeu le principe est de battre votre adversaire en ayant dit pierre si il a dit ciseaux, feuille si il a dit pierre,... le vainqueur et celui ayant dit le mot qui bat le mot de l'autre.

    Voici les instructions:



    • Lorsque nous démarrerons notre programme il devra être affiché un menu qui indiquera quelle nombre correspond à quelle mot (Exemple : Pierre = 1; Feuille = 2,..)
    • Le programme devra ensuite demandé au joueur de choisir un nombre (donc si l'utilisateur veut dire Pierre il tapera 1).
    • Le programme comparera ensuite le mot proposé par l'ordinateur et celui proposé par le joueur si le joueur à dit Pierre et que l'ordinateur à dit feuille alors l'ordinateur gagne !
    En faite c'est comme pour le joueur l'ordinateur va devoir choisir entre 1, 2 ou 3 pour ceci nous allons utiliser la fonctionSrandqui générera un nombre au hasard voici le code à utiliser :

    Code:
    srand(time(NULL));
    
    MotOrdinateur = (rand() % (Max - Min + 1)) + Min; //Mot ordinateur sera la variable qui correspondra au choix de l'ordianteur
    Pensez à définir les variable constante Max = 3 et Min = 1 (oui Min 1 et Max 3 car il n'y a que Pierre, Feuille et Ciseaux).



    Bon je pense vous avoir donné asse d'information, à vous de jouez[​IMG]

    Correction:

    Voici la solution que je vous propose :

    Code:
    /*
    
    Pierre, feuille, ciseaux en console résalisé par Lyes.
    */
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main (int argc, char *argv [])
    {
    int choix_user = 0, choix_computer = 0;
    const int MAX = 3, MIN = 1; //On définit les constante MAX et MIN qui vont nous servir pour le générateur de nombre aléatoire
    
    //Générateur de nombre aléatoire
    
    srand(time(NULL));
    choix_computer = (rand() % (MAX - MIN + 1)) + MIN;
    
    //Fin générateur de nombre aléatoire
    
    printf("Infos :\n - 1 = Pierre\n - 2 = Feuille\n - 3 = Ciseaux\n\n Entrez le nombre corespondant a votre choix :");
    scanf_s("%d", &choix_user);
    
    if (choix_user == choix_computer) //Si le choix de l'utilisateur est = à celui de l'ordinateur alors c'est match nul
    {
    printf("\nMatch nul\n");
    }
    
    else if (choix_user == 1 && choix_computer == 3) //Si le joueur dit pierre et l'ordinateur dit ciseaux alors le joueur gagne
    {
    printf("\nL'ulisateur a dit pierre et l'ordinateur a dit ciseaux donc l'utilisateur gagne !\n");
    }
    else if (choix_computer == 1 && choix_user == 3) //Si le joueur dit ciseaux et l'ordinateur dit pierre alors l'ordinateur gagne
    {
    printf("\nL'ulisateur a dit ciseaux et l'ordinateur a dit pierre donc l'ordinateur gagne !\n");
    }
    else if (choix_user == 3 && choix_computer == 2) //Si le joueur dit ciseaux et l'ordinateur dit feuille alors le joueur gagne
    {
    printf("\nL'ulisateur a dit ciseaux et l'ordinateur a dit feuille donc l'utilisateur gagne !\n");
    }
    else if (choix_computer == 3 && choix_user == 2) //Si le joueur dit feuille et l'ordinateur dit ciseaux alors l'ordinateur gagne
    {
    printf("\nL'ulisateur a dit feuille et l'ordinateur a dit ciseaux donc l'ordinateur gagne !\n");
    }
    else if (choix_user == 2 && choix_computer == 1) //Si le joueur dit feuille et l'ordinateur dit pierre alors l'utilisateur gagne
    {
    printf("\nL'ulisateur a dit feuille et l'ordinateur a dit pierre donc l'utilisateur gagne !\n");
    }
    else if (choix_computer == 2 && choix_user == 1) //Si le joueur dit pierre et l'ordinateur dit feuille alors l'ordinateur gagne
    {
    printf("\nL'ulisateur a dit pierre et l'ordinateur a dit feuille donc l'ordinateur gagne !\n");
    }
    else
    {
    printf("\nErreur !\n");
    }
    
    return 0;
    }



    Bon c'était pas trop dur ? Si vous y êtes arrivé vous pouvez maintenant apporter des modification au programme :

    - Faire un multi-joueur

    - Proposer de rejouer

    - Laissez libre cour à votre imagination !


    Pile ou Face !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [1]

    L'exercice : Réaliser un pile ou face en C (dans la console sa sera plus simple)

    Voici les instructions: Vous devrez vous servir de la fonctionSrandque je vous ai donné pour lePierre, Feuille, Ciseaux.

    Le programme devra générer aléatoirement un nombre 1 ou 0, une condition nous permettra d'afficher si c'est pile ou si c'est face (Indice : utilisez les booléens).

    Attention à bien inclure time.h !

    Un joli petit programme pas trop dur pour faire le kéké devant les copains :p

    Correction:

    Voici la solution proposée par @Dragorn421 :

    Code:
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    void pileOuFace()
    {
    srand(time(NULL));
    do {
    printf(rand()%2==0?"Pile !":"Face !");
    } while(getchar() == '\n');//s'arrête quand on entre autre chose que entrée
    }


    Le Juste Prix !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [2]

    Voici le nouvel exercice :

    Bien l'exercice d'aujourd'hui aura pour but de créer un
    "Juste Prix" inspiré de la phase final du célèbre jeu. C'est à dire que nous devrons deviner un nombre mystère comprit entre 0 et 50 000.

    Vous êtes intéressé ? Alors passons sans plus attendre aux instructions :D


    Voici les instructions:


    Pour commencer, il faut que nous nous mettions d'accord sur ce que notre programme devra faire et comment il va le réaliser. C'est pourquoi je vais vous donner des instructions asse minimaliste, en d'autre termes les règles du jeu avec quelques informations supplémentaires.


    Contrairement à d'habitude vous allez passer par une
    étape importante, vous allez rédiger l'algorithme à l'aide d'un papier et d'un crayon avant de le programmer.

    Pourquoi faire ceci ?Parce que cela vous permettra de structurer votre code et de prendre de bonne habitude en programmation. Ainsi à l'aide d'un algorithme bien conçu, vous saurez ce que vous devez inclure au programme et surtout comment vous allez le mettre en place. Bien sur après c'est à vous de voir comment l'implémenter selon le langage.

    Comprenez que c'est d'une importance capital pour réaliser un code propre et organisé ![​IMG]

    Passons aux instructions :

    • Tout d'abord nous afficherons le titre du jeu(tout de même il ne faudrait pas qu'un utilisateur étourdit ne sache pas ce qu'est notre programme, de plus cela vous permettra de vous souvenir de ce qu'est le programme si jamais vous décidez d'y jeter un coup d’œil plusieurs mois après sa réalisation).
    • L'ordinateur devra commencer par générer un nombre comprit entre 0 et 50 000, pour cela referez vous à la fonction srand du"Pierre, feuille, ciseaux !"que vous trouverez plus haut.
    • Ensuite nous demanderons à l'utilisateur d'entrer un nombre.
    • Si le nombre entré est inférieur au nombre mystère alors afficher "C'est plus !", sinon si il est supérieur alors afficher "C'est moins !"
    • Nous répéterons donc ces instructions tant que le nombre entré sera différent de celui généré par l'ordinateur.
    • Une fois le nombre mystère trouvé par l'utilisateur, nous afficherons un message du type : "Félicitation vous avez trouvé le Juste Prix !"

    Idées d'améliorations:


    - Créer un Multi-joueur

    - Réaliser un compteur qui s'incrémente à chaque essai de l'utilisateur)

    - Pourquoi pas créer une fonction vide qui affichera les règles (donc on créera également un menu pour naviguer entre les différentes fonctions du programmes)

    - Enfin, laissez libre cour à votre imagination, l'idée étant de s'entraîner !


    II. Prochainement :


    Trouver le "Juste Prix" le plus rapidement possible !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [1] (Ici c'est avant tout un exercice d'algorithmique donc il est possible que je vous laisse trouver la solution comme des grands[​IMG])

    Voici le nouvel exercice : Prochainement !

    Voici les instructions : Prochainement !



    La suite de Leibniz !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [3]

    Voici le nouvel exercice : Prochainement !


    Voici les instructions : Prochainement !



    Discriminant et équation de degré 2 !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [2.5]

    Voici le nouvel exercice : Prochainement !

    Voici les instructions : Prochainement !




    Problème de math sur les chaîne TV !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté : [4] (Attention ici l'implémentions est simple mais l'algorithme est dur pour les débutant !)

    Voici le nouvel exercice : Prochainement !

    Voici les instructions : Prochainement !



    Exercice sur les suites !

    Langage de programmation utilisé dans l'exercice : Langage C

    Difficulté :
    [2] (Ici je vous donnerez l'énoncé et vous ferez tout tout seul)

    Voici le nouvel exercice : Prochainement !

    Voici les instructions : Prochainement !



    Si vous n'avez pas compris quelque choses dites le moi je vous l'expliquerai.



    Cordialement,
    Lyes.
     
    • Like Like x 2
  2. Mazette
    Offline

    Mazette Ancien Staff Ancien Staff

    Inscrit depuis le :
    12 Avril 2016
    Messages :
    45
    "J'aime" reçus :
    17
    Points de Trophée :
    8
    Sexe :
    Masculin
    Bravo Lyes ;)
     
  3. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Merci, ça faisait longtemps que je les avais écrit ces exercices. J'ai juste mis à jour mon "tuto" :D
     
  4. PandiHeberge
    Offline

    PandiHeberge Partenaire Partenaire

    Inscrit depuis le :
    17 Mai 2016
    Messages :
    13
    "J'aime" reçus :
    7
    Points de Trophée :
    3
    Sexe :
    Masculin
    Page d'accueil :
    BTS SIO ? j'avais fait les mêmes exercices x)
     
    • Like Like x 1
  5. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Non terminale S SI ;)
     
  6. skylide
    Offline

    skylide Ancien Staff Ancien Staff

    Inscrit depuis le :
    28 Avril 2016
    Messages :
    17
    "J'aime" reçus :
    6
    Points de Trophée :
    3
    Sexe :
    Masculin
    pas d'exercice html css ? :D
     
  7. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Non je donne des exos dans mon langage de prédilection c'est à dire le C ;)

    Mais libre à toi de les réaliser dans d'autres langages :)
     
  8. PandiHeberge
    Offline

    PandiHeberge Partenaire Partenaire

    Inscrit depuis le :
    17 Mai 2016
    Messages :
    13
    "J'aime" reçus :
    7
    Points de Trophée :
    3
    Sexe :
    Masculin
    Page d'accueil :
    Si je retrouve mes exos html/css je vous les ferais partager ;)
     
    • Like Like x 1
  9. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Bonne idée :D
     
  10. enzogem
    Offline

    enzogem Protector of The Realm

    Inscrit depuis le :
    10 Avril 2016
    Messages :
    54
    "J'aime" reçus :
    8
    Points de Trophée :
    8
    Sexe :
    Masculin
    Mais..... Je voulais programmer en scratch moi...:(;)
     
  11. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Difficilement avec ce genre d'exercice :p (Quoi que surement possible ;) )
     
  12. Spiikesan
    Offline

    Spiikesan Développeur

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    6
    "J'aime" reçus :
    3
    Points de Trophée :
    3
    Sexe :
    Masculin
    Travail/Loisirs :
    Informatique, développement
    Lieu de résidence :
    Bordeaux
    Bonjour !
    On peux mettre n'importe quel type d'exercice ? Si oui, j'en donnerai quelques uns... En C biensûr ! ;)

    Cordialement,
    Spiikesan
     
    • Like Like x 1
  13. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Bonjour,
    Oui bien sûr :)
     
  14. Spiikesan
    Offline

    Spiikesan Développeur

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    6
    "J'aime" reçus :
    3
    Points de Trophée :
    3
    Sexe :
    Masculin
    Travail/Loisirs :
    Informatique, développement
    Lieu de résidence :
    Bordeaux
    Je dois créer mon thread où je poste simplement une réponse ici ? (j'aurais dû poser la question en même temps... Désolé)

    [EDIT]
    J'me répond à moi même => Je fais un autre thread, ça évitera de trop remplir celui-ci
     
  15. Clyese
    Offline

    Clyese Président corrompu Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    519
    "J'aime" reçus :
    108
    Points de Trophée :
    43
    Sexe :
    Masculin
    Travail/Loisirs :
    Diriger les Etats-Unis d'Amérique
    Lieu de résidence :
    Maison Blanche
    Page d'accueil :
    Tu pouvais écrire à la suite du message si le voulais. Mais tu peux aussi créer ton propre topic :p
     

Partager cette page

Utilisateurs qui regardent actuellement cette discussion : 0 membre(s) et 0 visiteur(s)