C++, petite question de syntaxe - Page 2
Discussion fermée
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 44 sur 44

C++, petite question de syntaxe



  1. #31
    invite6486d7bd

    Re : C++, petite question de syntaxe


    ------

    Citation Envoyé par jiherve Voir le message
    Je n'ai pas fait d'erreur car je suis resté sur le sujet exact de ce fil une boucle controlée par un entier!!
    Mais non, la boucle n'est pas contrôlée par un entier.
    Elle est contrôlée par le résultat d'un test sur un entier.
    Vous pouvez même modifier cet entier dans la boucle, il est quelconque.

    Citation Envoyé par jherve
    Ce que tu sembles ignorer c'est qu'additionner n fois une valeur flottante f ne donnera pas forcement n*f ,
    Vous focalisez probablement encore sur ce point du fait que vous croyez toujours que la boucle for est dépendante d'un système d'incrément (entier ou autre).
    C'est vrai pour d'autres langages, mais pas ici.

    Citation Envoyé par jherve
    car le drame avec les softeux purs c'est que, pour la plupart vous ne savez pas du tout comment fonctionne un processeur!
    En informatique, un softeux pur c'est comme en thermodynamique un gaz parfait.
    Citation Envoyé par Wikipedia
    À basse pression, tous les gaz peuvent être modélisés par un gaz parfait.

    Lorsque la pression augmente, on ne peut plus négliger les interactions à courte distance, notamment l'effet de taille des molécules et les interactions de type van der Waals.
    https://fr.wikipedia.org/wiki/Gaz_parfait

    -----

  2. #32
    jiherve

    Re : C++, petite question de syntaxe

    re
    oui merci j'ai encore quelques souvenirs , mais en l’occurrence c'est un entier donc ++ = +1 , je sais je suis pénible!

    JR
    l'électronique c'est pas du vaudou!

  3. #33
    jiherve

    Re : C++, petite question de syntaxe

    Re
    Vous focalisez probablement encore sur ce point du fait que vous croyez toujours que la boucle for est dépendante d'un système d'incrément (entier ou autre).
    C'est vrai pour d'autres langages, mais pas ici.
    Même en assembleur on peut faire des boucles n'utilisant pas de compteur ou autre index, ce n'est pas le propre des langages "haut niveaux" qui au final génèrent du code machine étonnant non ?
    En informatique, un softeux pur c'est comme en thermodynamique un gaz parfait.
    En effet quelque soit la capacité mémoire et la puissance de calcul disponibles il n'y en a jamais assez.
    C'est tout de même plus simple de tout bouffer en codant cochon que de réfléchir en codant de façon efficace!
    JR
    l'électronique c'est pas du vaudou!

  4. #34
    Merlin95

    Re : C++, petite question de syntaxe

    Citation Envoyé par jiherve Voir le message
    re
    oui merci j'ai encore quelques souvenirs , mais en l’occurrence c'est un entier donc ++ = +1 , je sais je suis pénible!

    JR
    Vous posiez la question, je vous répondais.

  5. #35
    albanxiii
    Modérateur

    Re : C++, petite question de syntaxe

    Citation Envoyé par jiherve Voir le message
    Ce que tu sembles ignorer c'est qu'additionner n fois une valeur flottante f ne donnera pas forcement n*f , car le drame avec les softeux purs c'est que, pour la plupart vous ne savez pas du tout comment fonctionne un processeur!
    Soyons sérieux, à part la personne qui a posé la question et qui débute, et encore, ça n'est même pas sur, personne sur ce fil n'ignore ce fait.
    Je ne vois pas ce qu'il y a de difficile à reconnaître qu'on s'est trompé au lieu de chercher à noyer le poisson dans la mauvaise foi.
    Not only is it not right, it's not even wrong!

  6. #36
    jiherve

    Re : C++, petite question de syntaxe

    Bonjour
    où me suis je trompé ,qu'ai je écrit de faux ?
    de façon factuelle svp!


    personne sur ce fil n'ignore ce fait
    pourtant j'ai cru percevoir le contraire en lisant certaines réponses qui se voulaient cinglantes!
    Bien sur un while sur une valeur flottante (quelqu'en soit l'origine) avec sortie sur inegalité/egalité quelquefois cela tombe en marche!
    un peu de lecture encore :
    https://wiki.sei.cmu.edu/confluence/...+loop+counters
    C'est rédhibitoire pour du code certifiable

    JR
    l'électronique c'est pas du vaudou!

  7. #37
    Merlin95

    Re : C++, petite question de syntaxe

    Pourtant :

    Citation Envoyé par jiherve Voir le message
    bonsoir
    en fait, tout dépendra du compilateur comme d'habitude avec les langages "évolués" trop permissifs, amha surprises garanties quelquefois!
    JR
    Dernière modification par Merlin95 ; 09/07/2019 à 11h48.

  8. #38
    invite6486d7bd

    Re : C++, petite question de syntaxe

    Citation Envoyé par jiherve Voir le message
    un peu de lecture encore :
    https://wiki.sei.cmu.edu/confluence/...+loop+counters
    C'est rédhibitoire pour du code certifiable
    In this noncompliant code example, a floating-point variable is used as a loop counter.
    The decimal number 0.1 is a repeating fraction in binary and cannot be exactly represented as a binary floating-point number. Depending on the implementation, the loop may iterate 9 or 10 times
    Du ba ba...

    D'ailleurs vous avez aussi un biais possible si vous incrémentez un entier dans une boucle d'un nombre qui dépasse ou n'atteint pas la valeur finale...

    Vous semblez en tous cas ne toujours pas avoir intégré le fait que si ce cas de figure (code pourri en C ou java ) est possible, c'est justement que "for" ne fait pas appel à un compteur de boucle.
    Oubliez donc ce compteur...

    En Pascal par exemple, il n'est au contraire pas possible de faire appel à une variable d'incrément de boucle qui ne soit pas un entier, et le problème de son incrément ne se pose pas, il est même automatique.
    Si on veut décrémenter un compteur, contrairement au C, on doit même le préciser par un "downto" (et non pas un "to") au niveau de la syntaxe.

    Il n'est également pas possible d’incrémenter ou de décrémenter le compteur de boucle (en Pascal) autrement que par un pas de 1, alors qu'en C on est libre au point de n'être même pas obligé de l'incrémenter...
    Citation Envoyé par Developpez M.Dlb
    Le pas dans une boucle for en pascal est obligatoirement de 1.
    Pour faire une boucle avec un pas différent, il faut utiliser un while, puisqu'il n'est pas permis de modifier l'indice de boucle à l'intérieur de la boucle.
    https://www.developpez.net/forums/d1...gage/step-for/

    A ce niveau, le langage Pascal est certes moins souple, mais il est également plus fiable.

  9. #39
    polo974

    Re : C++, petite question de syntaxe

    Les float, il faut juste savoir comment les prendre:
    (exemple légèrement modifié, juste en réfléchissant un quart de poil...)
    Code:
    $ cat bouclf.c
    #include <stdio.h>
    
    void func(void) {
        float x;
        for (x = 0.1f; x <= 1.05f; x += 0.1f)
            printf("%f\n", x);
    
        printf ("\n");
    
        if (x == 1.)
            printf ("x == 1.\n");
        else
            printf ("x != 1.\n");
    }
    
    int main()
    {
        func();
    }
    $ gcc bouclf.c -o bouclf
    $ ./bouclf
    0.100000
    0.200000
    0.300000
    0.400000
    0.500000
    0.600000
    0.700000
    0.800000
    0.900000
    1.000000
    
    x != 1.
    et s'en méfier comme de la peste...

    et puis, avec les int, il faut aussi se méfier:
    Code:
    $ cat boucli.c
    #include <stdio.h>
    
    void func(void) {
        int x;
        for (x = 2147483640; x <= 2147483650; x ++)
            printf("%d\n", x);
    
        printf ("\n");
    
    }
    
    int main()
    {
        func();
    }
    
    $ gcc boucli.c -o boucli
    $ ./boucli
    2147483640
    2147483641
    2147483642
    2147483643
    2147483644
    2147483645
    2147483646
    2147483647
    -2147483648
    -2147483647
    -2147483646
    -2147483645
    -2147483644
    -2147483643
    -2147483642
    -2147483641
    -2147483640
    -2147483639
    -2147483638
    ^C
    
    ... oups
    Mais bon, on s'est éloigné de la pré et post incrémentation(/décrémentation)...
    Jusqu'ici tout va bien...

  10. #40
    jiherve

    Re : C++, petite question de syntaxe

    Bonsoir,
    oui mais celle là sur une machine 32 bits ne finit jamais:
    for (x = 100000.0f; x <= 100000.1f; x += 0.003f)

    C'est tout ce que je voulais dire!
    JR
    l'électronique c'est pas du vaudou!

  11. #41
    pm42

    Re : C++, petite question de syntaxe

    Citation Envoyé par jiherve Voir le message
    oui mais celle là sur une machine 32 bits ne finit jamais:
    for (x = 100000.0f; x <= 100000.1f; x += 0.003f)
    C'est tout ce que je voulais dire!
    C'est vrai aussi avec du while et cela n'a aucun rapport avec le sujet du fil ni même avec les boucles for.
    Comme le disait Albanxiii, à ce niveau de mauvaise foi pour ne pas reconnaitre qu'on a tort, il faut le faire.

    On va bientôt voir arriver les normes de codage dans l'aéronautique ou équivalent.
    Mais non, on a déjà eu une remarque sur le code certifiable, là aussi sans aucun rapport avec la pré/post-incrémentation.

  12. #42
    jiherve

    Re : C++, petite question de syntaxe

    Re
    n'aurais tu pas ecrit :
    Ce que tu dis sur l'utilisation des flottants dans une boucle en C est également faux : une boucle bien écrite fonctionnera parfaitement vu que la plupart du temps, on se limite à des constantes genre for(float x = 0.0; x < 1.0; x+=0.1).
    !
    Ou ai je rêvé ?
    Bon la mauvaise foi n'est pas de mon fait j’arrête là.
    JR
    l'électronique c'est pas du vaudou!

  13. #43
    pm42

    Re : C++, petite question de syntaxe

    Citation Envoyé par jiherve Voir le message
    Bon la mauvaise foi n'est pas de mon fait j’arrête là.
    Tout le monde a pu le constater sur ce fil en effet

  14. #44
    JPL
    Responsable des forums

    Re : C++, petite question de syntaxe

    Vu que nous en sommes au message 43 (sans compte celui-ci), que Bounoume n’est pas revenu depuis le message 10 et que cette discussion a dérivé puis s’est transformée en une lutte d’égos elle est désormais close.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. [Programmation] Question de syntaxe : modification de certaines valeurs d'un port en C.
    Par CeylordZ dans le forum Électronique
    Réponses: 6
    Dernier message: 12/03/2019, 08h22
  2. [Blanc] Petite présentation et non moins petite question
    Par chartreuse92 dans le forum Dépannage
    Réponses: 1
    Dernier message: 21/10/2018, 13h28
  3. question de syntaxe matlab: ode45
    Par Bartolomeo dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 02/06/2009, 18h28
  4. Question de syntaxe
    Par invitefa769f9f dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 25/10/2007, 11h30