Считаешь по приоритету изнутри наружу, определяешь тип результата. Частая ловушка — целочисленное деление.
| Тема | C++ | Pascal |
|---|---|---|
| Деление | / двух int → int; с double → double | / → real; div → int |
| Остаток | % только целые (float → ошибка) | mod только целые |
| Код символа | int('0')=48, int('9')=57 | ord('0')=48 |
| Перечисление | enum{a,b,c,d} → 0,1,2,3 | ord(a)=0… |
| Отбросить дробь | (int)x / trunc | trunc(x) |
ord, trunc, sqrt, sqr) → * / div mod % → + − → сравнения → логические (and/&&, or/||).• целое op целое (включая div, mod, %) → целое (integer / int)
• есть деление / (Pascal) или вещественное число → вещественный (real / double)
• сравнение или логика → логический (boolean / bool)
a=2, b=4, x=7.87, zi=joi (перечисление, ord(joi)=3).