Promenljiva logičkog tipa može imati vrednosti .T. (tačno) ili .F. (netačno). Vrednost logičkog tipa se dobija izračunavanjem vrednosti nekog logičkog izraza. Najjednostavniji takav izraz je jednostavno poređenje primenom binarnih relacionih operatora:
x == 123 "ABC" == x x <= y 1 >= 23.1 x <> y x*(1+1) < x*2 y > z
Svaki od pobrojanih izraza demonstrira primenu jednog operatora poredjenja: == (jednako), < (manje od), > (veće od), ⇐ (manje ili jednako), >= (vese ili jednako), <> (različito). Vrednost svakog od ovih izraza je .T. ili .F. Mogu se porediti brojevi, stringovi i (što se često zaboravlja) datumi. Tako se može pisati:
Date() + 5 < CtoD("31.12.15")
Na logičke izraze se dalje mogu primenjivati logički operatori ! (negacija), .AND. (operator “i”) i .OR. (operator “ili”), sa uobičajenim znacenjem. Na primer:
(0 < X .AND. X > Y) .OR. ! Eof() //Funkcija Eof() = End of file
Zagrade imaju uobičajenu ulogu. Ako niste sasvim sigurni u prioritet operacija, najbolje rešenje je korišćenje zagrada. Logički izrazi se upotrebljavaju na uobičajenim mestima: u kontrolnim strukturama programa za proveru uslova. Na primer:<br />
IF X <> 0 WHILE X < 100 x := x + 1 END DO END IF