Algorithme
Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

Algorithme



  1. #1
    Jhonny2

    Algorithme


    ------

    Bonjour, s'il vous plaît quelqu'un pourrait il m'aider à écrire un algo qui demande à l'utilisateur d'entré un nombre puis lui renvoi pair si le nombre est pair et impair dans le cas contraire

    -----

  2. #2
    pm42

    Re : Algorithme

    Citation Envoyé par Jhonny2 Voir le message
    Bonjour, s'il vous plaît quelqu'un pourrait il m'aider à écrire un algo qui demande à l'utilisateur d'entré un nombre puis lui renvoi pair si le nombre est pair et impair dans le cas contraire
    Bien sur. L'algorithme s'écrit ainsi :

    1) demander un nombre à l'utilisateur
    2) si le nombre est pair, afficher "pair"
    3) sinon afficher "impair"

  3. #3
    Paraboloide_Hyperbolique

    Re : Algorithme

    Bonjour,

    @Jhonny2: pourriez-vous spécifier le langage que vous utilisez (C, C++, Java, Javascript, R, Matlab, Python, peudo-code, autre) ?

    Ensuite, comme il s'agit clairement d'un exercice, et conformément à la charte, montrez-nous ce que vous avez essayé de faire.

    Indice: un nombre est pair s'il est divisible par 2.

  4. #4
    Janpolanton

    Re : Algorithme

    Bonjour,

    La méthode la plus simple avec une seule ligne de code (qu'il te faudra écrire car on ne va pas faire le boulot à ta place ) :
    • Il faut "tester" le bit de poids faible, donc le bit 0.
    • Tous les nombres pairs ont le bit 0 = 0
    • Tous les nombres impairs ont le bit 0 = 1

  5. A voir en vidéo sur Futura
  6. #5
    champetre

    Re : Algorithme

    Bonjour,

    Pour Paraboloide_Hyperbolique : il parle d'algorithme !

  7. #6
    pm42

    Re : Algorithme

    Citation Envoyé par champetre Voir le message
    Pour Paraboloide_Hyperbolique : il parle d'algorithme !
    En effet et surtout il veut qu'on lui fasse son exo à sa place.
    Mais au moins, il aura eu une réponse avec le test du bit de poids faible, sans doute la chose la plus inadaptée qu'on puisse lui dire: ce n'est pas un algo, cela ne marche pas dans tous les langages et c'est largement au delà du niveau d'un débutant qui pose une question comme ça.

  8. #7
    albanxiii
    Modérateur

    Re : Algorithme

    Citation Envoyé par pm42 Voir le message
    Mais au moins, il aura eu une réponse avec le test du bit de poids faible, sans doute la chose la plus inadaptée qu'on puisse lui dire: ce n'est pas un algo, cela ne marche pas dans tous les langages et c'est largement au delà du niveau d'un débutant qui pose une question comme ça.
    C'est l'inconvénient quand on répond, mais pas pour répondre à l'auteur de la question. Je vois que ça n'arrive pas qu'en physique
    Not only is it not right, it's not even wrong!

  9. #8
    pm42

    Re : Algorithme

    Citation Envoyé par albanxiii Voir le message
    C'est l'inconvénient quand on répond, mais pas pour répondre à l'auteur de la question. Je vois que ça n'arrive pas qu'en physique
    Ceci dit, je lui ai donné l'algorithme exact dès la 1ère réponse et pour le moment, il n'est pas revenu.
    Après, si son problème est les détails d'implémentation de l'algorithme du genre "comment tester si on nombre est pair", il y a plusieurs réponses même si la plus simple est probablement le modulo.

  10. #9
    Jhonny2

    Re : Algorithme

    "comment tester si on nombre est pair", il y a plusieurs réponses même si la plus simple est probablement le modulo.
    Réponse rapide à ce messageRépondre
    oui c'est ça que je cherchais le modulo merci en passant dsl je suis débutant

  11. #10
    Janpolanton

    Re : Algorithme

    Bonjour,
    Donc, j'avais raison d'avoir lu entre les lignes, malgré vos critiques.
    Il cherchait bien une solution...

  12. #11
    Deedee81

    Re : Algorithme

    Salut,

    Citation Envoyé par Janpolanton Voir le message
    Il cherchait bien une solution...


    Oui, ça je crois que tout le monde l'avait compris dès le premier message

    (mais sinon pour les bits, oui, à moins d'être un crac en C, il doit pas y avoir beaucoup de débutants qui maîtrisent, et la question du début n'est pas une question d'un spécialiste. Et pire on ne connait même pas le langage. Par contre modulo est déjà beaucoup plus connu)
    (mais d'accord avec Albanxiii, je ne passe pas souvent ici et ça m'amuse de voir que ce soucis n'arrive pas que dans mes forums de prédilection )
    Dernière modification par Deedee81 ; 16/02/2023 à 08h34.
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  13. #12
    umfred

    Re : Algorithme

    Citation Envoyé par Jhonny2 Voir le message
    oui c'est ça que je cherchais le modulo merci en passant dsl je suis débutant
    Le modulo, ce n'est que le reste d'une division (en prog), même si on ne connait pas le mot ou l'opérateur, on peut le faire d'une autre façon.

  14. #13
    pm42

    Re : Algorithme

    Citation Envoyé par umfred Voir le message
    Le modulo, ce n'est que le reste d'une division (en prog), même si on ne connait pas le mot ou l'opérateur, on peut le faire d'une autre façon.
    En effet et historiquement, c'est ce qu'on faisait. Mais de nos jours, c'est dispo dans tous les langages et c'est pratique à connaitre pour un débutant parce que cela a d'autres usages.

  15. #14
    Deedee81

    Re : Algorithme

    Citation Envoyé par pm42 Voir le message
    c'est dispo dans tous les langages
    Mais pas la manipulation des bits, si je ne me trompe ?
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  16. #15
    pm42

    Re : Algorithme

    Citation Envoyé par Deedee81 Voir le message
    Mais pas la manipulation des bits, si je ne me trompe ?
    En effet même si la plupart des langages modernes l'ont. Mais ça ne marcherait pas sur un ordinateur ternaire : https://fr.m.wikipedia.org/wiki/Ordinateur_ternaire

  17. #16
    Deedee81

    Re : Algorithme

    J'ai appris quelque chose Qu'est-ce qu'on n'invente pas tout de même
    "Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)

  18. #17
    umfred

    Re : Algorithme

    ça ne change pas la représentation d'un nombre (c'est un état déterminé), donc ça doit aussi marcher sur un ordinateur ternaire (tant qu'on ne parle pas de base 3)

  19. #18
    polo974

    Re : Algorithme

    Voir https://en.wikipedia.org/wiki/Ternary_computer
    Et https://en.wikipedia.org/wiki/Balanced_ternary

    On peut aussi envisager un truc genre "base 5 balancé"
    Ou 7 ou autre base impaire...
    Jusqu'ici tout va bien...

  20. #19
    pm42

    Re : Algorithme

    Citation Envoyé par umfred Voir le message
    ça ne change pas la représentation d'un nombre (c'est un état déterminé), donc ça doit aussi marcher sur un ordinateur ternaire (tant qu'on ne parle pas de base 3)
    Si tes nombres ne sont pas représentés avec des bits mais avec des trits, tester un bit devient compliqué non ?

    A la limite, ils pourraient être représenté en base 10 comme ce que nous faisons et les humains ne testent pas la parité sur la base du dernier bit.
    D'ailleurs, cette représentation en base 10 a existé comme couche au dessus du binaire : c'est le BCD.

    https://en.wikipedia.org/wiki/Binary-coded_decimal
    Dernière modification par pm42 ; 16/02/2023 à 18h51.

  21. #20
    pm42

    Re : Algorithme

    Sinon, je viens de penser qu'il ne faut pas oublier que les compilos modernes sont plus forts que nous en général et qu'ils savent faire les optimisations en particulier.

    Donc si j'écris en C du code avec un modulo 2 :

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char** argv) {
      int x = atoi(argv[1]);
      if(x%2==0) printf("even\n"); else printf("odd\n");
    }
    il fait bien un modulo aussi en code généré par défaut.
    Mais si on passe un -O3 à gcc, on récupère :

    Code:
    0000000100003f50	pushq	%rbp
    0000000100003f51	movq	%rsp, %rbp
    0000000100003f54	movq	0x8(%rsi), %rdi
    0000000100003f58	callq	0x100003f7a                     ## symbol stub for: _atoi
    0000000100003f5d	testb	$0x1, %al
    0000000100003f5f	leaq	0x4a(%rip), %rax                ## literal pool for: "even"
    0000000100003f66	leaq	0x3f(%rip), %rdi                ## literal pool for: "odd"
    0000000100003f6d	cmoveq	%rax, %rdi
    0000000100003f71	callq	0x100003f80                     ## symbol stub for: _puts
    0000000100003f76	xorl	%eax, %eax
    0000000100003f78	popq	%rbp
    0000000100003f79	retq
    Et on constate qu'il a remplacé le modulo par un testb qui fait bien le end. Il remplace même l'appel à printf par un puts vu qu'il n'y a pas d'arguments.

  22. #21
    Stan_94

    Re : Algorithme

    Bonjour,
    désolé de faire encore un petit HS, mais je suis à la fois surpris et également soulagé que personne n'ai osé répondre au primo posteur de demander ça à qui vous savez (Miaou du papa de Pinocchio, je veux pas écrire son nom, marre de le voir partout ! )

  23. #22
    umfred

    Re : Algorithme

    au chat qui des problèmes de ballonnements?

Discussions similaires

  1. Algorithme
    Par invitec092bfbc dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 06/12/2017, 18h57
  2. Algorithme
    Par univers7d dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 31/05/2014, 14h27
  3. Algorithme
    Par invite686c4c42 dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 30/09/2012, 12h49
  4. algorithme 2nd
    Par invitea2fc588e dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 27/09/2012, 18h54
  5. algorithme
    Par inviteb0f7be7e dans le forum Mathématiques du supérieur
    Réponses: 15
    Dernier message: 29/10/2007, 19h06