Программа представлена на скрине.
Далее под константой будет пониматься макроопределение (символическая константа)
Были созданы константы для обозначения флагов ингредиентов. Им даны осмысленные названия. Также была создана константа для формирования пустого заказа.
int ingredientsCount(Pizza&); - возвращает количество ингредиентов.
void addCheese(Pizza&); - добавляет в заказ сыр
void removeOnion(Pizza&); - убирает из заказа лук
void togglePineapple(Pizza&); - переключает ананасы
void addOnionIfMushroomsExist(Pizza&); - добавляет лук если есть грибы
if a<b then x:=15 else x:=-21;
Получим x = -21, так как по условию a = 18 и b = -15, значит a>b
2. После выполнения строки (в условии опечатка, лишняя i в этой строке):
if p then x:=32 else x:=638;
Получим x = 32, так как p = true;
3. После выполнения строки:
if not p then x:=0 else x:=1
Получим x = 1, так как p = true;
ответ: x = 1