Все зависит от того, что обеспечивают эти семафоры.
1. Семафоры обеспечивают синхронизацию потоков. Тогда будут выполнены P(S!) в первом потоке и P(S2) во втором, причем более быстрый процесс подождет, а затем работа пойдет одновременно с точки P(S2) в первом потоке и P(S1) во втором.
2. Семафоры захватывают ресурсы. В этом случае произойдет взаимная блокировка. Например, P(S2) в первом потоке будет ждать некоего ресурса, захваченного вторым потоком, а P(S1) во втором потоке - ресурса, захваченного первым потоком.
3. Семафоры запрещают одновременное выполнение некоторого общего участка кода. Также возможна взаимная блокировка по принципу, описанному выше.
На PascalABC.NET
Первый столбик:
1) 5
2) Y=490
3) 1612
4) 24-1210
Второй столбик:
1) Результат=244
(В первом ошибка в задании была, перед else стоит ";")
2) При X=-5Y=2
3) -641.7
4) -56
(Тут тоже ошибки в задании: перед else стоит ";" и после не стоит ";"
Num := (d + n) / 10;
sq := trunk(num) + 1;