OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 15:20

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 
Autor Zpráva
 Předmět příspěvku: Priorita matem. operací v basicu
PříspěvekNapsal: 13.10.2020, 07:29 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
PotPalo píše:
Kód:
10 LET a$="1"
20 PRINT INK 0+(2 AND a$="1");"text"
Keď a$=1, je text červený, inak čierny. Prečo mi tá nula nejde nahradiť za NOT PI? SGN PI tam funguje normálne, ale akonáhle dám NOT PI, tak to prestane fungovať a text je čierny bez ohľadu na a$.
Basic funguje spravne, chyba je u teba :)
Iba si si neuvedomil, ze NOT je logicka funkcia, a logicke funkcie maju nizsiu prioritu ako aritmeticke a relacne. Takze najprv sa vykona plus, a az potom na cely vysledok scitania sa aplikuje NOT.
Skus toto:
Kód:
PRINT 0+1
PRINT NOT PI+1
PRINT (NOT PI)+1
Proste, logicke funkcie AND OR NOT su navrhnute tak, aby nebolo potrebne pouzivat zatvorky v obvyklom pouziti tychto funkcii. Napriklad:
Kód:
IF NOT 1+2=3 THEN PRINT "Koniec sveta"
Najprv sa musi vyhodnotit 1+2, potom 3=3 a az vysledok TRUE relacneho operatora = ide do funkcie NOT ktora ho zmeni na FALSE a koniec sveta nenastane :)


Nahoru
 Profil  
 
PříspěvekNapsal: 13.10.2020, 14:15 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
PotPalo píše:
Ja som si vždy myslel že to počíta lineárne.
No, to by asi nebolo celkom zdrave... napises 1+2*3 a vysledok by bol 9, ved by to matematici obuchali konstrukterom o hlavu :D
PotPalo píše:
No čo už. Dávať NOT PI do zátvoriek, to môžem rovno použiť VAL "0", alebo kratšie PI-PI.
Alebo elegantnejsie LN SGN PI :)

PS1: Ale este viac miesta usetris, ked namiesto NOT PI + nieco napises iba to nieco. Nulu pripocitavat obvykle vobec netreba :)
PS2: PI-PI tiez nie je vzdy vhodne. Napriklad skus toto:
Kód:
PRINT 1 - 0
PRINT 1 - PI-PI


Nahoru
 Profil  
 
PříspěvekNapsal: 13.10.2020, 14:35 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
PotPalo píše:
Ja som si vždy myslel že to počíta lineárne.

To dělají akorát primitivní kalkulačky, že to počítají jak to tam sázíš.
Jinak existuje nějaká hiearchie početních úkonů, ale to neznamená, že to má zabudovaný stroj úplně a správně, od toho jsou tam závorky a pak se to dělá jednoznačně.

V aritmetických výrazech nabývá logická relace hodnotu 0 a 1 (false,true), ale logické operace se dělají až nakonec.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
PříspěvekNapsal: 13.10.2020, 14:56 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Dalsi mozny sposob je namiesto NOT PI pouzit SIN PI. Pocita to sice mnohonasobne dlhsie, ale kedze SIN je aritmeticka funkcia, tak ma prioritu vyssiu nez scitanie a teda vyraz SIN PI + nieco bude fungovat podla ocakavania.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz