Program programma;
var a,b,c: integer;
begin
writeln ('Введите два числа');
read (a,b);
if a>b then writeln ('Были введены числа ',a,' и ',b,'. Наименьшее число ',b,'. Удвоенное наименьшее число ',2*b);
if b>a then writeln ('Были введены числа ',a,' и ',b,'. Наименьшее число ',a,'. Удвоенное наименьшее число ',2*a);
end.
Все зависит от того, что обеспечивают эти семафоры.
1. Семафоры обеспечивают синхронизацию потоков. Тогда будут выполнены P(S!) в первом потоке и P(S2) во втором, причем более быстрый процесс подождет, а затем работа пойдет одновременно с точки P(S2) в первом потоке и P(S1) во втором.
2. Семафоры захватывают ресурсы. В этом случае произойдет взаимная блокировка. Например, P(S2) в первом потоке будет ждать некоего ресурса, захваченного вторым потоком, а P(S1) во втором потоке - ресурса, захваченного первым потоком.
3. Семафоры запрещают одновременное выполнение некоторого общего участка кода. Также возможна взаимная блокировка по принципу, описанному выше.
var s: real; n,i: integer;
begin
write('Введите число N: ');
readln(n);
if n>5 then begin
s:=0;
for i:=5 to n do s:=s+i;
s:=s/(n-5+1);
writeln(s);
end else writeln('Введите другое число, больше 5');
end.
Ar
a, b, c, d, n : integer;
begin
write('введите первое число ');
readln(a);
write('введите второе число ');
readln(b);
write('введите третье число ');
readln(c);
write('введите четвёртое число ');
readln(d);
n:=a;
if b>n then n:=b;
if c>n then n:=c;
if d>n then n:=d;
writeln('Большее из чисел равно ', n);
end.
Таких нет - все, что может быть сделано имеет какое-то отношение к информации.
Пример:
ты передвинул кружку. Соответственно изменилось расстояние от кружки до края стола, а расстояние храниться в виде информации. Просто эта информация нуждается в считывании.
Другой пример: ты чихнул. Казалось бы, что может иметь чих общего с изменением информации? На самом деле связь можно найти всегда. Тут можно говорить о количестве микробов в воздухе, о влажности, о чем угодно)