Vlákno názorů k článku Programovací jazyk Forth a zásobníkové procesory (7) od MikRom - Ten WITHIN mi nejak neleze do hlavy: 3 6...

  • Článek je starý, nové názory již nelze přidávat.
  • 12. 9. 2008 17:45

    MikRom (neregistrovaný)
    Ten WITHIN mi nejak neleze do hlavy:
    3 6 5 WITHIN
    dava vysledok -1 (t.j. True, pretoze plati 3 < 5 < 6. To je ok. Ale preco
    5 3 6 WITHIN
    dava takisto vysledok -1 (t.j. True), ked by to malo byt 0 (t.j. False), pretoze predsa neplati 5 < 6 < 3 ?! Takze
    a b x WITHIN
    zrejme dava nieco ineho, nie len pravdivostnu hodnotu a < x < b. Aby sa to spravalo jak ma, mala by definicia vyzerat asi takto:
    : WITHIN?
    ( a b x -- f )
    \ f je pravdivostna hodnota nerovnosti a < x < b
    \ podla definicie: a < x < b <=> ( a < x ) & ( x < b)
    DUP ROT < >R < R> AND
    ;
    
    Potom
    3 6 5 WITHIN
    dava -1 (True) a
    5 3 6 WITHIN
    dava 0 (False).
  • 12. 9. 2008 21:38

    MikRom (neregistrovaný)
    Niekde som nasiel imformaciu, ze
    WITHIN ( u1 u2 u3 −− flag ) je True ak u3 − u2 > u1 − u2, inac je False