var s,p,a,b,c : real;
begin
writeln('a = ');
readln(a);
writeln('b = ');
readln(b);
writeln('c = ');
readln(c);
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
writeln('s = ',s);
end.
Спроектируем логическую функцию
Возможная реализация этой функции на элементах логики И-ИЛИ показана во вложении.
А)
1) 563/2 = 281+1 (1) 281/2 = 140+1 (1) 140/2 = 70 (0) 70/2 = 35 (0) 35 /2 = 17 +1 (1) 17/2 = 8 +1 (1) 8/2 = 4 (0) 4/2 = 2 (0) 2/2 = 1 (0) (1) Итого 1000110011(2)
2) Делим это число на триады 001 000 110 011 и преобраз. их 001(2) = 1(8) 000(2) = 0(8) 110(2) = 6(8) 011(2) = 3(8) итого 1063(8)
3) Делим двоич. запись на тетрады 0010 0011 0011 и в итоге 233(16)
б) По тому же примеру:
100001000(2) 410(8) 108(16)
Могут, если стоят лицом друг к другу, а не спинами.
Type
Tmas = array [1..100] of longint;
var
i,A,max:longint;
m:Tmas;
begin
max:=0;
WriteLn('Введите количество элементов.');
ReadLn(A);
Writeln('Вводите элементы массива.');
for i := 1 to A do
begin
readln(m[i]);
if m[i]>max then
max :=m[i];
if i mod 3 = 0 then
begin
writeln(max);
max:=0;
end;
end;
end.