Все зависит от того, что обеспечивают эти семафоры.
1. Семафоры обеспечивают синхронизацию потоков. Тогда будут выполнены P(S!) в первом потоке и P(S2) во втором, причем более быстрый процесс подождет, а затем работа пойдет одновременно с точки P(S2) в первом потоке и P(S1) во втором.
2. Семафоры захватывают ресурсы. В этом случае произойдет взаимная блокировка. Например, P(S2) в первом потоке будет ждать некоего ресурса, захваченного вторым потоком, а P(S1) во втором потоке - ресурса, захваченного первым потоком.
3. Семафоры запрещают одновременное выполнение некоторого общего участка кода. Также возможна взаимная блокировка по принципу, описанному выше.
1) cout<<"" - это вывод в консоль. На экран выведется "3"
2) sqrt() - это квадратный корень. На экран выведется "c=3 x=12".
3) abs() - это взятие модуля. На экран выведется "Suma=28"
4) sqr() - возведение в квадрат. На экран выведется "12100"
5) На экран выведется "x=17"
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i < 33; i *= 2) {
cout << i << endl;
}
return 0;
}
Просто 1, т.к А ∨ неА = 1 (тут за А можно взять всё х·у), а 1 ∨ неважночто = 1
можно конечно расписать все скобки по другим правилам, но ответ тот же будет