<span>
Для вычислений длительностей интервалов дат в Excel есть функция РАЗНДАТ(), в английской версии - DATEDIF().</span><span>Нюанс в том, что Вы не найдете эту функцию в списке Мастера функций, нажав кнопку<span> fx</span> - она является недокументированной возможностью Excel. Точнее говоря, найти описание этой функции и ее аргументов можно только в полной версии англоязычной справки, поскольку на самом деле она оставлена для совместимости со старыми версиями Excel и Lotus 1-2-3. Однако, несмотря на то, что эту функцию не получится вставить стандартным способом через окно <span>Вставка - Функция (Insert - Function)</span>, ее можно вручную вписать в ячейку с клавиатуры - и она сработает!</span>Синтаксис функции следующий:РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)Самый интересный аргумент, конечно, последний. Он определяет, каким именно образом и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот параметр может принимать следующие значения:<span><span>"y"разница в полных годах </span><span>"m"в полных месяцах</span><span>"d"в полных днях</span><span>"yd"разница в днях с начала года без учета лет</span><span>"md"разница в днях без учета месяцев и лет</span><span>"ym"разница в полных месяцах без учета лет</span></span>Т.е. при желании подсчитать и вывести, например, ваш стаж в виде "3 г. 4 мес. 12 дн.", необходимо ввести в ячейку следующую формулу:=РАЗНДАТ(A1;A2;"y")&" г. "&РАЗНДАТ(A1;A2;"ym")&" мес. "&РАЗНДАТ(A1;A2;"md")&" дн."или в английской версии Excel:<span>=DATEDIF(A1;A2;"y")&" y. "&DATEDIF(A1;A2;"ym")&" m. "&DATEDIF(A1;A2;"md")&" d."</span><span>где А1 - ячейка с датой поступления на работу, А2 - с датой увольнения.</span>
Program sum;
Var a,b,c,d,e,f:real;
Begin
Write ('число a='); Read (a);
Write ('число b='); Read (b);
Write ('число c='); Read (c);
d:=a+b+c;
e:=a*b*c;
f:=d/3;
WriteLn ('Сумма чисел=',d);
Writeln ('Произведение чисел=', e);
Writeln ('Среднее арифметическое чисел=', f);
end.
var mas:array [1..15] of integer;
i:integer;
k:biginteger;
function f(mas:integer):boolean;
begin
if (mas mod 3=0) then f:=True;
if (mas mod 3<>0) then f:=False;
end;
BEGIN
k:=1;
for i:=1 to 15 do begin
mas[i]:=random(100)+1;
write(mas[i],' ');
if (f(mas[i])=True) then k:=k*mas[i];
end;
writeln();
if (k=1) then writeln('Нет элементов, кратных 3') else
writeln(k);
end.
7210 / 2 = 3605 (0)
3605 / 2 = 1802 (1)
1802 / 2 = 901 (0)
901 / 2 = 450 (1)
450 / 2 = 225 (0)
225 / 2 = 112 (1)
112 / 2 = 56 (0)
56 / 2 = 28 (0)
28 / 2 = 14 (0)
14 / 2 = 7 (0)
7 / 2 = 3 (1)
3 /2 = 1 (1)
1/2 = 0 (1)
записываем остатки в обратном порядке и получаем
1110000101010