function fact(n : integer) : longint; begin if n <= 1 then fact := 1 else fact := n * fact(n - 1); end;
var t,s:real; i:integer; begin writeln('*** Alphaeus is thinking... ***'); writeln('*** OK ***'); writeln(); writeln('Программа вычисляет частичную сумму ряда с заданной точностью'); writeln(' Общий член ряда: an = ((3^n)*n! )/ (2n)!'); writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001'); writeln(); s:=0; i:=1; t:=1; while t>eps do begin t:=(power(3,i)*fact(i))/(2*fact(2*i)); s:=s+t; writeln('a(',i,')=',t:0:6,' S=',s:0:6); i:=i+1; end; writeln(); writeln('Сумма ряда равна',s:0:6); end.
972₁₀ = 1111001100₂ 1. Число будет иметь минимальное значение, если в нем будет минимально возможное количество значащих разрядов. Таких циклическх сдвигов в данном случае возможно 2 (запишем их друг под другом): 0011001111 - циклический сдвиг на 4 разряда влево; 0011110011 - циклический сдвиг на 8 разрядов влево; 2. При равном количестве разрядов меньшим будет то число, у которого при просмотре разрядов слева направо встретится ноль, в то время как у второго в этом же разряде будет единица (это место выделено): 11001111 - это число меньшее из двух. 11110011 ответ: 11001111₂ = 207₁₀
(1 + 0)*(0+0) + 1*0 (1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна (0 + 0) - ложна, т.к. обе перменные ложны (1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны. 1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками ((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
Program LoctarUgar;
uses crt;
const
eps=0.001;
function fact(n : integer) : longint;
begin
if n <= 1
then fact := 1
else fact := n * fact(n - 1);
end;
var
t,s:real;
i:integer;
begin
writeln('*** Alphaeus is thinking... ***');
writeln('*** OK ***');
writeln();
writeln('Программа вычисляет частичную сумму ряда с заданной точностью');
writeln(' Общий член ряда: an = ((3^n)*n! )/ (2n)!');
writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
writeln();
s:=0; i:=1; t:=1;
while t>eps do
begin
t:=(power(3,i)*fact(i))/(2*fact(2*i));
s:=s+t;
writeln('a(',i,')=',t:0:6,' S=',s:0:6);
i:=i+1;
end;
writeln();
writeln('Сумма ряда равна',s:0:6);
end.